Server Test

Server Test

rev. d838bf488731ae5e751cce0fe13f339a5b9be858

Files changed:

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/event_stream_serde.rs

@@ -0,1 +0,627 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* EventStreamErrorMarshallerGenerator.kt:79 */
           3  +
#[non_exhaustive]
           4  +
#[derive(Debug)]
           5  +
pub struct EventStreamErrorMarshaller;
           6  +
           7  +
impl EventStreamErrorMarshaller {
           8  +
    pub fn new() -> Self {
           9  +
        EventStreamErrorMarshaller
          10  +
    }
          11  +
}
          12  +
/* EventStreamErrorMarshallerGenerator.kt:93 */
          13  +
impl ::aws_smithy_eventstream::frame::MarshallMessage for EventStreamErrorMarshaller {
          14  +
    /* EventStreamErrorMarshallerGenerator.kt:97 */
          15  +
    type Input = crate::error::EventStreamError;
          16  +
    /* EventStreamErrorMarshallerGenerator.kt:99 */
          17  +
    fn marshall(
          18  +
        &self,
          19  +
        _input: Self::Input,
          20  +
    ) -> std::result::Result<
          21  +
        ::aws_smithy_types::event_stream::Message,
          22  +
        ::aws_smithy_eventstream::error::Error,
          23  +
    > {
          24  +
        /* EventStreamErrorMarshallerGenerator.kt:103 */
          25  +
        let mut headers = Vec::new();
          26  +
        /* EventStreamMarshallerGenerator.kt:343 */
          27  +
        headers.push(::aws_smithy_types::event_stream::Header::new(
          28  +
            ":message-type",
          29  +
            ::aws_smithy_types::event_stream::HeaderValue::String("exception".into()),
          30  +
        ));
          31  +
        /* EventStreamErrorMarshallerGenerator.kt:108 */
          32  +
        let payload = match _input {
          33  +
            /* EventStreamErrorMarshallerGenerator.kt:113 */crate::error::EventStreamError::ErrorEvent(inner) =>  {
          34  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":exception-type", ::aws_smithy_types::event_stream::HeaderValue::String("error".into())));
          35  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":content-type", ::aws_smithy_types::event_stream::HeaderValue::String("application/json".into())));
          36  +
                /* EventStreamMarshallerGenerator.kt:304 */crate::protocol_serde::shape_error_event::ser_error_event_error(&inner)
          37  +
                                            .map_err(|err| ::aws_smithy_eventstream::error::Error::marshalling(format!("{err}")))?
          38  +
            /* EventStreamErrorMarshallerGenerator.kt:113 */}
          39  +
        /* EventStreamErrorMarshallerGenerator.kt:108 */}
          40  +
        /* EventStreamErrorMarshallerGenerator.kt:131 */;
          41  +
        Ok(::aws_smithy_types::event_stream::Message::new_from_parts(
          42  +
            headers, payload,
          43  +
        ))
          44  +
        /* EventStreamErrorMarshallerGenerator.kt:99 */
          45  +
    }
          46  +
    /* EventStreamErrorMarshallerGenerator.kt:93 */
          47  +
}
          48  +
          49  +
/* EventStreamMarshallerGenerator.kt:135 */
          50  +
#[non_exhaustive]
          51  +
#[derive(Debug)]
          52  +
pub struct EventStreamMarshaller;
          53  +
          54  +
impl EventStreamMarshaller {
          55  +
    pub fn new() -> Self {
          56  +
        EventStreamMarshaller
          57  +
    }
          58  +
}
          59  +
/* EventStreamMarshallerGenerator.kt:149 */
          60  +
impl ::aws_smithy_eventstream::frame::MarshallMessage for EventStreamMarshaller {
          61  +
    /* EventStreamMarshallerGenerator.kt:153 */
          62  +
    type Input = crate::model::EventStream;
          63  +
    /* EventStreamMarshallerGenerator.kt:155 */
          64  +
    fn marshall(
          65  +
        &self,
          66  +
        input: Self::Input,
          67  +
    ) -> std::result::Result<
          68  +
        ::aws_smithy_types::event_stream::Message,
          69  +
        ::aws_smithy_eventstream::error::Error,
          70  +
    > {
          71  +
        /* EventStreamMarshallerGenerator.kt:159 */
          72  +
        let mut headers = Vec::new();
          73  +
        /* EventStreamMarshallerGenerator.kt:343 */
          74  +
        headers.push(::aws_smithy_types::event_stream::Header::new(
          75  +
            ":message-type",
          76  +
            ::aws_smithy_types::event_stream::HeaderValue::String("event".into()),
          77  +
        ));
          78  +
        /* EventStreamMarshallerGenerator.kt:161 */
          79  +
        let payload = match input {
          80  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::Headers(inner) =>  {
          81  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("headers".into())));
          82  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.boolean_header {
          83  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
          84  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("booleanHeader", ::aws_smithy_types::event_stream::HeaderValue::Bool(value))
          85  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
          86  +
                /* EventStreamMarshallerGenerator.kt:326 */}
          87  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.byte_header {
          88  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
          89  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("byteHeader", ::aws_smithy_types::event_stream::HeaderValue::Byte(value))
          90  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
          91  +
                /* EventStreamMarshallerGenerator.kt:326 */}
          92  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.short_header {
          93  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
          94  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("shortHeader", ::aws_smithy_types::event_stream::HeaderValue::Int16(value))
          95  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
          96  +
                /* EventStreamMarshallerGenerator.kt:326 */}
          97  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.int_header {
          98  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
          99  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("intHeader", ::aws_smithy_types::event_stream::HeaderValue::Int32(value))
         100  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         101  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         102  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.long_header {
         103  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
         104  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("longHeader", ::aws_smithy_types::event_stream::HeaderValue::Int64(value))
         105  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         106  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         107  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.blob_header {
         108  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
         109  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("blobHeader", ::aws_smithy_types::event_stream::HeaderValue::ByteArray(value.into_inner().into()))
         110  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         111  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         112  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.string_header {
         113  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
         114  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("stringHeader", ::aws_smithy_types::event_stream::HeaderValue::String(value.into()))
         115  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         116  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         117  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.timestamp_header {
         118  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
         119  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("timestampHeader", ::aws_smithy_types::event_stream::HeaderValue::Timestamp(value.into()))
         120  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         121  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         122  +
                /* EventStreamMarshallerGenerator.kt:222 */Vec::new()
         123  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         124  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::BlobPayload(inner) =>  {
         125  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("blobPayload".into())));
         126  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":content-type", ::aws_smithy_types::event_stream::HeaderValue::String("application/octet-stream".into())));
         127  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(inner_payload) = inner.payload {
         128  +
                    /* EventStreamMarshallerGenerator.kt:293 */inner_payload.into_inner()
         129  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         130  +
                /* EventStreamMarshallerGenerator.kt:330 */ else  {
         131  +
                    /* EventStreamMarshallerGenerator.kt:294 */Vec::new()
         132  +
                /* EventStreamMarshallerGenerator.kt:330 */}
         133  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         134  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::StringPayload(inner) =>  {
         135  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("stringPayload".into())));
         136  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":content-type", ::aws_smithy_types::event_stream::HeaderValue::String("text/plain".into())));
         137  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(inner_payload) = inner.payload {
         138  +
                    /* EventStreamMarshallerGenerator.kt:293 */inner_payload.into_bytes()
         139  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         140  +
                /* EventStreamMarshallerGenerator.kt:330 */ else  {
         141  +
                    /* EventStreamMarshallerGenerator.kt:294 */Vec::new()
         142  +
                /* EventStreamMarshallerGenerator.kt:330 */}
         143  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         144  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::StructurePayload(inner) =>  {
         145  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("structurePayload".into())));
         146  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":content-type", ::aws_smithy_types::event_stream::HeaderValue::String("application/json".into())));
         147  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(inner_payload) = inner.payload {
         148  +
                    /* EventStreamMarshallerGenerator.kt:304 */crate::protocol_serde::shape_structure_payload_event::ser_payload_payload(&inner_payload)
         149  +
                                                .map_err(|err| ::aws_smithy_eventstream::error::Error::marshalling(format!("{err}")))?
         150  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         151  +
                /* EventStreamMarshallerGenerator.kt:330 */ else  {
         152  +
                    /* EventStreamMarshallerGenerator.kt:313 */unimplemented!("TODO(EventStream): Figure out what to do when there's no payload")
         153  +
                /* EventStreamMarshallerGenerator.kt:330 */}
         154  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         155  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::UnionPayload(inner) =>  {
         156  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("unionPayload".into())));
         157  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":content-type", ::aws_smithy_types::event_stream::HeaderValue::String("application/json".into())));
         158  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(inner_payload) = inner.payload {
         159  +
                    /* EventStreamMarshallerGenerator.kt:304 */crate::protocol_serde::shape_union_payload_event::ser_payload_payload(&inner_payload)
         160  +
                                                .map_err(|err| ::aws_smithy_eventstream::error::Error::marshalling(format!("{err}")))?
         161  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         162  +
                /* EventStreamMarshallerGenerator.kt:330 */ else  {
         163  +
                    /* EventStreamMarshallerGenerator.kt:313 */unimplemented!("TODO(EventStream): Figure out what to do when there's no payload")
         164  +
                /* EventStreamMarshallerGenerator.kt:330 */}
         165  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         166  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::HeadersAndExplicitPayload(inner) =>  {
         167  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("headersAndExplicitPayload".into())));
         168  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.header {
         169  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
         170  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("header", ::aws_smithy_types::event_stream::HeaderValue::String(value.into()))
         171  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         172  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         173  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":content-type", ::aws_smithy_types::event_stream::HeaderValue::String("application/json".into())));
         174  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(inner_payload) = inner.payload {
         175  +
                    /* EventStreamMarshallerGenerator.kt:304 */crate::protocol_serde::shape_headers_and_explicit_payload_event::ser_payload_payload(&inner_payload)
         176  +
                                                .map_err(|err| ::aws_smithy_eventstream::error::Error::marshalling(format!("{err}")))?
         177  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         178  +
                /* EventStreamMarshallerGenerator.kt:330 */ else  {
         179  +
                    /* EventStreamMarshallerGenerator.kt:313 */unimplemented!("TODO(EventStream): Figure out what to do when there's no payload")
         180  +
                /* EventStreamMarshallerGenerator.kt:330 */}
         181  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         182  +
            /* EventStreamMarshallerGenerator.kt:172 */Self::Input::HeadersAndImplicitPayload(inner) =>  {
         183  +
                /* EventStreamMarshallerGenerator.kt:343 */headers.push(::aws_smithy_types::event_stream::Header::new(":event-type", ::aws_smithy_types::event_stream::HeaderValue::String("headersAndImplicitPayload".into())));
         184  +
                /* EventStreamMarshallerGenerator.kt:326 */if let Some(value) = inner.header {
         185  +
                    /* EventStreamMarshallerGenerator.kt:245 */headers.push(
         186  +
                        /* EventStreamMarshallerGenerator.kt:246 */::aws_smithy_types::event_stream::Header::new("header", ::aws_smithy_types::event_stream::HeaderValue::String(value.into()))
         187  +
                    /* EventStreamMarshallerGenerator.kt:245 */);
         188  +
                /* EventStreamMarshallerGenerator.kt:326 */}
         189  +
                /* EventStreamMarshallerGenerator.kt:222 */Vec::new()
         190  +
            /* EventStreamMarshallerGenerator.kt:172 */}
         191  +
        /* EventStreamMarshallerGenerator.kt:161 */}
         192  +
        /* EventStreamMarshallerGenerator.kt:189 */;
         193  +
        Ok(::aws_smithy_types::event_stream::Message::new_from_parts(
         194  +
            headers, payload,
         195  +
        ))
         196  +
        /* EventStreamMarshallerGenerator.kt:155 */
         197  +
    }
         198  +
    /* EventStreamMarshallerGenerator.kt:149 */
         199  +
}
         200  +
         201  +
/* EventStreamUnmarshallerGenerator.kt:99 */
         202  +
#[non_exhaustive]
         203  +
#[derive(Debug)]
         204  +
pub struct EventStreamUnmarshaller;
         205  +
         206  +
impl EventStreamUnmarshaller {
         207  +
    pub fn new() -> Self {
         208  +
        EventStreamUnmarshaller
         209  +
    }
         210  +
}
         211  +
/* EventStreamUnmarshallerGenerator.kt:113 */
         212  +
impl ::aws_smithy_eventstream::frame::UnmarshallMessage for EventStreamUnmarshaller {
         213  +
    /* EventStreamUnmarshallerGenerator.kt:117 */
         214  +
    type Output = crate::model::EventStream;
         215  +
    /* EventStreamUnmarshallerGenerator.kt:118 */
         216  +
    type Error = crate::error::EventStreamError;
         217  +
    /* EventStreamUnmarshallerGenerator.kt:120 */
         218  +
    fn unmarshall(
         219  +
        &self,
         220  +
        message: &::aws_smithy_types::event_stream::Message,
         221  +
    ) -> std::result::Result<
         222  +
        ::aws_smithy_eventstream::frame::UnmarshalledMessage<Self::Output, Self::Error>,
         223  +
        ::aws_smithy_eventstream::error::Error,
         224  +
    > {
         225  +
        /* EventStreamUnmarshallerGenerator.kt:129 */
         226  +
        let response_headers = ::aws_smithy_eventstream::smithy::parse_response_headers(message)?;
         227  +
        /* EventStreamUnmarshallerGenerator.kt:130 */
         228  +
        match response_headers.message_type.as_str() {
         229  +
            /* EventStreamUnmarshallerGenerator.kt:131 */
         230  +
            "event" => {
         231  +
                /* EventStreamUnmarshallerGenerator.kt:156 */
         232  +
                match response_headers.smithy_type.as_str() {
         233  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         234  +
                    "headers" => {
         235  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         236  +
                        let mut builder = crate::model::headers_event::Builder::default();
         237  +
                        /* EventStreamUnmarshallerGenerator.kt:229 */
         238  +
                        for header in message.headers() {
         239  +
                            /* EventStreamUnmarshallerGenerator.kt:230 */
         240  +
                            match header.name().as_str() {
         241  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         242  +
                                "booleanHeader" => {
         243  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         244  +
                                    builder =
         245  +
                                        builder.set_boolean_header(
         246  +
                                            /* EventStreamUnmarshallerGenerator.kt:277 */
         247  +
                                            Some(
         248  +
                                                /* EventStreamUnmarshallerGenerator.kt:279 */
         249  +
                                                ::aws_smithy_eventstream::smithy::expect_bool(
         250  +
                                                    header,
         251  +
                                                )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         252  +
                                            ), /* EventStreamUnmarshallerGenerator.kt:276 */
         253  +
                                        );
         254  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         255  +
                                }
         256  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         257  +
                                "byteHeader" => {
         258  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         259  +
                                    builder =
         260  +
                                        builder.set_byte_header(
         261  +
                                            /* EventStreamUnmarshallerGenerator.kt:277 */
         262  +
                                            Some(
         263  +
                                                /* EventStreamUnmarshallerGenerator.kt:280 */
         264  +
                                                ::aws_smithy_eventstream::smithy::expect_byte(
         265  +
                                                    header,
         266  +
                                                )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         267  +
                                            ), /* EventStreamUnmarshallerGenerator.kt:276 */
         268  +
                                        );
         269  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         270  +
                                }
         271  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         272  +
                                "shortHeader" => {
         273  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         274  +
                                    builder =
         275  +
                                        builder.set_short_header(
         276  +
                                            /* EventStreamUnmarshallerGenerator.kt:277 */
         277  +
                                            Some(
         278  +
                                                /* EventStreamUnmarshallerGenerator.kt:281 */
         279  +
                                                ::aws_smithy_eventstream::smithy::expect_int16(
         280  +
                                                    header,
         281  +
                                                )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         282  +
                                            ), /* EventStreamUnmarshallerGenerator.kt:276 */
         283  +
                                        );
         284  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         285  +
                                }
         286  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         287  +
                                "intHeader" => {
         288  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         289  +
                                    builder =
         290  +
                                        builder.set_int_header(
         291  +
                                            /* EventStreamUnmarshallerGenerator.kt:277 */
         292  +
                                            Some(
         293  +
                                                /* EventStreamUnmarshallerGenerator.kt:282 */
         294  +
                                                ::aws_smithy_eventstream::smithy::expect_int32(
         295  +
                                                    header,
         296  +
                                                )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         297  +
                                            ), /* EventStreamUnmarshallerGenerator.kt:276 */
         298  +
                                        );
         299  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         300  +
                                }
         301  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         302  +
                                "longHeader" => {
         303  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         304  +
                                    builder =
         305  +
                                        builder.set_long_header(
         306  +
                                            /* EventStreamUnmarshallerGenerator.kt:277 */
         307  +
                                            Some(
         308  +
                                                /* EventStreamUnmarshallerGenerator.kt:283 */
         309  +
                                                ::aws_smithy_eventstream::smithy::expect_int64(
         310  +
                                                    header,
         311  +
                                                )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         312  +
                                            ), /* EventStreamUnmarshallerGenerator.kt:276 */
         313  +
                                        );
         314  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         315  +
                                }
         316  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         317  +
                                "blobHeader" => {
         318  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         319  +
                                    builder = builder.set_blob_header(
         320  +
                                        /* EventStreamUnmarshallerGenerator.kt:277 */
         321  +
                                        Some(
         322  +
                                            /* EventStreamUnmarshallerGenerator.kt:284 */
         323  +
                                            ::aws_smithy_eventstream::smithy::expect_byte_array(
         324  +
                                                header,
         325  +
                                            )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         326  +
                                        ), /* EventStreamUnmarshallerGenerator.kt:276 */
         327  +
                                    );
         328  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         329  +
                                }
         330  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         331  +
                                "stringHeader" => {
         332  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         333  +
                                    builder = builder.set_string_header(
         334  +
                                        /* EventStreamUnmarshallerGenerator.kt:277 */
         335  +
                                        Some(
         336  +
                                            /* EventStreamUnmarshallerGenerator.kt:286 */
         337  +
                                            ::aws_smithy_eventstream::smithy::expect_string(
         338  +
                                                header,
         339  +
                                            )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         340  +
                                        ), /* EventStreamUnmarshallerGenerator.kt:276 */
         341  +
                                    );
         342  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         343  +
                                }
         344  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         345  +
                                "timestampHeader" => {
         346  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         347  +
                                    builder = builder.set_timestamp_header(
         348  +
                                        /* EventStreamUnmarshallerGenerator.kt:277 */
         349  +
                                        Some(
         350  +
                                            /* EventStreamUnmarshallerGenerator.kt:287 */
         351  +
                                            ::aws_smithy_eventstream::smithy::expect_timestamp(
         352  +
                                                header,
         353  +
                                            )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         354  +
                                        ), /* EventStreamUnmarshallerGenerator.kt:276 */
         355  +
                                    );
         356  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         357  +
                                }
         358  +
                                /* EventStreamUnmarshallerGenerator.kt:236 */// Event stream protocol headers start with ':'
         359  +
                                /* EventStreamUnmarshallerGenerator.kt:237 */
         360  +
                                name => {
         361  +
                                    if !name.starts_with(':') {
         362  +
                                        /* EventStreamUnmarshallerGenerator.kt:238 */
         363  +
                                        ::tracing::trace!(
         364  +
                                            "Unrecognized event stream message header: {}",
         365  +
                                            name
         366  +
                                        );
         367  +
                                        /* EventStreamUnmarshallerGenerator.kt:237 */
         368  +
                                    }
         369  +
                                } /* EventStreamUnmarshallerGenerator.kt:230 */
         370  +
                            }
         371  +
                            /* EventStreamUnmarshallerGenerator.kt:229 */
         372  +
                        }
         373  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         374  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         375  +
                            crate::model::EventStream::Headers(builder.build()),
         376  +
                        ))
         377  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         378  +
                    }
         379  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         380  +
                    "blobPayload" => {
         381  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         382  +
                        let mut builder = crate::model::blob_payload_event::Builder::default();
         383  +
                        /* EventStreamUnmarshallerGenerator.kt:297 */
         384  +
                        let content_type = response_headers.content_type().unwrap_or_default();
         385  +
                        if content_type != "application/octet-stream" {
         386  +
                            return Err(::aws_smithy_eventstream::error::Error::unmarshalling(format!(
         387  +
                                                "expected :content-type to be 'application/octet-stream', but was '{content_type}'"
         388  +
                                            )));
         389  +
                        }
         390  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */
         391  +
                        builder = builder.set_payload(
         392  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */Some(
         393  +
                                /* EventStreamUnmarshallerGenerator.kt:313 */::aws_smithy_types::Blob::new(message.payload().as_ref())
         394  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */)
         395  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */);
         396  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         397  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         398  +
                            crate::model::EventStream::BlobPayload(builder.build()),
         399  +
                        ))
         400  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         401  +
                    }
         402  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         403  +
                    "stringPayload" => {
         404  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         405  +
                        let mut builder = crate::model::string_payload_event::Builder::default();
         406  +
                        /* EventStreamUnmarshallerGenerator.kt:297 */
         407  +
                        let content_type = response_headers.content_type().unwrap_or_default();
         408  +
                        if content_type != "text/plain" {
         409  +
                            return Err(::aws_smithy_eventstream::error::Error::unmarshalling(format!(
         410  +
                                                "expected :content-type to be 'text/plain', but was '{content_type}'"
         411  +
                                            )));
         412  +
                        }
         413  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */
         414  +
                        builder = builder.set_payload(
         415  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */
         416  +
                            Some(
         417  +
                                /* EventStreamUnmarshallerGenerator.kt:317 */
         418  +
                                ::std::str::from_utf8(message.payload())
         419  +
                                    .map_err(|_| {
         420  +
                                        ::aws_smithy_eventstream::error::Error::unmarshalling(
         421  +
                                            "message payload is not valid UTF-8",
         422  +
                                        )
         423  +
                                    })?
         424  +
                                    .to_owned(), /* EventStreamUnmarshallerGenerator.kt:310 */
         425  +
                            ), /* EventStreamUnmarshallerGenerator.kt:309 */
         426  +
                        );
         427  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         428  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         429  +
                            crate::model::EventStream::StringPayload(builder.build()),
         430  +
                        ))
         431  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         432  +
                    }
         433  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         434  +
                    "structurePayload" => {
         435  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         436  +
                        let mut builder = crate::model::structure_payload_event::Builder::default();
         437  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */
         438  +
                        builder = builder.set_payload(
         439  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */Some(
         440  +
                                /* EventStreamUnmarshallerGenerator.kt:338 */crate::protocol_serde::shape_payload_structure::de_payload_structure_payload(&message.payload()[..])
         441  +
                                                .map_err(|err| {
         442  +
                                                    ::aws_smithy_eventstream::error::Error::unmarshalling(format!("failed to unmarshall payload: {err}"))
         443  +
                                                })?
         444  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */)
         445  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */);
         446  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         447  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         448  +
                            crate::model::EventStream::StructurePayload(builder.build()),
         449  +
                        ))
         450  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         451  +
                    }
         452  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         453  +
                    "unionPayload" => {
         454  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         455  +
                        let mut builder = crate::model::union_payload_event::Builder::default();
         456  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */
         457  +
                        builder = builder.set_payload(
         458  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */Some(
         459  +
                                /* EventStreamUnmarshallerGenerator.kt:338 */crate::protocol_serde::shape_payload_union::de_payload_union_payload(&message.payload()[..])
         460  +
                                                .map_err(|err| {
         461  +
                                                    ::aws_smithy_eventstream::error::Error::unmarshalling(format!("failed to unmarshall payload: {err}"))
         462  +
                                                })?
         463  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */)
         464  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */);
         465  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         466  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         467  +
                            crate::model::EventStream::UnionPayload(builder.build()),
         468  +
                        ))
         469  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         470  +
                    }
         471  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         472  +
                    "headersAndExplicitPayload" => {
         473  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         474  +
                        let mut builder =
         475  +
                            crate::model::headers_and_explicit_payload_event::Builder::default();
         476  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */
         477  +
                        builder = builder.set_payload(
         478  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */Some(
         479  +
                                /* EventStreamUnmarshallerGenerator.kt:338 */crate::protocol_serde::shape_payload_structure::de_payload_structure_payload(&message.payload()[..])
         480  +
                                                .map_err(|err| {
         481  +
                                                    ::aws_smithy_eventstream::error::Error::unmarshalling(format!("failed to unmarshall payload: {err}"))
         482  +
                                                })?
         483  +
                            /* EventStreamUnmarshallerGenerator.kt:310 */)
         484  +
                        /* EventStreamUnmarshallerGenerator.kt:309 */);
         485  +
                        /* EventStreamUnmarshallerGenerator.kt:229 */
         486  +
                        for header in message.headers() {
         487  +
                            /* EventStreamUnmarshallerGenerator.kt:230 */
         488  +
                            match header.name().as_str() {
         489  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         490  +
                                "header" => {
         491  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         492  +
                                    builder = builder.set_header(
         493  +
                                        /* EventStreamUnmarshallerGenerator.kt:277 */
         494  +
                                        Some(
         495  +
                                            /* EventStreamUnmarshallerGenerator.kt:286 */
         496  +
                                            ::aws_smithy_eventstream::smithy::expect_string(
         497  +
                                                header,
         498  +
                                            )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         499  +
                                        ), /* EventStreamUnmarshallerGenerator.kt:276 */
         500  +
                                    );
         501  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         502  +
                                }
         503  +
                                /* EventStreamUnmarshallerGenerator.kt:236 */// Event stream protocol headers start with ':'
         504  +
                                /* EventStreamUnmarshallerGenerator.kt:237 */
         505  +
                                name => {
         506  +
                                    if !name.starts_with(':') {
         507  +
                                        /* EventStreamUnmarshallerGenerator.kt:238 */
         508  +
                                        ::tracing::trace!(
         509  +
                                            "Unrecognized event stream message header: {}",
         510  +
                                            name
         511  +
                                        );
         512  +
                                        /* EventStreamUnmarshallerGenerator.kt:237 */
         513  +
                                    }
         514  +
                                } /* EventStreamUnmarshallerGenerator.kt:230 */
         515  +
                            }
         516  +
                            /* EventStreamUnmarshallerGenerator.kt:229 */
         517  +
                        }
         518  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         519  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         520  +
                            crate::model::EventStream::HeadersAndExplicitPayload(builder.build()),
         521  +
                        ))
         522  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         523  +
                    }
         524  +
                    /* EventStreamUnmarshallerGenerator.kt:159 */
         525  +
                    "headersAndImplicitPayload" => {
         526  +
                        /* EventStreamUnmarshallerGenerator.kt:222 */
         527  +
                        let mut builder =
         528  +
                            crate::model::headers_and_implicit_payload_event::Builder::default();
         529  +
                        /* EventStreamUnmarshallerGenerator.kt:229 */
         530  +
                        for header in message.headers() {
         531  +
                            /* EventStreamUnmarshallerGenerator.kt:230 */
         532  +
                            match header.name().as_str() {
         533  +
                                /* EventStreamUnmarshallerGenerator.kt:232 */
         534  +
                                "header" => {
         535  +
                                    /* EventStreamUnmarshallerGenerator.kt:276 */
         536  +
                                    builder = builder.set_header(
         537  +
                                        /* EventStreamUnmarshallerGenerator.kt:277 */
         538  +
                                        Some(
         539  +
                                            /* EventStreamUnmarshallerGenerator.kt:286 */
         540  +
                                            ::aws_smithy_eventstream::smithy::expect_string(
         541  +
                                                header,
         542  +
                                            )?, /* EventStreamUnmarshallerGenerator.kt:277 */
         543  +
                                        ), /* EventStreamUnmarshallerGenerator.kt:276 */
         544  +
                                    );
         545  +
                                    /* EventStreamUnmarshallerGenerator.kt:232 */
         546  +
                                }
         547  +
                                /* EventStreamUnmarshallerGenerator.kt:236 */// Event stream protocol headers start with ':'
         548  +
                                /* EventStreamUnmarshallerGenerator.kt:237 */
         549  +
                                name => {
         550  +
                                    if !name.starts_with(':') {
         551  +
                                        /* EventStreamUnmarshallerGenerator.kt:238 */
         552  +
                                        ::tracing::trace!(
         553  +
                                            "Unrecognized event stream message header: {}",
         554  +
                                            name
         555  +
                                        );
         556  +
                                        /* EventStreamUnmarshallerGenerator.kt:237 */
         557  +
                                    }
         558  +
                                } /* EventStreamUnmarshallerGenerator.kt:230 */
         559  +
                            }
         560  +
                            /* EventStreamUnmarshallerGenerator.kt:229 */
         561  +
                        }
         562  +
                        /* EventStreamUnmarshallerGenerator.kt:256 */
         563  +
                        builder = crate::protocol_serde::shape_headers_and_implicit_payload_event::de_headers_and_implicit_payload_event_json_err(&message.payload()[..], builder)
         564  +
                                                        .map_err(|err| ::aws_smithy_eventstream::error::Error::unmarshalling(format!("failed to unmarshall: {err}")))?;
         565  +
                        /* EventStreamUnmarshallerGenerator.kt:266 */
         566  +
                        Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         567  +
                            crate::model::EventStream::HeadersAndImplicitPayload(builder.build()),
         568  +
                        ))
         569  +
                        /* EventStreamUnmarshallerGenerator.kt:159 */
         570  +
                    }
         571  +
                    /* EventStreamUnmarshallerGenerator.kt:163 */
         572  +
                    _unknown_variant => {
         573  +
                        /* EventStreamUnmarshallerGenerator.kt:173 */
         574  +
                        return Err(::aws_smithy_eventstream::error::Error::unmarshalling(
         575  +
                            format!("unrecognized :event-type: {_unknown_variant}"),
         576  +
                        ));
         577  +
                        /* EventStreamUnmarshallerGenerator.kt:163 */
         578  +
                    } /* EventStreamUnmarshallerGenerator.kt:156 */
         579  +
                }
         580  +
                /* EventStreamUnmarshallerGenerator.kt:131 */
         581  +
            }
         582  +
            /* EventStreamUnmarshallerGenerator.kt:134 */
         583  +
            "exception" => {
         584  +
                /* EventStreamUnmarshallerGenerator.kt:377 */
         585  +
                if response_headers.smithy_type.as_str() ==
         586  +
                /* EventStreamUnmarshallerGenerator.kt:379 */"error"
         587  +
                {
         588  +
                    /* EventStreamUnmarshallerGenerator.kt:427 */
         589  +
                    let mut builder = crate::error::error_event::Builder::default();
         590  +
                    /* EventStreamUnmarshallerGenerator.kt:429 */
         591  +
                    builder = crate::protocol_serde::shape_error_event::de_error_event_json_err(
         592  +
                        &message.payload()[..],
         593  +
                        builder,
         594  +
                    )
         595  +
                    .map_err(|err| {
         596  +
                        ::aws_smithy_eventstream::error::Error::unmarshalling(format!(
         597  +
                            "failed to unmarshall error: {err}"
         598  +
                        ))
         599  +
                    })?;
         600  +
                    /* EventStreamUnmarshallerGenerator.kt:440 */
         601  +
                    return Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Error(
         602  +
                        crate::error::EventStreamError::ErrorEvent(builder.build()),
         603  +
                    ));
         604  +
                    /* EventStreamUnmarshallerGenerator.kt:379 */
         605  +
                }
         606  +
                /* EventStreamUnmarshallerGenerator.kt:466 */
         607  +
                return Err(aws_smithy_eventstream::error::Error::unmarshalling(
         608  +
                    format!(
         609  +
                        "unrecognized exception: {}",
         610  +
                        response_headers.smithy_type.as_str()
         611  +
                    ),
         612  +
                ));
         613  +
                /* EventStreamUnmarshallerGenerator.kt:134 */
         614  +
            }
         615  +
            /* EventStreamUnmarshallerGenerator.kt:137 */
         616  +
            value => {
         617  +
                /* EventStreamUnmarshallerGenerator.kt:138 */
         618  +
                return Err(::aws_smithy_eventstream::error::Error::unmarshalling(
         619  +
                    format!("unrecognized :message-type: {value}"),
         620  +
                ));
         621  +
                /* EventStreamUnmarshallerGenerator.kt:137 */
         622  +
            } /* EventStreamUnmarshallerGenerator.kt:130 */
         623  +
        }
         624  +
        /* EventStreamUnmarshallerGenerator.kt:120 */
         625  +
    }
         626  +
    /* EventStreamUnmarshallerGenerator.kt:113 */
         627  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/input.rs

@@ -1,1 +2927,2683 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* StructureGenerator.kt:197 */
    3         -
#[allow(missing_docs)] // documentation missing in model
    4         -
/* RustType.kt:534 */
    5         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub /* StructureGenerator.kt:201 */ struct OperationWithNestedStructureInput {
    7         -
    /* StructureGenerator.kt:231 */
    8         -
    #[allow(missing_docs)] // documentation missing in model
    9         -
    pub top_level: crate::model::TopLevel,
   10         -
    /* StructureGenerator.kt:201 */
   11         -
}
   12         -
/* StructureGenerator.kt:135 */
   13         -
impl OperationWithNestedStructureInput {
   14         -
    /* StructureGenerator.kt:231 */
   15         -
    #[allow(missing_docs)] // documentation missing in model
   16         -
                           /* StructureGenerator.kt:166 */
   17         -
    pub fn top_level(&self) -> &crate::model::TopLevel {
   18         -
        /* StructureGenerator.kt:172 */
   19         -
        &self.top_level
   20         -
        /* StructureGenerator.kt:166 */
   21         -
    }
   22         -
    /* StructureGenerator.kt:135 */
   23         -
}
   24         -
/* ServerCodegenVisitor.kt:356 */
   25         -
impl OperationWithNestedStructureInput {
   26         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
   27         -
    /* ServerBuilderGenerator.kt:295 */
   28         -
    pub fn builder() -> crate::input::operation_with_nested_structure_input::Builder {
   29         -
        /* ServerBuilderGenerator.kt:296 */
   30         -
        crate::input::operation_with_nested_structure_input::Builder::default()
   31         -
        /* ServerBuilderGenerator.kt:295 */
   32         -
    }
   33         -
    /* ServerCodegenVisitor.kt:356 */
   34         -
}
   35         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
   36         -
impl crate::constrained::Constrained for crate::input::OperationWithNestedStructureInput {
   37         -
    type Unconstrained = crate::input::operation_with_nested_structure_input::Builder;
   38         -
}
   39         -
   40         -
/* StructureGenerator.kt:197 */
   41         -
#[allow(missing_docs)] // documentation missing in model
   42         -
/* RustType.kt:534 */
   43         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   44         -
pub /* StructureGenerator.kt:201 */ struct OperationWithDefaultsInput {
   45         -
    /* StructureGenerator.kt:231 */
   46         -
    #[allow(missing_docs)] // documentation missing in model
   47         -
    pub defaults: ::std::option::Option<crate::model::Defaults>,
   48         -
    /* StructureGenerator.kt:231 */
   49         -
    #[allow(missing_docs)] // documentation missing in model
   50         -
    pub client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
   51         -
    /* StructureGenerator.kt:231 */
   52         -
    #[allow(missing_docs)] // documentation missing in model
   53         -
    pub top_level_default: ::std::string::String,
   54         -
    /* StructureGenerator.kt:231 */
   55         -
    #[allow(missing_docs)] // documentation missing in model
   56         -
    pub other_top_level_default: i32,
   57         -
    /* StructureGenerator.kt:201 */
   58         -
}
   59         -
/* StructureGenerator.kt:135 */
   60         -
impl OperationWithDefaultsInput {
   61         -
    /* StructureGenerator.kt:231 */
   62         -
    #[allow(missing_docs)] // documentation missing in model
   63         -
                           /* StructureGenerator.kt:166 */
   64         -
    pub fn defaults(&self) -> ::std::option::Option<&crate::model::Defaults> {
   65         -
        /* StructureGenerator.kt:170 */
   66         -
        self.defaults.as_ref()
   67         -
        /* StructureGenerator.kt:166 */
   68         -
    }
   69         -
    /* StructureGenerator.kt:231 */
   70         -
    #[allow(missing_docs)] // documentation missing in model
   71         -
                           /* StructureGenerator.kt:166 */
   72         -
    pub fn client_optional_defaults(
   73         -
        &self,
   74         -
    ) -> ::std::option::Option<&crate::model::ClientOptionalDefaults> {
   75         -
        /* StructureGenerator.kt:170 */
   76         -
        self.client_optional_defaults.as_ref()
   77         -
        /* StructureGenerator.kt:166 */
   78         -
    }
   79         -
    /* StructureGenerator.kt:231 */
   80         -
    #[allow(missing_docs)] // documentation missing in model
   81         -
                           /* StructureGenerator.kt:166 */
   82         -
    pub fn top_level_default(&self) -> &str {
   83         -
        /* StructureGenerator.kt:171 */
   84         -
        use std::ops::Deref;
   85         -
        self.top_level_default.deref()
   86         -
        /* StructureGenerator.kt:166 */
   87         -
    }
   88         -
    /* StructureGenerator.kt:231 */
   89         -
    #[allow(missing_docs)] // documentation missing in model
   90         -
                           /* StructureGenerator.kt:166 */
   91         -
    pub fn other_top_level_default(&self) -> i32 {
   92         -
        /* StructureGenerator.kt:168 */
   93         -
        self.other_top_level_default
   94         -
        /* StructureGenerator.kt:166 */
   95         -
    }
   96         -
    /* StructureGenerator.kt:135 */
   97         -
}
   98         -
/* ServerCodegenVisitor.kt:356 */
   99         -
impl OperationWithDefaultsInput {
  100         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
  101         -
    /* ServerBuilderGenerator.kt:295 */
  102         -
    pub fn builder() -> crate::input::operation_with_defaults_input::Builder {
  103         -
        /* ServerBuilderGenerator.kt:296 */
  104         -
        crate::input::operation_with_defaults_input::Builder::default()
  105         -
        /* ServerBuilderGenerator.kt:295 */
  106         -
    }
  107         -
    /* ServerCodegenVisitor.kt:356 */
  108         -
}
  109         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  110         -
impl crate::constrained::Constrained for crate::input::OperationWithDefaultsInput {
  111         -
    type Unconstrained = crate::input::operation_with_defaults_input::Builder;
  112         -
}
  113         -
  114         -
/* StructureGenerator.kt:197 */
  115         -
#[allow(missing_docs)] // documentation missing in model
  116         -
/* RustType.kt:534 */
  117         -
#[derive(
  118         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  119         -
)]
  120         -
pub /* StructureGenerator.kt:201 */ struct ContentTypeParametersInput {
  121         -
    /* StructureGenerator.kt:231 */
  122         -
    #[allow(missing_docs)] // documentation missing in model
  123         -
    pub value: ::std::option::Option<i32>,
  124         -
    /* StructureGenerator.kt:201 */
  125         -
}
  126         -
/* StructureGenerator.kt:135 */
  127         -
impl ContentTypeParametersInput {
  128         -
    /* StructureGenerator.kt:231 */
  129         -
    #[allow(missing_docs)] // documentation missing in model
  130         -
                           /* StructureGenerator.kt:166 */
  131         -
    pub fn value(&self) -> ::std::option::Option<i32> {
  132         -
        /* StructureGenerator.kt:168 */
  133         -
        self.value
  134         -
        /* StructureGenerator.kt:166 */
  135         -
    }
  136         -
    /* StructureGenerator.kt:135 */
  137         -
}
  138         -
/* ServerCodegenVisitor.kt:356 */
  139         -
impl ContentTypeParametersInput {
  140         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
  141         -
    /* ServerBuilderGenerator.kt:295 */
  142         -
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
  143         -
        /* ServerBuilderGenerator.kt:296 */
  144         -
        crate::input::content_type_parameters_input::Builder::default()
  145         -
        /* ServerBuilderGenerator.kt:295 */
  146         -
    }
  147         -
    /* ServerCodegenVisitor.kt:356 */
  148         -
}
  149         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  150         -
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
  151         -
    type Unconstrained = crate::input::content_type_parameters_input::Builder;
  152         -
}
  153         -
  154      2   
/* StructureGenerator.kt:197 */
  155      3   
#[allow(missing_docs)] // documentation missing in model
  156      4   
/* RustType.kt:534 */
  157      5   
#[derive(
  158      6   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  159      7   
)]
  160         -
pub /* StructureGenerator.kt:201 */ struct PutWithContentEncodingInput {
  161         -
    /* StructureGenerator.kt:231 */
  162         -
    #[allow(missing_docs)] // documentation missing in model
  163         -
    pub encoding: ::std::option::Option<::std::string::String>,
  164         -
    /* StructureGenerator.kt:231 */
  165         -
    #[allow(missing_docs)] // documentation missing in model
  166         -
    pub data: ::std::option::Option<::std::string::String>,
  167         -
    /* StructureGenerator.kt:201 */
  168         -
}
  169         -
/* StructureGenerator.kt:135 */
  170         -
impl PutWithContentEncodingInput {
  171         -
    /* StructureGenerator.kt:231 */
  172         -
    #[allow(missing_docs)] // documentation missing in model
  173         -
                           /* StructureGenerator.kt:166 */
  174         -
    pub fn encoding(&self) -> ::std::option::Option<&str> {
  175         -
        /* StructureGenerator.kt:169 */
  176         -
        self.encoding.as_deref()
  177         -
        /* StructureGenerator.kt:166 */
  178         -
    }
  179         -
    /* StructureGenerator.kt:231 */
  180         -
    #[allow(missing_docs)] // documentation missing in model
  181         -
                           /* StructureGenerator.kt:166 */
  182         -
    pub fn data(&self) -> ::std::option::Option<&str> {
  183         -
        /* StructureGenerator.kt:169 */
  184         -
        self.data.as_deref()
  185         -
        /* StructureGenerator.kt:166 */
  186         -
    }
  187         -
    /* StructureGenerator.kt:135 */
  188         -
}
           8  +
pub /* StructureGenerator.kt:201 */ struct NoInputAndNoOutputInput {/* StructureGenerator.kt:201 */}
  189      9   
/* ServerCodegenVisitor.kt:356 */
  190         -
impl PutWithContentEncodingInput {
  191         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
          10  +
impl NoInputAndNoOutputInput {
          11  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
  192     12   
    /* ServerBuilderGenerator.kt:295 */
  193         -
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
          13  +
    pub fn builder() -> crate::input::no_input_and_no_output_input::Builder {
  194     14   
        /* ServerBuilderGenerator.kt:296 */
  195         -
        crate::input::put_with_content_encoding_input::Builder::default()
          15  +
        crate::input::no_input_and_no_output_input::Builder::default()
  196     16   
        /* ServerBuilderGenerator.kt:295 */
  197     17   
    }
  198     18   
    /* ServerCodegenVisitor.kt:356 */
  199     19   
}
  200     20   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  201         -
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
  202         -
    type Unconstrained = crate::input::put_with_content_encoding_input::Builder;
          21  +
impl crate::constrained::Constrained for crate::input::NoInputAndNoOutputInput {
          22  +
    type Unconstrained = crate::input::no_input_and_no_output_input::Builder;
  203     23   
}
  204     24   
  205     25   
/* StructureGenerator.kt:197 */
  206     26   
#[allow(missing_docs)] // documentation missing in model
  207     27   
/* RustType.kt:534 */
  208     28   
#[derive(
  209     29   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  210     30   
)]
  211         -
pub /* StructureGenerator.kt:201 */ struct FractionalSecondsInput {/* StructureGenerator.kt:201 */}
          31  +
pub /* StructureGenerator.kt:201 */ struct NoInputAndOutputInput {/* StructureGenerator.kt:201 */}
  212     32   
/* ServerCodegenVisitor.kt:356 */
  213         -
impl FractionalSecondsInput {
  214         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
          33  +
impl NoInputAndOutputInput {
          34  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
  215     35   
    /* ServerBuilderGenerator.kt:295 */
  216         -
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
          36  +
    pub fn builder() -> crate::input::no_input_and_output_input::Builder {
  217     37   
        /* ServerBuilderGenerator.kt:296 */
  218         -
        crate::input::fractional_seconds_input::Builder::default()
          38  +
        crate::input::no_input_and_output_input::Builder::default()
  219     39   
        /* ServerBuilderGenerator.kt:295 */
  220     40   
    }
  221     41   
    /* ServerCodegenVisitor.kt:356 */
  222     42   
}
  223     43   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  224         -
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
  225         -
    type Unconstrained = crate::input::fractional_seconds_input::Builder;
          44  +
impl crate::constrained::Constrained for crate::input::NoInputAndOutputInput {
          45  +
    type Unconstrained = crate::input::no_input_and_output_input::Builder;
  226     46   
}
  227     47   
  228     48   
/* StructureGenerator.kt:197 */
  229     49   
#[allow(missing_docs)] // documentation missing in model
  230     50   
/* RustType.kt:534 */
  231     51   
#[derive(
  232     52   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  233     53   
)]
  234         -
pub /* StructureGenerator.kt:201 */ struct DatetimeOffsetsInput {/* StructureGenerator.kt:201 */}
          54  +
pub /* StructureGenerator.kt:201 */ struct EmptyInputAndEmptyOutputInput {/* StructureGenerator.kt:201 */}
  235     55   
/* ServerCodegenVisitor.kt:356 */
  236         -
impl DatetimeOffsetsInput {
  237         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
          56  +
impl EmptyInputAndEmptyOutputInput {
          57  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
  238     58   
    /* ServerBuilderGenerator.kt:295 */
  239         -
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
          59  +
    pub fn builder() -> crate::input::empty_input_and_empty_output_input::Builder {
  240     60   
        /* ServerBuilderGenerator.kt:296 */
  241         -
        crate::input::datetime_offsets_input::Builder::default()
          61  +
        crate::input::empty_input_and_empty_output_input::Builder::default()
  242     62   
        /* ServerBuilderGenerator.kt:295 */
  243     63   
    }
  244     64   
    /* ServerCodegenVisitor.kt:356 */
  245     65   
}
  246     66   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  247         -
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
  248         -
    type Unconstrained = crate::input::datetime_offsets_input::Builder;
          67  +
impl crate::constrained::Constrained for crate::input::EmptyInputAndEmptyOutputInput {
          68  +
    type Unconstrained = crate::input::empty_input_and_empty_output_input::Builder;
  249     69   
}
  250     70   
  251     71   
/* StructureGenerator.kt:197 */
  252     72   
#[allow(missing_docs)] // documentation missing in model
  253     73   
/* RustType.kt:534 */
  254     74   
#[derive(
  255     75   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  256     76   
)]
  257         -
pub /* StructureGenerator.kt:201 */ struct TestPostNoInputNoPayloadInput {/* StructureGenerator.kt:201 */}
          77  +
pub /* StructureGenerator.kt:201 */ struct UnitInputAndOutputInput {/* StructureGenerator.kt:201 */}
  258     78   
/* ServerCodegenVisitor.kt:356 */
  259         -
impl TestPostNoInputNoPayloadInput {
  260         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
          79  +
impl UnitInputAndOutputInput {
          80  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
  261     81   
    /* ServerBuilderGenerator.kt:295 */
  262         -
    pub fn builder() -> crate::input::test_post_no_input_no_payload_input::Builder {
          82  +
    pub fn builder() -> crate::input::unit_input_and_output_input::Builder {
  263     83   
        /* ServerBuilderGenerator.kt:296 */
  264         -
        crate::input::test_post_no_input_no_payload_input::Builder::default()
          84  +
        crate::input::unit_input_and_output_input::Builder::default()
  265     85   
        /* ServerBuilderGenerator.kt:295 */
  266     86   
    }
  267     87   
    /* ServerCodegenVisitor.kt:356 */
  268     88   
}
  269     89   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  270         -
impl crate::constrained::Constrained for crate::input::TestPostNoInputNoPayloadInput {
  271         -
    type Unconstrained = crate::input::test_post_no_input_no_payload_input::Builder;
          90  +
impl crate::constrained::Constrained for crate::input::UnitInputAndOutputInput {
          91  +
    type Unconstrained = crate::input::unit_input_and_output_input::Builder;
  272     92   
}
  273     93   
  274     94   
/* StructureGenerator.kt:197 */
  275     95   
#[allow(missing_docs)] // documentation missing in model
  276     96   
/* RustType.kt:534 */
  277         -
#[derive(
  278         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  279         -
)]
  280         -
pub /* StructureGenerator.kt:201 */ struct TestGetNoInputNoPayloadInput {/* StructureGenerator.kt:201 */}
  281         -
/* ServerCodegenVisitor.kt:356 */
  282         -
impl TestGetNoInputNoPayloadInput {
  283         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
  284         -
    /* ServerBuilderGenerator.kt:295 */
  285         -
    pub fn builder() -> crate::input::test_get_no_input_no_payload_input::Builder {
  286         -
        /* ServerBuilderGenerator.kt:296 */
  287         -
        crate::input::test_get_no_input_no_payload_input::Builder::default()
  288         -
        /* ServerBuilderGenerator.kt:295 */
  289         -
    }
  290         -
    /* ServerCodegenVisitor.kt:356 */
  291         -
}
  292         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  293         -
impl crate::constrained::Constrained for crate::input::TestGetNoInputNoPayloadInput {
  294         -
    type Unconstrained = crate::input::test_get_no_input_no_payload_input::Builder;
  295         -
}
  296         -
  297         -
/* StructureGenerator.kt:197 */
  298         -
#[allow(missing_docs)] // documentation missing in model
  299         -
/* RustType.kt:534 */
  300         -
#[derive(
  301         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  302         -
)]
  303         -
pub /* StructureGenerator.kt:201 */ struct TestPostNoPayloadInput {
          97  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          98  +
pub /* StructureGenerator.kt:201 */ struct InputAndOutputWithHeadersInput {
  304     99   
    /* StructureGenerator.kt:231 */
  305    100   
    #[allow(missing_docs)] // documentation missing in model
  306         -
    pub test_id: ::std::option::Option<::std::string::String>,
  307         -
    /* StructureGenerator.kt:201 */
  308         -
}
  309         -
/* StructureGenerator.kt:135 */
  310         -
impl TestPostNoPayloadInput {
         101  +
    pub header_string: ::std::option::Option<::std::string::String>,
  311    102   
    /* StructureGenerator.kt:231 */
  312    103   
    #[allow(missing_docs)] // documentation missing in model
  313         -
                           /* StructureGenerator.kt:166 */
  314         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  315         -
        /* StructureGenerator.kt:169 */
  316         -
        self.test_id.as_deref()
  317         -
        /* StructureGenerator.kt:166 */
  318         -
    }
  319         -
    /* StructureGenerator.kt:135 */
  320         -
}
  321         -
/* ServerCodegenVisitor.kt:356 */
  322         -
impl TestPostNoPayloadInput {
  323         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
  324         -
    /* ServerBuilderGenerator.kt:295 */
  325         -
    pub fn builder() -> crate::input::test_post_no_payload_input::Builder {
  326         -
        /* ServerBuilderGenerator.kt:296 */
  327         -
        crate::input::test_post_no_payload_input::Builder::default()
  328         -
        /* ServerBuilderGenerator.kt:295 */
  329         -
    }
  330         -
    /* ServerCodegenVisitor.kt:356 */
  331         -
}
  332         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  333         -
impl crate::constrained::Constrained for crate::input::TestPostNoPayloadInput {
  334         -
    type Unconstrained = crate::input::test_post_no_payload_input::Builder;
  335         -
}
  336         -
  337         -
/* StructureGenerator.kt:197 */
  338         -
#[allow(missing_docs)] // documentation missing in model
  339         -
/* RustType.kt:534 */
  340         -
#[derive(
  341         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  342         -
)]
  343         -
pub /* StructureGenerator.kt:201 */ struct TestGetNoPayloadInput {
         104  +
    pub header_byte: ::std::option::Option<i8>,
  344    105   
    /* StructureGenerator.kt:231 */
  345    106   
    #[allow(missing_docs)] // documentation missing in model
  346         -
    pub test_id: ::std::option::Option<::std::string::String>,
  347         -
    /* StructureGenerator.kt:201 */
  348         -
}
  349         -
/* StructureGenerator.kt:135 */
  350         -
impl TestGetNoPayloadInput {
         107  +
    pub header_short: ::std::option::Option<i16>,
  351    108   
    /* StructureGenerator.kt:231 */
  352    109   
    #[allow(missing_docs)] // documentation missing in model
  353         -
                           /* StructureGenerator.kt:166 */
  354         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  355         -
        /* StructureGenerator.kt:169 */
  356         -
        self.test_id.as_deref()
  357         -
        /* StructureGenerator.kt:166 */
  358         -
    }
  359         -
    /* StructureGenerator.kt:135 */
  360         -
}
  361         -
/* ServerCodegenVisitor.kt:356 */
  362         -
impl TestGetNoPayloadInput {
  363         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
  364         -
    /* ServerBuilderGenerator.kt:295 */
  365         -
    pub fn builder() -> crate::input::test_get_no_payload_input::Builder {
  366         -
        /* ServerBuilderGenerator.kt:296 */
  367         -
        crate::input::test_get_no_payload_input::Builder::default()
  368         -
        /* ServerBuilderGenerator.kt:295 */
  369         -
    }
  370         -
    /* ServerCodegenVisitor.kt:356 */
  371         -
}
  372         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  373         -
impl crate::constrained::Constrained for crate::input::TestGetNoPayloadInput {
  374         -
    type Unconstrained = crate::input::test_get_no_payload_input::Builder;
  375         -
}
  376         -
  377         -
/* StructureGenerator.kt:197 */
  378         -
#[allow(missing_docs)] // documentation missing in model
  379         -
/* RustType.kt:534 */
  380         -
#[derive(
  381         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  382         -
)]
  383         -
pub /* StructureGenerator.kt:201 */ struct TestPayloadBlobInput {
         110  +
    pub header_integer: ::std::option::Option<i32>,
  384    111   
    /* StructureGenerator.kt:231 */
  385    112   
    #[allow(missing_docs)] // documentation missing in model
  386         -
    pub content_type: ::std::option::Option<::std::string::String>,
         113  +
    pub header_long: ::std::option::Option<i64>,
  387    114   
    /* StructureGenerator.kt:231 */
  388    115   
    #[allow(missing_docs)] // documentation missing in model
  389         -
    pub data: ::std::option::Option<::aws_smithy_types::Blob>,
         116  +
    pub header_float: ::std::option::Option<f32>,
         117  +
    /* StructureGenerator.kt:231 */
         118  +
    #[allow(missing_docs)] // documentation missing in model
         119  +
    pub header_double: ::std::option::Option<f64>,
         120  +
    /* StructureGenerator.kt:231 */
         121  +
    #[allow(missing_docs)] // documentation missing in model
         122  +
    pub header_true_bool: ::std::option::Option<bool>,
         123  +
    /* StructureGenerator.kt:231 */
         124  +
    #[allow(missing_docs)] // documentation missing in model
         125  +
    pub header_false_bool: ::std::option::Option<bool>,
         126  +
    /* StructureGenerator.kt:231 */
         127  +
    #[allow(missing_docs)] // documentation missing in model
         128  +
    pub header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         129  +
    /* StructureGenerator.kt:231 */
         130  +
    #[allow(missing_docs)] // documentation missing in model
         131  +
    pub header_string_set: ::std::option::Option<crate::model::StringSet>,
         132  +
    /* StructureGenerator.kt:231 */
         133  +
    #[allow(missing_docs)] // documentation missing in model
         134  +
    pub header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
         135  +
    /* StructureGenerator.kt:231 */
         136  +
    #[allow(missing_docs)] // documentation missing in model
         137  +
    pub header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
         138  +
    /* StructureGenerator.kt:231 */
         139  +
    #[allow(missing_docs)] // documentation missing in model
         140  +
    pub header_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
         141  +
    /* StructureGenerator.kt:231 */
         142  +
    #[allow(missing_docs)] // documentation missing in model
         143  +
    pub header_enum: ::std::option::Option<crate::model::FooEnum>,
         144  +
    /* StructureGenerator.kt:231 */
         145  +
    #[allow(missing_docs)] // documentation missing in model
         146  +
    pub header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         147  +
    /* StructureGenerator.kt:231 */
         148  +
    #[allow(missing_docs)] // documentation missing in model
         149  +
    pub header_integer_enum: ::std::option::Option<i32>,
         150  +
    /* StructureGenerator.kt:231 */
         151  +
    #[allow(missing_docs)] // documentation missing in model
         152  +
    pub header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
  390    153   
    /* StructureGenerator.kt:201 */
  391    154   
}
  392    155   
/* StructureGenerator.kt:135 */
  393         -
impl TestPayloadBlobInput {
         156  +
impl InputAndOutputWithHeadersInput {
  394    157   
    /* StructureGenerator.kt:231 */
  395    158   
    #[allow(missing_docs)] // documentation missing in model
  396    159   
                           /* StructureGenerator.kt:166 */
  397         -
    pub fn content_type(&self) -> ::std::option::Option<&str> {
         160  +
    pub fn header_string(&self) -> ::std::option::Option<&str> {
  398    161   
        /* StructureGenerator.kt:169 */
  399         -
        self.content_type.as_deref()
         162  +
        self.header_string.as_deref()
  400    163   
        /* StructureGenerator.kt:166 */
  401    164   
    }
  402    165   
    /* StructureGenerator.kt:231 */
  403    166   
    #[allow(missing_docs)] // documentation missing in model
  404    167   
                           /* StructureGenerator.kt:166 */
  405         -
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
  406         -
        /* StructureGenerator.kt:170 */
  407         -
        self.data.as_ref()
         168  +
    pub fn header_byte(&self) -> ::std::option::Option<i8> {
         169  +
        /* StructureGenerator.kt:168 */
         170  +
        self.header_byte
  408    171   
        /* StructureGenerator.kt:166 */
  409    172   
    }
  410         -
    /* StructureGenerator.kt:135 */
  411         -
}
  412         -
/* ServerCodegenVisitor.kt:356 */
  413         -
impl TestPayloadBlobInput {
  414         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
  415         -
    /* ServerBuilderGenerator.kt:295 */
  416         -
    pub fn builder() -> crate::input::test_payload_blob_input::Builder {
  417         -
        /* ServerBuilderGenerator.kt:296 */
  418         -
        crate::input::test_payload_blob_input::Builder::default()
  419         -
        /* ServerBuilderGenerator.kt:295 */
  420         -
    }
  421         -
    /* ServerCodegenVisitor.kt:356 */
  422         -
}
  423         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  424         -
impl crate::constrained::Constrained for crate::input::TestPayloadBlobInput {
  425         -
    type Unconstrained = crate::input::test_payload_blob_input::Builder;
  426         -
}
  427         -
  428         -
/* StructureGenerator.kt:197 */
  429         -
#[allow(missing_docs)] // documentation missing in model
  430         -
/* RustType.kt:534 */
  431         -
#[derive(
  432         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  433         -
)]
  434         -
pub /* StructureGenerator.kt:201 */ struct TestPayloadStructureInput {
  435    173   
    /* StructureGenerator.kt:231 */
  436    174   
    #[allow(missing_docs)] // documentation missing in model
  437         -
    pub test_id: ::std::option::Option<::std::string::String>,
         175  +
                           /* StructureGenerator.kt:166 */
         176  +
    pub fn header_short(&self) -> ::std::option::Option<i16> {
         177  +
        /* StructureGenerator.kt:168 */
         178  +
        self.header_short
         179  +
        /* StructureGenerator.kt:166 */
         180  +
    }
  438    181   
    /* StructureGenerator.kt:231 */
  439    182   
    #[allow(missing_docs)] // documentation missing in model
  440         -
    pub payload_config: ::std::option::Option<crate::model::PayloadConfig>,
  441         -
    /* StructureGenerator.kt:201 */
  442         -
}
  443         -
/* StructureGenerator.kt:135 */
  444         -
impl TestPayloadStructureInput {
         183  +
                           /* StructureGenerator.kt:166 */
         184  +
    pub fn header_integer(&self) -> ::std::option::Option<i32> {
         185  +
        /* StructureGenerator.kt:168 */
         186  +
        self.header_integer
         187  +
        /* StructureGenerator.kt:166 */
         188  +
    }
  445    189   
    /* StructureGenerator.kt:231 */
  446    190   
    #[allow(missing_docs)] // documentation missing in model
  447    191   
                           /* StructureGenerator.kt:166 */
  448         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  449         -
        /* StructureGenerator.kt:169 */
  450         -
        self.test_id.as_deref()
         192  +
    pub fn header_long(&self) -> ::std::option::Option<i64> {
         193  +
        /* StructureGenerator.kt:168 */
         194  +
        self.header_long
  451    195   
        /* StructureGenerator.kt:166 */
  452    196   
    }
  453    197   
    /* StructureGenerator.kt:231 */
  454    198   
    #[allow(missing_docs)] // documentation missing in model
  455    199   
                           /* StructureGenerator.kt:166 */
  456         -
    pub fn payload_config(&self) -> ::std::option::Option<&crate::model::PayloadConfig> {
  457         -
        /* StructureGenerator.kt:170 */
  458         -
        self.payload_config.as_ref()
         200  +
    pub fn header_float(&self) -> ::std::option::Option<f32> {
         201  +
        /* StructureGenerator.kt:168 */
         202  +
        self.header_float
  459    203   
        /* StructureGenerator.kt:166 */
  460    204   
    }
  461         -
    /* StructureGenerator.kt:135 */
  462         -
}
  463         -
/* ServerCodegenVisitor.kt:356 */
  464         -
impl TestPayloadStructureInput {
  465         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
  466         -
    /* ServerBuilderGenerator.kt:295 */
  467         -
    pub fn builder() -> crate::input::test_payload_structure_input::Builder {
  468         -
        /* ServerBuilderGenerator.kt:296 */
  469         -
        crate::input::test_payload_structure_input::Builder::default()
  470         -
        /* ServerBuilderGenerator.kt:295 */
         205  +
    /* StructureGenerator.kt:231 */
         206  +
    #[allow(missing_docs)] // documentation missing in model
         207  +
                           /* StructureGenerator.kt:166 */
         208  +
    pub fn header_double(&self) -> ::std::option::Option<f64> {
         209  +
        /* StructureGenerator.kt:168 */
         210  +
        self.header_double
         211  +
        /* StructureGenerator.kt:166 */
  471    212   
    }
  472         -
    /* ServerCodegenVisitor.kt:356 */
  473         -
}
  474         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  475         -
impl crate::constrained::Constrained for crate::input::TestPayloadStructureInput {
  476         -
    type Unconstrained = crate::input::test_payload_structure_input::Builder;
  477         -
}
  478         -
  479         -
/* StructureGenerator.kt:197 */
  480         -
#[allow(missing_docs)] // documentation missing in model
  481         -
/* RustType.kt:534 */
  482         -
#[derive(
  483         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  484         -
)]
  485         -
pub /* StructureGenerator.kt:201 */ struct TestBodyStructureInput {
  486    213   
    /* StructureGenerator.kt:231 */
  487    214   
    #[allow(missing_docs)] // documentation missing in model
  488         -
    pub test_id: ::std::option::Option<::std::string::String>,
         215  +
                           /* StructureGenerator.kt:166 */
         216  +
    pub fn header_true_bool(&self) -> ::std::option::Option<bool> {
         217  +
        /* StructureGenerator.kt:168 */
         218  +
        self.header_true_bool
         219  +
        /* StructureGenerator.kt:166 */
         220  +
    }
  489    221   
    /* StructureGenerator.kt:231 */
  490    222   
    #[allow(missing_docs)] // documentation missing in model
  491         -
    pub test_config: ::std::option::Option<crate::model::TestConfig>,
  492         -
    /* StructureGenerator.kt:201 */
  493         -
}
  494         -
/* StructureGenerator.kt:135 */
  495         -
impl TestBodyStructureInput {
         223  +
                           /* StructureGenerator.kt:166 */
         224  +
    pub fn header_false_bool(&self) -> ::std::option::Option<bool> {
         225  +
        /* StructureGenerator.kt:168 */
         226  +
        self.header_false_bool
         227  +
        /* StructureGenerator.kt:166 */
         228  +
    }
  496    229   
    /* StructureGenerator.kt:231 */
  497    230   
    #[allow(missing_docs)] // documentation missing in model
  498    231   
                           /* StructureGenerator.kt:166 */
  499         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
         232  +
    pub fn header_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
  500    233   
        /* StructureGenerator.kt:169 */
  501         -
        self.test_id.as_deref()
         234  +
        self.header_string_list.as_deref()
  502    235   
        /* StructureGenerator.kt:166 */
  503    236   
    }
  504    237   
    /* StructureGenerator.kt:231 */
  505    238   
    #[allow(missing_docs)] // documentation missing in model
  506    239   
                           /* StructureGenerator.kt:166 */
  507         -
    pub fn test_config(&self) -> ::std::option::Option<&crate::model::TestConfig> {
         240  +
    pub fn header_string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
  508    241   
        /* StructureGenerator.kt:170 */
  509         -
        self.test_config.as_ref()
         242  +
        self.header_string_set.as_ref()
  510    243   
        /* StructureGenerator.kt:166 */
  511    244   
    }
  512         -
    /* StructureGenerator.kt:135 */
  513         -
}
  514         -
/* ServerCodegenVisitor.kt:356 */
  515         -
impl TestBodyStructureInput {
  516         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
  517         -
    /* ServerBuilderGenerator.kt:295 */
  518         -
    pub fn builder() -> crate::input::test_body_structure_input::Builder {
  519         -
        /* ServerBuilderGenerator.kt:296 */
  520         -
        crate::input::test_body_structure_input::Builder::default()
  521         -
        /* ServerBuilderGenerator.kt:295 */
         245  +
    /* StructureGenerator.kt:231 */
         246  +
    #[allow(missing_docs)] // documentation missing in model
         247  +
                           /* StructureGenerator.kt:166 */
         248  +
    pub fn header_integer_list(&self) -> ::std::option::Option<&[i32]> {
         249  +
        /* StructureGenerator.kt:169 */
         250  +
        self.header_integer_list.as_deref()
         251  +
        /* StructureGenerator.kt:166 */
  522    252   
    }
  523         -
    /* ServerCodegenVisitor.kt:356 */
  524         -
}
  525         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  526         -
impl crate::constrained::Constrained for crate::input::TestBodyStructureInput {
  527         -
    type Unconstrained = crate::input::test_body_structure_input::Builder;
  528         -
}
  529         -
  530         -
/* StructureGenerator.kt:197 */
  531         -
#[allow(missing_docs)] // documentation missing in model
  532         -
/* RustType.kt:534 */
  533         -
#[derive(
  534         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  535         -
)]
  536         -
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithGenericStringInput {/* StructureGenerator.kt:201 */}
  537         -
/* ServerCodegenVisitor.kt:356 */
  538         -
impl MalformedAcceptWithGenericStringInput {
  539         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
  540         -
    /* ServerBuilderGenerator.kt:295 */
  541         -
    pub fn builder() -> crate::input::malformed_accept_with_generic_string_input::Builder {
  542         -
        /* ServerBuilderGenerator.kt:296 */
  543         -
        crate::input::malformed_accept_with_generic_string_input::Builder::default()
  544         -
        /* ServerBuilderGenerator.kt:295 */
         253  +
    /* StructureGenerator.kt:231 */
         254  +
    #[allow(missing_docs)] // documentation missing in model
         255  +
                           /* StructureGenerator.kt:166 */
         256  +
    pub fn header_boolean_list(&self) -> ::std::option::Option<&[bool]> {
         257  +
        /* StructureGenerator.kt:169 */
         258  +
        self.header_boolean_list.as_deref()
         259  +
        /* StructureGenerator.kt:166 */
  545    260   
    }
  546         -
    /* ServerCodegenVisitor.kt:356 */
  547         -
}
  548         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  549         -
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithGenericStringInput {
  550         -
    type Unconstrained = crate::input::malformed_accept_with_generic_string_input::Builder;
  551         -
}
  552         -
  553         -
/* StructureGenerator.kt:197 */
  554         -
#[allow(missing_docs)] // documentation missing in model
  555         -
/* RustType.kt:534 */
  556         -
#[derive(
  557         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  558         -
)]
  559         -
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithPayloadInput {/* StructureGenerator.kt:201 */}
  560         -
/* ServerCodegenVisitor.kt:356 */
  561         -
impl MalformedAcceptWithPayloadInput {
  562         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
  563         -
    /* ServerBuilderGenerator.kt:295 */
  564         -
    pub fn builder() -> crate::input::malformed_accept_with_payload_input::Builder {
  565         -
        /* ServerBuilderGenerator.kt:296 */
  566         -
        crate::input::malformed_accept_with_payload_input::Builder::default()
  567         -
        /* ServerBuilderGenerator.kt:295 */
         261  +
    /* StructureGenerator.kt:231 */
         262  +
    #[allow(missing_docs)] // documentation missing in model
         263  +
                           /* StructureGenerator.kt:166 */
         264  +
    pub fn header_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
         265  +
        /* StructureGenerator.kt:169 */
         266  +
        self.header_timestamp_list.as_deref()
         267  +
        /* StructureGenerator.kt:166 */
  568    268   
    }
  569         -
    /* ServerCodegenVisitor.kt:356 */
  570         -
}
  571         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  572         -
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithPayloadInput {
  573         -
    type Unconstrained = crate::input::malformed_accept_with_payload_input::Builder;
  574         -
}
  575         -
  576         -
/* StructureGenerator.kt:197 */
  577         -
#[allow(missing_docs)] // documentation missing in model
  578         -
/* RustType.kt:534 */
  579         -
#[derive(
  580         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  581         -
)]
  582         -
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithBodyInput {/* StructureGenerator.kt:201 */}
  583         -
/* ServerCodegenVisitor.kt:356 */
  584         -
impl MalformedAcceptWithBodyInput {
  585         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
  586         -
    /* ServerBuilderGenerator.kt:295 */
  587         -
    pub fn builder() -> crate::input::malformed_accept_with_body_input::Builder {
  588         -
        /* ServerBuilderGenerator.kt:296 */
  589         -
        crate::input::malformed_accept_with_body_input::Builder::default()
  590         -
        /* ServerBuilderGenerator.kt:295 */
         269  +
    /* StructureGenerator.kt:231 */
         270  +
    #[allow(missing_docs)] // documentation missing in model
         271  +
                           /* StructureGenerator.kt:166 */
         272  +
    pub fn header_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         273  +
        /* StructureGenerator.kt:170 */
         274  +
        self.header_enum.as_ref()
         275  +
        /* StructureGenerator.kt:166 */
  591    276   
    }
  592         -
    /* ServerCodegenVisitor.kt:356 */
  593         -
}
  594         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  595         -
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithBodyInput {
  596         -
    type Unconstrained = crate::input::malformed_accept_with_body_input::Builder;
  597         -
}
  598         -
  599         -
/* StructureGenerator.kt:197 */
  600         -
#[allow(missing_docs)] // documentation missing in model
  601         -
/* RustType.kt:534 */
  602         -
#[derive(
  603         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  604         -
)]
  605         -
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithGenericStringInput {
  606    277   
    /* StructureGenerator.kt:231 */
  607    278   
    #[allow(missing_docs)] // documentation missing in model
  608         -
    pub payload: ::std::option::Option<::std::string::String>,
  609         -
    /* StructureGenerator.kt:201 */
  610         -
}
  611         -
/* StructureGenerator.kt:135 */
  612         -
impl MalformedContentTypeWithGenericStringInput {
         279  +
                           /* StructureGenerator.kt:166 */
         280  +
    pub fn header_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         281  +
        /* StructureGenerator.kt:169 */
         282  +
        self.header_enum_list.as_deref()
         283  +
        /* StructureGenerator.kt:166 */
         284  +
    }
  613    285   
    /* StructureGenerator.kt:231 */
  614    286   
    #[allow(missing_docs)] // documentation missing in model
  615    287   
                           /* StructureGenerator.kt:166 */
  616         -
    pub fn payload(&self) -> ::std::option::Option<&str> {
         288  +
    pub fn header_integer_enum(&self) -> ::std::option::Option<i32> {
         289  +
        /* StructureGenerator.kt:168 */
         290  +
        self.header_integer_enum
         291  +
        /* StructureGenerator.kt:166 */
         292  +
    }
         293  +
    /* StructureGenerator.kt:231 */
         294  +
    #[allow(missing_docs)] // documentation missing in model
         295  +
                           /* StructureGenerator.kt:166 */
         296  +
    pub fn header_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
  617    297   
        /* StructureGenerator.kt:169 */
  618         -
        self.payload.as_deref()
         298  +
        self.header_integer_enum_list.as_deref()
  619    299   
        /* StructureGenerator.kt:166 */
  620    300   
    }
  621    301   
    /* StructureGenerator.kt:135 */
  622    302   
}
  623    303   
/* ServerCodegenVisitor.kt:356 */
  624         -
impl MalformedContentTypeWithGenericStringInput {
  625         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
         304  +
impl InputAndOutputWithHeadersInput {
         305  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
  626    306   
    /* ServerBuilderGenerator.kt:295 */
  627         -
    pub fn builder() -> crate::input::malformed_content_type_with_generic_string_input::Builder {
         307  +
    pub fn builder() -> crate::input::input_and_output_with_headers_input::Builder {
  628    308   
        /* ServerBuilderGenerator.kt:296 */
  629         -
        crate::input::malformed_content_type_with_generic_string_input::Builder::default()
         309  +
        crate::input::input_and_output_with_headers_input::Builder::default()
  630    310   
        /* ServerBuilderGenerator.kt:295 */
  631    311   
    }
  632    312   
    /* ServerCodegenVisitor.kt:356 */
  633    313   
}
  634    314   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  635         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithGenericStringInput {
  636         -
    type Unconstrained = crate::input::malformed_content_type_with_generic_string_input::Builder;
         315  +
impl crate::constrained::Constrained for crate::input::InputAndOutputWithHeadersInput {
         316  +
    type Unconstrained = crate::input::input_and_output_with_headers_input::Builder;
  637    317   
}
  638    318   
  639    319   
/* StructureGenerator.kt:197 */
  640    320   
#[allow(missing_docs)] // documentation missing in model
  641    321   
/* RustType.kt:534 */
  642    322   
#[derive(
  643    323   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  644    324   
)]
  645         -
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithPayloadInput {
         325  +
pub /* StructureGenerator.kt:201 */ struct NullAndEmptyHeadersClientInput {
  646    326   
    /* StructureGenerator.kt:231 */
  647    327   
    #[allow(missing_docs)] // documentation missing in model
  648         -
    pub payload: ::std::option::Option<::aws_smithy_types::Blob>,
         328  +
    pub a: ::std::option::Option<::std::string::String>,
         329  +
    /* StructureGenerator.kt:231 */
         330  +
    #[allow(missing_docs)] // documentation missing in model
         331  +
    pub b: ::std::option::Option<::std::string::String>,
         332  +
    /* StructureGenerator.kt:231 */
         333  +
    #[allow(missing_docs)] // documentation missing in model
         334  +
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  649    335   
    /* StructureGenerator.kt:201 */
  650    336   
}
  651    337   
/* StructureGenerator.kt:135 */
  652         -
impl MalformedContentTypeWithPayloadInput {
         338  +
impl NullAndEmptyHeadersClientInput {
  653    339   
    /* StructureGenerator.kt:231 */
  654    340   
    #[allow(missing_docs)] // documentation missing in model
  655    341   
                           /* StructureGenerator.kt:166 */
  656         -
    pub fn payload(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
  657         -
        /* StructureGenerator.kt:170 */
  658         -
        self.payload.as_ref()
         342  +
    pub fn a(&self) -> ::std::option::Option<&str> {
         343  +
        /* StructureGenerator.kt:169 */
         344  +
        self.a.as_deref()
         345  +
        /* StructureGenerator.kt:166 */
         346  +
    }
         347  +
    /* StructureGenerator.kt:231 */
         348  +
    #[allow(missing_docs)] // documentation missing in model
         349  +
                           /* StructureGenerator.kt:166 */
         350  +
    pub fn b(&self) -> ::std::option::Option<&str> {
         351  +
        /* StructureGenerator.kt:169 */
         352  +
        self.b.as_deref()
         353  +
        /* StructureGenerator.kt:166 */
         354  +
    }
         355  +
    /* StructureGenerator.kt:231 */
         356  +
    #[allow(missing_docs)] // documentation missing in model
         357  +
                           /* StructureGenerator.kt:166 */
         358  +
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
         359  +
        /* StructureGenerator.kt:169 */
         360  +
        self.c.as_deref()
  659    361   
        /* StructureGenerator.kt:166 */
  660    362   
    }
  661    363   
    /* StructureGenerator.kt:135 */
  662    364   
}
  663    365   
/* ServerCodegenVisitor.kt:356 */
  664         -
impl MalformedContentTypeWithPayloadInput {
  665         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
         366  +
impl NullAndEmptyHeadersClientInput {
         367  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
  666    368   
    /* ServerBuilderGenerator.kt:295 */
  667         -
    pub fn builder() -> crate::input::malformed_content_type_with_payload_input::Builder {
         369  +
    pub fn builder() -> crate::input::null_and_empty_headers_client_input::Builder {
  668    370   
        /* ServerBuilderGenerator.kt:296 */
  669         -
        crate::input::malformed_content_type_with_payload_input::Builder::default()
         371  +
        crate::input::null_and_empty_headers_client_input::Builder::default()
  670    372   
        /* ServerBuilderGenerator.kt:295 */
  671    373   
    }
  672    374   
    /* ServerCodegenVisitor.kt:356 */
  673    375   
}
  674    376   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  675         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithPayloadInput {
  676         -
    type Unconstrained = crate::input::malformed_content_type_with_payload_input::Builder;
         377  +
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersClientInput {
         378  +
    type Unconstrained = crate::input::null_and_empty_headers_client_input::Builder;
  677    379   
}
  678    380   
  679    381   
/* StructureGenerator.kt:197 */
  680    382   
#[allow(missing_docs)] // documentation missing in model
  681    383   
/* RustType.kt:534 */
  682    384   
#[derive(
  683    385   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  684    386   
)]
  685         -
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithBodyInput {
         387  +
pub /* StructureGenerator.kt:201 */ struct NullAndEmptyHeadersServerInput {
  686    388   
    /* StructureGenerator.kt:231 */
  687    389   
    #[allow(missing_docs)] // documentation missing in model
  688         -
    pub hi: ::std::option::Option<::std::string::String>,
         390  +
    pub a: ::std::option::Option<::std::string::String>,
         391  +
    /* StructureGenerator.kt:231 */
         392  +
    #[allow(missing_docs)] // documentation missing in model
         393  +
    pub b: ::std::option::Option<::std::string::String>,
         394  +
    /* StructureGenerator.kt:231 */
         395  +
    #[allow(missing_docs)] // documentation missing in model
         396  +
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  689    397   
    /* StructureGenerator.kt:201 */
  690    398   
}
  691    399   
/* StructureGenerator.kt:135 */
  692         -
impl MalformedContentTypeWithBodyInput {
         400  +
impl NullAndEmptyHeadersServerInput {
  693    401   
    /* StructureGenerator.kt:231 */
  694    402   
    #[allow(missing_docs)] // documentation missing in model
  695    403   
                           /* StructureGenerator.kt:166 */
  696         -
    pub fn hi(&self) -> ::std::option::Option<&str> {
         404  +
    pub fn a(&self) -> ::std::option::Option<&str> {
  697    405   
        /* StructureGenerator.kt:169 */
  698         -
        self.hi.as_deref()
         406  +
        self.a.as_deref()
         407  +
        /* StructureGenerator.kt:166 */
         408  +
    }
         409  +
    /* StructureGenerator.kt:231 */
         410  +
    #[allow(missing_docs)] // documentation missing in model
         411  +
                           /* StructureGenerator.kt:166 */
         412  +
    pub fn b(&self) -> ::std::option::Option<&str> {
         413  +
        /* StructureGenerator.kt:169 */
         414  +
        self.b.as_deref()
         415  +
        /* StructureGenerator.kt:166 */
         416  +
    }
         417  +
    /* StructureGenerator.kt:231 */
         418  +
    #[allow(missing_docs)] // documentation missing in model
         419  +
                           /* StructureGenerator.kt:166 */
         420  +
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
         421  +
        /* StructureGenerator.kt:169 */
         422  +
        self.c.as_deref()
  699    423   
        /* StructureGenerator.kt:166 */
  700    424   
    }
  701    425   
    /* StructureGenerator.kt:135 */
  702    426   
}
  703    427   
/* ServerCodegenVisitor.kt:356 */
  704         -
impl MalformedContentTypeWithBodyInput {
  705         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
         428  +
impl NullAndEmptyHeadersServerInput {
         429  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
  706    430   
    /* ServerBuilderGenerator.kt:295 */
  707         -
    pub fn builder() -> crate::input::malformed_content_type_with_body_input::Builder {
         431  +
    pub fn builder() -> crate::input::null_and_empty_headers_server_input::Builder {
  708    432   
        /* ServerBuilderGenerator.kt:296 */
  709         -
        crate::input::malformed_content_type_with_body_input::Builder::default()
         433  +
        crate::input::null_and_empty_headers_server_input::Builder::default()
  710    434   
        /* ServerBuilderGenerator.kt:295 */
  711    435   
    }
  712    436   
    /* ServerCodegenVisitor.kt:356 */
  713    437   
}
  714    438   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  715         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithBodyInput {
  716         -
    type Unconstrained = crate::input::malformed_content_type_with_body_input::Builder;
         439  +
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersServerInput {
         440  +
    type Unconstrained = crate::input::null_and_empty_headers_server_input::Builder;
  717    441   
}
  718    442   
  719    443   
/* StructureGenerator.kt:197 */
  720    444   
#[allow(missing_docs)] // documentation missing in model
  721    445   
/* RustType.kt:534 */
  722    446   
#[derive(
  723    447   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  724    448   
)]
  725         -
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithoutBodyEmptyInputInput {
         449  +
pub /* StructureGenerator.kt:201 */ struct TimestampFormatHeadersInput {
  726    450   
    /* StructureGenerator.kt:231 */
  727    451   
    #[allow(missing_docs)] // documentation missing in model
  728         -
    pub header: ::std::option::Option<::std::string::String>,
  729         -
    /* StructureGenerator.kt:201 */
  730         -
}
  731         -
/* StructureGenerator.kt:135 */
  732         -
impl MalformedContentTypeWithoutBodyEmptyInputInput {
         452  +
    pub member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
  733    453   
    /* StructureGenerator.kt:231 */
  734    454   
    #[allow(missing_docs)] // documentation missing in model
  735         -
                           /* StructureGenerator.kt:166 */
  736         -
    pub fn header(&self) -> ::std::option::Option<&str> {
  737         -
        /* StructureGenerator.kt:169 */
  738         -
        self.header.as_deref()
  739         -
        /* StructureGenerator.kt:166 */
  740         -
    }
  741         -
    /* StructureGenerator.kt:135 */
  742         -
}
  743         -
/* ServerCodegenVisitor.kt:356 */
  744         -
impl MalformedContentTypeWithoutBodyEmptyInputInput {
  745         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
  746         -
    /* ServerBuilderGenerator.kt:295 */
  747         -
    pub fn builder() -> crate::input::malformed_content_type_without_body_empty_input_input::Builder
  748         -
    {
  749         -
        /* ServerBuilderGenerator.kt:296 */
  750         -
        crate::input::malformed_content_type_without_body_empty_input_input::Builder::default()
  751         -
        /* ServerBuilderGenerator.kt:295 */
  752         -
    }
  753         -
    /* ServerCodegenVisitor.kt:356 */
  754         -
}
  755         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  756         -
impl crate::constrained::Constrained
  757         -
    for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
  758         -
{
  759         -
    type Unconstrained =
  760         -
        crate::input::malformed_content_type_without_body_empty_input_input::Builder;
  761         -
}
  762         -
  763         -
/* StructureGenerator.kt:197 */
  764         -
#[allow(missing_docs)] // documentation missing in model
  765         -
/* RustType.kt:534 */
  766         -
#[derive(
  767         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  768         -
)]
  769         -
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithoutBodyInput {/* StructureGenerator.kt:201 */}
  770         -
/* ServerCodegenVisitor.kt:356 */
  771         -
impl MalformedContentTypeWithoutBodyInput {
  772         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
  773         -
    /* ServerBuilderGenerator.kt:295 */
  774         -
    pub fn builder() -> crate::input::malformed_content_type_without_body_input::Builder {
  775         -
        /* ServerBuilderGenerator.kt:296 */
  776         -
        crate::input::malformed_content_type_without_body_input::Builder::default()
  777         -
        /* ServerBuilderGenerator.kt:295 */
  778         -
    }
  779         -
    /* ServerCodegenVisitor.kt:356 */
  780         -
}
  781         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  782         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithoutBodyInput {
  783         -
    type Unconstrained = crate::input::malformed_content_type_without_body_input::Builder;
  784         -
}
  785         -
  786         -
/* StructureGenerator.kt:197 */
  787         -
#[allow(missing_docs)] // documentation missing in model
  788         -
/* RustType.kt:534 */
  789         -
#[derive(
  790         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  791         -
)]
  792         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyHttpDateInput {
         455  +
    pub member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
  793    456   
    /* StructureGenerator.kt:231 */
  794    457   
    #[allow(missing_docs)] // documentation missing in model
  795         -
    pub timestamp: ::aws_smithy_types::DateTime,
         458  +
    pub member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         459  +
    /* StructureGenerator.kt:231 */
         460  +
    #[allow(missing_docs)] // documentation missing in model
         461  +
    pub default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
         462  +
    /* StructureGenerator.kt:231 */
         463  +
    #[allow(missing_docs)] // documentation missing in model
         464  +
    pub target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
         465  +
    /* StructureGenerator.kt:231 */
         466  +
    #[allow(missing_docs)] // documentation missing in model
         467  +
    pub target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         468  +
    /* StructureGenerator.kt:231 */
         469  +
    #[allow(missing_docs)] // documentation missing in model
         470  +
    pub target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
  796    471   
    /* StructureGenerator.kt:201 */
  797    472   
}
  798    473   
/* StructureGenerator.kt:135 */
  799         -
impl MalformedTimestampBodyHttpDateInput {
         474  +
impl TimestampFormatHeadersInput {
  800    475   
    /* StructureGenerator.kt:231 */
  801    476   
    #[allow(missing_docs)] // documentation missing in model
  802    477   
                           /* StructureGenerator.kt:166 */
  803         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
  804         -
        /* StructureGenerator.kt:172 */
  805         -
        &self.timestamp
         478  +
    pub fn member_epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         479  +
        /* StructureGenerator.kt:170 */
         480  +
        self.member_epoch_seconds.as_ref()
         481  +
        /* StructureGenerator.kt:166 */
         482  +
    }
         483  +
    /* StructureGenerator.kt:231 */
         484  +
    #[allow(missing_docs)] // documentation missing in model
         485  +
                           /* StructureGenerator.kt:166 */
         486  +
    pub fn member_http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         487  +
        /* StructureGenerator.kt:170 */
         488  +
        self.member_http_date.as_ref()
         489  +
        /* StructureGenerator.kt:166 */
         490  +
    }
         491  +
    /* StructureGenerator.kt:231 */
         492  +
    #[allow(missing_docs)] // documentation missing in model
         493  +
                           /* StructureGenerator.kt:166 */
         494  +
    pub fn member_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         495  +
        /* StructureGenerator.kt:170 */
         496  +
        self.member_date_time.as_ref()
         497  +
        /* StructureGenerator.kt:166 */
         498  +
    }
         499  +
    /* StructureGenerator.kt:231 */
         500  +
    #[allow(missing_docs)] // documentation missing in model
         501  +
                           /* StructureGenerator.kt:166 */
         502  +
    pub fn default_format(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         503  +
        /* StructureGenerator.kt:170 */
         504  +
        self.default_format.as_ref()
         505  +
        /* StructureGenerator.kt:166 */
         506  +
    }
         507  +
    /* StructureGenerator.kt:231 */
         508  +
    #[allow(missing_docs)] // documentation missing in model
         509  +
                           /* StructureGenerator.kt:166 */
         510  +
    pub fn target_epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         511  +
        /* StructureGenerator.kt:170 */
         512  +
        self.target_epoch_seconds.as_ref()
         513  +
        /* StructureGenerator.kt:166 */
         514  +
    }
         515  +
    /* StructureGenerator.kt:231 */
         516  +
    #[allow(missing_docs)] // documentation missing in model
         517  +
                           /* StructureGenerator.kt:166 */
         518  +
    pub fn target_http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         519  +
        /* StructureGenerator.kt:170 */
         520  +
        self.target_http_date.as_ref()
         521  +
        /* StructureGenerator.kt:166 */
         522  +
    }
         523  +
    /* StructureGenerator.kt:231 */
         524  +
    #[allow(missing_docs)] // documentation missing in model
         525  +
                           /* StructureGenerator.kt:166 */
         526  +
    pub fn target_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         527  +
        /* StructureGenerator.kt:170 */
         528  +
        self.target_date_time.as_ref()
  806    529   
        /* StructureGenerator.kt:166 */
  807    530   
    }
  808    531   
    /* StructureGenerator.kt:135 */
  809    532   
}
  810    533   
/* ServerCodegenVisitor.kt:356 */
  811         -
impl MalformedTimestampBodyHttpDateInput {
  812         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
         534  +
impl TimestampFormatHeadersInput {
         535  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
  813    536   
    /* ServerBuilderGenerator.kt:295 */
  814         -
    pub fn builder() -> crate::input::malformed_timestamp_body_http_date_input::Builder {
         537  +
    pub fn builder() -> crate::input::timestamp_format_headers_input::Builder {
  815    538   
        /* ServerBuilderGenerator.kt:296 */
  816         -
        crate::input::malformed_timestamp_body_http_date_input::Builder::default()
         539  +
        crate::input::timestamp_format_headers_input::Builder::default()
  817    540   
        /* ServerBuilderGenerator.kt:295 */
  818    541   
    }
  819    542   
    /* ServerCodegenVisitor.kt:356 */
  820    543   
}
  821    544   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  822         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyHttpDateInput {
  823         -
    type Unconstrained = crate::input::malformed_timestamp_body_http_date_input::Builder;
         545  +
impl crate::constrained::Constrained for crate::input::TimestampFormatHeadersInput {
         546  +
    type Unconstrained = crate::input::timestamp_format_headers_input::Builder;
  824    547   
}
  825    548   
  826    549   
/* StructureGenerator.kt:197 */
  827    550   
#[allow(missing_docs)] // documentation missing in model
  828    551   
/* RustType.kt:534 */
  829    552   
#[derive(
  830    553   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  831    554   
)]
  832         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyDateTimeInput {
         555  +
pub /* StructureGenerator.kt:201 */ struct MediaTypeHeaderInput {
  833    556   
    /* StructureGenerator.kt:231 */
  834    557   
    #[allow(missing_docs)] // documentation missing in model
  835         -
    pub timestamp: ::aws_smithy_types::DateTime,
         558  +
    pub json: ::std::option::Option<::std::string::String>,
  836    559   
    /* StructureGenerator.kt:201 */
  837    560   
}
  838    561   
/* StructureGenerator.kt:135 */
  839         -
impl MalformedTimestampBodyDateTimeInput {
         562  +
impl MediaTypeHeaderInput {
  840    563   
    /* StructureGenerator.kt:231 */
  841    564   
    #[allow(missing_docs)] // documentation missing in model
  842    565   
                           /* StructureGenerator.kt:166 */
  843         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
  844         -
        /* StructureGenerator.kt:172 */
  845         -
        &self.timestamp
         566  +
    pub fn json(&self) -> ::std::option::Option<&str> {
         567  +
        /* StructureGenerator.kt:169 */
         568  +
        self.json.as_deref()
  846    569   
        /* StructureGenerator.kt:166 */
  847    570   
    }
  848    571   
    /* StructureGenerator.kt:135 */
  849    572   
}
  850    573   
/* ServerCodegenVisitor.kt:356 */
  851         -
impl MalformedTimestampBodyDateTimeInput {
  852         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
         574  +
impl MediaTypeHeaderInput {
         575  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
  853    576   
    /* ServerBuilderGenerator.kt:295 */
  854         -
    pub fn builder() -> crate::input::malformed_timestamp_body_date_time_input::Builder {
         577  +
    pub fn builder() -> crate::input::media_type_header_input::Builder {
  855    578   
        /* ServerBuilderGenerator.kt:296 */
  856         -
        crate::input::malformed_timestamp_body_date_time_input::Builder::default()
         579  +
        crate::input::media_type_header_input::Builder::default()
  857    580   
        /* ServerBuilderGenerator.kt:295 */
  858    581   
    }
  859    582   
    /* ServerCodegenVisitor.kt:356 */
  860    583   
}
  861    584   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  862         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDateTimeInput {
  863         -
    type Unconstrained = crate::input::malformed_timestamp_body_date_time_input::Builder;
         585  +
impl crate::constrained::Constrained for crate::input::MediaTypeHeaderInput {
         586  +
    type Unconstrained = crate::input::media_type_header_input::Builder;
  864    587   
}
  865    588   
  866    589   
/* StructureGenerator.kt:197 */
  867    590   
#[allow(missing_docs)] // documentation missing in model
  868    591   
/* RustType.kt:534 */
  869         -
#[derive(
  870         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  871         -
)]
  872         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyDefaultInput {
         592  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         593  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithLabelsInput {
         594  +
    /* StructureGenerator.kt:231 */
         595  +
    #[allow(missing_docs)] // documentation missing in model
         596  +
    pub string: ::std::string::String,
         597  +
    /* StructureGenerator.kt:231 */
         598  +
    #[allow(missing_docs)] // documentation missing in model
         599  +
    pub short: i16,
         600  +
    /* StructureGenerator.kt:231 */
         601  +
    #[allow(missing_docs)] // documentation missing in model
         602  +
    pub integer: i32,
  873    603   
    /* StructureGenerator.kt:231 */
  874    604   
    #[allow(missing_docs)] // documentation missing in model
         605  +
    pub long: i64,
         606  +
    /* StructureGenerator.kt:231 */
         607  +
    #[allow(missing_docs)] // documentation missing in model
         608  +
    pub float: f32,
         609  +
    /* StructureGenerator.kt:231 */
         610  +
    #[allow(missing_docs)] // documentation missing in model
         611  +
    pub double: f64,
         612  +
    /// /* StructureGenerator.kt:231 */Serialized in the path as true or false.
         613  +
    pub boolean: bool,
         614  +
    /// /* StructureGenerator.kt:231 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
  875    615   
    pub timestamp: ::aws_smithy_types::DateTime,
  876    616   
    /* StructureGenerator.kt:201 */
  877    617   
}
  878    618   
/* StructureGenerator.kt:135 */
  879         -
impl MalformedTimestampBodyDefaultInput {
         619  +
impl HttpRequestWithLabelsInput {
         620  +
    /* StructureGenerator.kt:231 */
         621  +
    #[allow(missing_docs)] // documentation missing in model
         622  +
                           /* StructureGenerator.kt:166 */
         623  +
    pub fn string(&self) -> &str {
         624  +
        /* StructureGenerator.kt:171 */
         625  +
        use std::ops::Deref;
         626  +
        self.string.deref()
         627  +
        /* StructureGenerator.kt:166 */
         628  +
    }
         629  +
    /* StructureGenerator.kt:231 */
         630  +
    #[allow(missing_docs)] // documentation missing in model
         631  +
                           /* StructureGenerator.kt:166 */
         632  +
    pub fn short(&self) -> i16 {
         633  +
        /* StructureGenerator.kt:168 */
         634  +
        self.short
         635  +
        /* StructureGenerator.kt:166 */
         636  +
    }
         637  +
    /* StructureGenerator.kt:231 */
         638  +
    #[allow(missing_docs)] // documentation missing in model
         639  +
                           /* StructureGenerator.kt:166 */
         640  +
    pub fn integer(&self) -> i32 {
         641  +
        /* StructureGenerator.kt:168 */
         642  +
        self.integer
         643  +
        /* StructureGenerator.kt:166 */
         644  +
    }
         645  +
    /* StructureGenerator.kt:231 */
         646  +
    #[allow(missing_docs)] // documentation missing in model
         647  +
                           /* StructureGenerator.kt:166 */
         648  +
    pub fn long(&self) -> i64 {
         649  +
        /* StructureGenerator.kt:168 */
         650  +
        self.long
         651  +
        /* StructureGenerator.kt:166 */
         652  +
    }
         653  +
    /* StructureGenerator.kt:231 */
         654  +
    #[allow(missing_docs)] // documentation missing in model
         655  +
                           /* StructureGenerator.kt:166 */
         656  +
    pub fn float(&self) -> f32 {
         657  +
        /* StructureGenerator.kt:168 */
         658  +
        self.float
         659  +
        /* StructureGenerator.kt:166 */
         660  +
    }
  880    661   
    /* StructureGenerator.kt:231 */
  881    662   
    #[allow(missing_docs)] // documentation missing in model
  882    663   
                           /* StructureGenerator.kt:166 */
         664  +
    pub fn double(&self) -> f64 {
         665  +
        /* StructureGenerator.kt:168 */
         666  +
        self.double
         667  +
        /* StructureGenerator.kt:166 */
         668  +
    }
         669  +
    /// /* StructureGenerator.kt:231 */Serialized in the path as true or false.
         670  +
    /* StructureGenerator.kt:166 */
         671  +
    pub fn boolean(&self) -> bool {
         672  +
        /* StructureGenerator.kt:168 */
         673  +
        self.boolean
         674  +
        /* StructureGenerator.kt:166 */
         675  +
    }
         676  +
    /// /* StructureGenerator.kt:231 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
         677  +
    /* StructureGenerator.kt:166 */
  883    678   
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
  884    679   
        /* StructureGenerator.kt:172 */
  885    680   
        &self.timestamp
  886    681   
        /* StructureGenerator.kt:166 */
  887    682   
    }
  888    683   
    /* StructureGenerator.kt:135 */
  889    684   
}
  890    685   
/* ServerCodegenVisitor.kt:356 */
  891         -
impl MalformedTimestampBodyDefaultInput {
  892         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
         686  +
impl HttpRequestWithLabelsInput {
         687  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
  893    688   
    /* ServerBuilderGenerator.kt:295 */
  894         -
    pub fn builder() -> crate::input::malformed_timestamp_body_default_input::Builder {
         689  +
    pub fn builder() -> crate::input::http_request_with_labels_input::Builder {
  895    690   
        /* ServerBuilderGenerator.kt:296 */
  896         -
        crate::input::malformed_timestamp_body_default_input::Builder::default()
         691  +
        crate::input::http_request_with_labels_input::Builder::default()
  897    692   
        /* ServerBuilderGenerator.kt:295 */
  898    693   
    }
  899    694   
    /* ServerCodegenVisitor.kt:356 */
  900    695   
}
  901    696   
/* ServerStructureConstrainedTraitImpl.kt:21 */
  902         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDefaultInput {
  903         -
    type Unconstrained = crate::input::malformed_timestamp_body_default_input::Builder;
         697  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithLabelsInput {
         698  +
    type Unconstrained = crate::input::http_request_with_labels_input::Builder;
  904    699   
}
  905    700   
  906    701   
/* StructureGenerator.kt:197 */
  907    702   
#[allow(missing_docs)] // documentation missing in model
  908    703   
/* RustType.kt:534 */
  909    704   
#[derive(
  910    705   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  911    706   
)]
  912         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderEpochInput {
         707  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithLabelsAndTimestampFormatInput {
  913    708   
    /* StructureGenerator.kt:231 */
  914    709   
    #[allow(missing_docs)] // documentation missing in model
  915         -
    pub timestamp: ::aws_smithy_types::DateTime,
  916         -
    /* StructureGenerator.kt:201 */
  917         -
}
  918         -
/* StructureGenerator.kt:135 */
  919         -
impl MalformedTimestampHeaderEpochInput {
         710  +
    pub member_epoch_seconds: ::aws_smithy_types::DateTime,
  920    711   
    /* StructureGenerator.kt:231 */
  921    712   
    #[allow(missing_docs)] // documentation missing in model
  922         -
                           /* StructureGenerator.kt:166 */
  923         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         713  +
    pub member_http_date: ::aws_smithy_types::DateTime,
         714  +
    /* StructureGenerator.kt:231 */
         715  +
    #[allow(missing_docs)] // documentation missing in model
         716  +
    pub member_date_time: ::aws_smithy_types::DateTime,
         717  +
    /* StructureGenerator.kt:231 */
         718  +
    #[allow(missing_docs)] // documentation missing in model
         719  +
    pub default_format: ::aws_smithy_types::DateTime,
         720  +
    /* StructureGenerator.kt:231 */
         721  +
    #[allow(missing_docs)] // documentation missing in model
         722  +
    pub target_epoch_seconds: ::aws_smithy_types::DateTime,
         723  +
    /* StructureGenerator.kt:231 */
         724  +
    #[allow(missing_docs)] // documentation missing in model
         725  +
    pub target_http_date: ::aws_smithy_types::DateTime,
         726  +
    /* StructureGenerator.kt:231 */
         727  +
    #[allow(missing_docs)] // documentation missing in model
         728  +
    pub target_date_time: ::aws_smithy_types::DateTime,
         729  +
    /* StructureGenerator.kt:201 */
         730  +
}
         731  +
/* StructureGenerator.kt:135 */
         732  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
         733  +
    /* StructureGenerator.kt:231 */
         734  +
    #[allow(missing_docs)] // documentation missing in model
         735  +
                           /* StructureGenerator.kt:166 */
         736  +
    pub fn member_epoch_seconds(&self) -> &::aws_smithy_types::DateTime {
  924    737   
        /* StructureGenerator.kt:172 */
  925         -
        &self.timestamp
         738  +
        &self.member_epoch_seconds
  926    739   
        /* StructureGenerator.kt:166 */
  927    740   
    }
  928         -
    /* StructureGenerator.kt:135 */
  929         -
}
  930         -
/* ServerCodegenVisitor.kt:356 */
  931         -
impl MalformedTimestampHeaderEpochInput {
  932         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
  933         -
    /* ServerBuilderGenerator.kt:295 */
  934         -
    pub fn builder() -> crate::input::malformed_timestamp_header_epoch_input::Builder {
  935         -
        /* ServerBuilderGenerator.kt:296 */
  936         -
        crate::input::malformed_timestamp_header_epoch_input::Builder::default()
  937         -
        /* ServerBuilderGenerator.kt:295 */
         741  +
    /* StructureGenerator.kt:231 */
         742  +
    #[allow(missing_docs)] // documentation missing in model
         743  +
                           /* StructureGenerator.kt:166 */
         744  +
    pub fn member_http_date(&self) -> &::aws_smithy_types::DateTime {
         745  +
        /* StructureGenerator.kt:172 */
         746  +
        &self.member_http_date
         747  +
        /* StructureGenerator.kt:166 */
  938    748   
    }
  939         -
    /* ServerCodegenVisitor.kt:356 */
  940         -
}
  941         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  942         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderEpochInput {
  943         -
    type Unconstrained = crate::input::malformed_timestamp_header_epoch_input::Builder;
  944         -
}
  945         -
  946         -
/* StructureGenerator.kt:197 */
  947         -
#[allow(missing_docs)] // documentation missing in model
  948         -
/* RustType.kt:534 */
  949         -
#[derive(
  950         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  951         -
)]
  952         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderDateTimeInput {
  953    749   
    /* StructureGenerator.kt:231 */
  954    750   
    #[allow(missing_docs)] // documentation missing in model
  955         -
    pub timestamp: ::aws_smithy_types::DateTime,
  956         -
    /* StructureGenerator.kt:201 */
  957         -
}
  958         -
/* StructureGenerator.kt:135 */
  959         -
impl MalformedTimestampHeaderDateTimeInput {
         751  +
                           /* StructureGenerator.kt:166 */
         752  +
    pub fn member_date_time(&self) -> &::aws_smithy_types::DateTime {
         753  +
        /* StructureGenerator.kt:172 */
         754  +
        &self.member_date_time
         755  +
        /* StructureGenerator.kt:166 */
         756  +
    }
  960    757   
    /* StructureGenerator.kt:231 */
  961    758   
    #[allow(missing_docs)] // documentation missing in model
  962    759   
                           /* StructureGenerator.kt:166 */
  963         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         760  +
    pub fn default_format(&self) -> &::aws_smithy_types::DateTime {
  964    761   
        /* StructureGenerator.kt:172 */
  965         -
        &self.timestamp
         762  +
        &self.default_format
  966    763   
        /* StructureGenerator.kt:166 */
  967    764   
    }
  968         -
    /* StructureGenerator.kt:135 */
  969         -
}
  970         -
/* ServerCodegenVisitor.kt:356 */
  971         -
impl MalformedTimestampHeaderDateTimeInput {
  972         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
  973         -
    /* ServerBuilderGenerator.kt:295 */
  974         -
    pub fn builder() -> crate::input::malformed_timestamp_header_date_time_input::Builder {
  975         -
        /* ServerBuilderGenerator.kt:296 */
  976         -
        crate::input::malformed_timestamp_header_date_time_input::Builder::default()
  977         -
        /* ServerBuilderGenerator.kt:295 */
         765  +
    /* StructureGenerator.kt:231 */
         766  +
    #[allow(missing_docs)] // documentation missing in model
         767  +
                           /* StructureGenerator.kt:166 */
         768  +
    pub fn target_epoch_seconds(&self) -> &::aws_smithy_types::DateTime {
         769  +
        /* StructureGenerator.kt:172 */
         770  +
        &self.target_epoch_seconds
         771  +
        /* StructureGenerator.kt:166 */
  978    772   
    }
  979         -
    /* ServerCodegenVisitor.kt:356 */
  980         -
}
  981         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
  982         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDateTimeInput {
  983         -
    type Unconstrained = crate::input::malformed_timestamp_header_date_time_input::Builder;
  984         -
}
  985         -
  986         -
/* StructureGenerator.kt:197 */
  987         -
#[allow(missing_docs)] // documentation missing in model
  988         -
/* RustType.kt:534 */
  989         -
#[derive(
  990         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  991         -
)]
  992         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderDefaultInput {
  993    773   
    /* StructureGenerator.kt:231 */
  994    774   
    #[allow(missing_docs)] // documentation missing in model
  995         -
    pub timestamp: ::aws_smithy_types::DateTime,
  996         -
    /* StructureGenerator.kt:201 */
  997         -
}
  998         -
/* StructureGenerator.kt:135 */
  999         -
impl MalformedTimestampHeaderDefaultInput {
         775  +
                           /* StructureGenerator.kt:166 */
         776  +
    pub fn target_http_date(&self) -> &::aws_smithy_types::DateTime {
         777  +
        /* StructureGenerator.kt:172 */
         778  +
        &self.target_http_date
         779  +
        /* StructureGenerator.kt:166 */
         780  +
    }
 1000    781   
    /* StructureGenerator.kt:231 */
 1001    782   
    #[allow(missing_docs)] // documentation missing in model
 1002    783   
                           /* StructureGenerator.kt:166 */
 1003         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         784  +
    pub fn target_date_time(&self) -> &::aws_smithy_types::DateTime {
 1004    785   
        /* StructureGenerator.kt:172 */
 1005         -
        &self.timestamp
         786  +
        &self.target_date_time
 1006    787   
        /* StructureGenerator.kt:166 */
 1007    788   
    }
 1008    789   
    /* StructureGenerator.kt:135 */
 1009    790   
}
 1010    791   
/* ServerCodegenVisitor.kt:356 */
 1011         -
impl MalformedTimestampHeaderDefaultInput {
 1012         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
         792  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
         793  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 1013    794   
    /* ServerBuilderGenerator.kt:295 */
 1014         -
    pub fn builder() -> crate::input::malformed_timestamp_header_default_input::Builder {
         795  +
    pub fn builder() -> crate::input::http_request_with_labels_and_timestamp_format_input::Builder {
 1015    796   
        /* ServerBuilderGenerator.kt:296 */
 1016         -
        crate::input::malformed_timestamp_header_default_input::Builder::default()
         797  +
        crate::input::http_request_with_labels_and_timestamp_format_input::Builder::default()
 1017    798   
        /* ServerBuilderGenerator.kt:295 */
 1018    799   
    }
 1019    800   
    /* ServerCodegenVisitor.kt:356 */
 1020    801   
}
 1021    802   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1022         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDefaultInput {
 1023         -
    type Unconstrained = crate::input::malformed_timestamp_header_default_input::Builder;
         803  +
impl crate::constrained::Constrained
         804  +
    for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
         805  +
{
         806  +
    type Unconstrained = crate::input::http_request_with_labels_and_timestamp_format_input::Builder;
 1024    807   
}
 1025    808   
 1026    809   
/* StructureGenerator.kt:197 */
 1027    810   
#[allow(missing_docs)] // documentation missing in model
 1028    811   
/* RustType.kt:534 */
 1029    812   
#[derive(
 1030    813   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1031    814   
)]
 1032         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryEpochInput {
         815  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithGreedyLabelInPathInput {
 1033    816   
    /* StructureGenerator.kt:231 */
 1034    817   
    #[allow(missing_docs)] // documentation missing in model
 1035         -
    pub timestamp: ::aws_smithy_types::DateTime,
         818  +
    pub foo: ::std::string::String,
         819  +
    /* StructureGenerator.kt:231 */
         820  +
    #[allow(missing_docs)] // documentation missing in model
         821  +
    pub baz: ::std::string::String,
 1036    822   
    /* StructureGenerator.kt:201 */
 1037    823   
}
 1038    824   
/* StructureGenerator.kt:135 */
 1039         -
impl MalformedTimestampQueryEpochInput {
         825  +
impl HttpRequestWithGreedyLabelInPathInput {
 1040    826   
    /* StructureGenerator.kt:231 */
 1041    827   
    #[allow(missing_docs)] // documentation missing in model
 1042    828   
                           /* StructureGenerator.kt:166 */
 1043         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 1044         -
        /* StructureGenerator.kt:172 */
 1045         -
        &self.timestamp
         829  +
    pub fn foo(&self) -> &str {
         830  +
        /* StructureGenerator.kt:171 */
         831  +
        use std::ops::Deref;
         832  +
        self.foo.deref()
         833  +
        /* StructureGenerator.kt:166 */
         834  +
    }
         835  +
    /* StructureGenerator.kt:231 */
         836  +
    #[allow(missing_docs)] // documentation missing in model
         837  +
                           /* StructureGenerator.kt:166 */
         838  +
    pub fn baz(&self) -> &str {
         839  +
        /* StructureGenerator.kt:171 */
         840  +
        use std::ops::Deref;
         841  +
        self.baz.deref()
 1046    842   
        /* StructureGenerator.kt:166 */
 1047    843   
    }
 1048    844   
    /* StructureGenerator.kt:135 */
 1049    845   
}
 1050    846   
/* ServerCodegenVisitor.kt:356 */
 1051         -
impl MalformedTimestampQueryEpochInput {
 1052         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
         847  +
impl HttpRequestWithGreedyLabelInPathInput {
         848  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
 1053    849   
    /* ServerBuilderGenerator.kt:295 */
 1054         -
    pub fn builder() -> crate::input::malformed_timestamp_query_epoch_input::Builder {
         850  +
    pub fn builder() -> crate::input::http_request_with_greedy_label_in_path_input::Builder {
 1055    851   
        /* ServerBuilderGenerator.kt:296 */
 1056         -
        crate::input::malformed_timestamp_query_epoch_input::Builder::default()
         852  +
        crate::input::http_request_with_greedy_label_in_path_input::Builder::default()
 1057    853   
        /* ServerBuilderGenerator.kt:295 */
 1058    854   
    }
 1059    855   
    /* ServerCodegenVisitor.kt:356 */
 1060    856   
}
 1061    857   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1062         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryEpochInput {
 1063         -
    type Unconstrained = crate::input::malformed_timestamp_query_epoch_input::Builder;
         858  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithGreedyLabelInPathInput {
         859  +
    type Unconstrained = crate::input::http_request_with_greedy_label_in_path_input::Builder;
 1064    860   
}
 1065    861   
 1066    862   
/* StructureGenerator.kt:197 */
 1067    863   
#[allow(missing_docs)] // documentation missing in model
 1068    864   
/* RustType.kt:534 */
 1069         -
#[derive(
 1070         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1071         -
)]
 1072         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryHttpDateInput {
         865  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         866  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithFloatLabelsInput {
 1073    867   
    /* StructureGenerator.kt:231 */
 1074    868   
    #[allow(missing_docs)] // documentation missing in model
 1075         -
    pub timestamp: ::aws_smithy_types::DateTime,
         869  +
    pub float: f32,
         870  +
    /* StructureGenerator.kt:231 */
         871  +
    #[allow(missing_docs)] // documentation missing in model
         872  +
    pub double: f64,
 1076    873   
    /* StructureGenerator.kt:201 */
 1077    874   
}
 1078    875   
/* StructureGenerator.kt:135 */
 1079         -
impl MalformedTimestampQueryHttpDateInput {
         876  +
impl HttpRequestWithFloatLabelsInput {
 1080    877   
    /* StructureGenerator.kt:231 */
 1081    878   
    #[allow(missing_docs)] // documentation missing in model
 1082    879   
                           /* StructureGenerator.kt:166 */
 1083         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 1084         -
        /* StructureGenerator.kt:172 */
 1085         -
        &self.timestamp
         880  +
    pub fn float(&self) -> f32 {
         881  +
        /* StructureGenerator.kt:168 */
         882  +
        self.float
         883  +
        /* StructureGenerator.kt:166 */
         884  +
    }
         885  +
    /* StructureGenerator.kt:231 */
         886  +
    #[allow(missing_docs)] // documentation missing in model
         887  +
                           /* StructureGenerator.kt:166 */
         888  +
    pub fn double(&self) -> f64 {
         889  +
        /* StructureGenerator.kt:168 */
         890  +
        self.double
 1086    891   
        /* StructureGenerator.kt:166 */
 1087    892   
    }
 1088    893   
    /* StructureGenerator.kt:135 */
 1089    894   
}
 1090    895   
/* ServerCodegenVisitor.kt:356 */
 1091         -
impl MalformedTimestampQueryHttpDateInput {
 1092         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
         896  +
impl HttpRequestWithFloatLabelsInput {
         897  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
 1093    898   
    /* ServerBuilderGenerator.kt:295 */
 1094         -
    pub fn builder() -> crate::input::malformed_timestamp_query_http_date_input::Builder {
         899  +
    pub fn builder() -> crate::input::http_request_with_float_labels_input::Builder {
 1095    900   
        /* ServerBuilderGenerator.kt:296 */
 1096         -
        crate::input::malformed_timestamp_query_http_date_input::Builder::default()
         901  +
        crate::input::http_request_with_float_labels_input::Builder::default()
 1097    902   
        /* ServerBuilderGenerator.kt:295 */
 1098    903   
    }
 1099    904   
    /* ServerCodegenVisitor.kt:356 */
 1100    905   
}
 1101    906   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1102         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryHttpDateInput {
 1103         -
    type Unconstrained = crate::input::malformed_timestamp_query_http_date_input::Builder;
         907  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithFloatLabelsInput {
         908  +
    type Unconstrained = crate::input::http_request_with_float_labels_input::Builder;
 1104    909   
}
 1105    910   
 1106    911   
/* StructureGenerator.kt:197 */
 1107    912   
#[allow(missing_docs)] // documentation missing in model
 1108    913   
/* RustType.kt:534 */
 1109    914   
#[derive(
 1110    915   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1111    916   
)]
 1112         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryDefaultInput {
         917  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithRegexLiteralInput {
 1113    918   
    /* StructureGenerator.kt:231 */
 1114    919   
    #[allow(missing_docs)] // documentation missing in model
 1115         -
    pub timestamp: ::aws_smithy_types::DateTime,
         920  +
    pub str: ::std::string::String,
 1116    921   
    /* StructureGenerator.kt:201 */
 1117    922   
}
 1118    923   
/* StructureGenerator.kt:135 */
 1119         -
impl MalformedTimestampQueryDefaultInput {
         924  +
impl HttpRequestWithRegexLiteralInput {
 1120    925   
    /* StructureGenerator.kt:231 */
 1121    926   
    #[allow(missing_docs)] // documentation missing in model
 1122    927   
                           /* StructureGenerator.kt:166 */
 1123         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 1124         -
        /* StructureGenerator.kt:172 */
 1125         -
        &self.timestamp
         928  +
    pub fn str(&self) -> &str {
         929  +
        /* StructureGenerator.kt:171 */
         930  +
        use std::ops::Deref;
         931  +
        self.str.deref()
 1126    932   
        /* StructureGenerator.kt:166 */
 1127    933   
    }
 1128    934   
    /* StructureGenerator.kt:135 */
 1129    935   
}
 1130    936   
/* ServerCodegenVisitor.kt:356 */
 1131         -
impl MalformedTimestampQueryDefaultInput {
 1132         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
         937  +
impl HttpRequestWithRegexLiteralInput {
         938  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
 1133    939   
    /* ServerBuilderGenerator.kt:295 */
 1134         -
    pub fn builder() -> crate::input::malformed_timestamp_query_default_input::Builder {
         940  +
    pub fn builder() -> crate::input::http_request_with_regex_literal_input::Builder {
 1135    941   
        /* ServerBuilderGenerator.kt:296 */
 1136         -
        crate::input::malformed_timestamp_query_default_input::Builder::default()
         942  +
        crate::input::http_request_with_regex_literal_input::Builder::default()
 1137    943   
        /* ServerBuilderGenerator.kt:295 */
 1138    944   
    }
 1139    945   
    /* ServerCodegenVisitor.kt:356 */
 1140    946   
}
 1141    947   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1142         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryDefaultInput {
 1143         -
    type Unconstrained = crate::input::malformed_timestamp_query_default_input::Builder;
         948  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithRegexLiteralInput {
         949  +
    type Unconstrained = crate::input::http_request_with_regex_literal_input::Builder;
 1144    950   
}
 1145    951   
 1146    952   
/* StructureGenerator.kt:197 */
 1147    953   
#[allow(missing_docs)] // documentation missing in model
 1148    954   
/* RustType.kt:534 */
 1149         -
#[derive(
 1150         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1151         -
)]
 1152         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathEpochInput {
         955  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         956  +
pub /* StructureGenerator.kt:201 */ struct AllQueryStringTypesInput {
 1153    957   
    /* StructureGenerator.kt:231 */
 1154    958   
    #[allow(missing_docs)] // documentation missing in model
 1155         -
    pub timestamp: ::aws_smithy_types::DateTime,
 1156         -
    /* StructureGenerator.kt:201 */
 1157         -
}
 1158         -
/* StructureGenerator.kt:135 */
 1159         -
impl MalformedTimestampPathEpochInput {
         959  +
    pub query_string: ::std::option::Option<::std::string::String>,
 1160    960   
    /* StructureGenerator.kt:231 */
 1161    961   
    #[allow(missing_docs)] // documentation missing in model
 1162         -
                           /* StructureGenerator.kt:166 */
 1163         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 1164         -
        /* StructureGenerator.kt:172 */
 1165         -
        &self.timestamp
 1166         -
        /* StructureGenerator.kt:166 */
 1167         -
    }
 1168         -
    /* StructureGenerator.kt:135 */
 1169         -
}
 1170         -
/* ServerCodegenVisitor.kt:356 */
 1171         -
impl MalformedTimestampPathEpochInput {
 1172         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
 1173         -
    /* ServerBuilderGenerator.kt:295 */
 1174         -
    pub fn builder() -> crate::input::malformed_timestamp_path_epoch_input::Builder {
 1175         -
        /* ServerBuilderGenerator.kt:296 */
 1176         -
        crate::input::malformed_timestamp_path_epoch_input::Builder::default()
 1177         -
        /* ServerBuilderGenerator.kt:295 */
 1178         -
    }
 1179         -
    /* ServerCodegenVisitor.kt:356 */
 1180         -
}
 1181         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1182         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathEpochInput {
 1183         -
    type Unconstrained = crate::input::malformed_timestamp_path_epoch_input::Builder;
 1184         -
}
 1185         -
 1186         -
/* StructureGenerator.kt:197 */
 1187         -
#[allow(missing_docs)] // documentation missing in model
 1188         -
/* RustType.kt:534 */
 1189         -
#[derive(
 1190         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1191         -
)]
 1192         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathHttpDateInput {
         962  +
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1193    963   
    /* StructureGenerator.kt:231 */
 1194    964   
    #[allow(missing_docs)] // documentation missing in model
 1195         -
    pub timestamp: ::aws_smithy_types::DateTime,
 1196         -
    /* StructureGenerator.kt:201 */
 1197         -
}
 1198         -
/* StructureGenerator.kt:135 */
 1199         -
impl MalformedTimestampPathHttpDateInput {
         965  +
    pub query_string_set: ::std::option::Option<crate::model::StringSet>,
 1200    966   
    /* StructureGenerator.kt:231 */
 1201    967   
    #[allow(missing_docs)] // documentation missing in model
 1202         -
                           /* StructureGenerator.kt:166 */
 1203         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 1204         -
        /* StructureGenerator.kt:172 */
 1205         -
        &self.timestamp
 1206         -
        /* StructureGenerator.kt:166 */
 1207         -
    }
 1208         -
    /* StructureGenerator.kt:135 */
 1209         -
}
 1210         -
/* ServerCodegenVisitor.kt:356 */
 1211         -
impl MalformedTimestampPathHttpDateInput {
 1212         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
 1213         -
    /* ServerBuilderGenerator.kt:295 */
 1214         -
    pub fn builder() -> crate::input::malformed_timestamp_path_http_date_input::Builder {
 1215         -
        /* ServerBuilderGenerator.kt:296 */
 1216         -
        crate::input::malformed_timestamp_path_http_date_input::Builder::default()
 1217         -
        /* ServerBuilderGenerator.kt:295 */
 1218         -
    }
 1219         -
    /* ServerCodegenVisitor.kt:356 */
 1220         -
}
 1221         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1222         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathHttpDateInput {
 1223         -
    type Unconstrained = crate::input::malformed_timestamp_path_http_date_input::Builder;
 1224         -
}
 1225         -
 1226         -
/* StructureGenerator.kt:197 */
 1227         -
#[allow(missing_docs)] // documentation missing in model
 1228         -
/* RustType.kt:534 */
 1229         -
#[derive(
 1230         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1231         -
)]
 1232         -
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathDefaultInput {
         968  +
    pub query_byte: ::std::option::Option<i8>,
 1233    969   
    /* StructureGenerator.kt:231 */
 1234    970   
    #[allow(missing_docs)] // documentation missing in model
 1235         -
    pub timestamp: ::aws_smithy_types::DateTime,
 1236         -
    /* StructureGenerator.kt:201 */
 1237         -
}
 1238         -
/* StructureGenerator.kt:135 */
 1239         -
impl MalformedTimestampPathDefaultInput {
         971  +
    pub query_short: ::std::option::Option<i16>,
 1240    972   
    /* StructureGenerator.kt:231 */
 1241    973   
    #[allow(missing_docs)] // documentation missing in model
 1242         -
                           /* StructureGenerator.kt:166 */
 1243         -
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 1244         -
        /* StructureGenerator.kt:172 */
 1245         -
        &self.timestamp
 1246         -
        /* StructureGenerator.kt:166 */
 1247         -
    }
 1248         -
    /* StructureGenerator.kt:135 */
 1249         -
}
 1250         -
/* ServerCodegenVisitor.kt:356 */
 1251         -
impl MalformedTimestampPathDefaultInput {
 1252         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
 1253         -
    /* ServerBuilderGenerator.kt:295 */
 1254         -
    pub fn builder() -> crate::input::malformed_timestamp_path_default_input::Builder {
 1255         -
        /* ServerBuilderGenerator.kt:296 */
 1256         -
        crate::input::malformed_timestamp_path_default_input::Builder::default()
 1257         -
        /* ServerBuilderGenerator.kt:295 */
 1258         -
    }
 1259         -
    /* ServerCodegenVisitor.kt:356 */
 1260         -
}
 1261         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1262         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathDefaultInput {
 1263         -
    type Unconstrained = crate::input::malformed_timestamp_path_default_input::Builder;
 1264         -
}
 1265         -
 1266         -
/* StructureGenerator.kt:197 */
 1267         -
#[allow(missing_docs)] // documentation missing in model
 1268         -
/* RustType.kt:534 */
 1269         -
#[derive(
 1270         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1271         -
)]
 1272         -
pub /* StructureGenerator.kt:201 */ struct MalformedStringInput {
         974  +
    pub query_integer: ::std::option::Option<i32>,
 1273    975   
    /* StructureGenerator.kt:231 */
 1274    976   
    #[allow(missing_docs)] // documentation missing in model
 1275         -
    pub blob: ::std::option::Option<::std::string::String>,
 1276         -
    /* StructureGenerator.kt:201 */
 1277         -
}
 1278         -
/* StructureGenerator.kt:135 */
 1279         -
impl MalformedStringInput {
         977  +
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 1280    978   
    /* StructureGenerator.kt:231 */
 1281    979   
    #[allow(missing_docs)] // documentation missing in model
 1282         -
                           /* StructureGenerator.kt:166 */
 1283         -
    pub fn blob(&self) -> ::std::option::Option<&str> {
 1284         -
        /* StructureGenerator.kt:169 */
 1285         -
        self.blob.as_deref()
 1286         -
        /* StructureGenerator.kt:166 */
 1287         -
    }
 1288         -
    /* StructureGenerator.kt:135 */
 1289         -
}
 1290         -
/* ServerCodegenVisitor.kt:356 */
 1291         -
impl MalformedStringInput {
 1292         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedStringInput`](crate::input::MalformedStringInput).
 1293         -
    /* ServerBuilderGenerator.kt:295 */
 1294         -
    pub fn builder() -> crate::input::malformed_string_input::Builder {
 1295         -
        /* ServerBuilderGenerator.kt:296 */
 1296         -
        crate::input::malformed_string_input::Builder::default()
 1297         -
        /* ServerBuilderGenerator.kt:295 */
 1298         -
    }
 1299         -
    /* ServerCodegenVisitor.kt:356 */
 1300         -
}
 1301         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1302         -
impl crate::constrained::Constrained for crate::input::MalformedStringInput {
 1303         -
    type Unconstrained = crate::input::malformed_string_input::Builder;
 1304         -
}
 1305         -
 1306         -
/* StructureGenerator.kt:197 */
 1307         -
#[allow(missing_docs)] // documentation missing in model
 1308         -
/* RustType.kt:534 */
 1309         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 1310         -
pub /* StructureGenerator.kt:201 */ struct MalformedDoubleInput {
         980  +
    pub query_integer_set: ::std::option::Option<crate::model::IntegerSet>,
 1311    981   
    /* StructureGenerator.kt:231 */
 1312    982   
    #[allow(missing_docs)] // documentation missing in model
 1313         -
    pub double_in_body: ::std::option::Option<f64>,
         983  +
    pub query_long: ::std::option::Option<i64>,
 1314    984   
    /* StructureGenerator.kt:231 */
 1315    985   
    #[allow(missing_docs)] // documentation missing in model
 1316         -
    pub double_in_path: f64,
         986  +
    pub query_float: ::std::option::Option<f32>,
 1317    987   
    /* StructureGenerator.kt:231 */
 1318    988   
    #[allow(missing_docs)] // documentation missing in model
 1319         -
    pub double_in_query: ::std::option::Option<f64>,
         989  +
    pub query_double: ::std::option::Option<f64>,
 1320    990   
    /* StructureGenerator.kt:231 */
 1321    991   
    #[allow(missing_docs)] // documentation missing in model
 1322         -
    pub double_in_header: ::std::option::Option<f64>,
         992  +
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
         993  +
    /* StructureGenerator.kt:231 */
         994  +
    #[allow(missing_docs)] // documentation missing in model
         995  +
    pub query_boolean: ::std::option::Option<bool>,
         996  +
    /* StructureGenerator.kt:231 */
         997  +
    #[allow(missing_docs)] // documentation missing in model
         998  +
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
         999  +
    /* StructureGenerator.kt:231 */
        1000  +
    #[allow(missing_docs)] // documentation missing in model
        1001  +
    pub query_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1002  +
    /* StructureGenerator.kt:231 */
        1003  +
    #[allow(missing_docs)] // documentation missing in model
        1004  +
    pub query_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        1005  +
    /* StructureGenerator.kt:231 */
        1006  +
    #[allow(missing_docs)] // documentation missing in model
        1007  +
    pub query_enum: ::std::option::Option<crate::model::FooEnum>,
        1008  +
    /* StructureGenerator.kt:231 */
        1009  +
    #[allow(missing_docs)] // documentation missing in model
        1010  +
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1011  +
    /* StructureGenerator.kt:231 */
        1012  +
    #[allow(missing_docs)] // documentation missing in model
        1013  +
    pub query_integer_enum: ::std::option::Option<i32>,
        1014  +
    /* StructureGenerator.kt:231 */
        1015  +
    #[allow(missing_docs)] // documentation missing in model
        1016  +
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1017  +
    /* StructureGenerator.kt:231 */
        1018  +
    #[allow(missing_docs)] // documentation missing in model
        1019  +
    pub query_params_map_of_string_list: ::std::option::Option<
        1020  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        1021  +
    >,
 1323   1022   
    /* StructureGenerator.kt:201 */
 1324   1023   
}
 1325   1024   
/* StructureGenerator.kt:135 */
 1326         -
impl MalformedDoubleInput {
        1025  +
impl AllQueryStringTypesInput {
 1327   1026   
    /* StructureGenerator.kt:231 */
 1328   1027   
    #[allow(missing_docs)] // documentation missing in model
 1329   1028   
                           /* StructureGenerator.kt:166 */
 1330         -
    pub fn double_in_body(&self) -> ::std::option::Option<f64> {
 1331         -
        /* StructureGenerator.kt:168 */
 1332         -
        self.double_in_body
        1029  +
    pub fn query_string(&self) -> ::std::option::Option<&str> {
        1030  +
        /* StructureGenerator.kt:169 */
        1031  +
        self.query_string.as_deref()
 1333   1032   
        /* StructureGenerator.kt:166 */
 1334   1033   
    }
 1335   1034   
    /* StructureGenerator.kt:231 */
 1336   1035   
    #[allow(missing_docs)] // documentation missing in model
 1337   1036   
                           /* StructureGenerator.kt:166 */
 1338         -
    pub fn double_in_path(&self) -> f64 {
 1339         -
        /* StructureGenerator.kt:168 */
 1340         -
        self.double_in_path
        1037  +
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        1038  +
        /* StructureGenerator.kt:169 */
        1039  +
        self.query_string_list.as_deref()
 1341   1040   
        /* StructureGenerator.kt:166 */
 1342   1041   
    }
 1343   1042   
    /* StructureGenerator.kt:231 */
 1344   1043   
    #[allow(missing_docs)] // documentation missing in model
 1345   1044   
                           /* StructureGenerator.kt:166 */
 1346         -
    pub fn double_in_query(&self) -> ::std::option::Option<f64> {
 1347         -
        /* StructureGenerator.kt:168 */
 1348         -
        self.double_in_query
        1045  +
    pub fn query_string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
        1046  +
        /* StructureGenerator.kt:170 */
        1047  +
        self.query_string_set.as_ref()
 1349   1048   
        /* StructureGenerator.kt:166 */
 1350   1049   
    }
 1351   1050   
    /* StructureGenerator.kt:231 */
 1352   1051   
    #[allow(missing_docs)] // documentation missing in model
 1353   1052   
                           /* StructureGenerator.kt:166 */
 1354         -
    pub fn double_in_header(&self) -> ::std::option::Option<f64> {
        1053  +
    pub fn query_byte(&self) -> ::std::option::Option<i8> {
 1355   1054   
        /* StructureGenerator.kt:168 */
 1356         -
        self.double_in_header
        1055  +
        self.query_byte
 1357   1056   
        /* StructureGenerator.kt:166 */
 1358   1057   
    }
 1359         -
    /* StructureGenerator.kt:135 */
 1360         -
}
 1361         -
/* ServerCodegenVisitor.kt:356 */
 1362         -
impl MalformedDoubleInput {
 1363         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
 1364         -
    /* ServerBuilderGenerator.kt:295 */
 1365         -
    pub fn builder() -> crate::input::malformed_double_input::Builder {
 1366         -
        /* ServerBuilderGenerator.kt:296 */
 1367         -
        crate::input::malformed_double_input::Builder::default()
 1368         -
        /* ServerBuilderGenerator.kt:295 */
 1369         -
    }
 1370         -
    /* ServerCodegenVisitor.kt:356 */
 1371         -
}
 1372         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1373         -
impl crate::constrained::Constrained for crate::input::MalformedDoubleInput {
 1374         -
    type Unconstrained = crate::input::malformed_double_input::Builder;
 1375         -
}
 1376         -
 1377         -
/* StructureGenerator.kt:197 */
 1378         -
#[allow(missing_docs)] // documentation missing in model
 1379         -
/* RustType.kt:534 */
 1380         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 1381         -
pub /* StructureGenerator.kt:201 */ struct MalformedFloatInput {
 1382         -
    /* StructureGenerator.kt:231 */
 1383         -
    #[allow(missing_docs)] // documentation missing in model
 1384         -
    pub float_in_body: ::std::option::Option<f32>,
 1385         -
    /* StructureGenerator.kt:231 */
 1386         -
    #[allow(missing_docs)] // documentation missing in model
 1387         -
    pub float_in_path: f32,
 1388         -
    /* StructureGenerator.kt:231 */
 1389         -
    #[allow(missing_docs)] // documentation missing in model
 1390         -
    pub float_in_query: ::std::option::Option<f32>,
 1391         -
    /* StructureGenerator.kt:231 */
 1392         -
    #[allow(missing_docs)] // documentation missing in model
 1393         -
    pub float_in_header: ::std::option::Option<f32>,
 1394         -
    /* StructureGenerator.kt:201 */
 1395         -
}
 1396         -
/* StructureGenerator.kt:135 */
 1397         -
impl MalformedFloatInput {
 1398   1058   
    /* StructureGenerator.kt:231 */
 1399   1059   
    #[allow(missing_docs)] // documentation missing in model
 1400   1060   
                           /* StructureGenerator.kt:166 */
 1401         -
    pub fn float_in_body(&self) -> ::std::option::Option<f32> {
        1061  +
    pub fn query_short(&self) -> ::std::option::Option<i16> {
 1402   1062   
        /* StructureGenerator.kt:168 */
 1403         -
        self.float_in_body
        1063  +
        self.query_short
 1404   1064   
        /* StructureGenerator.kt:166 */
 1405   1065   
    }
 1406   1066   
    /* StructureGenerator.kt:231 */
 1407   1067   
    #[allow(missing_docs)] // documentation missing in model
 1408   1068   
                           /* StructureGenerator.kt:166 */
 1409         -
    pub fn float_in_path(&self) -> f32 {
        1069  +
    pub fn query_integer(&self) -> ::std::option::Option<i32> {
 1410   1070   
        /* StructureGenerator.kt:168 */
 1411         -
        self.float_in_path
        1071  +
        self.query_integer
 1412   1072   
        /* StructureGenerator.kt:166 */
 1413   1073   
    }
 1414   1074   
    /* StructureGenerator.kt:231 */
 1415   1075   
    #[allow(missing_docs)] // documentation missing in model
 1416   1076   
                           /* StructureGenerator.kt:166 */
 1417         -
    pub fn float_in_query(&self) -> ::std::option::Option<f32> {
 1418         -
        /* StructureGenerator.kt:168 */
 1419         -
        self.float_in_query
        1077  +
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        1078  +
        /* StructureGenerator.kt:169 */
        1079  +
        self.query_integer_list.as_deref()
 1420   1080   
        /* StructureGenerator.kt:166 */
 1421   1081   
    }
 1422   1082   
    /* StructureGenerator.kt:231 */
 1423   1083   
    #[allow(missing_docs)] // documentation missing in model
 1424   1084   
                           /* StructureGenerator.kt:166 */
 1425         -
    pub fn float_in_header(&self) -> ::std::option::Option<f32> {
 1426         -
        /* StructureGenerator.kt:168 */
 1427         -
        self.float_in_header
        1085  +
    pub fn query_integer_set(&self) -> ::std::option::Option<&crate::model::IntegerSet> {
        1086  +
        /* StructureGenerator.kt:170 */
        1087  +
        self.query_integer_set.as_ref()
 1428   1088   
        /* StructureGenerator.kt:166 */
 1429   1089   
    }
 1430         -
    /* StructureGenerator.kt:135 */
 1431         -
}
 1432         -
/* ServerCodegenVisitor.kt:356 */
 1433         -
impl MalformedFloatInput {
 1434         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedFloatInput`](crate::input::MalformedFloatInput).
 1435         -
    /* ServerBuilderGenerator.kt:295 */
 1436         -
    pub fn builder() -> crate::input::malformed_float_input::Builder {
 1437         -
        /* ServerBuilderGenerator.kt:296 */
 1438         -
        crate::input::malformed_float_input::Builder::default()
 1439         -
        /* ServerBuilderGenerator.kt:295 */
 1440         -
    }
 1441         -
    /* ServerCodegenVisitor.kt:356 */
 1442         -
}
 1443         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1444         -
impl crate::constrained::Constrained for crate::input::MalformedFloatInput {
 1445         -
    type Unconstrained = crate::input::malformed_float_input::Builder;
 1446         -
}
 1447         -
 1448         -
/* StructureGenerator.kt:197 */
 1449         -
#[allow(missing_docs)] // documentation missing in model
 1450         -
/* RustType.kt:534 */
 1451         -
#[derive(
 1452         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1453         -
)]
 1454         -
pub /* StructureGenerator.kt:201 */ struct MalformedLongInput {
 1455         -
    /* StructureGenerator.kt:231 */
 1456         -
    #[allow(missing_docs)] // documentation missing in model
 1457         -
    pub long_in_body: ::std::option::Option<i64>,
 1458         -
    /* StructureGenerator.kt:231 */
 1459         -
    #[allow(missing_docs)] // documentation missing in model
 1460         -
    pub long_in_path: i64,
 1461         -
    /* StructureGenerator.kt:231 */
 1462         -
    #[allow(missing_docs)] // documentation missing in model
 1463         -
    pub long_in_query: ::std::option::Option<i64>,
 1464   1090   
    /* StructureGenerator.kt:231 */
 1465   1091   
    #[allow(missing_docs)] // documentation missing in model
 1466         -
    pub long_in_header: ::std::option::Option<i64>,
 1467         -
    /* StructureGenerator.kt:201 */
 1468         -
}
 1469         -
/* StructureGenerator.kt:135 */
 1470         -
impl MalformedLongInput {
        1092  +
                           /* StructureGenerator.kt:166 */
        1093  +
    pub fn query_long(&self) -> ::std::option::Option<i64> {
        1094  +
        /* StructureGenerator.kt:168 */
        1095  +
        self.query_long
        1096  +
        /* StructureGenerator.kt:166 */
        1097  +
    }
 1471   1098   
    /* StructureGenerator.kt:231 */
 1472   1099   
    #[allow(missing_docs)] // documentation missing in model
 1473   1100   
                           /* StructureGenerator.kt:166 */
 1474         -
    pub fn long_in_body(&self) -> ::std::option::Option<i64> {
        1101  +
    pub fn query_float(&self) -> ::std::option::Option<f32> {
 1475   1102   
        /* StructureGenerator.kt:168 */
 1476         -
        self.long_in_body
        1103  +
        self.query_float
 1477   1104   
        /* StructureGenerator.kt:166 */
 1478   1105   
    }
 1479   1106   
    /* StructureGenerator.kt:231 */
 1480   1107   
    #[allow(missing_docs)] // documentation missing in model
 1481   1108   
                           /* StructureGenerator.kt:166 */
 1482         -
    pub fn long_in_path(&self) -> i64 {
        1109  +
    pub fn query_double(&self) -> ::std::option::Option<f64> {
 1483   1110   
        /* StructureGenerator.kt:168 */
 1484         -
        self.long_in_path
        1111  +
        self.query_double
 1485   1112   
        /* StructureGenerator.kt:166 */
 1486   1113   
    }
 1487   1114   
    /* StructureGenerator.kt:231 */
 1488   1115   
    #[allow(missing_docs)] // documentation missing in model
 1489   1116   
                           /* StructureGenerator.kt:166 */
 1490         -
    pub fn long_in_query(&self) -> ::std::option::Option<i64> {
 1491         -
        /* StructureGenerator.kt:168 */
 1492         -
        self.long_in_query
        1117  +
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
        1118  +
        /* StructureGenerator.kt:169 */
        1119  +
        self.query_double_list.as_deref()
 1493   1120   
        /* StructureGenerator.kt:166 */
 1494   1121   
    }
 1495   1122   
    /* StructureGenerator.kt:231 */
 1496   1123   
    #[allow(missing_docs)] // documentation missing in model
 1497   1124   
                           /* StructureGenerator.kt:166 */
 1498         -
    pub fn long_in_header(&self) -> ::std::option::Option<i64> {
        1125  +
    pub fn query_boolean(&self) -> ::std::option::Option<bool> {
 1499   1126   
        /* StructureGenerator.kt:168 */
 1500         -
        self.long_in_header
        1127  +
        self.query_boolean
 1501   1128   
        /* StructureGenerator.kt:166 */
 1502   1129   
    }
 1503         -
    /* StructureGenerator.kt:135 */
 1504         -
}
 1505         -
/* ServerCodegenVisitor.kt:356 */
 1506         -
impl MalformedLongInput {
 1507         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedLongInput`](crate::input::MalformedLongInput).
 1508         -
    /* ServerBuilderGenerator.kt:295 */
 1509         -
    pub fn builder() -> crate::input::malformed_long_input::Builder {
 1510         -
        /* ServerBuilderGenerator.kt:296 */
 1511         -
        crate::input::malformed_long_input::Builder::default()
 1512         -
        /* ServerBuilderGenerator.kt:295 */
 1513         -
    }
 1514         -
    /* ServerCodegenVisitor.kt:356 */
 1515         -
}
 1516         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1517         -
impl crate::constrained::Constrained for crate::input::MalformedLongInput {
 1518         -
    type Unconstrained = crate::input::malformed_long_input::Builder;
 1519         -
}
 1520         -
 1521         -
/* StructureGenerator.kt:197 */
 1522         -
#[allow(missing_docs)] // documentation missing in model
 1523         -
/* RustType.kt:534 */
 1524         -
#[derive(
 1525         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1526         -
)]
 1527         -
pub /* StructureGenerator.kt:201 */ struct MalformedShortInput {
 1528   1130   
    /* StructureGenerator.kt:231 */
 1529   1131   
    #[allow(missing_docs)] // documentation missing in model
 1530         -
    pub short_in_body: ::std::option::Option<i16>,
        1132  +
                           /* StructureGenerator.kt:166 */
        1133  +
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        1134  +
        /* StructureGenerator.kt:169 */
        1135  +
        self.query_boolean_list.as_deref()
        1136  +
        /* StructureGenerator.kt:166 */
        1137  +
    }
 1531   1138   
    /* StructureGenerator.kt:231 */
 1532   1139   
    #[allow(missing_docs)] // documentation missing in model
 1533         -
    pub short_in_path: i16,
        1140  +
                           /* StructureGenerator.kt:166 */
        1141  +
    pub fn query_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        1142  +
        /* StructureGenerator.kt:170 */
        1143  +
        self.query_timestamp.as_ref()
        1144  +
        /* StructureGenerator.kt:166 */
        1145  +
    }
 1534   1146   
    /* StructureGenerator.kt:231 */
 1535   1147   
    #[allow(missing_docs)] // documentation missing in model
 1536         -
    pub short_in_query: ::std::option::Option<i16>,
        1148  +
                           /* StructureGenerator.kt:166 */
        1149  +
    pub fn query_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        1150  +
        /* StructureGenerator.kt:169 */
        1151  +
        self.query_timestamp_list.as_deref()
        1152  +
        /* StructureGenerator.kt:166 */
        1153  +
    }
 1537   1154   
    /* StructureGenerator.kt:231 */
 1538   1155   
    #[allow(missing_docs)] // documentation missing in model
 1539         -
    pub short_in_header: ::std::option::Option<i16>,
 1540         -
    /* StructureGenerator.kt:201 */
 1541         -
}
 1542         -
/* StructureGenerator.kt:135 */
 1543         -
impl MalformedShortInput {
        1156  +
                           /* StructureGenerator.kt:166 */
        1157  +
    pub fn query_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        1158  +
        /* StructureGenerator.kt:170 */
        1159  +
        self.query_enum.as_ref()
        1160  +
        /* StructureGenerator.kt:166 */
        1161  +
    }
 1544   1162   
    /* StructureGenerator.kt:231 */
 1545   1163   
    #[allow(missing_docs)] // documentation missing in model
 1546   1164   
                           /* StructureGenerator.kt:166 */
 1547         -
    pub fn short_in_body(&self) -> ::std::option::Option<i16> {
 1548         -
        /* StructureGenerator.kt:168 */
 1549         -
        self.short_in_body
        1165  +
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        1166  +
        /* StructureGenerator.kt:169 */
        1167  +
        self.query_enum_list.as_deref()
 1550   1168   
        /* StructureGenerator.kt:166 */
 1551   1169   
    }
 1552   1170   
    /* StructureGenerator.kt:231 */
 1553   1171   
    #[allow(missing_docs)] // documentation missing in model
 1554   1172   
                           /* StructureGenerator.kt:166 */
 1555         -
    pub fn short_in_path(&self) -> i16 {
        1173  +
    pub fn query_integer_enum(&self) -> ::std::option::Option<i32> {
 1556   1174   
        /* StructureGenerator.kt:168 */
 1557         -
        self.short_in_path
        1175  +
        self.query_integer_enum
 1558   1176   
        /* StructureGenerator.kt:166 */
 1559   1177   
    }
 1560   1178   
    /* StructureGenerator.kt:231 */
 1561   1179   
    #[allow(missing_docs)] // documentation missing in model
 1562   1180   
                           /* StructureGenerator.kt:166 */
 1563         -
    pub fn short_in_query(&self) -> ::std::option::Option<i16> {
 1564         -
        /* StructureGenerator.kt:168 */
 1565         -
        self.short_in_query
        1181  +
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        1182  +
        /* StructureGenerator.kt:169 */
        1183  +
        self.query_integer_enum_list.as_deref()
 1566   1184   
        /* StructureGenerator.kt:166 */
 1567   1185   
    }
 1568   1186   
    /* StructureGenerator.kt:231 */
 1569   1187   
    #[allow(missing_docs)] // documentation missing in model
 1570   1188   
                           /* StructureGenerator.kt:166 */
 1571         -
    pub fn short_in_header(&self) -> ::std::option::Option<i16> {
 1572         -
        /* StructureGenerator.kt:168 */
 1573         -
        self.short_in_header
        1189  +
    pub fn query_params_map_of_string_list(
        1190  +
        &self,
        1191  +
    ) -> ::std::option::Option<
        1192  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        1193  +
    > {
        1194  +
        /* StructureGenerator.kt:170 */
        1195  +
        self.query_params_map_of_string_list.as_ref()
 1574   1196   
        /* StructureGenerator.kt:166 */
 1575   1197   
    }
 1576   1198   
    /* StructureGenerator.kt:135 */
 1577   1199   
}
 1578   1200   
/* ServerCodegenVisitor.kt:356 */
 1579         -
impl MalformedShortInput {
 1580         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedShortInput`](crate::input::MalformedShortInput).
        1201  +
impl AllQueryStringTypesInput {
        1202  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
 1581   1203   
    /* ServerBuilderGenerator.kt:295 */
 1582         -
    pub fn builder() -> crate::input::malformed_short_input::Builder {
        1204  +
    pub fn builder() -> crate::input::all_query_string_types_input::Builder {
 1583   1205   
        /* ServerBuilderGenerator.kt:296 */
 1584         -
        crate::input::malformed_short_input::Builder::default()
        1206  +
        crate::input::all_query_string_types_input::Builder::default()
 1585   1207   
        /* ServerBuilderGenerator.kt:295 */
 1586   1208   
    }
 1587   1209   
    /* ServerCodegenVisitor.kt:356 */
 1588   1210   
}
 1589   1211   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1590         -
impl crate::constrained::Constrained for crate::input::MalformedShortInput {
 1591         -
    type Unconstrained = crate::input::malformed_short_input::Builder;
        1212  +
impl crate::constrained::Constrained for crate::input::AllQueryStringTypesInput {
        1213  +
    type Unconstrained = crate::input::all_query_string_types_input::Builder;
 1592   1214   
}
 1593   1215   
 1594   1216   
/* StructureGenerator.kt:197 */
 1595   1217   
#[allow(missing_docs)] // documentation missing in model
 1596   1218   
/* RustType.kt:534 */
 1597   1219   
#[derive(
 1598   1220   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1599   1221   
)]
 1600         -
pub /* StructureGenerator.kt:201 */ struct MalformedByteInput {
 1601         -
    /* StructureGenerator.kt:231 */
 1602         -
    #[allow(missing_docs)] // documentation missing in model
 1603         -
    pub byte_in_body: ::std::option::Option<i8>,
 1604         -
    /* StructureGenerator.kt:231 */
 1605         -
    #[allow(missing_docs)] // documentation missing in model
 1606         -
    pub byte_in_path: i8,
 1607         -
    /* StructureGenerator.kt:231 */
 1608         -
    #[allow(missing_docs)] // documentation missing in model
 1609         -
    pub byte_in_query: ::std::option::Option<i8>,
        1222  +
pub /* StructureGenerator.kt:201 */ struct ConstantQueryStringInput {
 1610   1223   
    /* StructureGenerator.kt:231 */
 1611   1224   
    #[allow(missing_docs)] // documentation missing in model
 1612         -
    pub byte_in_header: ::std::option::Option<i8>,
        1225  +
    pub hello: ::std::string::String,
 1613   1226   
    /* StructureGenerator.kt:201 */
 1614   1227   
}
 1615   1228   
/* StructureGenerator.kt:135 */
 1616         -
impl MalformedByteInput {
 1617         -
    /* StructureGenerator.kt:231 */
 1618         -
    #[allow(missing_docs)] // documentation missing in model
 1619         -
                           /* StructureGenerator.kt:166 */
 1620         -
    pub fn byte_in_body(&self) -> ::std::option::Option<i8> {
 1621         -
        /* StructureGenerator.kt:168 */
 1622         -
        self.byte_in_body
 1623         -
        /* StructureGenerator.kt:166 */
 1624         -
    }
 1625         -
    /* StructureGenerator.kt:231 */
 1626         -
    #[allow(missing_docs)] // documentation missing in model
 1627         -
                           /* StructureGenerator.kt:166 */
 1628         -
    pub fn byte_in_path(&self) -> i8 {
 1629         -
        /* StructureGenerator.kt:168 */
 1630         -
        self.byte_in_path
 1631         -
        /* StructureGenerator.kt:166 */
 1632         -
    }
 1633         -
    /* StructureGenerator.kt:231 */
 1634         -
    #[allow(missing_docs)] // documentation missing in model
 1635         -
                           /* StructureGenerator.kt:166 */
 1636         -
    pub fn byte_in_query(&self) -> ::std::option::Option<i8> {
 1637         -
        /* StructureGenerator.kt:168 */
 1638         -
        self.byte_in_query
 1639         -
        /* StructureGenerator.kt:166 */
 1640         -
    }
        1229  +
impl ConstantQueryStringInput {
 1641   1230   
    /* StructureGenerator.kt:231 */
 1642   1231   
    #[allow(missing_docs)] // documentation missing in model
 1643   1232   
                           /* StructureGenerator.kt:166 */
 1644         -
    pub fn byte_in_header(&self) -> ::std::option::Option<i8> {
 1645         -
        /* StructureGenerator.kt:168 */
 1646         -
        self.byte_in_header
        1233  +
    pub fn hello(&self) -> &str {
        1234  +
        /* StructureGenerator.kt:171 */
        1235  +
        use std::ops::Deref;
        1236  +
        self.hello.deref()
 1647   1237   
        /* StructureGenerator.kt:166 */
 1648   1238   
    }
 1649   1239   
    /* StructureGenerator.kt:135 */
 1650   1240   
}
 1651   1241   
/* ServerCodegenVisitor.kt:356 */
 1652         -
impl MalformedByteInput {
 1653         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedByteInput`](crate::input::MalformedByteInput).
        1242  +
impl ConstantQueryStringInput {
        1243  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
 1654   1244   
    /* ServerBuilderGenerator.kt:295 */
 1655         -
    pub fn builder() -> crate::input::malformed_byte_input::Builder {
        1245  +
    pub fn builder() -> crate::input::constant_query_string_input::Builder {
 1656   1246   
        /* ServerBuilderGenerator.kt:296 */
 1657         -
        crate::input::malformed_byte_input::Builder::default()
        1247  +
        crate::input::constant_query_string_input::Builder::default()
 1658   1248   
        /* ServerBuilderGenerator.kt:295 */
 1659   1249   
    }
 1660   1250   
    /* ServerCodegenVisitor.kt:356 */
 1661   1251   
}
 1662   1252   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1663         -
impl crate::constrained::Constrained for crate::input::MalformedByteInput {
 1664         -
    type Unconstrained = crate::input::malformed_byte_input::Builder;
        1253  +
impl crate::constrained::Constrained for crate::input::ConstantQueryStringInput {
        1254  +
    type Unconstrained = crate::input::constant_query_string_input::Builder;
 1665   1255   
}
 1666   1256   
 1667   1257   
/* StructureGenerator.kt:197 */
 1668   1258   
#[allow(missing_docs)] // documentation missing in model
 1669   1259   
/* RustType.kt:534 */
 1670   1260   
#[derive(
 1671   1261   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1672   1262   
)]
 1673         -
pub /* StructureGenerator.kt:201 */ struct MalformedBlobInput {
        1263  +
pub /* StructureGenerator.kt:201 */ struct ConstantAndVariableQueryStringInput {
 1674   1264   
    /* StructureGenerator.kt:231 */
 1675   1265   
    #[allow(missing_docs)] // documentation missing in model
 1676         -
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1266  +
    pub baz: ::std::option::Option<::std::string::String>,
        1267  +
    /* StructureGenerator.kt:231 */
        1268  +
    #[allow(missing_docs)] // documentation missing in model
        1269  +
    pub maybe_set: ::std::option::Option<::std::string::String>,
 1677   1270   
    /* StructureGenerator.kt:201 */
 1678   1271   
}
 1679   1272   
/* StructureGenerator.kt:135 */
 1680         -
impl MalformedBlobInput {
        1273  +
impl ConstantAndVariableQueryStringInput {
 1681   1274   
    /* StructureGenerator.kt:231 */
 1682   1275   
    #[allow(missing_docs)] // documentation missing in model
 1683   1276   
                           /* StructureGenerator.kt:166 */
 1684         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
 1685         -
        /* StructureGenerator.kt:170 */
 1686         -
        self.blob.as_ref()
        1277  +
    pub fn baz(&self) -> ::std::option::Option<&str> {
        1278  +
        /* StructureGenerator.kt:169 */
        1279  +
        self.baz.as_deref()
        1280  +
        /* StructureGenerator.kt:166 */
        1281  +
    }
        1282  +
    /* StructureGenerator.kt:231 */
        1283  +
    #[allow(missing_docs)] // documentation missing in model
        1284  +
                           /* StructureGenerator.kt:166 */
        1285  +
    pub fn maybe_set(&self) -> ::std::option::Option<&str> {
        1286  +
        /* StructureGenerator.kt:169 */
        1287  +
        self.maybe_set.as_deref()
 1687   1288   
        /* StructureGenerator.kt:166 */
 1688   1289   
    }
 1689   1290   
    /* StructureGenerator.kt:135 */
 1690   1291   
}
 1691   1292   
/* ServerCodegenVisitor.kt:356 */
 1692         -
impl MalformedBlobInput {
 1693         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedBlobInput`](crate::input::MalformedBlobInput).
        1293  +
impl ConstantAndVariableQueryStringInput {
        1294  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
 1694   1295   
    /* ServerBuilderGenerator.kt:295 */
 1695         -
    pub fn builder() -> crate::input::malformed_blob_input::Builder {
        1296  +
    pub fn builder() -> crate::input::constant_and_variable_query_string_input::Builder {
 1696   1297   
        /* ServerBuilderGenerator.kt:296 */
 1697         -
        crate::input::malformed_blob_input::Builder::default()
        1298  +
        crate::input::constant_and_variable_query_string_input::Builder::default()
 1698   1299   
        /* ServerBuilderGenerator.kt:295 */
 1699   1300   
    }
 1700   1301   
    /* ServerCodegenVisitor.kt:356 */
 1701   1302   
}
 1702   1303   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1703         -
impl crate::constrained::Constrained for crate::input::MalformedBlobInput {
 1704         -
    type Unconstrained = crate::input::malformed_blob_input::Builder;
        1304  +
impl crate::constrained::Constrained for crate::input::ConstantAndVariableQueryStringInput {
        1305  +
    type Unconstrained = crate::input::constant_and_variable_query_string_input::Builder;
 1705   1306   
}
 1706   1307   
 1707   1308   
/* StructureGenerator.kt:197 */
 1708   1309   
#[allow(missing_docs)] // documentation missing in model
 1709   1310   
/* RustType.kt:534 */
 1710         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 1711         -
pub /* StructureGenerator.kt:201 */ struct MalformedMapInput {
 1712         -
    /* StructureGenerator.kt:231 */
 1713         -
    #[allow(missing_docs)] // documentation missing in model
 1714         -
    pub body_map: ::std::option::Option<
 1715         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1716         -
    >,
 1717         -
    /* StructureGenerator.kt:201 */
 1718         -
}
 1719         -
/* StructureGenerator.kt:135 */
 1720         -
impl MalformedMapInput {
 1721         -
    /* StructureGenerator.kt:231 */
 1722         -
    #[allow(missing_docs)] // documentation missing in model
 1723         -
                           /* StructureGenerator.kt:166 */
 1724         -
    pub fn body_map(
 1725         -
        &self,
 1726         -
    ) -> ::std::option::Option<
 1727         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1728         -
    > {
 1729         -
        /* StructureGenerator.kt:170 */
 1730         -
        self.body_map.as_ref()
 1731         -
        /* StructureGenerator.kt:166 */
 1732         -
    }
 1733         -
    /* StructureGenerator.kt:135 */
 1734         -
}
        1311  +
#[derive(
        1312  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1313  +
)]
        1314  +
pub /* StructureGenerator.kt:201 */ struct IgnoreQueryParamsInResponseInput {/* StructureGenerator.kt:201 */}
 1735   1315   
/* ServerCodegenVisitor.kt:356 */
 1736         -
impl MalformedMapInput {
 1737         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedMapInput`](crate::input::MalformedMapInput).
        1316  +
impl IgnoreQueryParamsInResponseInput {
        1317  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
 1738   1318   
    /* ServerBuilderGenerator.kt:295 */
 1739         -
    pub fn builder() -> crate::input::malformed_map_input::Builder {
        1319  +
    pub fn builder() -> crate::input::ignore_query_params_in_response_input::Builder {
 1740   1320   
        /* ServerBuilderGenerator.kt:296 */
 1741         -
        crate::input::malformed_map_input::Builder::default()
        1321  +
        crate::input::ignore_query_params_in_response_input::Builder::default()
 1742   1322   
        /* ServerBuilderGenerator.kt:295 */
 1743   1323   
    }
 1744   1324   
    /* ServerCodegenVisitor.kt:356 */
 1745   1325   
}
 1746   1326   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1747         -
impl crate::constrained::Constrained for crate::input::MalformedMapInput {
 1748         -
    type Unconstrained = crate::input::malformed_map_input::Builder;
        1327  +
impl crate::constrained::Constrained for crate::input::IgnoreQueryParamsInResponseInput {
        1328  +
    type Unconstrained = crate::input::ignore_query_params_in_response_input::Builder;
 1749   1329   
}
 1750   1330   
 1751   1331   
/* StructureGenerator.kt:197 */
 1752   1332   
#[allow(missing_docs)] // documentation missing in model
 1753   1333   
/* RustType.kt:534 */
 1754   1334   
#[derive(
 1755   1335   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1756   1336   
)]
 1757         -
pub /* StructureGenerator.kt:201 */ struct MalformedListInput {
        1337  +
pub /* StructureGenerator.kt:201 */ struct OmitsNullSerializesEmptyStringInput {
 1758   1338   
    /* StructureGenerator.kt:231 */
 1759   1339   
    #[allow(missing_docs)] // documentation missing in model
 1760         -
    pub body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1340  +
    pub null_value: ::std::option::Option<::std::string::String>,
        1341  +
    /* StructureGenerator.kt:231 */
        1342  +
    #[allow(missing_docs)] // documentation missing in model
        1343  +
    pub empty_string: ::std::option::Option<::std::string::String>,
 1761   1344   
    /* StructureGenerator.kt:201 */
 1762   1345   
}
 1763   1346   
/* StructureGenerator.kt:135 */
 1764         -
impl MalformedListInput {
        1347  +
impl OmitsNullSerializesEmptyStringInput {
 1765   1348   
    /* StructureGenerator.kt:231 */
 1766   1349   
    #[allow(missing_docs)] // documentation missing in model
 1767   1350   
                           /* StructureGenerator.kt:166 */
 1768         -
    pub fn body_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        1351  +
    pub fn null_value(&self) -> ::std::option::Option<&str> {
 1769   1352   
        /* StructureGenerator.kt:169 */
 1770         -
        self.body_list.as_deref()
        1353  +
        self.null_value.as_deref()
        1354  +
        /* StructureGenerator.kt:166 */
        1355  +
    }
        1356  +
    /* StructureGenerator.kt:231 */
        1357  +
    #[allow(missing_docs)] // documentation missing in model
        1358  +
                           /* StructureGenerator.kt:166 */
        1359  +
    pub fn empty_string(&self) -> ::std::option::Option<&str> {
        1360  +
        /* StructureGenerator.kt:169 */
        1361  +
        self.empty_string.as_deref()
 1771   1362   
        /* StructureGenerator.kt:166 */
 1772   1363   
    }
 1773   1364   
    /* StructureGenerator.kt:135 */
 1774   1365   
}
 1775   1366   
/* ServerCodegenVisitor.kt:356 */
 1776         -
impl MalformedListInput {
 1777         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedListInput`](crate::input::MalformedListInput).
        1367  +
impl OmitsNullSerializesEmptyStringInput {
        1368  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
 1778   1369   
    /* ServerBuilderGenerator.kt:295 */
 1779         -
    pub fn builder() -> crate::input::malformed_list_input::Builder {
        1370  +
    pub fn builder() -> crate::input::omits_null_serializes_empty_string_input::Builder {
 1780   1371   
        /* ServerBuilderGenerator.kt:296 */
 1781         -
        crate::input::malformed_list_input::Builder::default()
        1372  +
        crate::input::omits_null_serializes_empty_string_input::Builder::default()
 1782   1373   
        /* ServerBuilderGenerator.kt:295 */
 1783   1374   
    }
 1784   1375   
    /* ServerCodegenVisitor.kt:356 */
 1785   1376   
}
 1786   1377   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1787         -
impl crate::constrained::Constrained for crate::input::MalformedListInput {
 1788         -
    type Unconstrained = crate::input::malformed_list_input::Builder;
        1378  +
impl crate::constrained::Constrained for crate::input::OmitsNullSerializesEmptyStringInput {
        1379  +
    type Unconstrained = crate::input::omits_null_serializes_empty_string_input::Builder;
 1789   1380   
}
 1790   1381   
 1791   1382   
/* StructureGenerator.kt:197 */
 1792   1383   
#[allow(missing_docs)] // documentation missing in model
 1793   1384   
/* RustType.kt:534 */
 1794         -
#[derive(
 1795         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1796         -
)]
 1797         -
pub /* StructureGenerator.kt:201 */ struct MalformedBooleanInput {
        1385  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1386  +
pub /* StructureGenerator.kt:201 */ struct OmitsSerializingEmptyListsInput {
 1798   1387   
    /* StructureGenerator.kt:231 */
 1799   1388   
    #[allow(missing_docs)] // documentation missing in model
 1800         -
    pub boolean_in_body: ::std::option::Option<bool>,
        1389  +
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1801   1390   
    /* StructureGenerator.kt:231 */
 1802   1391   
    #[allow(missing_docs)] // documentation missing in model
 1803         -
    pub boolean_in_path: bool,
        1392  +
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 1804   1393   
    /* StructureGenerator.kt:231 */
 1805   1394   
    #[allow(missing_docs)] // documentation missing in model
 1806         -
    pub boolean_in_query: ::std::option::Option<bool>,
        1395  +
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
 1807   1396   
    /* StructureGenerator.kt:231 */
 1808   1397   
    #[allow(missing_docs)] // documentation missing in model
 1809         -
    pub boolean_in_header: ::std::option::Option<bool>,
        1398  +
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        1399  +
    /* StructureGenerator.kt:231 */
        1400  +
    #[allow(missing_docs)] // documentation missing in model
        1401  +
    pub query_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        1402  +
    /* StructureGenerator.kt:231 */
        1403  +
    #[allow(missing_docs)] // documentation missing in model
        1404  +
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1405  +
    /* StructureGenerator.kt:231 */
        1406  +
    #[allow(missing_docs)] // documentation missing in model
        1407  +
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 1810   1408   
    /* StructureGenerator.kt:201 */
 1811   1409   
}
 1812   1410   
/* StructureGenerator.kt:135 */
 1813         -
impl MalformedBooleanInput {
        1411  +
impl OmitsSerializingEmptyListsInput {
 1814   1412   
    /* StructureGenerator.kt:231 */
 1815   1413   
    #[allow(missing_docs)] // documentation missing in model
 1816   1414   
                           /* StructureGenerator.kt:166 */
 1817         -
    pub fn boolean_in_body(&self) -> ::std::option::Option<bool> {
 1818         -
        /* StructureGenerator.kt:168 */
 1819         -
        self.boolean_in_body
        1415  +
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        1416  +
        /* StructureGenerator.kt:169 */
        1417  +
        self.query_string_list.as_deref()
 1820   1418   
        /* StructureGenerator.kt:166 */
 1821   1419   
    }
 1822   1420   
    /* StructureGenerator.kt:231 */
 1823   1421   
    #[allow(missing_docs)] // documentation missing in model
 1824   1422   
                           /* StructureGenerator.kt:166 */
 1825         -
    pub fn boolean_in_path(&self) -> bool {
 1826         -
        /* StructureGenerator.kt:168 */
 1827         -
        self.boolean_in_path
        1423  +
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        1424  +
        /* StructureGenerator.kt:169 */
        1425  +
        self.query_integer_list.as_deref()
 1828   1426   
        /* StructureGenerator.kt:166 */
 1829   1427   
    }
 1830   1428   
    /* StructureGenerator.kt:231 */
 1831   1429   
    #[allow(missing_docs)] // documentation missing in model
 1832   1430   
                           /* StructureGenerator.kt:166 */
 1833         -
    pub fn boolean_in_query(&self) -> ::std::option::Option<bool> {
 1834         -
        /* StructureGenerator.kt:168 */
 1835         -
        self.boolean_in_query
        1431  +
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
        1432  +
        /* StructureGenerator.kt:169 */
        1433  +
        self.query_double_list.as_deref()
 1836   1434   
        /* StructureGenerator.kt:166 */
 1837   1435   
    }
 1838   1436   
    /* StructureGenerator.kt:231 */
 1839   1437   
    #[allow(missing_docs)] // documentation missing in model
 1840   1438   
                           /* StructureGenerator.kt:166 */
 1841         -
    pub fn boolean_in_header(&self) -> ::std::option::Option<bool> {
 1842         -
        /* StructureGenerator.kt:168 */
 1843         -
        self.boolean_in_header
        1439  +
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        1440  +
        /* StructureGenerator.kt:169 */
        1441  +
        self.query_boolean_list.as_deref()
        1442  +
        /* StructureGenerator.kt:166 */
        1443  +
    }
        1444  +
    /* StructureGenerator.kt:231 */
        1445  +
    #[allow(missing_docs)] // documentation missing in model
        1446  +
                           /* StructureGenerator.kt:166 */
        1447  +
    pub fn query_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        1448  +
        /* StructureGenerator.kt:169 */
        1449  +
        self.query_timestamp_list.as_deref()
        1450  +
        /* StructureGenerator.kt:166 */
        1451  +
    }
        1452  +
    /* StructureGenerator.kt:231 */
        1453  +
    #[allow(missing_docs)] // documentation missing in model
        1454  +
                           /* StructureGenerator.kt:166 */
        1455  +
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        1456  +
        /* StructureGenerator.kt:169 */
        1457  +
        self.query_enum_list.as_deref()
        1458  +
        /* StructureGenerator.kt:166 */
        1459  +
    }
        1460  +
    /* StructureGenerator.kt:231 */
        1461  +
    #[allow(missing_docs)] // documentation missing in model
        1462  +
                           /* StructureGenerator.kt:166 */
        1463  +
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        1464  +
        /* StructureGenerator.kt:169 */
        1465  +
        self.query_integer_enum_list.as_deref()
 1844   1466   
        /* StructureGenerator.kt:166 */
 1845   1467   
    }
 1846   1468   
    /* StructureGenerator.kt:135 */
 1847   1469   
}
 1848   1470   
/* ServerCodegenVisitor.kt:356 */
 1849         -
impl MalformedBooleanInput {
 1850         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
        1471  +
impl OmitsSerializingEmptyListsInput {
        1472  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
 1851   1473   
    /* ServerBuilderGenerator.kt:295 */
 1852         -
    pub fn builder() -> crate::input::malformed_boolean_input::Builder {
        1474  +
    pub fn builder() -> crate::input::omits_serializing_empty_lists_input::Builder {
 1853   1475   
        /* ServerBuilderGenerator.kt:296 */
 1854         -
        crate::input::malformed_boolean_input::Builder::default()
        1476  +
        crate::input::omits_serializing_empty_lists_input::Builder::default()
 1855   1477   
        /* ServerBuilderGenerator.kt:295 */
 1856   1478   
    }
 1857   1479   
    /* ServerCodegenVisitor.kt:356 */
 1858   1480   
}
 1859   1481   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1860         -
impl crate::constrained::Constrained for crate::input::MalformedBooleanInput {
 1861         -
    type Unconstrained = crate::input::malformed_boolean_input::Builder;
        1482  +
impl crate::constrained::Constrained for crate::input::OmitsSerializingEmptyListsInput {
        1483  +
    type Unconstrained = crate::input::omits_serializing_empty_lists_input::Builder;
 1862   1484   
}
 1863   1485   
 1864   1486   
/* StructureGenerator.kt:197 */
 1865   1487   
#[allow(missing_docs)] // documentation missing in model
 1866   1488   
/* RustType.kt:534 */
 1867   1489   
#[derive(
 1868   1490   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1869   1491   
)]
 1870         -
pub /* StructureGenerator.kt:201 */ struct MalformedUnionInput {
        1492  +
pub /* StructureGenerator.kt:201 */ struct QueryIdempotencyTokenAutoFillInput {
 1871   1493   
    /* StructureGenerator.kt:231 */
 1872   1494   
    #[allow(missing_docs)] // documentation missing in model
 1873         -
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
        1495  +
    pub token: ::std::option::Option<::std::string::String>,
 1874   1496   
    /* StructureGenerator.kt:201 */
 1875   1497   
}
 1876   1498   
/* StructureGenerator.kt:135 */
 1877         -
impl MalformedUnionInput {
        1499  +
impl QueryIdempotencyTokenAutoFillInput {
 1878   1500   
    /* StructureGenerator.kt:231 */
 1879   1501   
    #[allow(missing_docs)] // documentation missing in model
 1880   1502   
                           /* StructureGenerator.kt:166 */
 1881         -
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
 1882         -
        /* StructureGenerator.kt:170 */
 1883         -
        self.union.as_ref()
        1503  +
    pub fn token(&self) -> ::std::option::Option<&str> {
        1504  +
        /* StructureGenerator.kt:169 */
        1505  +
        self.token.as_deref()
 1884   1506   
        /* StructureGenerator.kt:166 */
 1885   1507   
    }
 1886   1508   
    /* StructureGenerator.kt:135 */
 1887   1509   
}
 1888   1510   
/* ServerCodegenVisitor.kt:356 */
 1889         -
impl MalformedUnionInput {
 1890         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedUnionInput`](crate::input::MalformedUnionInput).
        1511  +
impl QueryIdempotencyTokenAutoFillInput {
        1512  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
 1891   1513   
    /* ServerBuilderGenerator.kt:295 */
 1892         -
    pub fn builder() -> crate::input::malformed_union_input::Builder {
        1514  +
    pub fn builder() -> crate::input::query_idempotency_token_auto_fill_input::Builder {
 1893   1515   
        /* ServerBuilderGenerator.kt:296 */
 1894         -
        crate::input::malformed_union_input::Builder::default()
        1516  +
        crate::input::query_idempotency_token_auto_fill_input::Builder::default()
 1895   1517   
        /* ServerBuilderGenerator.kt:295 */
 1896   1518   
    }
 1897   1519   
    /* ServerCodegenVisitor.kt:356 */
 1898   1520   
}
 1899   1521   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1900         -
impl crate::constrained::Constrained for crate::input::MalformedUnionInput {
 1901         -
    type Unconstrained = crate::input::malformed_union_input::Builder;
        1522  +
impl crate::constrained::Constrained for crate::input::QueryIdempotencyTokenAutoFillInput {
        1523  +
    type Unconstrained = crate::input::query_idempotency_token_auto_fill_input::Builder;
 1902   1524   
}
 1903   1525   
 1904   1526   
/* StructureGenerator.kt:197 */
 1905   1527   
#[allow(missing_docs)] // documentation missing in model
 1906   1528   
/* RustType.kt:534 */
 1907         -
#[derive(
 1908         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1909         -
)]
 1910         -
pub /* StructureGenerator.kt:201 */ struct MalformedIntegerInput {
 1911         -
    /* StructureGenerator.kt:231 */
 1912         -
    #[allow(missing_docs)] // documentation missing in model
 1913         -
    pub integer_in_body: ::std::option::Option<i32>,
 1914         -
    /* StructureGenerator.kt:231 */
 1915         -
    #[allow(missing_docs)] // documentation missing in model
 1916         -
    pub integer_in_path: i32,
        1529  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1530  +
pub /* StructureGenerator.kt:201 */ struct QueryPrecedenceInput {
 1917   1531   
    /* StructureGenerator.kt:231 */
 1918   1532   
    #[allow(missing_docs)] // documentation missing in model
 1919         -
    pub integer_in_query: ::std::option::Option<i32>,
        1533  +
    pub foo: ::std::option::Option<::std::string::String>,
 1920   1534   
    /* StructureGenerator.kt:231 */
 1921   1535   
    #[allow(missing_docs)] // documentation missing in model
 1922         -
    pub integer_in_header: ::std::option::Option<i32>,
        1536  +
    pub baz: ::std::option::Option<
        1537  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1538  +
    >,
 1923   1539   
    /* StructureGenerator.kt:201 */
 1924   1540   
}
 1925   1541   
/* StructureGenerator.kt:135 */
 1926         -
impl MalformedIntegerInput {
 1927         -
    /* StructureGenerator.kt:231 */
 1928         -
    #[allow(missing_docs)] // documentation missing in model
 1929         -
                           /* StructureGenerator.kt:166 */
 1930         -
    pub fn integer_in_body(&self) -> ::std::option::Option<i32> {
 1931         -
        /* StructureGenerator.kt:168 */
 1932         -
        self.integer_in_body
 1933         -
        /* StructureGenerator.kt:166 */
 1934         -
    }
 1935         -
    /* StructureGenerator.kt:231 */
 1936         -
    #[allow(missing_docs)] // documentation missing in model
 1937         -
                           /* StructureGenerator.kt:166 */
 1938         -
    pub fn integer_in_path(&self) -> i32 {
 1939         -
        /* StructureGenerator.kt:168 */
 1940         -
        self.integer_in_path
 1941         -
        /* StructureGenerator.kt:166 */
 1942         -
    }
        1542  +
impl QueryPrecedenceInput {
 1943   1543   
    /* StructureGenerator.kt:231 */
 1944   1544   
    #[allow(missing_docs)] // documentation missing in model
 1945   1545   
                           /* StructureGenerator.kt:166 */
 1946         -
    pub fn integer_in_query(&self) -> ::std::option::Option<i32> {
 1947         -
        /* StructureGenerator.kt:168 */
 1948         -
        self.integer_in_query
        1546  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        1547  +
        /* StructureGenerator.kt:169 */
        1548  +
        self.foo.as_deref()
 1949   1549   
        /* StructureGenerator.kt:166 */
 1950   1550   
    }
 1951   1551   
    /* StructureGenerator.kt:231 */
 1952   1552   
    #[allow(missing_docs)] // documentation missing in model
 1953   1553   
                           /* StructureGenerator.kt:166 */
 1954         -
    pub fn integer_in_header(&self) -> ::std::option::Option<i32> {
 1955         -
        /* StructureGenerator.kt:168 */
 1956         -
        self.integer_in_header
        1554  +
    pub fn baz(
        1555  +
        &self,
        1556  +
    ) -> ::std::option::Option<
        1557  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1558  +
    > {
        1559  +
        /* StructureGenerator.kt:170 */
        1560  +
        self.baz.as_ref()
 1957   1561   
        /* StructureGenerator.kt:166 */
 1958   1562   
    }
 1959   1563   
    /* StructureGenerator.kt:135 */
 1960   1564   
}
 1961   1565   
/* ServerCodegenVisitor.kt:356 */
 1962         -
impl MalformedIntegerInput {
 1963         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
        1566  +
impl QueryPrecedenceInput {
        1567  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
 1964   1568   
    /* ServerBuilderGenerator.kt:295 */
 1965         -
    pub fn builder() -> crate::input::malformed_integer_input::Builder {
        1569  +
    pub fn builder() -> crate::input::query_precedence_input::Builder {
 1966   1570   
        /* ServerBuilderGenerator.kt:296 */
 1967         -
        crate::input::malformed_integer_input::Builder::default()
        1571  +
        crate::input::query_precedence_input::Builder::default()
 1968   1572   
        /* ServerBuilderGenerator.kt:295 */
 1969   1573   
    }
 1970   1574   
    /* ServerCodegenVisitor.kt:356 */
 1971   1575   
}
 1972   1576   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1973         -
impl crate::constrained::Constrained for crate::input::MalformedIntegerInput {
 1974         -
    type Unconstrained = crate::input::malformed_integer_input::Builder;
        1577  +
impl crate::constrained::Constrained for crate::input::QueryPrecedenceInput {
        1578  +
    type Unconstrained = crate::input::query_precedence_input::Builder;
 1975   1579   
}
 1976   1580   
 1977   1581   
/* StructureGenerator.kt:197 */
 1978   1582   
#[allow(missing_docs)] // documentation missing in model
 1979   1583   
/* RustType.kt:534 */
 1980         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 1981         -
pub /* StructureGenerator.kt:201 */ struct MalformedRequestBodyInput {
 1982         -
    /* StructureGenerator.kt:231 */
 1983         -
    #[allow(missing_docs)] // documentation missing in model
 1984         -
    pub int: ::std::option::Option<i32>,
        1584  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1585  +
pub /* StructureGenerator.kt:201 */ struct HttpQueryParamsOnlyOperationInput {
 1985   1586   
    /* StructureGenerator.kt:231 */
 1986   1587   
    #[allow(missing_docs)] // documentation missing in model
 1987         -
    pub float: ::std::option::Option<f32>,
        1588  +
    pub query_map: ::std::option::Option<
        1589  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1590  +
    >,
 1988   1591   
    /* StructureGenerator.kt:201 */
 1989   1592   
}
 1990   1593   
/* StructureGenerator.kt:135 */
 1991         -
impl MalformedRequestBodyInput {
        1594  +
impl HttpQueryParamsOnlyOperationInput {
 1992   1595   
    /* StructureGenerator.kt:231 */
 1993   1596   
    #[allow(missing_docs)] // documentation missing in model
 1994   1597   
                           /* StructureGenerator.kt:166 */
 1995         -
    pub fn int(&self) -> ::std::option::Option<i32> {
 1996         -
        /* StructureGenerator.kt:168 */
 1997         -
        self.int
 1998         -
        /* StructureGenerator.kt:166 */
 1999         -
    }
 2000         -
    /* StructureGenerator.kt:231 */
        1598  +
    pub fn query_map(
        1599  +
        &self,
        1600  +
    ) -> ::std::option::Option<
        1601  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1602  +
    > {
        1603  +
        /* StructureGenerator.kt:170 */
        1604  +
        self.query_map.as_ref()
        1605  +
        /* StructureGenerator.kt:166 */
        1606  +
    }
        1607  +
    /* StructureGenerator.kt:135 */
        1608  +
}
        1609  +
/* ServerCodegenVisitor.kt:356 */
        1610  +
impl HttpQueryParamsOnlyOperationInput {
        1611  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
        1612  +
    /* ServerBuilderGenerator.kt:295 */
        1613  +
    pub fn builder() -> crate::input::http_query_params_only_operation_input::Builder {
        1614  +
        /* ServerBuilderGenerator.kt:296 */
        1615  +
        crate::input::http_query_params_only_operation_input::Builder::default()
        1616  +
        /* ServerBuilderGenerator.kt:295 */
        1617  +
    }
        1618  +
    /* ServerCodegenVisitor.kt:356 */
        1619  +
}
        1620  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1621  +
impl crate::constrained::Constrained for crate::input::HttpQueryParamsOnlyOperationInput {
        1622  +
    type Unconstrained = crate::input::http_query_params_only_operation_input::Builder;
        1623  +
}
        1624  +
        1625  +
/* StructureGenerator.kt:197 */
        1626  +
#[allow(missing_docs)] // documentation missing in model
        1627  +
/* RustType.kt:534 */
        1628  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1629  +
pub /* StructureGenerator.kt:201 */ struct QueryParamsAsStringListMapInput {
        1630  +
    /* StructureGenerator.kt:231 */
        1631  +
    #[allow(missing_docs)] // documentation missing in model
        1632  +
    pub qux: ::std::option::Option<::std::string::String>,
        1633  +
    /* StructureGenerator.kt:231 */
        1634  +
    #[allow(missing_docs)] // documentation missing in model
        1635  +
    pub foo: ::std::option::Option<
        1636  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        1637  +
    >,
        1638  +
    /* StructureGenerator.kt:201 */
        1639  +
}
        1640  +
/* StructureGenerator.kt:135 */
        1641  +
impl QueryParamsAsStringListMapInput {
        1642  +
    /* StructureGenerator.kt:231 */
 2001   1643   
    #[allow(missing_docs)] // documentation missing in model
 2002   1644   
                           /* StructureGenerator.kt:166 */
 2003         -
    pub fn float(&self) -> ::std::option::Option<f32> {
 2004         -
        /* StructureGenerator.kt:168 */
 2005         -
        self.float
        1645  +
    pub fn qux(&self) -> ::std::option::Option<&str> {
        1646  +
        /* StructureGenerator.kt:169 */
        1647  +
        self.qux.as_deref()
        1648  +
        /* StructureGenerator.kt:166 */
        1649  +
    }
        1650  +
    /* StructureGenerator.kt:231 */
        1651  +
    #[allow(missing_docs)] // documentation missing in model
        1652  +
                           /* StructureGenerator.kt:166 */
        1653  +
    pub fn foo(
        1654  +
        &self,
        1655  +
    ) -> ::std::option::Option<
        1656  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        1657  +
    > {
        1658  +
        /* StructureGenerator.kt:170 */
        1659  +
        self.foo.as_ref()
 2006   1660   
        /* StructureGenerator.kt:166 */
 2007   1661   
    }
 2008   1662   
    /* StructureGenerator.kt:135 */
 2009   1663   
}
 2010   1664   
/* ServerCodegenVisitor.kt:356 */
 2011         -
impl MalformedRequestBodyInput {
 2012         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
        1665  +
impl QueryParamsAsStringListMapInput {
        1666  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
 2013   1667   
    /* ServerBuilderGenerator.kt:295 */
 2014         -
    pub fn builder() -> crate::input::malformed_request_body_input::Builder {
        1668  +
    pub fn builder() -> crate::input::query_params_as_string_list_map_input::Builder {
 2015   1669   
        /* ServerBuilderGenerator.kt:296 */
 2016         -
        crate::input::malformed_request_body_input::Builder::default()
        1670  +
        crate::input::query_params_as_string_list_map_input::Builder::default()
 2017   1671   
        /* ServerBuilderGenerator.kt:295 */
 2018   1672   
    }
 2019   1673   
    /* ServerCodegenVisitor.kt:356 */
 2020   1674   
}
 2021   1675   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2022         -
impl crate::constrained::Constrained for crate::input::MalformedRequestBodyInput {
 2023         -
    type Unconstrained = crate::input::malformed_request_body_input::Builder;
        1676  +
impl crate::constrained::Constrained for crate::input::QueryParamsAsStringListMapInput {
        1677  +
    type Unconstrained = crate::input::query_params_as_string_list_map_input::Builder;
 2024   1678   
}
 2025   1679   
 2026   1680   
/* StructureGenerator.kt:197 */
 2027   1681   
#[allow(missing_docs)] // documentation missing in model
 2028   1682   
/* RustType.kt:534 */
 2029         -
#[derive(
 2030         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2031         -
)]
 2032         -
pub /* StructureGenerator.kt:201 */ struct HttpChecksumRequiredInput {
        1683  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1684  +
pub /* StructureGenerator.kt:201 */ struct HttpPrefixHeadersInput {
 2033   1685   
    /* StructureGenerator.kt:231 */
 2034   1686   
    #[allow(missing_docs)] // documentation missing in model
 2035   1687   
    pub foo: ::std::option::Option<::std::string::String>,
        1688  +
    /* StructureGenerator.kt:231 */
        1689  +
    #[allow(missing_docs)] // documentation missing in model
        1690  +
    pub foo_map: ::std::option::Option<
        1691  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1692  +
    >,
 2036   1693   
    /* StructureGenerator.kt:201 */
 2037   1694   
}
 2038   1695   
/* StructureGenerator.kt:135 */
 2039         -
impl HttpChecksumRequiredInput {
        1696  +
impl HttpPrefixHeadersInput {
 2040   1697   
    /* StructureGenerator.kt:231 */
 2041   1698   
    #[allow(missing_docs)] // documentation missing in model
 2042   1699   
                           /* StructureGenerator.kt:166 */
 2043   1700   
    pub fn foo(&self) -> ::std::option::Option<&str> {
 2044   1701   
        /* StructureGenerator.kt:169 */
 2045   1702   
        self.foo.as_deref()
 2046   1703   
        /* StructureGenerator.kt:166 */
 2047   1704   
    }
        1705  +
    /* StructureGenerator.kt:231 */
        1706  +
    #[allow(missing_docs)] // documentation missing in model
        1707  +
                           /* StructureGenerator.kt:166 */
        1708  +
    pub fn foo_map(
        1709  +
        &self,
        1710  +
    ) -> ::std::option::Option<
        1711  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1712  +
    > {
        1713  +
        /* StructureGenerator.kt:170 */
        1714  +
        self.foo_map.as_ref()
        1715  +
        /* StructureGenerator.kt:166 */
        1716  +
    }
 2048   1717   
    /* StructureGenerator.kt:135 */
 2049   1718   
}
 2050   1719   
/* ServerCodegenVisitor.kt:356 */
 2051         -
impl HttpChecksumRequiredInput {
 2052         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
        1720  +
impl HttpPrefixHeadersInput {
        1721  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
 2053   1722   
    /* ServerBuilderGenerator.kt:295 */
 2054         -
    pub fn builder() -> crate::input::http_checksum_required_input::Builder {
        1723  +
    pub fn builder() -> crate::input::http_prefix_headers_input::Builder {
 2055   1724   
        /* ServerBuilderGenerator.kt:296 */
 2056         -
        crate::input::http_checksum_required_input::Builder::default()
        1725  +
        crate::input::http_prefix_headers_input::Builder::default()
 2057   1726   
        /* ServerBuilderGenerator.kt:295 */
 2058   1727   
    }
 2059   1728   
    /* ServerCodegenVisitor.kt:356 */
 2060   1729   
}
 2061   1730   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2062         -
impl crate::constrained::Constrained for crate::input::HttpChecksumRequiredInput {
 2063         -
    type Unconstrained = crate::input::http_checksum_required_input::Builder;
        1731  +
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInput {
        1732  +
    type Unconstrained = crate::input::http_prefix_headers_input::Builder;
 2064   1733   
}
 2065   1734   
 2066   1735   
/* StructureGenerator.kt:197 */
 2067   1736   
#[allow(missing_docs)] // documentation missing in model
 2068   1737   
/* RustType.kt:534 */
 2069   1738   
#[derive(
 2070   1739   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2071   1740   
)]
 2072         -
pub /* StructureGenerator.kt:201 */ struct HostWithPathOperationInput {/* StructureGenerator.kt:201 */}
        1741  +
pub /* StructureGenerator.kt:201 */ struct HttpPrefixHeadersInResponseInput {/* StructureGenerator.kt:201 */}
 2073   1742   
/* ServerCodegenVisitor.kt:356 */
 2074         -
impl HostWithPathOperationInput {
 2075         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        1743  +
impl HttpPrefixHeadersInResponseInput {
        1744  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
 2076   1745   
    /* ServerBuilderGenerator.kt:295 */
 2077         -
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
        1746  +
    pub fn builder() -> crate::input::http_prefix_headers_in_response_input::Builder {
 2078   1747   
        /* ServerBuilderGenerator.kt:296 */
 2079         -
        crate::input::host_with_path_operation_input::Builder::default()
        1748  +
        crate::input::http_prefix_headers_in_response_input::Builder::default()
 2080   1749   
        /* ServerBuilderGenerator.kt:295 */
 2081   1750   
    }
 2082   1751   
    /* ServerCodegenVisitor.kt:356 */
 2083   1752   
}
 2084   1753   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2085         -
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
 2086         -
    type Unconstrained = crate::input::host_with_path_operation_input::Builder;
        1754  +
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInResponseInput {
        1755  +
    type Unconstrained = crate::input::http_prefix_headers_in_response_input::Builder;
 2087   1756   
}
 2088   1757   
 2089   1758   
/* StructureGenerator.kt:197 */
 2090   1759   
#[allow(missing_docs)] // documentation missing in model
 2091   1760   
/* RustType.kt:534 */
 2092         -
#[derive(
 2093         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2094         -
)]
 2095         -
pub /* StructureGenerator.kt:201 */ struct EndpointWithHostLabelOperationInput {
        1761  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1762  +
pub /* StructureGenerator.kt:201 */ struct HttpEmptyPrefixHeadersInput {
 2096   1763   
    /* StructureGenerator.kt:231 */
 2097   1764   
    #[allow(missing_docs)] // documentation missing in model
 2098         -
    pub label: ::std::string::String,
        1765  +
    pub prefix_headers: ::std::option::Option<
        1766  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1767  +
    >,
        1768  +
    /* StructureGenerator.kt:231 */
        1769  +
    #[allow(missing_docs)] // documentation missing in model
        1770  +
    pub specific_header: ::std::option::Option<::std::string::String>,
 2099   1771   
    /* StructureGenerator.kt:201 */
 2100   1772   
}
 2101   1773   
/* StructureGenerator.kt:135 */
 2102         -
impl EndpointWithHostLabelOperationInput {
        1774  +
impl HttpEmptyPrefixHeadersInput {
 2103   1775   
    /* StructureGenerator.kt:231 */
 2104   1776   
    #[allow(missing_docs)] // documentation missing in model
 2105   1777   
                           /* StructureGenerator.kt:166 */
 2106         -
    pub fn label(&self) -> &str {
 2107         -
        /* StructureGenerator.kt:171 */
 2108         -
        use std::ops::Deref;
 2109         -
        self.label.deref()
        1778  +
    pub fn prefix_headers(
        1779  +
        &self,
        1780  +
    ) -> ::std::option::Option<
        1781  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1782  +
    > {
        1783  +
        /* StructureGenerator.kt:170 */
        1784  +
        self.prefix_headers.as_ref()
        1785  +
        /* StructureGenerator.kt:166 */
        1786  +
    }
        1787  +
    /* StructureGenerator.kt:231 */
        1788  +
    #[allow(missing_docs)] // documentation missing in model
        1789  +
                           /* StructureGenerator.kt:166 */
        1790  +
    pub fn specific_header(&self) -> ::std::option::Option<&str> {
        1791  +
        /* StructureGenerator.kt:169 */
        1792  +
        self.specific_header.as_deref()
 2110   1793   
        /* StructureGenerator.kt:166 */
 2111   1794   
    }
 2112   1795   
    /* StructureGenerator.kt:135 */
 2113   1796   
}
 2114   1797   
/* ServerCodegenVisitor.kt:356 */
 2115         -
impl EndpointWithHostLabelOperationInput {
 2116         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        1798  +
impl HttpEmptyPrefixHeadersInput {
        1799  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
 2117   1800   
    /* ServerBuilderGenerator.kt:295 */
 2118         -
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
        1801  +
    pub fn builder() -> crate::input::http_empty_prefix_headers_input::Builder {
 2119   1802   
        /* ServerBuilderGenerator.kt:296 */
 2120         -
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
        1803  +
        crate::input::http_empty_prefix_headers_input::Builder::default()
 2121   1804   
        /* ServerBuilderGenerator.kt:295 */
 2122   1805   
    }
 2123   1806   
    /* ServerCodegenVisitor.kt:356 */
 2124   1807   
}
 2125   1808   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2126         -
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
 2127         -
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input::Builder;
        1809  +
impl crate::constrained::Constrained for crate::input::HttpEmptyPrefixHeadersInput {
        1810  +
    type Unconstrained = crate::input::http_empty_prefix_headers_input::Builder;
 2128   1811   
}
 2129   1812   
 2130   1813   
/* StructureGenerator.kt:197 */
 2131   1814   
#[allow(missing_docs)] // documentation missing in model
 2132   1815   
/* RustType.kt:534 */
 2133   1816   
#[derive(
 2134   1817   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2135   1818   
)]
 2136         -
pub /* StructureGenerator.kt:201 */ struct EndpointOperationInput {/* StructureGenerator.kt:201 */}
        1819  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadTraitsInput {
        1820  +
    /* StructureGenerator.kt:231 */
        1821  +
    #[allow(missing_docs)] // documentation missing in model
        1822  +
    pub foo: ::std::option::Option<::std::string::String>,
        1823  +
    /* StructureGenerator.kt:231 */
        1824  +
    #[allow(missing_docs)] // documentation missing in model
        1825  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1826  +
    /* StructureGenerator.kt:201 */
        1827  +
}
        1828  +
/* StructureGenerator.kt:135 */
        1829  +
impl HttpPayloadTraitsInput {
        1830  +
    /* StructureGenerator.kt:231 */
        1831  +
    #[allow(missing_docs)] // documentation missing in model
        1832  +
                           /* StructureGenerator.kt:166 */
        1833  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        1834  +
        /* StructureGenerator.kt:169 */
        1835  +
        self.foo.as_deref()
        1836  +
        /* StructureGenerator.kt:166 */
        1837  +
    }
        1838  +
    /* StructureGenerator.kt:231 */
        1839  +
    #[allow(missing_docs)] // documentation missing in model
        1840  +
                           /* StructureGenerator.kt:166 */
        1841  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        1842  +
        /* StructureGenerator.kt:170 */
        1843  +
        self.blob.as_ref()
        1844  +
        /* StructureGenerator.kt:166 */
        1845  +
    }
        1846  +
    /* StructureGenerator.kt:135 */
        1847  +
}
 2137   1848   
/* ServerCodegenVisitor.kt:356 */
 2138         -
impl EndpointOperationInput {
 2139         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        1849  +
impl HttpPayloadTraitsInput {
        1850  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
 2140   1851   
    /* ServerBuilderGenerator.kt:295 */
 2141         -
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
        1852  +
    pub fn builder() -> crate::input::http_payload_traits_input::Builder {
 2142   1853   
        /* ServerBuilderGenerator.kt:296 */
 2143         -
        crate::input::endpoint_operation_input::Builder::default()
        1854  +
        crate::input::http_payload_traits_input::Builder::default()
 2144   1855   
        /* ServerBuilderGenerator.kt:295 */
 2145   1856   
    }
 2146   1857   
    /* ServerCodegenVisitor.kt:356 */
 2147   1858   
}
 2148   1859   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2149         -
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
 2150         -
    type Unconstrained = crate::input::endpoint_operation_input::Builder;
        1860  +
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsInput {
        1861  +
    type Unconstrained = crate::input::http_payload_traits_input::Builder;
 2151   1862   
}
 2152   1863   
 2153   1864   
/* StructureGenerator.kt:197 */
 2154   1865   
#[allow(missing_docs)] // documentation missing in model
 2155   1866   
/* RustType.kt:534 */
 2156   1867   
#[derive(
 2157   1868   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2158   1869   
)]
 2159         -
pub /* StructureGenerator.kt:201 */ struct PostUnionWithJsonNameInput {
        1870  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadTraitsWithMediaTypeInput {
 2160   1871   
    /* StructureGenerator.kt:231 */
 2161   1872   
    #[allow(missing_docs)] // documentation missing in model
 2162         -
    pub value: ::std::option::Option<crate::model::UnionWithJsonName>,
        1873  +
    pub foo: ::std::option::Option<::std::string::String>,
        1874  +
    /* StructureGenerator.kt:231 */
        1875  +
    #[allow(missing_docs)] // documentation missing in model
        1876  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
 2163   1877   
    /* StructureGenerator.kt:201 */
 2164   1878   
}
 2165   1879   
/* StructureGenerator.kt:135 */
 2166         -
impl PostUnionWithJsonNameInput {
        1880  +
impl HttpPayloadTraitsWithMediaTypeInput {
 2167   1881   
    /* StructureGenerator.kt:231 */
 2168   1882   
    #[allow(missing_docs)] // documentation missing in model
 2169   1883   
                           /* StructureGenerator.kt:166 */
 2170         -
    pub fn value(&self) -> ::std::option::Option<&crate::model::UnionWithJsonName> {
        1884  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        1885  +
        /* StructureGenerator.kt:169 */
        1886  +
        self.foo.as_deref()
        1887  +
        /* StructureGenerator.kt:166 */
        1888  +
    }
        1889  +
    /* StructureGenerator.kt:231 */
        1890  +
    #[allow(missing_docs)] // documentation missing in model
        1891  +
                           /* StructureGenerator.kt:166 */
        1892  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
 2171   1893   
        /* StructureGenerator.kt:170 */
 2172         -
        self.value.as_ref()
        1894  +
        self.blob.as_ref()
 2173   1895   
        /* StructureGenerator.kt:166 */
 2174   1896   
    }
 2175   1897   
    /* StructureGenerator.kt:135 */
 2176   1898   
}
 2177   1899   
/* ServerCodegenVisitor.kt:356 */
 2178         -
impl PostUnionWithJsonNameInput {
 2179         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
        1900  +
impl HttpPayloadTraitsWithMediaTypeInput {
        1901  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
 2180   1902   
    /* ServerBuilderGenerator.kt:295 */
 2181         -
    pub fn builder() -> crate::input::post_union_with_json_name_input::Builder {
        1903  +
    pub fn builder() -> crate::input::http_payload_traits_with_media_type_input::Builder {
 2182   1904   
        /* ServerBuilderGenerator.kt:296 */
 2183         -
        crate::input::post_union_with_json_name_input::Builder::default()
        1905  +
        crate::input::http_payload_traits_with_media_type_input::Builder::default()
 2184   1906   
        /* ServerBuilderGenerator.kt:295 */
 2185   1907   
    }
 2186   1908   
    /* ServerCodegenVisitor.kt:356 */
 2187   1909   
}
 2188   1910   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2189         -
impl crate::constrained::Constrained for crate::input::PostUnionWithJsonNameInput {
 2190         -
    type Unconstrained = crate::input::post_union_with_json_name_input::Builder;
        1911  +
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsWithMediaTypeInput {
        1912  +
    type Unconstrained = crate::input::http_payload_traits_with_media_type_input::Builder;
 2191   1913   
}
 2192   1914   
 2193   1915   
/* StructureGenerator.kt:197 */
 2194   1916   
#[allow(missing_docs)] // documentation missing in model
 2195   1917   
/* RustType.kt:534 */
 2196   1918   
#[derive(
 2197   1919   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2198   1920   
)]
 2199         -
pub /* StructureGenerator.kt:201 */ struct PostPlayerActionInput {
        1921  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadWithStructureInput {
 2200   1922   
    /* StructureGenerator.kt:231 */
 2201   1923   
    #[allow(missing_docs)] // documentation missing in model
 2202         -
    pub action: ::std::option::Option<crate::model::PlayerAction>,
        1924  +
    pub nested: ::std::option::Option<crate::model::NestedPayload>,
 2203   1925   
    /* StructureGenerator.kt:201 */
 2204   1926   
}
 2205   1927   
/* StructureGenerator.kt:135 */
 2206         -
impl PostPlayerActionInput {
        1928  +
impl HttpPayloadWithStructureInput {
 2207   1929   
    /* StructureGenerator.kt:231 */
 2208   1930   
    #[allow(missing_docs)] // documentation missing in model
 2209   1931   
                           /* StructureGenerator.kt:166 */
 2210         -
    pub fn action(&self) -> ::std::option::Option<&crate::model::PlayerAction> {
        1932  +
    pub fn nested(&self) -> ::std::option::Option<&crate::model::NestedPayload> {
 2211   1933   
        /* StructureGenerator.kt:170 */
 2212         -
        self.action.as_ref()
        1934  +
        self.nested.as_ref()
 2213   1935   
        /* StructureGenerator.kt:166 */
 2214   1936   
    }
 2215   1937   
    /* StructureGenerator.kt:135 */
 2216   1938   
}
 2217   1939   
/* ServerCodegenVisitor.kt:356 */
 2218         -
impl PostPlayerActionInput {
 2219         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
        1940  +
impl HttpPayloadWithStructureInput {
        1941  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
 2220   1942   
    /* ServerBuilderGenerator.kt:295 */
 2221         -
    pub fn builder() -> crate::input::post_player_action_input::Builder {
        1943  +
    pub fn builder() -> crate::input::http_payload_with_structure_input::Builder {
 2222   1944   
        /* ServerBuilderGenerator.kt:296 */
 2223         -
        crate::input::post_player_action_input::Builder::default()
        1945  +
        crate::input::http_payload_with_structure_input::Builder::default()
 2224   1946   
        /* ServerBuilderGenerator.kt:295 */
 2225   1947   
    }
 2226   1948   
    /* ServerCodegenVisitor.kt:356 */
 2227   1949   
}
 2228   1950   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2229         -
impl crate::constrained::Constrained for crate::input::PostPlayerActionInput {
 2230         -
    type Unconstrained = crate::input::post_player_action_input::Builder;
        1951  +
impl crate::constrained::Constrained for crate::input::HttpPayloadWithStructureInput {
        1952  +
    type Unconstrained = crate::input::http_payload_with_structure_input::Builder;
 2231   1953   
}
 2232   1954   
 2233         -
/// /* StructureGenerator.kt:197 */A shared structure that contains a single union member.
        1955  +
/* StructureGenerator.kt:197 */
        1956  +
#[allow(missing_docs)] // documentation missing in model
 2234   1957   
/* RustType.kt:534 */
 2235         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2236         -
pub /* StructureGenerator.kt:201 */ struct JsonUnionsInput {
 2237         -
    /// /* StructureGenerator.kt:231 */A union with a representative set of types for members.
 2238         -
    pub contents: ::std::option::Option<crate::model::MyUnion>,
        1958  +
#[derive(
        1959  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1960  +
)]
        1961  +
pub /* StructureGenerator.kt:201 */ struct HttpEnumPayloadInput {
        1962  +
    /* StructureGenerator.kt:231 */
        1963  +
    #[allow(missing_docs)] // documentation missing in model
        1964  +
    pub payload: ::std::option::Option<crate::model::StringEnum>,
 2239   1965   
    /* StructureGenerator.kt:201 */
 2240   1966   
}
 2241   1967   
/* StructureGenerator.kt:135 */
 2242         -
impl JsonUnionsInput {
 2243         -
    /// /* StructureGenerator.kt:231 */A union with a representative set of types for members.
 2244         -
    /* StructureGenerator.kt:166 */
 2245         -
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
        1968  +
impl HttpEnumPayloadInput {
        1969  +
    /* StructureGenerator.kt:231 */
        1970  +
    #[allow(missing_docs)] // documentation missing in model
        1971  +
                           /* StructureGenerator.kt:166 */
        1972  +
    pub fn payload(&self) -> ::std::option::Option<&crate::model::StringEnum> {
 2246   1973   
        /* StructureGenerator.kt:170 */
 2247         -
        self.contents.as_ref()
        1974  +
        self.payload.as_ref()
 2248   1975   
        /* StructureGenerator.kt:166 */
 2249   1976   
    }
 2250   1977   
    /* StructureGenerator.kt:135 */
 2251   1978   
}
 2252   1979   
/* ServerCodegenVisitor.kt:356 */
 2253         -
impl JsonUnionsInput {
 2254         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        1980  +
impl HttpEnumPayloadInput {
        1981  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
 2255   1982   
    /* ServerBuilderGenerator.kt:295 */
 2256         -
    pub fn builder() -> crate::input::json_unions_input::Builder {
        1983  +
    pub fn builder() -> crate::input::http_enum_payload_input::Builder {
 2257   1984   
        /* ServerBuilderGenerator.kt:296 */
 2258         -
        crate::input::json_unions_input::Builder::default()
        1985  +
        crate::input::http_enum_payload_input::Builder::default()
 2259   1986   
        /* ServerBuilderGenerator.kt:295 */
 2260   1987   
    }
 2261   1988   
    /* ServerCodegenVisitor.kt:356 */
 2262   1989   
}
 2263   1990   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2264         -
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
 2265         -
    type Unconstrained = crate::input::json_unions_input::Builder;
        1991  +
impl crate::constrained::Constrained for crate::input::HttpEnumPayloadInput {
        1992  +
    type Unconstrained = crate::input::http_enum_payload_input::Builder;
 2266   1993   
}
 2267   1994   
 2268   1995   
/* StructureGenerator.kt:197 */
 2269   1996   
#[allow(missing_docs)] // documentation missing in model
 2270   1997   
/* RustType.kt:534 */
 2271         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2272         -
pub /* StructureGenerator.kt:201 */ struct DocumentTypeAsMapValueInput {
        1998  +
#[derive(
        1999  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2000  +
)]
        2001  +
pub /* StructureGenerator.kt:201 */ struct HttpStringPayloadInput {
 2273   2002   
    /* StructureGenerator.kt:231 */
 2274   2003   
    #[allow(missing_docs)] // documentation missing in model
 2275         -
    pub doc_valued_map: ::std::option::Option<
 2276         -
        ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
 2277         -
    >,
        2004  +
    pub payload: ::std::option::Option<::std::string::String>,
 2278   2005   
    /* StructureGenerator.kt:201 */
 2279   2006   
}
 2280   2007   
/* StructureGenerator.kt:135 */
 2281         -
impl DocumentTypeAsMapValueInput {
        2008  +
impl HttpStringPayloadInput {
 2282   2009   
    /* StructureGenerator.kt:231 */
 2283   2010   
    #[allow(missing_docs)] // documentation missing in model
 2284   2011   
                           /* StructureGenerator.kt:166 */
 2285         -
    pub fn doc_valued_map(
 2286         -
        &self,
 2287         -
    ) -> ::std::option::Option<
 2288         -
        &::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
 2289         -
    > {
 2290         -
        /* StructureGenerator.kt:170 */
 2291         -
        self.doc_valued_map.as_ref()
        2012  +
    pub fn payload(&self) -> ::std::option::Option<&str> {
        2013  +
        /* StructureGenerator.kt:169 */
        2014  +
        self.payload.as_deref()
 2292   2015   
        /* StructureGenerator.kt:166 */
 2293   2016   
    }
 2294   2017   
    /* StructureGenerator.kt:135 */
 2295   2018   
}
 2296   2019   
/* ServerCodegenVisitor.kt:356 */
 2297         -
impl DocumentTypeAsMapValueInput {
 2298         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
        2020  +
impl HttpStringPayloadInput {
        2021  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
 2299   2022   
    /* ServerBuilderGenerator.kt:295 */
 2300         -
    pub fn builder() -> crate::input::document_type_as_map_value_input::Builder {
        2023  +
    pub fn builder() -> crate::input::http_string_payload_input::Builder {
 2301   2024   
        /* ServerBuilderGenerator.kt:296 */
 2302         -
        crate::input::document_type_as_map_value_input::Builder::default()
        2025  +
        crate::input::http_string_payload_input::Builder::default()
 2303   2026   
        /* ServerBuilderGenerator.kt:295 */
 2304   2027   
    }
 2305   2028   
    /* ServerCodegenVisitor.kt:356 */
 2306   2029   
}
 2307   2030   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2308         -
impl crate::constrained::Constrained for crate::input::DocumentTypeAsMapValueInput {
 2309         -
    type Unconstrained = crate::input::document_type_as_map_value_input::Builder;
        2031  +
impl crate::constrained::Constrained for crate::input::HttpStringPayloadInput {
        2032  +
    type Unconstrained = crate::input::http_string_payload_input::Builder;
 2310   2033   
}
 2311   2034   
 2312   2035   
/* StructureGenerator.kt:197 */
 2313   2036   
#[allow(missing_docs)] // documentation missing in model
 2314   2037   
/* RustType.kt:534 */
 2315         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2316         -
pub /* StructureGenerator.kt:201 */ struct DocumentTypeAsPayloadInput {
        2038  +
#[derive(
        2039  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2040  +
)]
        2041  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadWithUnionInput {
 2317   2042   
    /* StructureGenerator.kt:231 */
 2318   2043   
    #[allow(missing_docs)] // documentation missing in model
 2319         -
    pub document_value: ::std::option::Option<::aws_smithy_types::Document>,
        2044  +
    pub nested: ::std::option::Option<crate::model::UnionPayload>,
 2320   2045   
    /* StructureGenerator.kt:201 */
 2321   2046   
}
 2322   2047   
/* StructureGenerator.kt:135 */
 2323         -
impl DocumentTypeAsPayloadInput {
        2048  +
impl HttpPayloadWithUnionInput {
 2324   2049   
    /* StructureGenerator.kt:231 */
 2325   2050   
    #[allow(missing_docs)] // documentation missing in model
 2326   2051   
                           /* StructureGenerator.kt:166 */
 2327         -
    pub fn document_value(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
        2052  +
    pub fn nested(&self) -> ::std::option::Option<&crate::model::UnionPayload> {
 2328   2053   
        /* StructureGenerator.kt:170 */
 2329         -
        self.document_value.as_ref()
        2054  +
        self.nested.as_ref()
 2330   2055   
        /* StructureGenerator.kt:166 */
 2331   2056   
    }
 2332   2057   
    /* StructureGenerator.kt:135 */
 2333   2058   
}
 2334   2059   
/* ServerCodegenVisitor.kt:356 */
 2335         -
impl DocumentTypeAsPayloadInput {
 2336         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
        2060  +
impl HttpPayloadWithUnionInput {
        2061  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
 2337   2062   
    /* ServerBuilderGenerator.kt:295 */
 2338         -
    pub fn builder() -> crate::input::document_type_as_payload_input::Builder {
        2063  +
    pub fn builder() -> crate::input::http_payload_with_union_input::Builder {
 2339   2064   
        /* ServerBuilderGenerator.kt:296 */
 2340         -
        crate::input::document_type_as_payload_input::Builder::default()
        2065  +
        crate::input::http_payload_with_union_input::Builder::default()
 2341   2066   
        /* ServerBuilderGenerator.kt:295 */
 2342   2067   
    }
 2343   2068   
    /* ServerCodegenVisitor.kt:356 */
 2344   2069   
}
 2345   2070   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2346         -
impl crate::constrained::Constrained for crate::input::DocumentTypeAsPayloadInput {
 2347         -
    type Unconstrained = crate::input::document_type_as_payload_input::Builder;
        2071  +
impl crate::constrained::Constrained for crate::input::HttpPayloadWithUnionInput {
        2072  +
    type Unconstrained = crate::input::http_payload_with_union_input::Builder;
 2348   2073   
}
 2349   2074   
 2350   2075   
/* StructureGenerator.kt:197 */
 2351   2076   
#[allow(missing_docs)] // documentation missing in model
 2352   2077   
/* RustType.kt:534 */
 2353         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2354         -
pub /* StructureGenerator.kt:201 */ struct DocumentTypeInput {
        2078  +
#[derive(
        2079  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2080  +
)]
        2081  +
pub /* StructureGenerator.kt:201 */ struct HttpResponseCodeInput {/* StructureGenerator.kt:201 */}
        2082  +
/* ServerCodegenVisitor.kt:356 */
        2083  +
impl HttpResponseCodeInput {
        2084  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
        2085  +
    /* ServerBuilderGenerator.kt:295 */
        2086  +
    pub fn builder() -> crate::input::http_response_code_input::Builder {
        2087  +
        /* ServerBuilderGenerator.kt:296 */
        2088  +
        crate::input::http_response_code_input::Builder::default()
        2089  +
        /* ServerBuilderGenerator.kt:295 */
        2090  +
    }
        2091  +
    /* ServerCodegenVisitor.kt:356 */
        2092  +
}
        2093  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2094  +
impl crate::constrained::Constrained for crate::input::HttpResponseCodeInput {
        2095  +
    type Unconstrained = crate::input::http_response_code_input::Builder;
        2096  +
}
        2097  +
        2098  +
/* StructureGenerator.kt:197 */
        2099  +
#[allow(missing_docs)] // documentation missing in model
        2100  +
/* RustType.kt:534 */
        2101  +
#[derive(
        2102  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2103  +
)]
        2104  +
pub /* StructureGenerator.kt:201 */ struct ResponseCodeRequiredInput {/* StructureGenerator.kt:201 */}
        2105  +
/* ServerCodegenVisitor.kt:356 */
        2106  +
impl ResponseCodeRequiredInput {
        2107  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
        2108  +
    /* ServerBuilderGenerator.kt:295 */
        2109  +
    pub fn builder() -> crate::input::response_code_required_input::Builder {
        2110  +
        /* ServerBuilderGenerator.kt:296 */
        2111  +
        crate::input::response_code_required_input::Builder::default()
        2112  +
        /* ServerBuilderGenerator.kt:295 */
        2113  +
    }
        2114  +
    /* ServerCodegenVisitor.kt:356 */
        2115  +
}
        2116  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2117  +
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredInput {
        2118  +
    type Unconstrained = crate::input::response_code_required_input::Builder;
        2119  +
}
        2120  +
        2121  +
/* StructureGenerator.kt:197 */
        2122  +
#[allow(missing_docs)] // documentation missing in model
        2123  +
/* RustType.kt:534 */
        2124  +
#[derive(
        2125  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2126  +
)]
        2127  +
pub /* StructureGenerator.kt:201 */ struct ResponseCodeHttpFallbackInput {/* StructureGenerator.kt:201 */}
        2128  +
/* ServerCodegenVisitor.kt:356 */
        2129  +
impl ResponseCodeHttpFallbackInput {
        2130  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
        2131  +
    /* ServerBuilderGenerator.kt:295 */
        2132  +
    pub fn builder() -> crate::input::response_code_http_fallback_input::Builder {
        2133  +
        /* ServerBuilderGenerator.kt:296 */
        2134  +
        crate::input::response_code_http_fallback_input::Builder::default()
        2135  +
        /* ServerBuilderGenerator.kt:295 */
        2136  +
    }
        2137  +
    /* ServerCodegenVisitor.kt:356 */
        2138  +
}
        2139  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2140  +
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackInput {
        2141  +
    type Unconstrained = crate::input::response_code_http_fallback_input::Builder;
        2142  +
}
        2143  +
        2144  +
/* StructureGenerator.kt:197 */
        2145  +
#[allow(missing_docs)] // documentation missing in model
        2146  +
/* RustType.kt:534 */
        2147  +
#[derive(::std::fmt::Debug)]
        2148  +
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsInput {
 2355   2149   
    /* StructureGenerator.kt:231 */
 2356   2150   
    #[allow(missing_docs)] // documentation missing in model
 2357         -
    pub string_value: ::std::option::Option<::std::string::String>,
        2151  +
    pub foo: ::std::option::Option<::std::string::String>,
 2358   2152   
    /* StructureGenerator.kt:231 */
 2359   2153   
    #[allow(missing_docs)] // documentation missing in model
 2360         -
    pub document_value: ::std::option::Option<::aws_smithy_types::Document>,
        2154  +
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
 2361   2155   
    /* StructureGenerator.kt:201 */
 2362   2156   
}
 2363   2157   
/* StructureGenerator.kt:135 */
 2364         -
impl DocumentTypeInput {
        2158  +
impl StreamingTraitsInput {
 2365   2159   
    /* StructureGenerator.kt:231 */
 2366   2160   
    #[allow(missing_docs)] // documentation missing in model
 2367   2161   
                           /* StructureGenerator.kt:166 */
 2368         -
    pub fn string_value(&self) -> ::std::option::Option<&str> {
        2162  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
 2369   2163   
        /* StructureGenerator.kt:169 */
 2370         -
        self.string_value.as_deref()
        2164  +
        self.foo.as_deref()
 2371   2165   
        /* StructureGenerator.kt:166 */
 2372   2166   
    }
 2373   2167   
    /* StructureGenerator.kt:231 */
 2374   2168   
    #[allow(missing_docs)] // documentation missing in model
 2375   2169   
                           /* StructureGenerator.kt:166 */
 2376         -
    pub fn document_value(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
 2377         -
        /* StructureGenerator.kt:170 */
 2378         -
        self.document_value.as_ref()
        2170  +
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
        2171  +
        /* StructureGenerator.kt:172 */
        2172  +
        &self.blob
 2379   2173   
        /* StructureGenerator.kt:166 */
 2380   2174   
    }
 2381   2175   
    /* StructureGenerator.kt:135 */
 2382   2176   
}
 2383   2177   
/* ServerCodegenVisitor.kt:356 */
 2384         -
impl DocumentTypeInput {
 2385         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeInput`](crate::input::DocumentTypeInput).
        2178  +
impl StreamingTraitsInput {
        2179  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
 2386   2180   
    /* ServerBuilderGenerator.kt:295 */
 2387         -
    pub fn builder() -> crate::input::document_type_input::Builder {
        2181  +
    pub fn builder() -> crate::input::streaming_traits_input::Builder {
 2388   2182   
        /* ServerBuilderGenerator.kt:296 */
 2389         -
        crate::input::document_type_input::Builder::default()
        2183  +
        crate::input::streaming_traits_input::Builder::default()
 2390   2184   
        /* ServerBuilderGenerator.kt:295 */
 2391   2185   
    }
 2392   2186   
    /* ServerCodegenVisitor.kt:356 */
 2393   2187   
}
 2394   2188   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2395         -
impl crate::constrained::Constrained for crate::input::DocumentTypeInput {
 2396         -
    type Unconstrained = crate::input::document_type_input::Builder;
        2189  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsInput {
        2190  +
    type Unconstrained = crate::input::streaming_traits_input::Builder;
 2397   2191   
}
 2398   2192   
 2399   2193   
/* StructureGenerator.kt:197 */
 2400   2194   
#[allow(missing_docs)] // documentation missing in model
 2401   2195   
/* RustType.kt:534 */
 2402         -
#[derive(
 2403         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2404         -
)]
 2405         -
pub /* StructureGenerator.kt:201 */ struct JsonBlobsInput {
        2196  +
#[derive(::std::fmt::Debug)]
        2197  +
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsRequireLengthInput {
 2406   2198   
    /* StructureGenerator.kt:231 */
 2407   2199   
    #[allow(missing_docs)] // documentation missing in model
 2408         -
    pub data: ::std::option::Option<::aws_smithy_types::Blob>,
        2200  +
    pub foo: ::std::option::Option<::std::string::String>,
        2201  +
    /* StructureGenerator.kt:231 */
        2202  +
    #[allow(missing_docs)] // documentation missing in model
        2203  +
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
 2409   2204   
    /* StructureGenerator.kt:201 */
 2410   2205   
}
 2411   2206   
/* StructureGenerator.kt:135 */
 2412         -
impl JsonBlobsInput {
        2207  +
impl StreamingTraitsRequireLengthInput {
 2413   2208   
    /* StructureGenerator.kt:231 */
 2414   2209   
    #[allow(missing_docs)] // documentation missing in model
 2415   2210   
                           /* StructureGenerator.kt:166 */
 2416         -
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
 2417         -
        /* StructureGenerator.kt:170 */
 2418         -
        self.data.as_ref()
        2211  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2212  +
        /* StructureGenerator.kt:169 */
        2213  +
        self.foo.as_deref()
        2214  +
        /* StructureGenerator.kt:166 */
        2215  +
    }
        2216  +
    /* StructureGenerator.kt:231 */
        2217  +
    #[allow(missing_docs)] // documentation missing in model
        2218  +
                           /* StructureGenerator.kt:166 */
        2219  +
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
        2220  +
        /* StructureGenerator.kt:172 */
        2221  +
        &self.blob
 2419   2222   
        /* StructureGenerator.kt:166 */
 2420   2223   
    }
 2421   2224   
    /* StructureGenerator.kt:135 */
 2422   2225   
}
 2423   2226   
/* ServerCodegenVisitor.kt:356 */
 2424         -
impl JsonBlobsInput {
 2425         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonBlobsInput`](crate::input::JsonBlobsInput).
        2227  +
impl StreamingTraitsRequireLengthInput {
        2228  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
 2426   2229   
    /* ServerBuilderGenerator.kt:295 */
 2427         -
    pub fn builder() -> crate::input::json_blobs_input::Builder {
        2230  +
    pub fn builder() -> crate::input::streaming_traits_require_length_input::Builder {
 2428   2231   
        /* ServerBuilderGenerator.kt:296 */
 2429         -
        crate::input::json_blobs_input::Builder::default()
        2232  +
        crate::input::streaming_traits_require_length_input::Builder::default()
 2430   2233   
        /* ServerBuilderGenerator.kt:295 */
 2431   2234   
    }
 2432   2235   
    /* ServerCodegenVisitor.kt:356 */
 2433   2236   
}
 2434   2237   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2435         -
impl crate::constrained::Constrained for crate::input::JsonBlobsInput {
 2436         -
    type Unconstrained = crate::input::json_blobs_input::Builder;
        2238  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsRequireLengthInput {
        2239  +
    type Unconstrained = crate::input::streaming_traits_require_length_input::Builder;
 2437   2240   
}
 2438   2241   
 2439   2242   
/* StructureGenerator.kt:197 */
 2440   2243   
#[allow(missing_docs)] // documentation missing in model
 2441   2244   
/* RustType.kt:534 */
 2442         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2443         -
pub /* StructureGenerator.kt:201 */ struct SparseJsonMapsInput {
        2245  +
#[derive(::std::fmt::Debug)]
        2246  +
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsWithMediaTypeInput {
 2444   2247   
    /* StructureGenerator.kt:231 */
 2445   2248   
    #[allow(missing_docs)] // documentation missing in model
 2446         -
    pub sparse_struct_map: ::std::option::Option<
 2447         -
        ::std::collections::HashMap<
 2448         -
            ::std::string::String,
 2449         -
            ::std::option::Option<crate::model::GreetingStruct>,
 2450         -
        >,
 2451         -
    >,
        2249  +
    pub foo: ::std::option::Option<::std::string::String>,
 2452   2250   
    /* StructureGenerator.kt:231 */
 2453   2251   
    #[allow(missing_docs)] // documentation missing in model
 2454         -
    pub sparse_number_map: ::std::option::Option<
 2455         -
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
 2456         -
    >,
 2457         -
    /* StructureGenerator.kt:231 */
 2458         -
    #[allow(missing_docs)] // documentation missing in model
 2459         -
    pub sparse_boolean_map: ::std::option::Option<
 2460         -
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
 2461         -
    >,
 2462         -
    /* StructureGenerator.kt:231 */
 2463         -
    #[allow(missing_docs)] // documentation missing in model
 2464         -
    pub sparse_string_map: ::std::option::Option<
 2465         -
        ::std::collections::HashMap<
 2466         -
            ::std::string::String,
 2467         -
            ::std::option::Option<::std::string::String>,
 2468         -
        >,
 2469         -
    >,
 2470         -
    /* StructureGenerator.kt:231 */
 2471         -
    #[allow(missing_docs)] // documentation missing in model
 2472         -
    pub sparse_set_map: ::std::option::Option<
 2473         -
        ::std::collections::HashMap<
 2474         -
            ::std::string::String,
 2475         -
            ::std::option::Option<crate::model::StringSet>,
 2476         -
        >,
 2477         -
    >,
        2252  +
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
 2478   2253   
    /* StructureGenerator.kt:201 */
 2479   2254   
}
 2480   2255   
/* StructureGenerator.kt:135 */
 2481         -
impl SparseJsonMapsInput {
 2482         -
    /* StructureGenerator.kt:231 */
 2483         -
    #[allow(missing_docs)] // documentation missing in model
 2484         -
                           /* StructureGenerator.kt:166 */
 2485         -
    pub fn sparse_struct_map(
 2486         -
        &self,
 2487         -
    ) -> ::std::option::Option<
 2488         -
        &::std::collections::HashMap<
 2489         -
            ::std::string::String,
 2490         -
            ::std::option::Option<crate::model::GreetingStruct>,
 2491         -
        >,
 2492         -
    > {
 2493         -
        /* StructureGenerator.kt:170 */
 2494         -
        self.sparse_struct_map.as_ref()
 2495         -
        /* StructureGenerator.kt:166 */
 2496         -
    }
 2497         -
    /* StructureGenerator.kt:231 */
 2498         -
    #[allow(missing_docs)] // documentation missing in model
 2499         -
                           /* StructureGenerator.kt:166 */
 2500         -
    pub fn sparse_number_map(
 2501         -
        &self,
 2502         -
    ) -> ::std::option::Option<
 2503         -
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
 2504         -
    > {
 2505         -
        /* StructureGenerator.kt:170 */
 2506         -
        self.sparse_number_map.as_ref()
 2507         -
        /* StructureGenerator.kt:166 */
 2508         -
    }
 2509         -
    /* StructureGenerator.kt:231 */
 2510         -
    #[allow(missing_docs)] // documentation missing in model
 2511         -
                           /* StructureGenerator.kt:166 */
 2512         -
    pub fn sparse_boolean_map(
 2513         -
        &self,
 2514         -
    ) -> ::std::option::Option<
 2515         -
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
 2516         -
    > {
 2517         -
        /* StructureGenerator.kt:170 */
 2518         -
        self.sparse_boolean_map.as_ref()
 2519         -
        /* StructureGenerator.kt:166 */
 2520         -
    }
        2256  +
impl StreamingTraitsWithMediaTypeInput {
 2521   2257   
    /* StructureGenerator.kt:231 */
 2522   2258   
    #[allow(missing_docs)] // documentation missing in model
 2523   2259   
                           /* StructureGenerator.kt:166 */
 2524         -
    pub fn sparse_string_map(
 2525         -
        &self,
 2526         -
    ) -> ::std::option::Option<
 2527         -
        &::std::collections::HashMap<
 2528         -
            ::std::string::String,
 2529         -
            ::std::option::Option<::std::string::String>,
 2530         -
        >,
 2531         -
    > {
 2532         -
        /* StructureGenerator.kt:170 */
 2533         -
        self.sparse_string_map.as_ref()
        2260  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2261  +
        /* StructureGenerator.kt:169 */
        2262  +
        self.foo.as_deref()
 2534   2263   
        /* StructureGenerator.kt:166 */
 2535   2264   
    }
 2536   2265   
    /* StructureGenerator.kt:231 */
 2537   2266   
    #[allow(missing_docs)] // documentation missing in model
 2538   2267   
                           /* StructureGenerator.kt:166 */
 2539         -
    pub fn sparse_set_map(
 2540         -
        &self,
 2541         -
    ) -> ::std::option::Option<
 2542         -
        &::std::collections::HashMap<
 2543         -
            ::std::string::String,
 2544         -
            ::std::option::Option<crate::model::StringSet>,
 2545         -
        >,
 2546         -
    > {
 2547         -
        /* StructureGenerator.kt:170 */
 2548         -
        self.sparse_set_map.as_ref()
        2268  +
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
        2269  +
        /* StructureGenerator.kt:172 */
        2270  +
        &self.blob
 2549   2271   
        /* StructureGenerator.kt:166 */
 2550   2272   
    }
 2551   2273   
    /* StructureGenerator.kt:135 */
 2552   2274   
}
 2553   2275   
/* ServerCodegenVisitor.kt:356 */
 2554         -
impl SparseJsonMapsInput {
 2555         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
        2276  +
impl StreamingTraitsWithMediaTypeInput {
        2277  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
 2556   2278   
    /* ServerBuilderGenerator.kt:295 */
 2557         -
    pub fn builder() -> crate::input::sparse_json_maps_input::Builder {
        2279  +
    pub fn builder() -> crate::input::streaming_traits_with_media_type_input::Builder {
 2558   2280   
        /* ServerBuilderGenerator.kt:296 */
 2559         -
        crate::input::sparse_json_maps_input::Builder::default()
        2281  +
        crate::input::streaming_traits_with_media_type_input::Builder::default()
 2560   2282   
        /* ServerBuilderGenerator.kt:295 */
 2561   2283   
    }
 2562   2284   
    /* ServerCodegenVisitor.kt:356 */
 2563   2285   
}
 2564   2286   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2565         -
impl crate::constrained::Constrained for crate::input::SparseJsonMapsInput {
 2566         -
    type Unconstrained = crate::input::sparse_json_maps_input::Builder;
        2287  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsWithMediaTypeInput {
        2288  +
    type Unconstrained = crate::input::streaming_traits_with_media_type_input::Builder;
 2567   2289   
}
 2568   2290   
 2569   2291   
/* StructureGenerator.kt:197 */
 2570   2292   
#[allow(missing_docs)] // documentation missing in model
 2571   2293   
/* RustType.kt:534 */
 2572         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2573         -
pub /* StructureGenerator.kt:201 */ struct JsonMapsInput {
        2294  +
#[derive(
        2295  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2296  +
)]
        2297  +
pub /* StructureGenerator.kt:201 */ struct GreetingWithErrorsInput {/* StructureGenerator.kt:201 */}
        2298  +
/* ServerCodegenVisitor.kt:356 */
        2299  +
impl GreetingWithErrorsInput {
        2300  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        2301  +
    /* ServerBuilderGenerator.kt:295 */
        2302  +
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
        2303  +
        /* ServerBuilderGenerator.kt:296 */
        2304  +
        crate::input::greeting_with_errors_input::Builder::default()
        2305  +
        /* ServerBuilderGenerator.kt:295 */
        2306  +
    }
        2307  +
    /* ServerCodegenVisitor.kt:356 */
        2308  +
}
        2309  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2310  +
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
        2311  +
    type Unconstrained = crate::input::greeting_with_errors_input::Builder;
        2312  +
}
        2313  +
        2314  +
/* StructureGenerator.kt:197 */
        2315  +
#[allow(missing_docs)] // documentation missing in model
        2316  +
/* RustType.kt:534 */
        2317  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2318  +
pub /* StructureGenerator.kt:201 */ struct SimpleScalarPropertiesInput {
 2574   2319   
    /* StructureGenerator.kt:231 */
 2575   2320   
    #[allow(missing_docs)] // documentation missing in model
 2576         -
    pub dense_struct_map: ::std::option::Option<
 2577         -
        ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
 2578         -
    >,
        2321  +
    pub foo: ::std::option::Option<::std::string::String>,
 2579   2322   
    /* StructureGenerator.kt:231 */
 2580   2323   
    #[allow(missing_docs)] // documentation missing in model
 2581         -
    pub dense_number_map:
 2582         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2324  +
    pub string_value: ::std::option::Option<::std::string::String>,
 2583   2325   
    /* StructureGenerator.kt:231 */
 2584   2326   
    #[allow(missing_docs)] // documentation missing in model
 2585         -
    pub dense_boolean_map:
 2586         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
        2327  +
    pub true_boolean_value: ::std::option::Option<bool>,
 2587   2328   
    /* StructureGenerator.kt:231 */
 2588   2329   
    #[allow(missing_docs)] // documentation missing in model
 2589         -
    pub dense_string_map: ::std::option::Option<
 2590         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2591         -
    >,
        2330  +
    pub false_boolean_value: ::std::option::Option<bool>,
 2592   2331   
    /* StructureGenerator.kt:231 */
 2593   2332   
    #[allow(missing_docs)] // documentation missing in model
 2594         -
    pub dense_set_map: ::std::option::Option<
 2595         -
        ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
 2596         -
    >,
        2333  +
    pub byte_value: ::std::option::Option<i8>,
        2334  +
    /* StructureGenerator.kt:231 */
        2335  +
    #[allow(missing_docs)] // documentation missing in model
        2336  +
    pub short_value: ::std::option::Option<i16>,
        2337  +
    /* StructureGenerator.kt:231 */
        2338  +
    #[allow(missing_docs)] // documentation missing in model
        2339  +
    pub integer_value: ::std::option::Option<i32>,
        2340  +
    /* StructureGenerator.kt:231 */
        2341  +
    #[allow(missing_docs)] // documentation missing in model
        2342  +
    pub long_value: ::std::option::Option<i64>,
        2343  +
    /* StructureGenerator.kt:231 */
        2344  +
    #[allow(missing_docs)] // documentation missing in model
        2345  +
    pub float_value: ::std::option::Option<f32>,
        2346  +
    /* StructureGenerator.kt:231 */
        2347  +
    #[allow(missing_docs)] // documentation missing in model
        2348  +
    pub double_value: ::std::option::Option<f64>,
 2597   2349   
    /* StructureGenerator.kt:201 */
 2598   2350   
}
 2599   2351   
/* StructureGenerator.kt:135 */
 2600         -
impl JsonMapsInput {
        2352  +
impl SimpleScalarPropertiesInput {
 2601   2353   
    /* StructureGenerator.kt:231 */
 2602   2354   
    #[allow(missing_docs)] // documentation missing in model
 2603   2355   
                           /* StructureGenerator.kt:166 */
 2604         -
    pub fn dense_struct_map(
 2605         -
        &self,
 2606         -
    ) -> ::std::option::Option<
 2607         -
        &::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
 2608         -
    > {
 2609         -
        /* StructureGenerator.kt:170 */
 2610         -
        self.dense_struct_map.as_ref()
        2356  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2357  +
        /* StructureGenerator.kt:169 */
        2358  +
        self.foo.as_deref()
 2611   2359   
        /* StructureGenerator.kt:166 */
 2612   2360   
    }
 2613   2361   
    /* StructureGenerator.kt:231 */
 2614   2362   
    #[allow(missing_docs)] // documentation missing in model
 2615   2363   
                           /* StructureGenerator.kt:166 */
 2616         -
    pub fn dense_number_map(
 2617         -
        &self,
 2618         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
 2619         -
        /* StructureGenerator.kt:170 */
 2620         -
        self.dense_number_map.as_ref()
        2364  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
        2365  +
        /* StructureGenerator.kt:169 */
        2366  +
        self.string_value.as_deref()
 2621   2367   
        /* StructureGenerator.kt:166 */
 2622   2368   
    }
 2623   2369   
    /* StructureGenerator.kt:231 */
 2624   2370   
    #[allow(missing_docs)] // documentation missing in model
 2625   2371   
                           /* StructureGenerator.kt:166 */
 2626         -
    pub fn dense_boolean_map(
 2627         -
        &self,
 2628         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, bool>> {
 2629         -
        /* StructureGenerator.kt:170 */
 2630         -
        self.dense_boolean_map.as_ref()
        2372  +
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
        2373  +
        /* StructureGenerator.kt:168 */
        2374  +
        self.true_boolean_value
 2631   2375   
        /* StructureGenerator.kt:166 */
 2632   2376   
    }
 2633   2377   
    /* StructureGenerator.kt:231 */
 2634   2378   
    #[allow(missing_docs)] // documentation missing in model
 2635   2379   
                           /* StructureGenerator.kt:166 */
 2636         -
    pub fn dense_string_map(
 2637         -
        &self,
 2638         -
    ) -> ::std::option::Option<
 2639         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2640         -
    > {
 2641         -
        /* StructureGenerator.kt:170 */
 2642         -
        self.dense_string_map.as_ref()
        2380  +
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
        2381  +
        /* StructureGenerator.kt:168 */
        2382  +
        self.false_boolean_value
 2643   2383   
        /* StructureGenerator.kt:166 */
 2644   2384   
    }
 2645   2385   
    /* StructureGenerator.kt:231 */
 2646   2386   
    #[allow(missing_docs)] // documentation missing in model
 2647   2387   
                           /* StructureGenerator.kt:166 */
 2648         -
    pub fn dense_set_map(
 2649         -
        &self,
 2650         -
    ) -> ::std::option::Option<
 2651         -
        &::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
 2652         -
    > {
 2653         -
        /* StructureGenerator.kt:170 */
 2654         -
        self.dense_set_map.as_ref()
        2388  +
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
        2389  +
        /* StructureGenerator.kt:168 */
        2390  +
        self.byte_value
 2655   2391   
        /* StructureGenerator.kt:166 */
 2656   2392   
    }
 2657         -
    /* StructureGenerator.kt:135 */
 2658         -
}
 2659         -
/* ServerCodegenVisitor.kt:356 */
 2660         -
impl JsonMapsInput {
 2661         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonMapsInput`](crate::input::JsonMapsInput).
 2662         -
    /* ServerBuilderGenerator.kt:295 */
 2663         -
    pub fn builder() -> crate::input::json_maps_input::Builder {
 2664         -
        /* ServerBuilderGenerator.kt:296 */
 2665         -
        crate::input::json_maps_input::Builder::default()
 2666         -
        /* ServerBuilderGenerator.kt:295 */
 2667         -
    }
 2668         -
    /* ServerCodegenVisitor.kt:356 */
 2669         -
}
 2670         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2671         -
impl crate::constrained::Constrained for crate::input::JsonMapsInput {
 2672         -
    type Unconstrained = crate::input::json_maps_input::Builder;
 2673         -
}
 2674         -
 2675         -
/* StructureGenerator.kt:197 */
 2676         -
#[allow(missing_docs)] // documentation missing in model
 2677         -
/* RustType.kt:534 */
 2678         -
#[derive(
 2679         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2680         -
)]
 2681         -
pub /* StructureGenerator.kt:201 */ struct SparseJsonListsInput {
 2682         -
    /* StructureGenerator.kt:231 */
 2683         -
    #[allow(missing_docs)] // documentation missing in model
 2684         -
    pub sparse_string_list:
 2685         -
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
 2686         -
    /* StructureGenerator.kt:231 */
 2687         -
    #[allow(missing_docs)] // documentation missing in model
 2688         -
    pub sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
 2689         -
    /* StructureGenerator.kt:201 */
 2690         -
}
 2691         -
/* StructureGenerator.kt:135 */
 2692         -
impl SparseJsonListsInput {
 2693   2393   
    /* StructureGenerator.kt:231 */
 2694   2394   
    #[allow(missing_docs)] // documentation missing in model
 2695   2395   
                           /* StructureGenerator.kt:166 */
 2696         -
    pub fn sparse_string_list(
 2697         -
        &self,
 2698         -
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
 2699         -
        /* StructureGenerator.kt:169 */
 2700         -
        self.sparse_string_list.as_deref()
        2396  +
    pub fn short_value(&self) -> ::std::option::Option<i16> {
        2397  +
        /* StructureGenerator.kt:168 */
        2398  +
        self.short_value
 2701   2399   
        /* StructureGenerator.kt:166 */
 2702   2400   
    }
 2703   2401   
    /* StructureGenerator.kt:231 */
 2704   2402   
    #[allow(missing_docs)] // documentation missing in model
 2705   2403   
                           /* StructureGenerator.kt:166 */
 2706         -
    pub fn sparse_short_list(&self) -> ::std::option::Option<&[::std::option::Option<i16>]> {
 2707         -
        /* StructureGenerator.kt:169 */
 2708         -
        self.sparse_short_list.as_deref()
        2404  +
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
        2405  +
        /* StructureGenerator.kt:168 */
        2406  +
        self.integer_value
        2407  +
        /* StructureGenerator.kt:166 */
        2408  +
    }
        2409  +
    /* StructureGenerator.kt:231 */
        2410  +
    #[allow(missing_docs)] // documentation missing in model
        2411  +
                           /* StructureGenerator.kt:166 */
        2412  +
    pub fn long_value(&self) -> ::std::option::Option<i64> {
        2413  +
        /* StructureGenerator.kt:168 */
        2414  +
        self.long_value
        2415  +
        /* StructureGenerator.kt:166 */
        2416  +
    }
        2417  +
    /* StructureGenerator.kt:231 */
        2418  +
    #[allow(missing_docs)] // documentation missing in model
        2419  +
                           /* StructureGenerator.kt:166 */
        2420  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
        2421  +
        /* StructureGenerator.kt:168 */
        2422  +
        self.float_value
        2423  +
        /* StructureGenerator.kt:166 */
        2424  +
    }
        2425  +
    /* StructureGenerator.kt:231 */
        2426  +
    #[allow(missing_docs)] // documentation missing in model
        2427  +
                           /* StructureGenerator.kt:166 */
        2428  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
        2429  +
        /* StructureGenerator.kt:168 */
        2430  +
        self.double_value
 2709   2431   
        /* StructureGenerator.kt:166 */
 2710   2432   
    }
 2711   2433   
    /* StructureGenerator.kt:135 */
 2712   2434   
}
 2713   2435   
/* ServerCodegenVisitor.kt:356 */
 2714         -
impl SparseJsonListsInput {
 2715         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
        2436  +
impl SimpleScalarPropertiesInput {
        2437  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 2716   2438   
    /* ServerBuilderGenerator.kt:295 */
 2717         -
    pub fn builder() -> crate::input::sparse_json_lists_input::Builder {
        2439  +
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
 2718   2440   
        /* ServerBuilderGenerator.kt:296 */
 2719         -
        crate::input::sparse_json_lists_input::Builder::default()
        2441  +
        crate::input::simple_scalar_properties_input::Builder::default()
 2720   2442   
        /* ServerBuilderGenerator.kt:295 */
 2721   2443   
    }
 2722   2444   
    /* ServerCodegenVisitor.kt:356 */
 2723   2445   
}
 2724   2446   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2725         -
impl crate::constrained::Constrained for crate::input::SparseJsonListsInput {
 2726         -
    type Unconstrained = crate::input::sparse_json_lists_input::Builder;
        2447  +
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
        2448  +
    type Unconstrained = crate::input::simple_scalar_properties_input::Builder;
 2727   2449   
}
 2728   2450   
 2729   2451   
/* StructureGenerator.kt:197 */
 2730   2452   
#[allow(missing_docs)] // documentation missing in model
 2731   2453   
/* RustType.kt:534 */
 2732   2454   
#[derive(
 2733   2455   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2734   2456   
)]
 2735         -
pub /* StructureGenerator.kt:201 */ struct JsonListsInput {
 2736         -
    /* StructureGenerator.kt:231 */
 2737         -
    #[allow(missing_docs)] // documentation missing in model
 2738         -
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        2457  +
pub /* StructureGenerator.kt:201 */ struct JsonTimestampsInput {
 2739   2458   
    /* StructureGenerator.kt:231 */
 2740   2459   
    #[allow(missing_docs)] // documentation missing in model
 2741         -
    pub string_set: ::std::option::Option<crate::model::StringSet>,
        2460  +
    pub normal: ::std::option::Option<::aws_smithy_types::DateTime>,
 2742   2461   
    /* StructureGenerator.kt:231 */
 2743   2462   
    #[allow(missing_docs)] // documentation missing in model
 2744         -
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2463  +
    pub date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
 2745   2464   
    /* StructureGenerator.kt:231 */
 2746   2465   
    #[allow(missing_docs)] // documentation missing in model
 2747         -
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        2466  +
    pub date_time_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
 2748   2467   
    /* StructureGenerator.kt:231 */
 2749   2468   
    #[allow(missing_docs)] // documentation missing in model
 2750         -
    pub timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        2469  +
    pub epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
 2751   2470   
    /* StructureGenerator.kt:231 */
 2752   2471   
    #[allow(missing_docs)] // documentation missing in model
 2753         -
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2472  +
    pub epoch_seconds_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
 2754   2473   
    /* StructureGenerator.kt:231 */
 2755   2474   
    #[allow(missing_docs)] // documentation missing in model
 2756         -
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 2757         -
    /// /* StructureGenerator.kt:231 */A list of lists of strings.
 2758         -
    pub nested_string_list:
 2759         -
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2475  +
    pub http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
 2760   2476   
    /* StructureGenerator.kt:231 */
 2761   2477   
    #[allow(missing_docs)] // documentation missing in model
 2762         -
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
        2478  +
    pub http_date_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
 2763   2479   
    /* StructureGenerator.kt:201 */
 2764   2480   
}
 2765   2481   
/* StructureGenerator.kt:135 */
 2766         -
impl JsonListsInput {
 2767         -
    /* StructureGenerator.kt:231 */
 2768         -
    #[allow(missing_docs)] // documentation missing in model
 2769         -
                           /* StructureGenerator.kt:166 */
 2770         -
    pub fn string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 2771         -
        /* StructureGenerator.kt:169 */
 2772         -
        self.string_list.as_deref()
 2773         -
        /* StructureGenerator.kt:166 */
 2774         -
    }
        2482  +
impl JsonTimestampsInput {
 2775   2483   
    /* StructureGenerator.kt:231 */
 2776   2484   
    #[allow(missing_docs)] // documentation missing in model
 2777   2485   
                           /* StructureGenerator.kt:166 */
 2778         -
    pub fn string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
        2486  +
    pub fn normal(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 2779   2487   
        /* StructureGenerator.kt:170 */
 2780         -
        self.string_set.as_ref()
        2488  +
        self.normal.as_ref()
 2781   2489   
        /* StructureGenerator.kt:166 */
 2782   2490   
    }
 2783   2491   
    /* StructureGenerator.kt:231 */
 2784   2492   
    #[allow(missing_docs)] // documentation missing in model
 2785   2493   
                           /* StructureGenerator.kt:166 */
 2786         -
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
 2787         -
        /* StructureGenerator.kt:169 */
 2788         -
        self.integer_list.as_deref()
        2494  +
    pub fn date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2495  +
        /* StructureGenerator.kt:170 */
        2496  +
        self.date_time.as_ref()
 2789   2497   
        /* StructureGenerator.kt:166 */
 2790   2498   
    }
 2791   2499   
    /* StructureGenerator.kt:231 */
 2792   2500   
    #[allow(missing_docs)] // documentation missing in model
 2793   2501   
                           /* StructureGenerator.kt:166 */
 2794         -
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
 2795         -
        /* StructureGenerator.kt:169 */
 2796         -
        self.boolean_list.as_deref()
        2502  +
    pub fn date_time_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2503  +
        /* StructureGenerator.kt:170 */
        2504  +
        self.date_time_on_target.as_ref()
 2797   2505   
        /* StructureGenerator.kt:166 */
 2798   2506   
    }
 2799   2507   
    /* StructureGenerator.kt:231 */
 2800   2508   
    #[allow(missing_docs)] // documentation missing in model
 2801   2509   
                           /* StructureGenerator.kt:166 */
 2802         -
    pub fn timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
 2803         -
        /* StructureGenerator.kt:169 */
 2804         -
        self.timestamp_list.as_deref()
        2510  +
    pub fn epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2511  +
        /* StructureGenerator.kt:170 */
        2512  +
        self.epoch_seconds.as_ref()
 2805   2513   
        /* StructureGenerator.kt:166 */
 2806   2514   
    }
 2807   2515   
    /* StructureGenerator.kt:231 */
 2808   2516   
    #[allow(missing_docs)] // documentation missing in model
 2809   2517   
                           /* StructureGenerator.kt:166 */
 2810         -
    pub fn enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 2811         -
        /* StructureGenerator.kt:169 */
 2812         -
        self.enum_list.as_deref()
        2518  +
    pub fn epoch_seconds_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2519  +
        /* StructureGenerator.kt:170 */
        2520  +
        self.epoch_seconds_on_target.as_ref()
 2813   2521   
        /* StructureGenerator.kt:166 */
 2814   2522   
    }
 2815   2523   
    /* StructureGenerator.kt:231 */
 2816   2524   
    #[allow(missing_docs)] // documentation missing in model
 2817   2525   
                           /* StructureGenerator.kt:166 */
 2818         -
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
 2819         -
        /* StructureGenerator.kt:169 */
 2820         -
        self.int_enum_list.as_deref()
 2821         -
        /* StructureGenerator.kt:166 */
 2822         -
    }
 2823         -
    /// /* StructureGenerator.kt:231 */A list of lists of strings.
 2824         -
    /* StructureGenerator.kt:166 */
 2825         -
    pub fn nested_string_list(
 2826         -
        &self,
 2827         -
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
 2828         -
        /* StructureGenerator.kt:169 */
 2829         -
        self.nested_string_list.as_deref()
        2526  +
    pub fn http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2527  +
        /* StructureGenerator.kt:170 */
        2528  +
        self.http_date.as_ref()
 2830   2529   
        /* StructureGenerator.kt:166 */
 2831   2530   
    }
 2832   2531   
    /* StructureGenerator.kt:231 */
 2833   2532   
    #[allow(missing_docs)] // documentation missing in model
 2834   2533   
                           /* StructureGenerator.kt:166 */
 2835         -
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::StructureListMember]> {
 2836         -
        /* StructureGenerator.kt:169 */
 2837         -
        self.structure_list.as_deref()
        2534  +
    pub fn http_date_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2535  +
        /* StructureGenerator.kt:170 */
        2536  +
        self.http_date_on_target.as_ref()
 2838   2537   
        /* StructureGenerator.kt:166 */
 2839   2538   
    }
 2840   2539   
    /* StructureGenerator.kt:135 */
 2841   2540   
}
 2842   2541   
/* ServerCodegenVisitor.kt:356 */
 2843         -
impl JsonListsInput {
 2844         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonListsInput`](crate::input::JsonListsInput).
        2542  +
impl JsonTimestampsInput {
        2543  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
 2845   2544   
    /* ServerBuilderGenerator.kt:295 */
 2846         -
    pub fn builder() -> crate::input::json_lists_input::Builder {
        2545  +
    pub fn builder() -> crate::input::json_timestamps_input::Builder {
 2847   2546   
        /* ServerBuilderGenerator.kt:296 */
 2848         -
        crate::input::json_lists_input::Builder::default()
        2547  +
        crate::input::json_timestamps_input::Builder::default()
 2849   2548   
        /* ServerBuilderGenerator.kt:295 */
 2850   2549   
    }
 2851   2550   
    /* ServerCodegenVisitor.kt:356 */
 2852   2551   
}
 2853   2552   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2854         -
impl crate::constrained::Constrained for crate::input::JsonListsInput {
 2855         -
    type Unconstrained = crate::input::json_lists_input::Builder;
        2553  +
impl crate::constrained::Constrained for crate::input::JsonTimestampsInput {
        2554  +
    type Unconstrained = crate::input::json_timestamps_input::Builder;
 2856   2555   
}
 2857   2556   
 2858   2557   
/* StructureGenerator.kt:197 */
 2859   2558   
#[allow(missing_docs)] // documentation missing in model
 2860   2559   
/* RustType.kt:534 */
 2861         -
#[derive(
 2862         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2863         -
)]
 2864         -
pub /* StructureGenerator.kt:201 */ struct RecursiveShapesInput {
        2560  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2561  +
pub /* StructureGenerator.kt:201 */ struct JsonEnumsInput {
 2865   2562   
    /* StructureGenerator.kt:231 */
 2866   2563   
    #[allow(missing_docs)] // documentation missing in model
 2867         -
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        2564  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        2565  +
    /* StructureGenerator.kt:231 */
        2566  +
    #[allow(missing_docs)] // documentation missing in model
        2567  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        2568  +
    /* StructureGenerator.kt:231 */
        2569  +
    #[allow(missing_docs)] // documentation missing in model
        2570  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        2571  +
    /* StructureGenerator.kt:231 */
        2572  +
    #[allow(missing_docs)] // documentation missing in model
        2573  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2574  +
    /* StructureGenerator.kt:231 */
        2575  +
    #[allow(missing_docs)] // documentation missing in model
        2576  +
    pub foo_enum_set: ::std::option::Option<crate::model::FooEnumSet>,
        2577  +
    /* StructureGenerator.kt:231 */
        2578  +
    #[allow(missing_docs)] // documentation missing in model
        2579  +
    pub foo_enum_map: ::std::option::Option<
        2580  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        2581  +
    >,
 2868   2582   
    /* StructureGenerator.kt:201 */
 2869   2583   
}
 2870   2584   
/* StructureGenerator.kt:135 */
 2871         -
impl RecursiveShapesInput {
        2585  +
impl JsonEnumsInput {
 2872   2586   
    /* StructureGenerator.kt:231 */
 2873   2587   
    #[allow(missing_docs)] // documentation missing in model
 2874   2588   
                           /* StructureGenerator.kt:166 */
 2875         -
    pub fn nested(
        2589  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        2590  +
        /* StructureGenerator.kt:170 */
        2591  +
        self.foo_enum1.as_ref()
        2592  +
        /* StructureGenerator.kt:166 */
        2593  +
    }
        2594  +
    /* StructureGenerator.kt:231 */
        2595  +
    #[allow(missing_docs)] // documentation missing in model
        2596  +
                           /* StructureGenerator.kt:166 */
        2597  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        2598  +
        /* StructureGenerator.kt:170 */
        2599  +
        self.foo_enum2.as_ref()
        2600  +
        /* StructureGenerator.kt:166 */
        2601  +
    }
        2602  +
    /* StructureGenerator.kt:231 */
        2603  +
    #[allow(missing_docs)] // documentation missing in model
        2604  +
                           /* StructureGenerator.kt:166 */
        2605  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        2606  +
        /* StructureGenerator.kt:170 */
        2607  +
        self.foo_enum3.as_ref()
        2608  +
        /* StructureGenerator.kt:166 */
        2609  +
    }
        2610  +
    /* StructureGenerator.kt:231 */
        2611  +
    #[allow(missing_docs)] // documentation missing in model
        2612  +
                           /* StructureGenerator.kt:166 */
        2613  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        2614  +
        /* StructureGenerator.kt:169 */
        2615  +
        self.foo_enum_list.as_deref()
        2616  +
        /* StructureGenerator.kt:166 */
        2617  +
    }
        2618  +
    /* StructureGenerator.kt:231 */
        2619  +
    #[allow(missing_docs)] // documentation missing in model
        2620  +
                           /* StructureGenerator.kt:166 */
        2621  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&crate::model::FooEnumSet> {
        2622  +
        /* StructureGenerator.kt:170 */
        2623  +
        self.foo_enum_set.as_ref()
        2624  +
        /* StructureGenerator.kt:166 */
        2625  +
    }
        2626  +
    /* StructureGenerator.kt:231 */
        2627  +
    #[allow(missing_docs)] // documentation missing in model
        2628  +
                           /* StructureGenerator.kt:166 */
        2629  +
    pub fn foo_enum_map(
 2876   2630   
        &self,
 2877         -
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
        2631  +
    ) -> ::std::option::Option<
        2632  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        2633  +
    > {
 2878   2634   
        /* StructureGenerator.kt:170 */
 2879         -
        self.nested.as_ref()
        2635  +
        self.foo_enum_map.as_ref()
 2880   2636   
        /* StructureGenerator.kt:166 */
 2881   2637   
    }
 2882   2638   
    /* StructureGenerator.kt:135 */
 2883   2639   
}
 2884   2640   
/* ServerCodegenVisitor.kt:356 */
 2885         -
impl RecursiveShapesInput {
 2886         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
        2641  +
impl JsonEnumsInput {
        2642  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2887   2643   
    /* ServerBuilderGenerator.kt:295 */
 2888         -
    pub fn builder() -> crate::input::recursive_shapes_input::Builder {
        2644  +
    pub fn builder() -> crate::input::json_enums_input::Builder {
 2889   2645   
        /* ServerBuilderGenerator.kt:296 */
 2890         -
        crate::input::recursive_shapes_input::Builder::default()
        2646  +
        crate::input::json_enums_input::Builder::default()
 2891   2647   
        /* ServerBuilderGenerator.kt:295 */
 2892   2648   
    }
 2893   2649   
    /* ServerCodegenVisitor.kt:356 */
 2894   2650   
}
 2895   2651   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2896         -
impl crate::constrained::Constrained for crate::input::RecursiveShapesInput {
 2897         -
    type Unconstrained = crate::input::recursive_shapes_input::Builder;
        2652  +
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
        2653  +
    type Unconstrained = crate::input::json_enums_input::Builder;
 2898   2654   
}
 2899   2655   
 2900   2656   
/* StructureGenerator.kt:197 */
 2901   2657   
#[allow(missing_docs)] // documentation missing in model
 2902   2658   
/* RustType.kt:534 */
 2903   2659   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2904   2660   
pub /* StructureGenerator.kt:201 */ struct JsonIntEnumsInput {
 2905   2661   
    /* StructureGenerator.kt:231 */
 2906   2662   
    #[allow(missing_docs)] // documentation missing in model
 2907   2663   
    pub integer_enum1: ::std::option::Option<i32>,
@@ -2969,2725 +12132,13645 @@
 2989   2745   
    /* ServerCodegenVisitor.kt:356 */
 2990   2746   
}
 2991   2747   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 2992   2748   
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
 2993   2749   
    type Unconstrained = crate::input::json_int_enums_input::Builder;
 2994   2750   
}
 2995   2751   
 2996   2752   
/* StructureGenerator.kt:197 */
 2997   2753   
#[allow(missing_docs)] // documentation missing in model
 2998   2754   
/* RustType.kt:534 */
 2999         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3000         -
pub /* StructureGenerator.kt:201 */ struct JsonEnumsInput {
 3001         -
    /* StructureGenerator.kt:231 */
 3002         -
    #[allow(missing_docs)] // documentation missing in model
 3003         -
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
 3004         -
    /* StructureGenerator.kt:231 */
 3005         -
    #[allow(missing_docs)] // documentation missing in model
 3006         -
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
 3007         -
    /* StructureGenerator.kt:231 */
 3008         -
    #[allow(missing_docs)] // documentation missing in model
 3009         -
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
 3010         -
    /* StructureGenerator.kt:231 */
 3011         -
    #[allow(missing_docs)] // documentation missing in model
 3012         -
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 3013         -
    /* StructureGenerator.kt:231 */
 3014         -
    #[allow(missing_docs)] // documentation missing in model
 3015         -
    pub foo_enum_set: ::std::option::Option<crate::model::FooEnumSet>,
        2755  +
#[derive(
        2756  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2757  +
)]
        2758  +
pub /* StructureGenerator.kt:201 */ struct RecursiveShapesInput {
 3016   2759   
    /* StructureGenerator.kt:231 */
 3017   2760   
    #[allow(missing_docs)] // documentation missing in model
 3018         -
    pub foo_enum_map: ::std::option::Option<
 3019         -
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 3020         -
    >,
        2761  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 3021   2762   
    /* StructureGenerator.kt:201 */
 3022   2763   
}
 3023   2764   
/* StructureGenerator.kt:135 */
 3024         -
impl JsonEnumsInput {
        2765  +
impl RecursiveShapesInput {
 3025   2766   
    /* StructureGenerator.kt:231 */
 3026   2767   
    #[allow(missing_docs)] // documentation missing in model
 3027   2768   
                           /* StructureGenerator.kt:166 */
 3028         -
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        2769  +
    pub fn nested(
        2770  +
        &self,
        2771  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
 3029   2772   
        /* StructureGenerator.kt:170 */
 3030         -
        self.foo_enum1.as_ref()
 3031         -
        /* StructureGenerator.kt:166 */
 3032         -
    }
 3033         -
    /* StructureGenerator.kt:231 */
 3034         -
    #[allow(missing_docs)] // documentation missing in model
 3035         -
                           /* StructureGenerator.kt:166 */
 3036         -
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 3037         -
        /* StructureGenerator.kt:170 */
 3038         -
        self.foo_enum2.as_ref()
 3039         -
        /* StructureGenerator.kt:166 */
 3040         -
    }
 3041         -
    /* StructureGenerator.kt:231 */
 3042         -
    #[allow(missing_docs)] // documentation missing in model
 3043         -
                           /* StructureGenerator.kt:166 */
 3044         -
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 3045         -
        /* StructureGenerator.kt:170 */
 3046         -
        self.foo_enum3.as_ref()
 3047         -
        /* StructureGenerator.kt:166 */
 3048         -
    }
 3049         -
    /* StructureGenerator.kt:231 */
 3050         -
    #[allow(missing_docs)] // documentation missing in model
 3051         -
                           /* StructureGenerator.kt:166 */
 3052         -
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 3053         -
        /* StructureGenerator.kt:169 */
 3054         -
        self.foo_enum_list.as_deref()
 3055         -
        /* StructureGenerator.kt:166 */
 3056         -
    }
 3057         -
    /* StructureGenerator.kt:231 */
 3058         -
    #[allow(missing_docs)] // documentation missing in model
 3059         -
                           /* StructureGenerator.kt:166 */
 3060         -
    pub fn foo_enum_set(&self) -> ::std::option::Option<&crate::model::FooEnumSet> {
 3061         -
        /* StructureGenerator.kt:170 */
 3062         -
        self.foo_enum_set.as_ref()
 3063         -
        /* StructureGenerator.kt:166 */
 3064         -
    }
 3065         -
    /* StructureGenerator.kt:231 */
 3066         -
    #[allow(missing_docs)] // documentation missing in model
 3067         -
                           /* StructureGenerator.kt:166 */
 3068         -
    pub fn foo_enum_map(
 3069         -
        &self,
 3070         -
    ) -> ::std::option::Option<
 3071         -
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 3072         -
    > {
 3073         -
        /* StructureGenerator.kt:170 */
 3074         -
        self.foo_enum_map.as_ref()
        2773  +
        self.nested.as_ref()
 3075   2774   
        /* StructureGenerator.kt:166 */
 3076   2775   
    }
 3077   2776   
    /* StructureGenerator.kt:135 */
 3078   2777   
}
 3079   2778   
/* ServerCodegenVisitor.kt:356 */
 3080         -
impl JsonEnumsInput {
 3081         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        2779  +
impl RecursiveShapesInput {
        2780  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
 3082   2781   
    /* ServerBuilderGenerator.kt:295 */
 3083         -
    pub fn builder() -> crate::input::json_enums_input::Builder {
        2782  +
    pub fn builder() -> crate::input::recursive_shapes_input::Builder {
 3084   2783   
        /* ServerBuilderGenerator.kt:296 */
 3085         -
        crate::input::json_enums_input::Builder::default()
        2784  +
        crate::input::recursive_shapes_input::Builder::default()
 3086   2785   
        /* ServerBuilderGenerator.kt:295 */
 3087   2786   
    }
 3088   2787   
    /* ServerCodegenVisitor.kt:356 */
 3089   2788   
}
 3090   2789   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3091         -
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
 3092         -
    type Unconstrained = crate::input::json_enums_input::Builder;
        2790  +
impl crate::constrained::Constrained for crate::input::RecursiveShapesInput {
        2791  +
    type Unconstrained = crate::input::recursive_shapes_input::Builder;
 3093   2792   
}
 3094   2793   
 3095   2794   
/* StructureGenerator.kt:197 */
 3096   2795   
#[allow(missing_docs)] // documentation missing in model
 3097   2796   
/* RustType.kt:534 */
 3098   2797   
#[derive(
 3099   2798   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3100   2799   
)]
 3101         -
pub /* StructureGenerator.kt:201 */ struct JsonTimestampsInput {
        2800  +
pub /* StructureGenerator.kt:201 */ struct JsonListsInput {
 3102   2801   
    /* StructureGenerator.kt:231 */
 3103   2802   
    #[allow(missing_docs)] // documentation missing in model
 3104         -
    pub normal: ::std::option::Option<::aws_smithy_types::DateTime>,
        2803  +
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3105   2804   
    /* StructureGenerator.kt:231 */
 3106   2805   
    #[allow(missing_docs)] // documentation missing in model
 3107         -
    pub date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
        2806  +
    pub string_set: ::std::option::Option<crate::model::StringSet>,
 3108   2807   
    /* StructureGenerator.kt:231 */
 3109   2808   
    #[allow(missing_docs)] // documentation missing in model
 3110         -
    pub date_time_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
        2809  +
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 3111   2810   
    /* StructureGenerator.kt:231 */
 3112   2811   
    #[allow(missing_docs)] // documentation missing in model
 3113         -
    pub epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        2812  +
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 3114   2813   
    /* StructureGenerator.kt:231 */
 3115   2814   
    #[allow(missing_docs)] // documentation missing in model
 3116         -
    pub epoch_seconds_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
        2815  +
    pub timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
 3117   2816   
    /* StructureGenerator.kt:231 */
 3118   2817   
    #[allow(missing_docs)] // documentation missing in model
 3119         -
    pub http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        2818  +
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 3120   2819   
    /* StructureGenerator.kt:231 */
 3121   2820   
    #[allow(missing_docs)] // documentation missing in model
 3122         -
    pub http_date_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
        2821  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2822  +
    /// /* StructureGenerator.kt:231 */A list of lists of strings.
        2823  +
    pub nested_string_list:
        2824  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2825  +
    /* StructureGenerator.kt:231 */
        2826  +
    #[allow(missing_docs)] // documentation missing in model
        2827  +
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
 3123   2828   
    /* StructureGenerator.kt:201 */
 3124   2829   
}
 3125   2830   
/* StructureGenerator.kt:135 */
 3126         -
impl JsonTimestampsInput {
        2831  +
impl JsonListsInput {
 3127   2832   
    /* StructureGenerator.kt:231 */
 3128   2833   
    #[allow(missing_docs)] // documentation missing in model
 3129   2834   
                           /* StructureGenerator.kt:166 */
 3130         -
    pub fn normal(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 3131         -
        /* StructureGenerator.kt:170 */
 3132         -
        self.normal.as_ref()
        2835  +
    pub fn string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        2836  +
        /* StructureGenerator.kt:169 */
        2837  +
        self.string_list.as_deref()
 3133   2838   
        /* StructureGenerator.kt:166 */
 3134   2839   
    }
 3135   2840   
    /* StructureGenerator.kt:231 */
 3136   2841   
    #[allow(missing_docs)] // documentation missing in model
 3137   2842   
                           /* StructureGenerator.kt:166 */
 3138         -
    pub fn date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        2843  +
    pub fn string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
 3139   2844   
        /* StructureGenerator.kt:170 */
 3140         -
        self.date_time.as_ref()
        2845  +
        self.string_set.as_ref()
 3141   2846   
        /* StructureGenerator.kt:166 */
 3142   2847   
    }
 3143   2848   
    /* StructureGenerator.kt:231 */
 3144   2849   
    #[allow(missing_docs)] // documentation missing in model
 3145   2850   
                           /* StructureGenerator.kt:166 */
 3146         -
    pub fn date_time_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 3147         -
        /* StructureGenerator.kt:170 */
 3148         -
        self.date_time_on_target.as_ref()
        2851  +
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
        2852  +
        /* StructureGenerator.kt:169 */
        2853  +
        self.integer_list.as_deref()
 3149   2854   
        /* StructureGenerator.kt:166 */
 3150   2855   
    }
 3151   2856   
    /* StructureGenerator.kt:231 */
 3152   2857   
    #[allow(missing_docs)] // documentation missing in model
 3153   2858   
                           /* StructureGenerator.kt:166 */
 3154         -
    pub fn epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 3155         -
        /* StructureGenerator.kt:170 */
 3156         -
        self.epoch_seconds.as_ref()
        2859  +
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
        2860  +
        /* StructureGenerator.kt:169 */
        2861  +
        self.boolean_list.as_deref()
 3157   2862   
        /* StructureGenerator.kt:166 */
 3158   2863   
    }
 3159   2864   
    /* StructureGenerator.kt:231 */
 3160   2865   
    #[allow(missing_docs)] // documentation missing in model
 3161   2866   
                           /* StructureGenerator.kt:166 */
 3162         -
    pub fn epoch_seconds_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 3163         -
        /* StructureGenerator.kt:170 */
 3164         -
        self.epoch_seconds_on_target.as_ref()
        2867  +
    pub fn timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        2868  +
        /* StructureGenerator.kt:169 */
        2869  +
        self.timestamp_list.as_deref()
 3165   2870   
        /* StructureGenerator.kt:166 */
 3166   2871   
    }
 3167   2872   
    /* StructureGenerator.kt:231 */
 3168   2873   
    #[allow(missing_docs)] // documentation missing in model
 3169   2874   
                           /* StructureGenerator.kt:166 */
 3170         -
    pub fn http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 3171         -
        /* StructureGenerator.kt:170 */
 3172         -
        self.http_date.as_ref()
        2875  +
    pub fn enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        2876  +
        /* StructureGenerator.kt:169 */
        2877  +
        self.enum_list.as_deref()
 3173   2878   
        /* StructureGenerator.kt:166 */
 3174   2879   
    }
 3175   2880   
    /* StructureGenerator.kt:231 */
 3176   2881   
    #[allow(missing_docs)] // documentation missing in model
 3177   2882   
                           /* StructureGenerator.kt:166 */
 3178         -
    pub fn http_date_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 3179         -
        /* StructureGenerator.kt:170 */
 3180         -
        self.http_date_on_target.as_ref()
        2883  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
        2884  +
        /* StructureGenerator.kt:169 */
        2885  +
        self.int_enum_list.as_deref()
        2886  +
        /* StructureGenerator.kt:166 */
        2887  +
    }
        2888  +
    /// /* StructureGenerator.kt:231 */A list of lists of strings.
        2889  +
    /* StructureGenerator.kt:166 */
        2890  +
    pub fn nested_string_list(
        2891  +
        &self,
        2892  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
        2893  +
        /* StructureGenerator.kt:169 */
        2894  +
        self.nested_string_list.as_deref()
        2895  +
        /* StructureGenerator.kt:166 */
        2896  +
    }
        2897  +
    /* StructureGenerator.kt:231 */
        2898  +
    #[allow(missing_docs)] // documentation missing in model
        2899  +
                           /* StructureGenerator.kt:166 */
        2900  +
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::StructureListMember]> {
        2901  +
        /* StructureGenerator.kt:169 */
        2902  +
        self.structure_list.as_deref()
 3181   2903   
        /* StructureGenerator.kt:166 */
 3182   2904   
    }
 3183   2905   
    /* StructureGenerator.kt:135 */
 3184   2906   
}
 3185   2907   
/* ServerCodegenVisitor.kt:356 */
 3186         -
impl JsonTimestampsInput {
 3187         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
        2908  +
impl JsonListsInput {
        2909  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonListsInput`](crate::input::JsonListsInput).
 3188   2910   
    /* ServerBuilderGenerator.kt:295 */
 3189         -
    pub fn builder() -> crate::input::json_timestamps_input::Builder {
        2911  +
    pub fn builder() -> crate::input::json_lists_input::Builder {
 3190   2912   
        /* ServerBuilderGenerator.kt:296 */
 3191         -
        crate::input::json_timestamps_input::Builder::default()
        2913  +
        crate::input::json_lists_input::Builder::default()
 3192   2914   
        /* ServerBuilderGenerator.kt:295 */
 3193   2915   
    }
 3194   2916   
    /* ServerCodegenVisitor.kt:356 */
 3195   2917   
}
 3196   2918   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3197         -
impl crate::constrained::Constrained for crate::input::JsonTimestampsInput {
 3198         -
    type Unconstrained = crate::input::json_timestamps_input::Builder;
        2919  +
impl crate::constrained::Constrained for crate::input::JsonListsInput {
        2920  +
    type Unconstrained = crate::input::json_lists_input::Builder;
 3199   2921   
}
 3200   2922   
 3201   2923   
/* StructureGenerator.kt:197 */
 3202   2924   
#[allow(missing_docs)] // documentation missing in model
 3203   2925   
/* RustType.kt:534 */
 3204         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3205         -
pub /* StructureGenerator.kt:201 */ struct SimpleScalarPropertiesInput {
 3206         -
    /* StructureGenerator.kt:231 */
 3207         -
    #[allow(missing_docs)] // documentation missing in model
 3208         -
    pub foo: ::std::option::Option<::std::string::String>,
        2926  +
#[derive(
        2927  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2928  +
)]
        2929  +
pub /* StructureGenerator.kt:201 */ struct SparseJsonListsInput {
 3209   2930   
    /* StructureGenerator.kt:231 */
 3210   2931   
    #[allow(missing_docs)] // documentation missing in model
 3211         -
    pub string_value: ::std::option::Option<::std::string::String>,
        2932  +
    pub sparse_string_list:
        2933  +
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
 3212   2934   
    /* StructureGenerator.kt:231 */
 3213   2935   
    #[allow(missing_docs)] // documentation missing in model
 3214         -
    pub true_boolean_value: ::std::option::Option<bool>,
        2936  +
    pub sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
        2937  +
    /* StructureGenerator.kt:201 */
        2938  +
}
        2939  +
/* StructureGenerator.kt:135 */
        2940  +
impl SparseJsonListsInput {
 3215   2941   
    /* StructureGenerator.kt:231 */
 3216   2942   
    #[allow(missing_docs)] // documentation missing in model
 3217         -
    pub false_boolean_value: ::std::option::Option<bool>,
        2943  +
                           /* StructureGenerator.kt:166 */
        2944  +
    pub fn sparse_string_list(
        2945  +
        &self,
        2946  +
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
        2947  +
        /* StructureGenerator.kt:169 */
        2948  +
        self.sparse_string_list.as_deref()
        2949  +
        /* StructureGenerator.kt:166 */
        2950  +
    }
 3218   2951   
    /* StructureGenerator.kt:231 */
 3219   2952   
    #[allow(missing_docs)] // documentation missing in model
 3220         -
    pub byte_value: ::std::option::Option<i8>,
        2953  +
                           /* StructureGenerator.kt:166 */
        2954  +
    pub fn sparse_short_list(&self) -> ::std::option::Option<&[::std::option::Option<i16>]> {
        2955  +
        /* StructureGenerator.kt:169 */
        2956  +
        self.sparse_short_list.as_deref()
        2957  +
        /* StructureGenerator.kt:166 */
        2958  +
    }
        2959  +
    /* StructureGenerator.kt:135 */
        2960  +
}
        2961  +
/* ServerCodegenVisitor.kt:356 */
        2962  +
impl SparseJsonListsInput {
        2963  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
        2964  +
    /* ServerBuilderGenerator.kt:295 */
        2965  +
    pub fn builder() -> crate::input::sparse_json_lists_input::Builder {
        2966  +
        /* ServerBuilderGenerator.kt:296 */
        2967  +
        crate::input::sparse_json_lists_input::Builder::default()
        2968  +
        /* ServerBuilderGenerator.kt:295 */
        2969  +
    }
        2970  +
    /* ServerCodegenVisitor.kt:356 */
        2971  +
}
        2972  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2973  +
impl crate::constrained::Constrained for crate::input::SparseJsonListsInput {
        2974  +
    type Unconstrained = crate::input::sparse_json_lists_input::Builder;
        2975  +
}
        2976  +
        2977  +
/* StructureGenerator.kt:197 */
        2978  +
#[allow(missing_docs)] // documentation missing in model
        2979  +
/* RustType.kt:534 */
        2980  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2981  +
pub /* StructureGenerator.kt:201 */ struct JsonMapsInput {
 3221   2982   
    /* StructureGenerator.kt:231 */
 3222   2983   
    #[allow(missing_docs)] // documentation missing in model
 3223         -
    pub short_value: ::std::option::Option<i16>,
        2984  +
    pub dense_struct_map: ::std::option::Option<
        2985  +
        ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        2986  +
    >,
 3224   2987   
    /* StructureGenerator.kt:231 */
 3225   2988   
    #[allow(missing_docs)] // documentation missing in model
 3226         -
    pub integer_value: ::std::option::Option<i32>,
        2989  +
    pub dense_number_map:
        2990  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
 3227   2991   
    /* StructureGenerator.kt:231 */
 3228   2992   
    #[allow(missing_docs)] // documentation missing in model
 3229         -
    pub long_value: ::std::option::Option<i64>,
        2993  +
    pub dense_boolean_map:
        2994  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
 3230   2995   
    /* StructureGenerator.kt:231 */
 3231   2996   
    #[allow(missing_docs)] // documentation missing in model
 3232         -
    pub float_value: ::std::option::Option<f32>,
        2997  +
    pub dense_string_map: ::std::option::Option<
        2998  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2999  +
    >,
 3233   3000   
    /* StructureGenerator.kt:231 */
 3234   3001   
    #[allow(missing_docs)] // documentation missing in model
 3235         -
    pub double_value: ::std::option::Option<f64>,
        3002  +
    pub dense_set_map: ::std::option::Option<
        3003  +
        ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
        3004  +
    >,
 3236   3005   
    /* StructureGenerator.kt:201 */
 3237   3006   
}
 3238   3007   
/* StructureGenerator.kt:135 */
 3239         -
impl SimpleScalarPropertiesInput {
 3240         -
    /* StructureGenerator.kt:231 */
 3241         -
    #[allow(missing_docs)] // documentation missing in model
 3242         -
                           /* StructureGenerator.kt:166 */
 3243         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 3244         -
        /* StructureGenerator.kt:169 */
 3245         -
        self.foo.as_deref()
 3246         -
        /* StructureGenerator.kt:166 */
 3247         -
    }
        3008  +
impl JsonMapsInput {
 3248   3009   
    /* StructureGenerator.kt:231 */
 3249   3010   
    #[allow(missing_docs)] // documentation missing in model
 3250   3011   
                           /* StructureGenerator.kt:166 */
 3251         -
    pub fn string_value(&self) -> ::std::option::Option<&str> {
 3252         -
        /* StructureGenerator.kt:169 */
 3253         -
        self.string_value.as_deref()
        3012  +
    pub fn dense_struct_map(
        3013  +
        &self,
        3014  +
    ) -> ::std::option::Option<
        3015  +
        &::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        3016  +
    > {
        3017  +
        /* StructureGenerator.kt:170 */
        3018  +
        self.dense_struct_map.as_ref()
 3254   3019   
        /* StructureGenerator.kt:166 */
 3255   3020   
    }
 3256   3021   
    /* StructureGenerator.kt:231 */
 3257   3022   
    #[allow(missing_docs)] // documentation missing in model
 3258   3023   
                           /* StructureGenerator.kt:166 */
 3259         -
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
 3260         -
        /* StructureGenerator.kt:168 */
 3261         -
        self.true_boolean_value
        3024  +
    pub fn dense_number_map(
        3025  +
        &self,
        3026  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
        3027  +
        /* StructureGenerator.kt:170 */
        3028  +
        self.dense_number_map.as_ref()
 3262   3029   
        /* StructureGenerator.kt:166 */
 3263   3030   
    }
 3264   3031   
    /* StructureGenerator.kt:231 */
 3265   3032   
    #[allow(missing_docs)] // documentation missing in model
 3266   3033   
                           /* StructureGenerator.kt:166 */
 3267         -
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
 3268         -
        /* StructureGenerator.kt:168 */
 3269         -
        self.false_boolean_value
        3034  +
    pub fn dense_boolean_map(
        3035  +
        &self,
        3036  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, bool>> {
        3037  +
        /* StructureGenerator.kt:170 */
        3038  +
        self.dense_boolean_map.as_ref()
 3270   3039   
        /* StructureGenerator.kt:166 */
 3271   3040   
    }
 3272   3041   
    /* StructureGenerator.kt:231 */
 3273   3042   
    #[allow(missing_docs)] // documentation missing in model
 3274   3043   
                           /* StructureGenerator.kt:166 */
 3275         -
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
 3276         -
        /* StructureGenerator.kt:168 */
 3277         -
        self.byte_value
        3044  +
    pub fn dense_string_map(
        3045  +
        &self,
        3046  +
    ) -> ::std::option::Option<
        3047  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3048  +
    > {
        3049  +
        /* StructureGenerator.kt:170 */
        3050  +
        self.dense_string_map.as_ref()
 3278   3051   
        /* StructureGenerator.kt:166 */
 3279   3052   
    }
 3280   3053   
    /* StructureGenerator.kt:231 */
 3281   3054   
    #[allow(missing_docs)] // documentation missing in model
 3282   3055   
                           /* StructureGenerator.kt:166 */
 3283         -
    pub fn short_value(&self) -> ::std::option::Option<i16> {
 3284         -
        /* StructureGenerator.kt:168 */
 3285         -
        self.short_value
        3056  +
    pub fn dense_set_map(
        3057  +
        &self,
        3058  +
    ) -> ::std::option::Option<
        3059  +
        &::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
        3060  +
    > {
        3061  +
        /* StructureGenerator.kt:170 */
        3062  +
        self.dense_set_map.as_ref()
 3286   3063   
        /* StructureGenerator.kt:166 */
 3287   3064   
    }
        3065  +
    /* StructureGenerator.kt:135 */
        3066  +
}
        3067  +
/* ServerCodegenVisitor.kt:356 */
        3068  +
impl JsonMapsInput {
        3069  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonMapsInput`](crate::input::JsonMapsInput).
        3070  +
    /* ServerBuilderGenerator.kt:295 */
        3071  +
    pub fn builder() -> crate::input::json_maps_input::Builder {
        3072  +
        /* ServerBuilderGenerator.kt:296 */
        3073  +
        crate::input::json_maps_input::Builder::default()
        3074  +
        /* ServerBuilderGenerator.kt:295 */
        3075  +
    }
        3076  +
    /* ServerCodegenVisitor.kt:356 */
        3077  +
}
        3078  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3079  +
impl crate::constrained::Constrained for crate::input::JsonMapsInput {
        3080  +
    type Unconstrained = crate::input::json_maps_input::Builder;
        3081  +
}
        3082  +
        3083  +
/* StructureGenerator.kt:197 */
        3084  +
#[allow(missing_docs)] // documentation missing in model
        3085  +
/* RustType.kt:534 */
        3086  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3087  +
pub /* StructureGenerator.kt:201 */ struct SparseJsonMapsInput {
        3088  +
    /* StructureGenerator.kt:231 */
        3089  +
    #[allow(missing_docs)] // documentation missing in model
        3090  +
    pub sparse_struct_map: ::std::option::Option<
        3091  +
        ::std::collections::HashMap<
        3092  +
            ::std::string::String,
        3093  +
            ::std::option::Option<crate::model::GreetingStruct>,
        3094  +
        >,
        3095  +
    >,
        3096  +
    /* StructureGenerator.kt:231 */
        3097  +
    #[allow(missing_docs)] // documentation missing in model
        3098  +
    pub sparse_number_map: ::std::option::Option<
        3099  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        3100  +
    >,
        3101  +
    /* StructureGenerator.kt:231 */
        3102  +
    #[allow(missing_docs)] // documentation missing in model
        3103  +
    pub sparse_boolean_map: ::std::option::Option<
        3104  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        3105  +
    >,
        3106  +
    /* StructureGenerator.kt:231 */
        3107  +
    #[allow(missing_docs)] // documentation missing in model
        3108  +
    pub sparse_string_map: ::std::option::Option<
        3109  +
        ::std::collections::HashMap<
        3110  +
            ::std::string::String,
        3111  +
            ::std::option::Option<::std::string::String>,
        3112  +
        >,
        3113  +
    >,
        3114  +
    /* StructureGenerator.kt:231 */
        3115  +
    #[allow(missing_docs)] // documentation missing in model
        3116  +
    pub sparse_set_map: ::std::option::Option<
        3117  +
        ::std::collections::HashMap<
        3118  +
            ::std::string::String,
        3119  +
            ::std::option::Option<crate::model::StringSet>,
        3120  +
        >,
        3121  +
    >,
        3122  +
    /* StructureGenerator.kt:201 */
        3123  +
}
        3124  +
/* StructureGenerator.kt:135 */
        3125  +
impl SparseJsonMapsInput {
 3288   3126   
    /* StructureGenerator.kt:231 */
 3289   3127   
    #[allow(missing_docs)] // documentation missing in model
 3290   3128   
                           /* StructureGenerator.kt:166 */
 3291         -
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
 3292         -
        /* StructureGenerator.kt:168 */
 3293         -
        self.integer_value
        3129  +
    pub fn sparse_struct_map(
        3130  +
        &self,
        3131  +
    ) -> ::std::option::Option<
        3132  +
        &::std::collections::HashMap<
        3133  +
            ::std::string::String,
        3134  +
            ::std::option::Option<crate::model::GreetingStruct>,
        3135  +
        >,
        3136  +
    > {
        3137  +
        /* StructureGenerator.kt:170 */
        3138  +
        self.sparse_struct_map.as_ref()
 3294   3139   
        /* StructureGenerator.kt:166 */
 3295   3140   
    }
 3296   3141   
    /* StructureGenerator.kt:231 */
 3297   3142   
    #[allow(missing_docs)] // documentation missing in model
 3298   3143   
                           /* StructureGenerator.kt:166 */
 3299         -
    pub fn long_value(&self) -> ::std::option::Option<i64> {
 3300         -
        /* StructureGenerator.kt:168 */
 3301         -
        self.long_value
        3144  +
    pub fn sparse_number_map(
        3145  +
        &self,
        3146  +
    ) -> ::std::option::Option<
        3147  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        3148  +
    > {
        3149  +
        /* StructureGenerator.kt:170 */
        3150  +
        self.sparse_number_map.as_ref()
 3302   3151   
        /* StructureGenerator.kt:166 */
 3303   3152   
    }
 3304   3153   
    /* StructureGenerator.kt:231 */
 3305   3154   
    #[allow(missing_docs)] // documentation missing in model
 3306   3155   
                           /* StructureGenerator.kt:166 */
 3307         -
    pub fn float_value(&self) -> ::std::option::Option<f32> {
 3308         -
        /* StructureGenerator.kt:168 */
 3309         -
        self.float_value
        3156  +
    pub fn sparse_boolean_map(
        3157  +
        &self,
        3158  +
    ) -> ::std::option::Option<
        3159  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        3160  +
    > {
        3161  +
        /* StructureGenerator.kt:170 */
        3162  +
        self.sparse_boolean_map.as_ref()
 3310   3163   
        /* StructureGenerator.kt:166 */
 3311   3164   
    }
 3312   3165   
    /* StructureGenerator.kt:231 */
 3313   3166   
    #[allow(missing_docs)] // documentation missing in model
 3314   3167   
                           /* StructureGenerator.kt:166 */
 3315         -
    pub fn double_value(&self) -> ::std::option::Option<f64> {
 3316         -
        /* StructureGenerator.kt:168 */
 3317         -
        self.double_value
        3168  +
    pub fn sparse_string_map(
        3169  +
        &self,
        3170  +
    ) -> ::std::option::Option<
        3171  +
        &::std::collections::HashMap<
        3172  +
            ::std::string::String,
        3173  +
            ::std::option::Option<::std::string::String>,
        3174  +
        >,
        3175  +
    > {
        3176  +
        /* StructureGenerator.kt:170 */
        3177  +
        self.sparse_string_map.as_ref()
        3178  +
        /* StructureGenerator.kt:166 */
        3179  +
    }
        3180  +
    /* StructureGenerator.kt:231 */
        3181  +
    #[allow(missing_docs)] // documentation missing in model
        3182  +
                           /* StructureGenerator.kt:166 */
        3183  +
    pub fn sparse_set_map(
        3184  +
        &self,
        3185  +
    ) -> ::std::option::Option<
        3186  +
        &::std::collections::HashMap<
        3187  +
            ::std::string::String,
        3188  +
            ::std::option::Option<crate::model::StringSet>,
        3189  +
        >,
        3190  +
    > {
        3191  +
        /* StructureGenerator.kt:170 */
        3192  +
        self.sparse_set_map.as_ref()
 3318   3193   
        /* StructureGenerator.kt:166 */
 3319   3194   
    }
 3320   3195   
    /* StructureGenerator.kt:135 */
 3321   3196   
}
 3322   3197   
/* ServerCodegenVisitor.kt:356 */
 3323         -
impl SimpleScalarPropertiesInput {
 3324         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        3198  +
impl SparseJsonMapsInput {
        3199  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
 3325   3200   
    /* ServerBuilderGenerator.kt:295 */
 3326         -
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
        3201  +
    pub fn builder() -> crate::input::sparse_json_maps_input::Builder {
 3327   3202   
        /* ServerBuilderGenerator.kt:296 */
 3328         -
        crate::input::simple_scalar_properties_input::Builder::default()
        3203  +
        crate::input::sparse_json_maps_input::Builder::default()
 3329   3204   
        /* ServerBuilderGenerator.kt:295 */
 3330   3205   
    }
 3331   3206   
    /* ServerCodegenVisitor.kt:356 */
 3332   3207   
}
 3333   3208   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3334         -
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
 3335         -
    type Unconstrained = crate::input::simple_scalar_properties_input::Builder;
        3209  +
impl crate::constrained::Constrained for crate::input::SparseJsonMapsInput {
        3210  +
    type Unconstrained = crate::input::sparse_json_maps_input::Builder;
 3336   3211   
}
 3337   3212   
 3338   3213   
/* StructureGenerator.kt:197 */
 3339   3214   
#[allow(missing_docs)] // documentation missing in model
 3340   3215   
/* RustType.kt:534 */
 3341   3216   
#[derive(
 3342   3217   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3343   3218   
)]
 3344         -
pub /* StructureGenerator.kt:201 */ struct GreetingWithErrorsInput {/* StructureGenerator.kt:201 */}
        3219  +
pub /* StructureGenerator.kt:201 */ struct JsonBlobsInput {
        3220  +
    /* StructureGenerator.kt:231 */
        3221  +
    #[allow(missing_docs)] // documentation missing in model
        3222  +
    pub data: ::std::option::Option<::aws_smithy_types::Blob>,
        3223  +
    /* StructureGenerator.kt:201 */
        3224  +
}
        3225  +
/* StructureGenerator.kt:135 */
        3226  +
impl JsonBlobsInput {
        3227  +
    /* StructureGenerator.kt:231 */
        3228  +
    #[allow(missing_docs)] // documentation missing in model
        3229  +
                           /* StructureGenerator.kt:166 */
        3230  +
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        3231  +
        /* StructureGenerator.kt:170 */
        3232  +
        self.data.as_ref()
        3233  +
        /* StructureGenerator.kt:166 */
        3234  +
    }
        3235  +
    /* StructureGenerator.kt:135 */
        3236  +
}
 3345   3237   
/* ServerCodegenVisitor.kt:356 */
 3346         -
impl GreetingWithErrorsInput {
 3347         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3238  +
impl JsonBlobsInput {
        3239  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonBlobsInput`](crate::input::JsonBlobsInput).
 3348   3240   
    /* ServerBuilderGenerator.kt:295 */
 3349         -
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
        3241  +
    pub fn builder() -> crate::input::json_blobs_input::Builder {
 3350   3242   
        /* ServerBuilderGenerator.kt:296 */
 3351         -
        crate::input::greeting_with_errors_input::Builder::default()
        3243  +
        crate::input::json_blobs_input::Builder::default()
 3352   3244   
        /* ServerBuilderGenerator.kt:295 */
 3353   3245   
    }
 3354   3246   
    /* ServerCodegenVisitor.kt:356 */
 3355   3247   
}
 3356   3248   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3357         -
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
 3358         -
    type Unconstrained = crate::input::greeting_with_errors_input::Builder;
        3249  +
impl crate::constrained::Constrained for crate::input::JsonBlobsInput {
        3250  +
    type Unconstrained = crate::input::json_blobs_input::Builder;
 3359   3251   
}
 3360   3252   
 3361   3253   
/* StructureGenerator.kt:197 */
 3362   3254   
#[allow(missing_docs)] // documentation missing in model
 3363   3255   
/* RustType.kt:534 */
 3364         -
#[derive(::std::fmt::Debug)]
 3365         -
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsWithMediaTypeInput {
        3256  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3257  +
pub /* StructureGenerator.kt:201 */ struct DocumentTypeInput {
 3366   3258   
    /* StructureGenerator.kt:231 */
 3367   3259   
    #[allow(missing_docs)] // documentation missing in model
 3368         -
    pub foo: ::std::option::Option<::std::string::String>,
        3260  +
    pub string_value: ::std::option::Option<::std::string::String>,
 3369   3261   
    /* StructureGenerator.kt:231 */
 3370   3262   
    #[allow(missing_docs)] // documentation missing in model
 3371         -
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
        3263  +
    pub document_value: ::std::option::Option<::aws_smithy_types::Document>,
 3372   3264   
    /* StructureGenerator.kt:201 */
 3373   3265   
}
 3374   3266   
/* StructureGenerator.kt:135 */
 3375         -
impl StreamingTraitsWithMediaTypeInput {
        3267  +
impl DocumentTypeInput {
 3376   3268   
    /* StructureGenerator.kt:231 */
 3377   3269   
    #[allow(missing_docs)] // documentation missing in model
 3378   3270   
                           /* StructureGenerator.kt:166 */
 3379         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3271  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
 3380   3272   
        /* StructureGenerator.kt:169 */
 3381         -
        self.foo.as_deref()
        3273  +
        self.string_value.as_deref()
 3382   3274   
        /* StructureGenerator.kt:166 */
 3383   3275   
    }
 3384   3276   
    /* StructureGenerator.kt:231 */
 3385   3277   
    #[allow(missing_docs)] // documentation missing in model
 3386   3278   
                           /* StructureGenerator.kt:166 */
 3387         -
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
 3388         -
        /* StructureGenerator.kt:172 */
 3389         -
        &self.blob
        3279  +
    pub fn document_value(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
        3280  +
        /* StructureGenerator.kt:170 */
        3281  +
        self.document_value.as_ref()
 3390   3282   
        /* StructureGenerator.kt:166 */
 3391   3283   
    }
 3392   3284   
    /* StructureGenerator.kt:135 */
 3393   3285   
}
 3394   3286   
/* ServerCodegenVisitor.kt:356 */
 3395         -
impl StreamingTraitsWithMediaTypeInput {
 3396         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
        3287  +
impl DocumentTypeInput {
        3288  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeInput`](crate::input::DocumentTypeInput).
 3397   3289   
    /* ServerBuilderGenerator.kt:295 */
 3398         -
    pub fn builder() -> crate::input::streaming_traits_with_media_type_input::Builder {
        3290  +
    pub fn builder() -> crate::input::document_type_input::Builder {
 3399   3291   
        /* ServerBuilderGenerator.kt:296 */
 3400         -
        crate::input::streaming_traits_with_media_type_input::Builder::default()
        3292  +
        crate::input::document_type_input::Builder::default()
 3401   3293   
        /* ServerBuilderGenerator.kt:295 */
 3402   3294   
    }
 3403   3295   
    /* ServerCodegenVisitor.kt:356 */
 3404   3296   
}
 3405   3297   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3406         -
impl crate::constrained::Constrained for crate::input::StreamingTraitsWithMediaTypeInput {
 3407         -
    type Unconstrained = crate::input::streaming_traits_with_media_type_input::Builder;
        3298  +
impl crate::constrained::Constrained for crate::input::DocumentTypeInput {
        3299  +
    type Unconstrained = crate::input::document_type_input::Builder;
 3408   3300   
}
 3409   3301   
 3410   3302   
/* StructureGenerator.kt:197 */
 3411   3303   
#[allow(missing_docs)] // documentation missing in model
 3412   3304   
/* RustType.kt:534 */
 3413         -
#[derive(::std::fmt::Debug)]
 3414         -
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsRequireLengthInput {
 3415         -
    /* StructureGenerator.kt:231 */
 3416         -
    #[allow(missing_docs)] // documentation missing in model
 3417         -
    pub foo: ::std::option::Option<::std::string::String>,
        3305  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3306  +
pub /* StructureGenerator.kt:201 */ struct DocumentTypeAsPayloadInput {
 3418   3307   
    /* StructureGenerator.kt:231 */
 3419   3308   
    #[allow(missing_docs)] // documentation missing in model
 3420         -
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
        3309  +
    pub document_value: ::std::option::Option<::aws_smithy_types::Document>,
 3421   3310   
    /* StructureGenerator.kt:201 */
 3422   3311   
}
 3423   3312   
/* StructureGenerator.kt:135 */
 3424         -
impl StreamingTraitsRequireLengthInput {
 3425         -
    /* StructureGenerator.kt:231 */
 3426         -
    #[allow(missing_docs)] // documentation missing in model
 3427         -
                           /* StructureGenerator.kt:166 */
 3428         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 3429         -
        /* StructureGenerator.kt:169 */
 3430         -
        self.foo.as_deref()
 3431         -
        /* StructureGenerator.kt:166 */
 3432         -
    }
        3313  +
impl DocumentTypeAsPayloadInput {
 3433   3314   
    /* StructureGenerator.kt:231 */
 3434   3315   
    #[allow(missing_docs)] // documentation missing in model
 3435   3316   
                           /* StructureGenerator.kt:166 */
 3436         -
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
 3437         -
        /* StructureGenerator.kt:172 */
 3438         -
        &self.blob
        3317  +
    pub fn document_value(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
        3318  +
        /* StructureGenerator.kt:170 */
        3319  +
        self.document_value.as_ref()
 3439   3320   
        /* StructureGenerator.kt:166 */
 3440   3321   
    }
 3441   3322   
    /* StructureGenerator.kt:135 */
 3442   3323   
}
 3443   3324   
/* ServerCodegenVisitor.kt:356 */
 3444         -
impl StreamingTraitsRequireLengthInput {
 3445         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
        3325  +
impl DocumentTypeAsPayloadInput {
        3326  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
 3446   3327   
    /* ServerBuilderGenerator.kt:295 */
 3447         -
    pub fn builder() -> crate::input::streaming_traits_require_length_input::Builder {
        3328  +
    pub fn builder() -> crate::input::document_type_as_payload_input::Builder {
 3448   3329   
        /* ServerBuilderGenerator.kt:296 */
 3449         -
        crate::input::streaming_traits_require_length_input::Builder::default()
        3330  +
        crate::input::document_type_as_payload_input::Builder::default()
 3450   3331   
        /* ServerBuilderGenerator.kt:295 */
 3451   3332   
    }
 3452   3333   
    /* ServerCodegenVisitor.kt:356 */
 3453   3334   
}
 3454   3335   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3455         -
impl crate::constrained::Constrained for crate::input::StreamingTraitsRequireLengthInput {
 3456         -
    type Unconstrained = crate::input::streaming_traits_require_length_input::Builder;
        3336  +
impl crate::constrained::Constrained for crate::input::DocumentTypeAsPayloadInput {
        3337  +
    type Unconstrained = crate::input::document_type_as_payload_input::Builder;
 3457   3338   
}
 3458   3339   
 3459   3340   
/* StructureGenerator.kt:197 */
 3460   3341   
#[allow(missing_docs)] // documentation missing in model
 3461   3342   
/* RustType.kt:534 */
 3462         -
#[derive(::std::fmt::Debug)]
 3463         -
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsInput {
 3464         -
    /* StructureGenerator.kt:231 */
 3465         -
    #[allow(missing_docs)] // documentation missing in model
 3466         -
    pub foo: ::std::option::Option<::std::string::String>,
        3343  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3344  +
pub /* StructureGenerator.kt:201 */ struct DocumentTypeAsMapValueInput {
 3467   3345   
    /* StructureGenerator.kt:231 */
 3468   3346   
    #[allow(missing_docs)] // documentation missing in model
 3469         -
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
        3347  +
    pub doc_valued_map: ::std::option::Option<
        3348  +
        ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
        3349  +
    >,
 3470   3350   
    /* StructureGenerator.kt:201 */
 3471   3351   
}
 3472   3352   
/* StructureGenerator.kt:135 */
 3473         -
impl StreamingTraitsInput {
 3474         -
    /* StructureGenerator.kt:231 */
 3475         -
    #[allow(missing_docs)] // documentation missing in model
 3476         -
                           /* StructureGenerator.kt:166 */
 3477         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 3478         -
        /* StructureGenerator.kt:169 */
 3479         -
        self.foo.as_deref()
 3480         -
        /* StructureGenerator.kt:166 */
 3481         -
    }
        3353  +
impl DocumentTypeAsMapValueInput {
 3482   3354   
    /* StructureGenerator.kt:231 */
 3483   3355   
    #[allow(missing_docs)] // documentation missing in model
 3484   3356   
                           /* StructureGenerator.kt:166 */
 3485         -
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
 3486         -
        /* StructureGenerator.kt:172 */
 3487         -
        &self.blob
        3357  +
    pub fn doc_valued_map(
        3358  +
        &self,
        3359  +
    ) -> ::std::option::Option<
        3360  +
        &::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
        3361  +
    > {
        3362  +
        /* StructureGenerator.kt:170 */
        3363  +
        self.doc_valued_map.as_ref()
 3488   3364   
        /* StructureGenerator.kt:166 */
 3489   3365   
    }
 3490   3366   
    /* StructureGenerator.kt:135 */
 3491   3367   
}
 3492   3368   
/* ServerCodegenVisitor.kt:356 */
 3493         -
impl StreamingTraitsInput {
 3494         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
        3369  +
impl DocumentTypeAsMapValueInput {
        3370  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
 3495   3371   
    /* ServerBuilderGenerator.kt:295 */
 3496         -
    pub fn builder() -> crate::input::streaming_traits_input::Builder {
        3372  +
    pub fn builder() -> crate::input::document_type_as_map_value_input::Builder {
 3497   3373   
        /* ServerBuilderGenerator.kt:296 */
 3498         -
        crate::input::streaming_traits_input::Builder::default()
        3374  +
        crate::input::document_type_as_map_value_input::Builder::default()
 3499   3375   
        /* ServerBuilderGenerator.kt:295 */
 3500   3376   
    }
 3501   3377   
    /* ServerCodegenVisitor.kt:356 */
 3502   3378   
}
 3503   3379   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3504         -
impl crate::constrained::Constrained for crate::input::StreamingTraitsInput {
 3505         -
    type Unconstrained = crate::input::streaming_traits_input::Builder;
        3380  +
impl crate::constrained::Constrained for crate::input::DocumentTypeAsMapValueInput {
        3381  +
    type Unconstrained = crate::input::document_type_as_map_value_input::Builder;
 3506   3382   
}
 3507   3383   
 3508         -
/* StructureGenerator.kt:197 */
 3509         -
#[allow(missing_docs)] // documentation missing in model
        3384  +
/// /* StructureGenerator.kt:197 */A shared structure that contains a single union member.
 3510   3385   
/* RustType.kt:534 */
 3511         -
#[derive(
 3512         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3513         -
)]
 3514         -
pub /* StructureGenerator.kt:201 */ struct ResponseCodeHttpFallbackInput {/* StructureGenerator.kt:201 */}
 3515         -
/* ServerCodegenVisitor.kt:356 */
 3516         -
impl ResponseCodeHttpFallbackInput {
 3517         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
 3518         -
    /* ServerBuilderGenerator.kt:295 */
 3519         -
    pub fn builder() -> crate::input::response_code_http_fallback_input::Builder {
 3520         -
        /* ServerBuilderGenerator.kt:296 */
 3521         -
        crate::input::response_code_http_fallback_input::Builder::default()
 3522         -
        /* ServerBuilderGenerator.kt:295 */
 3523         -
    }
 3524         -
    /* ServerCodegenVisitor.kt:356 */
        3386  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3387  +
pub /* StructureGenerator.kt:201 */ struct JsonUnionsInput {
        3388  +
    /// /* StructureGenerator.kt:231 */A union with a representative set of types for members.
        3389  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
        3390  +
    /* StructureGenerator.kt:201 */
 3525   3391   
}
 3526         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3527         -
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackInput {
 3528         -
    type Unconstrained = crate::input::response_code_http_fallback_input::Builder;
        3392  +
/* StructureGenerator.kt:135 */
        3393  +
impl JsonUnionsInput {
        3394  +
    /// /* StructureGenerator.kt:231 */A union with a representative set of types for members.
        3395  +
    /* StructureGenerator.kt:166 */
        3396  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
        3397  +
        /* StructureGenerator.kt:170 */
        3398  +
        self.contents.as_ref()
        3399  +
        /* StructureGenerator.kt:166 */
        3400  +
    }
        3401  +
    /* StructureGenerator.kt:135 */
 3529   3402   
}
 3530         -
 3531         -
/* StructureGenerator.kt:197 */
 3532         -
#[allow(missing_docs)] // documentation missing in model
 3533         -
/* RustType.kt:534 */
 3534         -
#[derive(
 3535         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3536         -
)]
 3537         -
pub /* StructureGenerator.kt:201 */ struct ResponseCodeRequiredInput {/* StructureGenerator.kt:201 */}
 3538   3403   
/* ServerCodegenVisitor.kt:356 */
 3539         -
impl ResponseCodeRequiredInput {
 3540         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
        3404  +
impl JsonUnionsInput {
        3405  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 3541   3406   
    /* ServerBuilderGenerator.kt:295 */
 3542         -
    pub fn builder() -> crate::input::response_code_required_input::Builder {
        3407  +
    pub fn builder() -> crate::input::json_unions_input::Builder {
 3543   3408   
        /* ServerBuilderGenerator.kt:296 */
 3544         -
        crate::input::response_code_required_input::Builder::default()
        3409  +
        crate::input::json_unions_input::Builder::default()
 3545   3410   
        /* ServerBuilderGenerator.kt:295 */
 3546   3411   
    }
 3547   3412   
    /* ServerCodegenVisitor.kt:356 */
 3548   3413   
}
 3549   3414   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3550         -
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredInput {
 3551         -
    type Unconstrained = crate::input::response_code_required_input::Builder;
        3415  +
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
        3416  +
    type Unconstrained = crate::input::json_unions_input::Builder;
 3552   3417   
}
 3553   3418   
 3554   3419   
/* StructureGenerator.kt:197 */
 3555   3420   
#[allow(missing_docs)] // documentation missing in model
 3556   3421   
/* RustType.kt:534 */
 3557   3422   
#[derive(
 3558   3423   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3559   3424   
)]
 3560         -
pub /* StructureGenerator.kt:201 */ struct HttpResponseCodeInput {/* StructureGenerator.kt:201 */}
        3425  +
pub /* StructureGenerator.kt:201 */ struct PostPlayerActionInput {
        3426  +
    /* StructureGenerator.kt:231 */
        3427  +
    #[allow(missing_docs)] // documentation missing in model
        3428  +
    pub action: ::std::option::Option<crate::model::PlayerAction>,
        3429  +
    /* StructureGenerator.kt:201 */
        3430  +
}
        3431  +
/* StructureGenerator.kt:135 */
        3432  +
impl PostPlayerActionInput {
        3433  +
    /* StructureGenerator.kt:231 */
        3434  +
    #[allow(missing_docs)] // documentation missing in model
        3435  +
                           /* StructureGenerator.kt:166 */
        3436  +
    pub fn action(&self) -> ::std::option::Option<&crate::model::PlayerAction> {
        3437  +
        /* StructureGenerator.kt:170 */
        3438  +
        self.action.as_ref()
        3439  +
        /* StructureGenerator.kt:166 */
        3440  +
    }
        3441  +
    /* StructureGenerator.kt:135 */
        3442  +
}
 3561   3443   
/* ServerCodegenVisitor.kt:356 */
 3562         -
impl HttpResponseCodeInput {
 3563         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
        3444  +
impl PostPlayerActionInput {
        3445  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
 3564   3446   
    /* ServerBuilderGenerator.kt:295 */
 3565         -
    pub fn builder() -> crate::input::http_response_code_input::Builder {
        3447  +
    pub fn builder() -> crate::input::post_player_action_input::Builder {
 3566   3448   
        /* ServerBuilderGenerator.kt:296 */
 3567         -
        crate::input::http_response_code_input::Builder::default()
        3449  +
        crate::input::post_player_action_input::Builder::default()
 3568   3450   
        /* ServerBuilderGenerator.kt:295 */
 3569   3451   
    }
 3570   3452   
    /* ServerCodegenVisitor.kt:356 */
 3571   3453   
}
 3572   3454   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3573         -
impl crate::constrained::Constrained for crate::input::HttpResponseCodeInput {
 3574         -
    type Unconstrained = crate::input::http_response_code_input::Builder;
        3455  +
impl crate::constrained::Constrained for crate::input::PostPlayerActionInput {
        3456  +
    type Unconstrained = crate::input::post_player_action_input::Builder;
 3575   3457   
}
 3576   3458   
 3577   3459   
/* StructureGenerator.kt:197 */
 3578   3460   
#[allow(missing_docs)] // documentation missing in model
 3579   3461   
/* RustType.kt:534 */
 3580   3462   
#[derive(
 3581   3463   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3582   3464   
)]
 3583         -
pub /* StructureGenerator.kt:201 */ struct HttpPayloadWithUnionInput {
        3465  +
pub /* StructureGenerator.kt:201 */ struct PostUnionWithJsonNameInput {
 3584   3466   
    /* StructureGenerator.kt:231 */
 3585   3467   
    #[allow(missing_docs)] // documentation missing in model
 3586         -
    pub nested: ::std::option::Option<crate::model::UnionPayload>,
        3468  +
    pub value: ::std::option::Option<crate::model::UnionWithJsonName>,
 3587   3469   
    /* StructureGenerator.kt:201 */
 3588   3470   
}
 3589   3471   
/* StructureGenerator.kt:135 */
 3590         -
impl HttpPayloadWithUnionInput {
        3472  +
impl PostUnionWithJsonNameInput {
 3591   3473   
    /* StructureGenerator.kt:231 */
 3592   3474   
    #[allow(missing_docs)] // documentation missing in model
 3593   3475   
                           /* StructureGenerator.kt:166 */
 3594         -
    pub fn nested(&self) -> ::std::option::Option<&crate::model::UnionPayload> {
        3476  +
    pub fn value(&self) -> ::std::option::Option<&crate::model::UnionWithJsonName> {
 3595   3477   
        /* StructureGenerator.kt:170 */
 3596         -
        self.nested.as_ref()
        3478  +
        self.value.as_ref()
 3597   3479   
        /* StructureGenerator.kt:166 */
 3598   3480   
    }
 3599   3481   
    /* StructureGenerator.kt:135 */
 3600   3482   
}
 3601   3483   
/* ServerCodegenVisitor.kt:356 */
 3602         -
impl HttpPayloadWithUnionInput {
 3603         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
        3484  +
impl PostUnionWithJsonNameInput {
        3485  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
 3604   3486   
    /* ServerBuilderGenerator.kt:295 */
 3605         -
    pub fn builder() -> crate::input::http_payload_with_union_input::Builder {
        3487  +
    pub fn builder() -> crate::input::post_union_with_json_name_input::Builder {
 3606   3488   
        /* ServerBuilderGenerator.kt:296 */
 3607         -
        crate::input::http_payload_with_union_input::Builder::default()
        3489  +
        crate::input::post_union_with_json_name_input::Builder::default()
 3608   3490   
        /* ServerBuilderGenerator.kt:295 */
 3609   3491   
    }
 3610   3492   
    /* ServerCodegenVisitor.kt:356 */
 3611   3493   
}
 3612   3494   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3613         -
impl crate::constrained::Constrained for crate::input::HttpPayloadWithUnionInput {
 3614         -
    type Unconstrained = crate::input::http_payload_with_union_input::Builder;
        3495  +
impl crate::constrained::Constrained for crate::input::PostUnionWithJsonNameInput {
        3496  +
    type Unconstrained = crate::input::post_union_with_json_name_input::Builder;
 3615   3497   
}
 3616   3498   
 3617   3499   
/* StructureGenerator.kt:197 */
 3618   3500   
#[allow(missing_docs)] // documentation missing in model
 3619   3501   
/* RustType.kt:534 */
 3620   3502   
#[derive(
 3621   3503   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3622   3504   
)]
 3623         -
pub /* StructureGenerator.kt:201 */ struct HttpStringPayloadInput {
 3624         -
    /* StructureGenerator.kt:231 */
 3625         -
    #[allow(missing_docs)] // documentation missing in model
 3626         -
    pub payload: ::std::option::Option<::std::string::String>,
 3627         -
    /* StructureGenerator.kt:201 */
 3628         -
}
 3629         -
/* StructureGenerator.kt:135 */
 3630         -
impl HttpStringPayloadInput {
 3631         -
    /* StructureGenerator.kt:231 */
 3632         -
    #[allow(missing_docs)] // documentation missing in model
 3633         -
                           /* StructureGenerator.kt:166 */
 3634         -
    pub fn payload(&self) -> ::std::option::Option<&str> {
 3635         -
        /* StructureGenerator.kt:169 */
 3636         -
        self.payload.as_deref()
 3637         -
        /* StructureGenerator.kt:166 */
 3638         -
    }
 3639         -
    /* StructureGenerator.kt:135 */
 3640         -
}
        3505  +
pub /* StructureGenerator.kt:201 */ struct EndpointOperationInput {/* StructureGenerator.kt:201 */}
 3641   3506   
/* ServerCodegenVisitor.kt:356 */
 3642         -
impl HttpStringPayloadInput {
 3643         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
        3507  +
impl EndpointOperationInput {
        3508  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 3644   3509   
    /* ServerBuilderGenerator.kt:295 */
 3645         -
    pub fn builder() -> crate::input::http_string_payload_input::Builder {
        3510  +
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
 3646   3511   
        /* ServerBuilderGenerator.kt:296 */
 3647         -
        crate::input::http_string_payload_input::Builder::default()
        3512  +
        crate::input::endpoint_operation_input::Builder::default()
 3648   3513   
        /* ServerBuilderGenerator.kt:295 */
 3649   3514   
    }
 3650   3515   
    /* ServerCodegenVisitor.kt:356 */
 3651   3516   
}
 3652   3517   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3653         -
impl crate::constrained::Constrained for crate::input::HttpStringPayloadInput {
 3654         -
    type Unconstrained = crate::input::http_string_payload_input::Builder;
        3518  +
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
        3519  +
    type Unconstrained = crate::input::endpoint_operation_input::Builder;
 3655   3520   
}
 3656   3521   
 3657   3522   
/* StructureGenerator.kt:197 */
 3658   3523   
#[allow(missing_docs)] // documentation missing in model
 3659   3524   
/* RustType.kt:534 */
 3660   3525   
#[derive(
 3661   3526   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3662   3527   
)]
 3663         -
pub /* StructureGenerator.kt:201 */ struct HttpEnumPayloadInput {
        3528  +
pub /* StructureGenerator.kt:201 */ struct EndpointWithHostLabelOperationInput {
 3664   3529   
    /* StructureGenerator.kt:231 */
 3665   3530   
    #[allow(missing_docs)] // documentation missing in model
 3666         -
    pub payload: ::std::option::Option<crate::model::StringEnum>,
        3531  +
    pub label: ::std::string::String,
 3667   3532   
    /* StructureGenerator.kt:201 */
 3668   3533   
}
 3669   3534   
/* StructureGenerator.kt:135 */
 3670         -
impl HttpEnumPayloadInput {
        3535  +
impl EndpointWithHostLabelOperationInput {
 3671   3536   
    /* StructureGenerator.kt:231 */
 3672   3537   
    #[allow(missing_docs)] // documentation missing in model
 3673   3538   
                           /* StructureGenerator.kt:166 */
 3674         -
    pub fn payload(&self) -> ::std::option::Option<&crate::model::StringEnum> {
 3675         -
        /* StructureGenerator.kt:170 */
 3676         -
        self.payload.as_ref()
        3539  +
    pub fn label(&self) -> &str {
        3540  +
        /* StructureGenerator.kt:171 */
        3541  +
        use std::ops::Deref;
        3542  +
        self.label.deref()
 3677   3543   
        /* StructureGenerator.kt:166 */
 3678   3544   
    }
 3679   3545   
    /* StructureGenerator.kt:135 */
 3680   3546   
}
 3681   3547   
/* ServerCodegenVisitor.kt:356 */
 3682         -
impl HttpEnumPayloadInput {
 3683         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
        3548  +
impl EndpointWithHostLabelOperationInput {
        3549  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 3684   3550   
    /* ServerBuilderGenerator.kt:295 */
 3685         -
    pub fn builder() -> crate::input::http_enum_payload_input::Builder {
        3551  +
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
 3686   3552   
        /* ServerBuilderGenerator.kt:296 */
 3687         -
        crate::input::http_enum_payload_input::Builder::default()
        3553  +
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
 3688   3554   
        /* ServerBuilderGenerator.kt:295 */
 3689   3555   
    }
 3690   3556   
    /* ServerCodegenVisitor.kt:356 */
 3691   3557   
}
 3692   3558   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3693         -
impl crate::constrained::Constrained for crate::input::HttpEnumPayloadInput {
 3694         -
    type Unconstrained = crate::input::http_enum_payload_input::Builder;
        3559  +
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
        3560  +
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input::Builder;
 3695   3561   
}
 3696   3562   
 3697   3563   
/* StructureGenerator.kt:197 */
 3698   3564   
#[allow(missing_docs)] // documentation missing in model
 3699   3565   
/* RustType.kt:534 */
 3700   3566   
#[derive(
 3701   3567   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3702   3568   
)]
 3703         -
pub /* StructureGenerator.kt:201 */ struct HttpPayloadWithStructureInput {
 3704         -
    /* StructureGenerator.kt:231 */
 3705         -
    #[allow(missing_docs)] // documentation missing in model
 3706         -
    pub nested: ::std::option::Option<crate::model::NestedPayload>,
 3707         -
    /* StructureGenerator.kt:201 */
 3708         -
}
 3709         -
/* StructureGenerator.kt:135 */
 3710         -
impl HttpPayloadWithStructureInput {
 3711         -
    /* StructureGenerator.kt:231 */
 3712         -
    #[allow(missing_docs)] // documentation missing in model
 3713         -
                           /* StructureGenerator.kt:166 */
 3714         -
    pub fn nested(&self) -> ::std::option::Option<&crate::model::NestedPayload> {
 3715         -
        /* StructureGenerator.kt:170 */
 3716         -
        self.nested.as_ref()
 3717         -
        /* StructureGenerator.kt:166 */
 3718         -
    }
 3719         -
    /* StructureGenerator.kt:135 */
 3720         -
}
        3569  +
pub /* StructureGenerator.kt:201 */ struct HostWithPathOperationInput {/* StructureGenerator.kt:201 */}
 3721   3570   
/* ServerCodegenVisitor.kt:356 */
 3722         -
impl HttpPayloadWithStructureInput {
 3723         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
        3571  +
impl HostWithPathOperationInput {
        3572  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 3724   3573   
    /* ServerBuilderGenerator.kt:295 */
 3725         -
    pub fn builder() -> crate::input::http_payload_with_structure_input::Builder {
        3574  +
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
 3726   3575   
        /* ServerBuilderGenerator.kt:296 */
 3727         -
        crate::input::http_payload_with_structure_input::Builder::default()
        3576  +
        crate::input::host_with_path_operation_input::Builder::default()
 3728   3577   
        /* ServerBuilderGenerator.kt:295 */
 3729   3578   
    }
 3730   3579   
    /* ServerCodegenVisitor.kt:356 */
 3731   3580   
}
 3732   3581   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3733         -
impl crate::constrained::Constrained for crate::input::HttpPayloadWithStructureInput {
 3734         -
    type Unconstrained = crate::input::http_payload_with_structure_input::Builder;
        3582  +
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
        3583  +
    type Unconstrained = crate::input::host_with_path_operation_input::Builder;
 3735   3584   
}
 3736   3585   
 3737   3586   
/* StructureGenerator.kt:197 */
 3738   3587   
#[allow(missing_docs)] // documentation missing in model
 3739   3588   
/* RustType.kt:534 */
 3740   3589   
#[derive(
 3741   3590   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3742   3591   
)]
 3743         -
pub /* StructureGenerator.kt:201 */ struct HttpPayloadTraitsWithMediaTypeInput {
        3592  +
pub /* StructureGenerator.kt:201 */ struct HttpChecksumRequiredInput {
 3744   3593   
    /* StructureGenerator.kt:231 */
 3745   3594   
    #[allow(missing_docs)] // documentation missing in model
 3746   3595   
    pub foo: ::std::option::Option<::std::string::String>,
 3747         -
    /* StructureGenerator.kt:231 */
 3748         -
    #[allow(missing_docs)] // documentation missing in model
 3749         -
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
 3750   3596   
    /* StructureGenerator.kt:201 */
 3751   3597   
}
 3752   3598   
/* StructureGenerator.kt:135 */
 3753         -
impl HttpPayloadTraitsWithMediaTypeInput {
        3599  +
impl HttpChecksumRequiredInput {
 3754   3600   
    /* StructureGenerator.kt:231 */
 3755   3601   
    #[allow(missing_docs)] // documentation missing in model
 3756   3602   
                           /* StructureGenerator.kt:166 */
 3757   3603   
    pub fn foo(&self) -> ::std::option::Option<&str> {
 3758   3604   
        /* StructureGenerator.kt:169 */
 3759   3605   
        self.foo.as_deref()
 3760   3606   
        /* StructureGenerator.kt:166 */
 3761   3607   
    }
 3762         -
    /* StructureGenerator.kt:231 */
 3763         -
    #[allow(missing_docs)] // documentation missing in model
 3764         -
                           /* StructureGenerator.kt:166 */
 3765         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
 3766         -
        /* StructureGenerator.kt:170 */
 3767         -
        self.blob.as_ref()
 3768         -
        /* StructureGenerator.kt:166 */
 3769         -
    }
 3770   3608   
    /* StructureGenerator.kt:135 */
 3771   3609   
}
 3772   3610   
/* ServerCodegenVisitor.kt:356 */
 3773         -
impl HttpPayloadTraitsWithMediaTypeInput {
 3774         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
        3611  +
impl HttpChecksumRequiredInput {
        3612  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
 3775   3613   
    /* ServerBuilderGenerator.kt:295 */
 3776         -
    pub fn builder() -> crate::input::http_payload_traits_with_media_type_input::Builder {
        3614  +
    pub fn builder() -> crate::input::http_checksum_required_input::Builder {
 3777   3615   
        /* ServerBuilderGenerator.kt:296 */
 3778         -
        crate::input::http_payload_traits_with_media_type_input::Builder::default()
        3616  +
        crate::input::http_checksum_required_input::Builder::default()
 3779   3617   
        /* ServerBuilderGenerator.kt:295 */
 3780   3618   
    }
 3781   3619   
    /* ServerCodegenVisitor.kt:356 */
 3782   3620   
}
 3783   3621   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3784         -
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsWithMediaTypeInput {
 3785         -
    type Unconstrained = crate::input::http_payload_traits_with_media_type_input::Builder;
        3622  +
impl crate::constrained::Constrained for crate::input::HttpChecksumRequiredInput {
        3623  +
    type Unconstrained = crate::input::http_checksum_required_input::Builder;
 3786   3624   
}
 3787   3625   
 3788   3626   
/* StructureGenerator.kt:197 */
 3789   3627   
#[allow(missing_docs)] // documentation missing in model
 3790   3628   
/* RustType.kt:534 */
 3791         -
#[derive(
 3792         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3793         -
)]
 3794         -
pub /* StructureGenerator.kt:201 */ struct HttpPayloadTraitsInput {
        3629  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3630  +
pub /* StructureGenerator.kt:201 */ struct MalformedRequestBodyInput {
 3795   3631   
    /* StructureGenerator.kt:231 */
 3796   3632   
    #[allow(missing_docs)] // documentation missing in model
 3797         -
    pub foo: ::std::option::Option<::std::string::String>,
        3633  +
    pub int: ::std::option::Option<i32>,
 3798   3634   
    /* StructureGenerator.kt:231 */
 3799   3635   
    #[allow(missing_docs)] // documentation missing in model
 3800         -
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
        3636  +
    pub float: ::std::option::Option<f32>,
 3801   3637   
    /* StructureGenerator.kt:201 */
 3802   3638   
}
 3803   3639   
/* StructureGenerator.kt:135 */
 3804         -
impl HttpPayloadTraitsInput {
        3640  +
impl MalformedRequestBodyInput {
 3805   3641   
    /* StructureGenerator.kt:231 */
 3806   3642   
    #[allow(missing_docs)] // documentation missing in model
 3807   3643   
                           /* StructureGenerator.kt:166 */
 3808         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 3809         -
        /* StructureGenerator.kt:169 */
 3810         -
        self.foo.as_deref()
        3644  +
    pub fn int(&self) -> ::std::option::Option<i32> {
        3645  +
        /* StructureGenerator.kt:168 */
        3646  +
        self.int
 3811   3647   
        /* StructureGenerator.kt:166 */
 3812   3648   
    }
 3813   3649   
    /* StructureGenerator.kt:231 */
 3814   3650   
    #[allow(missing_docs)] // documentation missing in model
 3815   3651   
                           /* StructureGenerator.kt:166 */
 3816         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
 3817         -
        /* StructureGenerator.kt:170 */
 3818         -
        self.blob.as_ref()
        3652  +
    pub fn float(&self) -> ::std::option::Option<f32> {
        3653  +
        /* StructureGenerator.kt:168 */
        3654  +
        self.float
 3819   3655   
        /* StructureGenerator.kt:166 */
 3820   3656   
    }
 3821   3657   
    /* StructureGenerator.kt:135 */
 3822   3658   
}
 3823   3659   
/* ServerCodegenVisitor.kt:356 */
 3824         -
impl HttpPayloadTraitsInput {
 3825         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
        3660  +
impl MalformedRequestBodyInput {
        3661  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
 3826   3662   
    /* ServerBuilderGenerator.kt:295 */
 3827         -
    pub fn builder() -> crate::input::http_payload_traits_input::Builder {
        3663  +
    pub fn builder() -> crate::input::malformed_request_body_input::Builder {
 3828   3664   
        /* ServerBuilderGenerator.kt:296 */
 3829         -
        crate::input::http_payload_traits_input::Builder::default()
        3665  +
        crate::input::malformed_request_body_input::Builder::default()
 3830   3666   
        /* ServerBuilderGenerator.kt:295 */
 3831   3667   
    }
 3832   3668   
    /* ServerCodegenVisitor.kt:356 */
 3833   3669   
}
 3834   3670   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3835         -
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsInput {
 3836         -
    type Unconstrained = crate::input::http_payload_traits_input::Builder;
        3671  +
impl crate::constrained::Constrained for crate::input::MalformedRequestBodyInput {
        3672  +
    type Unconstrained = crate::input::malformed_request_body_input::Builder;
 3837   3673   
}
 3838   3674   
 3839   3675   
/* StructureGenerator.kt:197 */
 3840   3676   
#[allow(missing_docs)] // documentation missing in model
 3841   3677   
/* RustType.kt:534 */
 3842         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3843         -
pub /* StructureGenerator.kt:201 */ struct HttpEmptyPrefixHeadersInput {
        3678  +
#[derive(
        3679  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3680  +
)]
        3681  +
pub /* StructureGenerator.kt:201 */ struct MalformedIntegerInput {
 3844   3682   
    /* StructureGenerator.kt:231 */
 3845   3683   
    #[allow(missing_docs)] // documentation missing in model
 3846         -
    pub prefix_headers: ::std::option::Option<
 3847         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3848         -
    >,
        3684  +
    pub integer_in_body: ::std::option::Option<i32>,
 3849   3685   
    /* StructureGenerator.kt:231 */
 3850   3686   
    #[allow(missing_docs)] // documentation missing in model
 3851         -
    pub specific_header: ::std::option::Option<::std::string::String>,
        3687  +
    pub integer_in_path: i32,
        3688  +
    /* StructureGenerator.kt:231 */
        3689  +
    #[allow(missing_docs)] // documentation missing in model
        3690  +
    pub integer_in_query: ::std::option::Option<i32>,
        3691  +
    /* StructureGenerator.kt:231 */
        3692  +
    #[allow(missing_docs)] // documentation missing in model
        3693  +
    pub integer_in_header: ::std::option::Option<i32>,
 3852   3694   
    /* StructureGenerator.kt:201 */
 3853   3695   
}
 3854   3696   
/* StructureGenerator.kt:135 */
 3855         -
impl HttpEmptyPrefixHeadersInput {
        3697  +
impl MalformedIntegerInput {
 3856   3698   
    /* StructureGenerator.kt:231 */
 3857   3699   
    #[allow(missing_docs)] // documentation missing in model
 3858   3700   
                           /* StructureGenerator.kt:166 */
 3859         -
    pub fn prefix_headers(
 3860         -
        &self,
 3861         -
    ) -> ::std::option::Option<
 3862         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3863         -
    > {
 3864         -
        /* StructureGenerator.kt:170 */
 3865         -
        self.prefix_headers.as_ref()
        3701  +
    pub fn integer_in_body(&self) -> ::std::option::Option<i32> {
        3702  +
        /* StructureGenerator.kt:168 */
        3703  +
        self.integer_in_body
 3866   3704   
        /* StructureGenerator.kt:166 */
 3867   3705   
    }
 3868   3706   
    /* StructureGenerator.kt:231 */
 3869   3707   
    #[allow(missing_docs)] // documentation missing in model
 3870   3708   
                           /* StructureGenerator.kt:166 */
 3871         -
    pub fn specific_header(&self) -> ::std::option::Option<&str> {
 3872         -
        /* StructureGenerator.kt:169 */
 3873         -
        self.specific_header.as_deref()
        3709  +
    pub fn integer_in_path(&self) -> i32 {
        3710  +
        /* StructureGenerator.kt:168 */
        3711  +
        self.integer_in_path
        3712  +
        /* StructureGenerator.kt:166 */
        3713  +
    }
        3714  +
    /* StructureGenerator.kt:231 */
        3715  +
    #[allow(missing_docs)] // documentation missing in model
        3716  +
                           /* StructureGenerator.kt:166 */
        3717  +
    pub fn integer_in_query(&self) -> ::std::option::Option<i32> {
        3718  +
        /* StructureGenerator.kt:168 */
        3719  +
        self.integer_in_query
        3720  +
        /* StructureGenerator.kt:166 */
        3721  +
    }
        3722  +
    /* StructureGenerator.kt:231 */
        3723  +
    #[allow(missing_docs)] // documentation missing in model
        3724  +
                           /* StructureGenerator.kt:166 */
        3725  +
    pub fn integer_in_header(&self) -> ::std::option::Option<i32> {
        3726  +
        /* StructureGenerator.kt:168 */
        3727  +
        self.integer_in_header
 3874   3728   
        /* StructureGenerator.kt:166 */
 3875   3729   
    }
 3876   3730   
    /* StructureGenerator.kt:135 */
 3877   3731   
}
 3878   3732   
/* ServerCodegenVisitor.kt:356 */
 3879         -
impl HttpEmptyPrefixHeadersInput {
 3880         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
        3733  +
impl MalformedIntegerInput {
        3734  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
 3881   3735   
    /* ServerBuilderGenerator.kt:295 */
 3882         -
    pub fn builder() -> crate::input::http_empty_prefix_headers_input::Builder {
        3736  +
    pub fn builder() -> crate::input::malformed_integer_input::Builder {
 3883   3737   
        /* ServerBuilderGenerator.kt:296 */
 3884         -
        crate::input::http_empty_prefix_headers_input::Builder::default()
        3738  +
        crate::input::malformed_integer_input::Builder::default()
 3885   3739   
        /* ServerBuilderGenerator.kt:295 */
 3886   3740   
    }
 3887   3741   
    /* ServerCodegenVisitor.kt:356 */
 3888   3742   
}
 3889   3743   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3890         -
impl crate::constrained::Constrained for crate::input::HttpEmptyPrefixHeadersInput {
 3891         -
    type Unconstrained = crate::input::http_empty_prefix_headers_input::Builder;
        3744  +
impl crate::constrained::Constrained for crate::input::MalformedIntegerInput {
        3745  +
    type Unconstrained = crate::input::malformed_integer_input::Builder;
 3892   3746   
}
 3893   3747   
 3894   3748   
/* StructureGenerator.kt:197 */
 3895   3749   
#[allow(missing_docs)] // documentation missing in model
 3896   3750   
/* RustType.kt:534 */
 3897   3751   
#[derive(
 3898   3752   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3899   3753   
)]
 3900         -
pub /* StructureGenerator.kt:201 */ struct HttpPrefixHeadersInResponseInput {/* StructureGenerator.kt:201 */}
        3754  +
pub /* StructureGenerator.kt:201 */ struct MalformedUnionInput {
        3755  +
    /* StructureGenerator.kt:231 */
        3756  +
    #[allow(missing_docs)] // documentation missing in model
        3757  +
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
        3758  +
    /* StructureGenerator.kt:201 */
        3759  +
}
        3760  +
/* StructureGenerator.kt:135 */
        3761  +
impl MalformedUnionInput {
        3762  +
    /* StructureGenerator.kt:231 */
        3763  +
    #[allow(missing_docs)] // documentation missing in model
        3764  +
                           /* StructureGenerator.kt:166 */
        3765  +
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
        3766  +
        /* StructureGenerator.kt:170 */
        3767  +
        self.union.as_ref()
        3768  +
        /* StructureGenerator.kt:166 */
        3769  +
    }
        3770  +
    /* StructureGenerator.kt:135 */
        3771  +
}
 3901   3772   
/* ServerCodegenVisitor.kt:356 */
 3902         -
impl HttpPrefixHeadersInResponseInput {
 3903         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
        3773  +
impl MalformedUnionInput {
        3774  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedUnionInput`](crate::input::MalformedUnionInput).
 3904   3775   
    /* ServerBuilderGenerator.kt:295 */
 3905         -
    pub fn builder() -> crate::input::http_prefix_headers_in_response_input::Builder {
        3776  +
    pub fn builder() -> crate::input::malformed_union_input::Builder {
 3906   3777   
        /* ServerBuilderGenerator.kt:296 */
 3907         -
        crate::input::http_prefix_headers_in_response_input::Builder::default()
        3778  +
        crate::input::malformed_union_input::Builder::default()
 3908   3779   
        /* ServerBuilderGenerator.kt:295 */
 3909   3780   
    }
 3910   3781   
    /* ServerCodegenVisitor.kt:356 */
 3911   3782   
}
 3912   3783   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3913         -
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInResponseInput {
 3914         -
    type Unconstrained = crate::input::http_prefix_headers_in_response_input::Builder;
        3784  +
impl crate::constrained::Constrained for crate::input::MalformedUnionInput {
        3785  +
    type Unconstrained = crate::input::malformed_union_input::Builder;
 3915   3786   
}
 3916   3787   
 3917   3788   
/* StructureGenerator.kt:197 */
 3918   3789   
#[allow(missing_docs)] // documentation missing in model
 3919   3790   
/* RustType.kt:534 */
 3920         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3921         -
pub /* StructureGenerator.kt:201 */ struct HttpPrefixHeadersInput {
        3791  +
#[derive(
        3792  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3793  +
)]
        3794  +
pub /* StructureGenerator.kt:201 */ struct MalformedBooleanInput {
 3922   3795   
    /* StructureGenerator.kt:231 */
 3923   3796   
    #[allow(missing_docs)] // documentation missing in model
 3924         -
    pub foo: ::std::option::Option<::std::string::String>,
        3797  +
    pub boolean_in_body: ::std::option::Option<bool>,
 3925   3798   
    /* StructureGenerator.kt:231 */
 3926   3799   
    #[allow(missing_docs)] // documentation missing in model
 3927         -
    pub foo_map: ::std::option::Option<
 3928         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3929         -
    >,
        3800  +
    pub boolean_in_path: bool,
        3801  +
    /* StructureGenerator.kt:231 */
        3802  +
    #[allow(missing_docs)] // documentation missing in model
        3803  +
    pub boolean_in_query: ::std::option::Option<bool>,
        3804  +
    /* StructureGenerator.kt:231 */
        3805  +
    #[allow(missing_docs)] // documentation missing in model
        3806  +
    pub boolean_in_header: ::std::option::Option<bool>,
 3930   3807   
    /* StructureGenerator.kt:201 */
 3931   3808   
}
 3932   3809   
/* StructureGenerator.kt:135 */
 3933         -
impl HttpPrefixHeadersInput {
        3810  +
impl MalformedBooleanInput {
 3934   3811   
    /* StructureGenerator.kt:231 */
 3935   3812   
    #[allow(missing_docs)] // documentation missing in model
 3936   3813   
                           /* StructureGenerator.kt:166 */
 3937         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 3938         -
        /* StructureGenerator.kt:169 */
 3939         -
        self.foo.as_deref()
        3814  +
    pub fn boolean_in_body(&self) -> ::std::option::Option<bool> {
        3815  +
        /* StructureGenerator.kt:168 */
        3816  +
        self.boolean_in_body
 3940   3817   
        /* StructureGenerator.kt:166 */
 3941   3818   
    }
 3942   3819   
    /* StructureGenerator.kt:231 */
 3943   3820   
    #[allow(missing_docs)] // documentation missing in model
 3944   3821   
                           /* StructureGenerator.kt:166 */
 3945         -
    pub fn foo_map(
 3946         -
        &self,
 3947         -
    ) -> ::std::option::Option<
 3948         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3949         -
    > {
 3950         -
        /* StructureGenerator.kt:170 */
 3951         -
        self.foo_map.as_ref()
        3822  +
    pub fn boolean_in_path(&self) -> bool {
        3823  +
        /* StructureGenerator.kt:168 */
        3824  +
        self.boolean_in_path
        3825  +
        /* StructureGenerator.kt:166 */
        3826  +
    }
        3827  +
    /* StructureGenerator.kt:231 */
        3828  +
    #[allow(missing_docs)] // documentation missing in model
        3829  +
                           /* StructureGenerator.kt:166 */
        3830  +
    pub fn boolean_in_query(&self) -> ::std::option::Option<bool> {
        3831  +
        /* StructureGenerator.kt:168 */
        3832  +
        self.boolean_in_query
        3833  +
        /* StructureGenerator.kt:166 */
        3834  +
    }
        3835  +
    /* StructureGenerator.kt:231 */
        3836  +
    #[allow(missing_docs)] // documentation missing in model
        3837  +
                           /* StructureGenerator.kt:166 */
        3838  +
    pub fn boolean_in_header(&self) -> ::std::option::Option<bool> {
        3839  +
        /* StructureGenerator.kt:168 */
        3840  +
        self.boolean_in_header
 3952   3841   
        /* StructureGenerator.kt:166 */
 3953   3842   
    }
 3954   3843   
    /* StructureGenerator.kt:135 */
 3955   3844   
}
 3956   3845   
/* ServerCodegenVisitor.kt:356 */
 3957         -
impl HttpPrefixHeadersInput {
 3958         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
        3846  +
impl MalformedBooleanInput {
        3847  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
 3959   3848   
    /* ServerBuilderGenerator.kt:295 */
 3960         -
    pub fn builder() -> crate::input::http_prefix_headers_input::Builder {
        3849  +
    pub fn builder() -> crate::input::malformed_boolean_input::Builder {
 3961   3850   
        /* ServerBuilderGenerator.kt:296 */
 3962         -
        crate::input::http_prefix_headers_input::Builder::default()
        3851  +
        crate::input::malformed_boolean_input::Builder::default()
 3963   3852   
        /* ServerBuilderGenerator.kt:295 */
 3964   3853   
    }
 3965   3854   
    /* ServerCodegenVisitor.kt:356 */
 3966   3855   
}
 3967   3856   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 3968         -
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInput {
 3969         -
    type Unconstrained = crate::input::http_prefix_headers_input::Builder;
        3857  +
impl crate::constrained::Constrained for crate::input::MalformedBooleanInput {
        3858  +
    type Unconstrained = crate::input::malformed_boolean_input::Builder;
 3970   3859   
}
 3971   3860   
 3972   3861   
/* StructureGenerator.kt:197 */
 3973   3862   
#[allow(missing_docs)] // documentation missing in model
 3974   3863   
/* RustType.kt:534 */
 3975         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3976         -
pub /* StructureGenerator.kt:201 */ struct QueryParamsAsStringListMapInput {
 3977         -
    /* StructureGenerator.kt:231 */
 3978         -
    #[allow(missing_docs)] // documentation missing in model
 3979         -
    pub qux: ::std::option::Option<::std::string::String>,
        3864  +
#[derive(
        3865  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3866  +
)]
        3867  +
pub /* StructureGenerator.kt:201 */ struct MalformedListInput {
 3980   3868   
    /* StructureGenerator.kt:231 */
 3981   3869   
    #[allow(missing_docs)] // documentation missing in model
 3982         -
    pub foo: ::std::option::Option<
 3983         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 3984         -
    >,
        3870  +
    pub body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3985   3871   
    /* StructureGenerator.kt:201 */
 3986   3872   
}
 3987   3873   
/* StructureGenerator.kt:135 */
 3988         -
impl QueryParamsAsStringListMapInput {
        3874  +
impl MalformedListInput {
 3989   3875   
    /* StructureGenerator.kt:231 */
 3990   3876   
    #[allow(missing_docs)] // documentation missing in model
 3991   3877   
                           /* StructureGenerator.kt:166 */
 3992         -
    pub fn qux(&self) -> ::std::option::Option<&str> {
        3878  +
    pub fn body_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 3993   3879   
        /* StructureGenerator.kt:169 */
 3994         -
        self.qux.as_deref()
 3995         -
        /* StructureGenerator.kt:166 */
 3996         -
    }
 3997         -
    /* StructureGenerator.kt:231 */
 3998         -
    #[allow(missing_docs)] // documentation missing in model
 3999         -
                           /* StructureGenerator.kt:166 */
 4000         -
    pub fn foo(
 4001         -
        &self,
 4002         -
    ) -> ::std::option::Option<
 4003         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 4004         -
    > {
 4005         -
        /* StructureGenerator.kt:170 */
 4006         -
        self.foo.as_ref()
        3880  +
        self.body_list.as_deref()
 4007   3881   
        /* StructureGenerator.kt:166 */
 4008   3882   
    }
 4009   3883   
    /* StructureGenerator.kt:135 */
 4010   3884   
}
 4011   3885   
/* ServerCodegenVisitor.kt:356 */
 4012         -
impl QueryParamsAsStringListMapInput {
 4013         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
        3886  +
impl MalformedListInput {
        3887  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedListInput`](crate::input::MalformedListInput).
 4014   3888   
    /* ServerBuilderGenerator.kt:295 */
 4015         -
    pub fn builder() -> crate::input::query_params_as_string_list_map_input::Builder {
        3889  +
    pub fn builder() -> crate::input::malformed_list_input::Builder {
 4016   3890   
        /* ServerBuilderGenerator.kt:296 */
 4017         -
        crate::input::query_params_as_string_list_map_input::Builder::default()
        3891  +
        crate::input::malformed_list_input::Builder::default()
 4018   3892   
        /* ServerBuilderGenerator.kt:295 */
 4019   3893   
    }
 4020   3894   
    /* ServerCodegenVisitor.kt:356 */
 4021   3895   
}
 4022   3896   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4023         -
impl crate::constrained::Constrained for crate::input::QueryParamsAsStringListMapInput {
 4024         -
    type Unconstrained = crate::input::query_params_as_string_list_map_input::Builder;
        3897  +
impl crate::constrained::Constrained for crate::input::MalformedListInput {
        3898  +
    type Unconstrained = crate::input::malformed_list_input::Builder;
 4025   3899   
}
 4026   3900   
 4027   3901   
/* StructureGenerator.kt:197 */
 4028   3902   
#[allow(missing_docs)] // documentation missing in model
 4029   3903   
/* RustType.kt:534 */
 4030   3904   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4031         -
pub /* StructureGenerator.kt:201 */ struct QueryPrecedenceInput {
 4032         -
    /* StructureGenerator.kt:231 */
 4033         -
    #[allow(missing_docs)] // documentation missing in model
 4034         -
    pub foo: ::std::option::Option<::std::string::String>,
        3905  +
pub /* StructureGenerator.kt:201 */ struct MalformedMapInput {
 4035   3906   
    /* StructureGenerator.kt:231 */
 4036   3907   
    #[allow(missing_docs)] // documentation missing in model
 4037         -
    pub baz: ::std::option::Option<
        3908  +
    pub body_map: ::std::option::Option<
 4038   3909   
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 4039   3910   
    >,
 4040   3911   
    /* StructureGenerator.kt:201 */
 4041   3912   
}
 4042   3913   
/* StructureGenerator.kt:135 */
 4043         -
impl QueryPrecedenceInput {
        3914  +
impl MalformedMapInput {
 4044   3915   
    /* StructureGenerator.kt:231 */
 4045   3916   
    #[allow(missing_docs)] // documentation missing in model
 4046   3917   
                           /* StructureGenerator.kt:166 */
 4047         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 4048         -
        /* StructureGenerator.kt:169 */
 4049         -
        self.foo.as_deref()
 4050         -
        /* StructureGenerator.kt:166 */
 4051         -
    }
 4052         -
    /* StructureGenerator.kt:231 */
 4053         -
    #[allow(missing_docs)] // documentation missing in model
 4054         -
                           /* StructureGenerator.kt:166 */
 4055         -
    pub fn baz(
        3918  +
    pub fn body_map(
 4056   3919   
        &self,
 4057   3920   
    ) -> ::std::option::Option<
 4058   3921   
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 4059   3922   
    > {
 4060   3923   
        /* StructureGenerator.kt:170 */
 4061         -
        self.baz.as_ref()
        3924  +
        self.body_map.as_ref()
 4062   3925   
        /* StructureGenerator.kt:166 */
 4063   3926   
    }
 4064   3927   
    /* StructureGenerator.kt:135 */
 4065   3928   
}
 4066   3929   
/* ServerCodegenVisitor.kt:356 */
 4067         -
impl QueryPrecedenceInput {
 4068         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
        3930  +
impl MalformedMapInput {
        3931  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedMapInput`](crate::input::MalformedMapInput).
 4069   3932   
    /* ServerBuilderGenerator.kt:295 */
 4070         -
    pub fn builder() -> crate::input::query_precedence_input::Builder {
        3933  +
    pub fn builder() -> crate::input::malformed_map_input::Builder {
 4071   3934   
        /* ServerBuilderGenerator.kt:296 */
 4072         -
        crate::input::query_precedence_input::Builder::default()
        3935  +
        crate::input::malformed_map_input::Builder::default()
 4073   3936   
        /* ServerBuilderGenerator.kt:295 */
 4074   3937   
    }
 4075   3938   
    /* ServerCodegenVisitor.kt:356 */
 4076   3939   
}
 4077   3940   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4078         -
impl crate::constrained::Constrained for crate::input::QueryPrecedenceInput {
 4079         -
    type Unconstrained = crate::input::query_precedence_input::Builder;
        3941  +
impl crate::constrained::Constrained for crate::input::MalformedMapInput {
        3942  +
    type Unconstrained = crate::input::malformed_map_input::Builder;
 4080   3943   
}
 4081   3944   
 4082   3945   
/* StructureGenerator.kt:197 */
 4083   3946   
#[allow(missing_docs)] // documentation missing in model
 4084   3947   
/* RustType.kt:534 */
 4085   3948   
#[derive(
 4086   3949   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4087   3950   
)]
 4088         -
pub /* StructureGenerator.kt:201 */ struct QueryIdempotencyTokenAutoFillInput {
        3951  +
pub /* StructureGenerator.kt:201 */ struct MalformedBlobInput {
 4089   3952   
    /* StructureGenerator.kt:231 */
 4090   3953   
    #[allow(missing_docs)] // documentation missing in model
 4091         -
    pub token: ::std::option::Option<::std::string::String>,
        3954  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
 4092   3955   
    /* StructureGenerator.kt:201 */
 4093   3956   
}
 4094   3957   
/* StructureGenerator.kt:135 */
 4095         -
impl QueryIdempotencyTokenAutoFillInput {
        3958  +
impl MalformedBlobInput {
 4096   3959   
    /* StructureGenerator.kt:231 */
 4097   3960   
    #[allow(missing_docs)] // documentation missing in model
 4098   3961   
                           /* StructureGenerator.kt:166 */
 4099         -
    pub fn token(&self) -> ::std::option::Option<&str> {
 4100         -
        /* StructureGenerator.kt:169 */
 4101         -
        self.token.as_deref()
        3962  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        3963  +
        /* StructureGenerator.kt:170 */
        3964  +
        self.blob.as_ref()
 4102   3965   
        /* StructureGenerator.kt:166 */
 4103   3966   
    }
 4104   3967   
    /* StructureGenerator.kt:135 */
 4105   3968   
}
 4106   3969   
/* ServerCodegenVisitor.kt:356 */
 4107         -
impl QueryIdempotencyTokenAutoFillInput {
 4108         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
        3970  +
impl MalformedBlobInput {
        3971  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedBlobInput`](crate::input::MalformedBlobInput).
 4109   3972   
    /* ServerBuilderGenerator.kt:295 */
 4110         -
    pub fn builder() -> crate::input::query_idempotency_token_auto_fill_input::Builder {
        3973  +
    pub fn builder() -> crate::input::malformed_blob_input::Builder {
 4111   3974   
        /* ServerBuilderGenerator.kt:296 */
 4112         -
        crate::input::query_idempotency_token_auto_fill_input::Builder::default()
        3975  +
        crate::input::malformed_blob_input::Builder::default()
 4113   3976   
        /* ServerBuilderGenerator.kt:295 */
 4114   3977   
    }
 4115   3978   
    /* ServerCodegenVisitor.kt:356 */
 4116   3979   
}
 4117   3980   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4118         -
impl crate::constrained::Constrained for crate::input::QueryIdempotencyTokenAutoFillInput {
 4119         -
    type Unconstrained = crate::input::query_idempotency_token_auto_fill_input::Builder;
        3981  +
impl crate::constrained::Constrained for crate::input::MalformedBlobInput {
        3982  +
    type Unconstrained = crate::input::malformed_blob_input::Builder;
 4120   3983   
}
 4121   3984   
 4122   3985   
/* StructureGenerator.kt:197 */
 4123   3986   
#[allow(missing_docs)] // documentation missing in model
 4124   3987   
/* RustType.kt:534 */
 4125         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4126         -
pub /* StructureGenerator.kt:201 */ struct OmitsSerializingEmptyListsInput {
 4127         -
    /* StructureGenerator.kt:231 */
 4128         -
    #[allow(missing_docs)] // documentation missing in model
 4129         -
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 4130         -
    /* StructureGenerator.kt:231 */
 4131         -
    #[allow(missing_docs)] // documentation missing in model
 4132         -
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 4133         -
    /* StructureGenerator.kt:231 */
 4134         -
    #[allow(missing_docs)] // documentation missing in model
 4135         -
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        3988  +
#[derive(
        3989  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3990  +
)]
        3991  +
pub /* StructureGenerator.kt:201 */ struct MalformedByteInput {
 4136   3992   
    /* StructureGenerator.kt:231 */
 4137   3993   
    #[allow(missing_docs)] // documentation missing in model
 4138         -
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        3994  +
    pub byte_in_body: ::std::option::Option<i8>,
 4139   3995   
    /* StructureGenerator.kt:231 */
 4140   3996   
    #[allow(missing_docs)] // documentation missing in model
 4141         -
    pub query_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        3997  +
    pub byte_in_path: i8,
 4142   3998   
    /* StructureGenerator.kt:231 */
 4143   3999   
    #[allow(missing_docs)] // documentation missing in model
 4144         -
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        4000  +
    pub byte_in_query: ::std::option::Option<i8>,
 4145   4001   
    /* StructureGenerator.kt:231 */
 4146   4002   
    #[allow(missing_docs)] // documentation missing in model
 4147         -
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        4003  +
    pub byte_in_header: ::std::option::Option<i8>,
 4148   4004   
    /* StructureGenerator.kt:201 */
 4149   4005   
}
 4150   4006   
/* StructureGenerator.kt:135 */
 4151         -
impl OmitsSerializingEmptyListsInput {
 4152         -
    /* StructureGenerator.kt:231 */
 4153         -
    #[allow(missing_docs)] // documentation missing in model
 4154         -
                           /* StructureGenerator.kt:166 */
 4155         -
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 4156         -
        /* StructureGenerator.kt:169 */
 4157         -
        self.query_string_list.as_deref()
 4158         -
        /* StructureGenerator.kt:166 */
 4159         -
    }
 4160         -
    /* StructureGenerator.kt:231 */
 4161         -
    #[allow(missing_docs)] // documentation missing in model
 4162         -
                           /* StructureGenerator.kt:166 */
 4163         -
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
 4164         -
        /* StructureGenerator.kt:169 */
 4165         -
        self.query_integer_list.as_deref()
 4166         -
        /* StructureGenerator.kt:166 */
 4167         -
    }
 4168         -
    /* StructureGenerator.kt:231 */
 4169         -
    #[allow(missing_docs)] // documentation missing in model
 4170         -
                           /* StructureGenerator.kt:166 */
 4171         -
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
 4172         -
        /* StructureGenerator.kt:169 */
 4173         -
        self.query_double_list.as_deref()
 4174         -
        /* StructureGenerator.kt:166 */
 4175         -
    }
        4007  +
impl MalformedByteInput {
 4176   4008   
    /* StructureGenerator.kt:231 */
 4177   4009   
    #[allow(missing_docs)] // documentation missing in model
 4178   4010   
                           /* StructureGenerator.kt:166 */
 4179         -
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
 4180         -
        /* StructureGenerator.kt:169 */
 4181         -
        self.query_boolean_list.as_deref()
        4011  +
    pub fn byte_in_body(&self) -> ::std::option::Option<i8> {
        4012  +
        /* StructureGenerator.kt:168 */
        4013  +
        self.byte_in_body
 4182   4014   
        /* StructureGenerator.kt:166 */
 4183   4015   
    }
 4184   4016   
    /* StructureGenerator.kt:231 */
 4185   4017   
    #[allow(missing_docs)] // documentation missing in model
 4186   4018   
                           /* StructureGenerator.kt:166 */
 4187         -
    pub fn query_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
 4188         -
        /* StructureGenerator.kt:169 */
 4189         -
        self.query_timestamp_list.as_deref()
        4019  +
    pub fn byte_in_path(&self) -> i8 {
        4020  +
        /* StructureGenerator.kt:168 */
        4021  +
        self.byte_in_path
 4190   4022   
        /* StructureGenerator.kt:166 */
 4191   4023   
    }
 4192   4024   
    /* StructureGenerator.kt:231 */
 4193   4025   
    #[allow(missing_docs)] // documentation missing in model
 4194   4026   
                           /* StructureGenerator.kt:166 */
 4195         -
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 4196         -
        /* StructureGenerator.kt:169 */
 4197         -
        self.query_enum_list.as_deref()
        4027  +
    pub fn byte_in_query(&self) -> ::std::option::Option<i8> {
        4028  +
        /* StructureGenerator.kt:168 */
        4029  +
        self.byte_in_query
 4198   4030   
        /* StructureGenerator.kt:166 */
 4199   4031   
    }
 4200   4032   
    /* StructureGenerator.kt:231 */
 4201   4033   
    #[allow(missing_docs)] // documentation missing in model
 4202   4034   
                           /* StructureGenerator.kt:166 */
 4203         -
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
 4204         -
        /* StructureGenerator.kt:169 */
 4205         -
        self.query_integer_enum_list.as_deref()
        4035  +
    pub fn byte_in_header(&self) -> ::std::option::Option<i8> {
        4036  +
        /* StructureGenerator.kt:168 */
        4037  +
        self.byte_in_header
 4206   4038   
        /* StructureGenerator.kt:166 */
 4207   4039   
    }
 4208   4040   
    /* StructureGenerator.kt:135 */
 4209   4041   
}
 4210   4042   
/* ServerCodegenVisitor.kt:356 */
 4211         -
impl OmitsSerializingEmptyListsInput {
 4212         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
        4043  +
impl MalformedByteInput {
        4044  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedByteInput`](crate::input::MalformedByteInput).
 4213   4045   
    /* ServerBuilderGenerator.kt:295 */
 4214         -
    pub fn builder() -> crate::input::omits_serializing_empty_lists_input::Builder {
        4046  +
    pub fn builder() -> crate::input::malformed_byte_input::Builder {
 4215   4047   
        /* ServerBuilderGenerator.kt:296 */
 4216         -
        crate::input::omits_serializing_empty_lists_input::Builder::default()
        4048  +
        crate::input::malformed_byte_input::Builder::default()
 4217   4049   
        /* ServerBuilderGenerator.kt:295 */
 4218   4050   
    }
 4219   4051   
    /* ServerCodegenVisitor.kt:356 */
 4220   4052   
}
 4221   4053   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4222         -
impl crate::constrained::Constrained for crate::input::OmitsSerializingEmptyListsInput {
 4223         -
    type Unconstrained = crate::input::omits_serializing_empty_lists_input::Builder;
        4054  +
impl crate::constrained::Constrained for crate::input::MalformedByteInput {
        4055  +
    type Unconstrained = crate::input::malformed_byte_input::Builder;
 4224   4056   
}
 4225   4057   
 4226   4058   
/* StructureGenerator.kt:197 */
 4227   4059   
#[allow(missing_docs)] // documentation missing in model
 4228   4060   
/* RustType.kt:534 */
 4229   4061   
#[derive(
 4230   4062   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4231   4063   
)]
 4232         -
pub /* StructureGenerator.kt:201 */ struct OmitsNullSerializesEmptyStringInput {
        4064  +
pub /* StructureGenerator.kt:201 */ struct MalformedShortInput {
 4233   4065   
    /* StructureGenerator.kt:231 */
 4234   4066   
    #[allow(missing_docs)] // documentation missing in model
 4235         -
    pub null_value: ::std::option::Option<::std::string::String>,
        4067  +
    pub short_in_body: ::std::option::Option<i16>,
 4236   4068   
    /* StructureGenerator.kt:231 */
 4237   4069   
    #[allow(missing_docs)] // documentation missing in model
 4238         -
    pub empty_string: ::std::option::Option<::std::string::String>,
        4070  +
    pub short_in_path: i16,
        4071  +
    /* StructureGenerator.kt:231 */
        4072  +
    #[allow(missing_docs)] // documentation missing in model
        4073  +
    pub short_in_query: ::std::option::Option<i16>,
        4074  +
    /* StructureGenerator.kt:231 */
        4075  +
    #[allow(missing_docs)] // documentation missing in model
        4076  +
    pub short_in_header: ::std::option::Option<i16>,
 4239   4077   
    /* StructureGenerator.kt:201 */
 4240   4078   
}
 4241   4079   
/* StructureGenerator.kt:135 */
 4242         -
impl OmitsNullSerializesEmptyStringInput {
        4080  +
impl MalformedShortInput {
 4243   4081   
    /* StructureGenerator.kt:231 */
 4244   4082   
    #[allow(missing_docs)] // documentation missing in model
 4245   4083   
                           /* StructureGenerator.kt:166 */
 4246         -
    pub fn null_value(&self) -> ::std::option::Option<&str> {
 4247         -
        /* StructureGenerator.kt:169 */
 4248         -
        self.null_value.as_deref()
        4084  +
    pub fn short_in_body(&self) -> ::std::option::Option<i16> {
        4085  +
        /* StructureGenerator.kt:168 */
        4086  +
        self.short_in_body
 4249   4087   
        /* StructureGenerator.kt:166 */
 4250   4088   
    }
 4251   4089   
    /* StructureGenerator.kt:231 */
 4252   4090   
    #[allow(missing_docs)] // documentation missing in model
 4253   4091   
                           /* StructureGenerator.kt:166 */
 4254         -
    pub fn empty_string(&self) -> ::std::option::Option<&str> {
 4255         -
        /* StructureGenerator.kt:169 */
 4256         -
        self.empty_string.as_deref()
        4092  +
    pub fn short_in_path(&self) -> i16 {
        4093  +
        /* StructureGenerator.kt:168 */
        4094  +
        self.short_in_path
 4257   4095   
        /* StructureGenerator.kt:166 */
 4258   4096   
    }
 4259         -
    /* StructureGenerator.kt:135 */
 4260         -
}
 4261         -
/* ServerCodegenVisitor.kt:356 */
 4262         -
impl OmitsNullSerializesEmptyStringInput {
 4263         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
 4264         -
    /* ServerBuilderGenerator.kt:295 */
 4265         -
    pub fn builder() -> crate::input::omits_null_serializes_empty_string_input::Builder {
 4266         -
        /* ServerBuilderGenerator.kt:296 */
 4267         -
        crate::input::omits_null_serializes_empty_string_input::Builder::default()
 4268         -
        /* ServerBuilderGenerator.kt:295 */
        4097  +
    /* StructureGenerator.kt:231 */
        4098  +
    #[allow(missing_docs)] // documentation missing in model
        4099  +
                           /* StructureGenerator.kt:166 */
        4100  +
    pub fn short_in_query(&self) -> ::std::option::Option<i16> {
        4101  +
        /* StructureGenerator.kt:168 */
        4102  +
        self.short_in_query
        4103  +
        /* StructureGenerator.kt:166 */
 4269   4104   
    }
 4270         -
    /* ServerCodegenVisitor.kt:356 */
 4271         -
}
 4272         -
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4273         -
impl crate::constrained::Constrained for crate::input::OmitsNullSerializesEmptyStringInput {
 4274         -
    type Unconstrained = crate::input::omits_null_serializes_empty_string_input::Builder;
        4105  +
    /* StructureGenerator.kt:231 */
        4106  +
    #[allow(missing_docs)] // documentation missing in model
        4107  +
                           /* StructureGenerator.kt:166 */
        4108  +
    pub fn short_in_header(&self) -> ::std::option::Option<i16> {
        4109  +
        /* StructureGenerator.kt:168 */
        4110  +
        self.short_in_header
        4111  +
        /* StructureGenerator.kt:166 */
        4112  +
    }
        4113  +
    /* StructureGenerator.kt:135 */
 4275   4114   
}
 4276         -
 4277         -
/* StructureGenerator.kt:197 */
 4278         -
#[allow(missing_docs)] // documentation missing in model
 4279         -
/* RustType.kt:534 */
 4280         -
#[derive(
 4281         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4282         -
)]
 4283         -
pub /* StructureGenerator.kt:201 */ struct IgnoreQueryParamsInResponseInput {/* StructureGenerator.kt:201 */}
 4284   4115   
/* ServerCodegenVisitor.kt:356 */
 4285         -
impl IgnoreQueryParamsInResponseInput {
 4286         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
        4116  +
impl MalformedShortInput {
        4117  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedShortInput`](crate::input::MalformedShortInput).
 4287   4118   
    /* ServerBuilderGenerator.kt:295 */
 4288         -
    pub fn builder() -> crate::input::ignore_query_params_in_response_input::Builder {
        4119  +
    pub fn builder() -> crate::input::malformed_short_input::Builder {
 4289   4120   
        /* ServerBuilderGenerator.kt:296 */
 4290         -
        crate::input::ignore_query_params_in_response_input::Builder::default()
        4121  +
        crate::input::malformed_short_input::Builder::default()
 4291   4122   
        /* ServerBuilderGenerator.kt:295 */
 4292   4123   
    }
 4293   4124   
    /* ServerCodegenVisitor.kt:356 */
 4294   4125   
}
 4295   4126   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4296         -
impl crate::constrained::Constrained for crate::input::IgnoreQueryParamsInResponseInput {
 4297         -
    type Unconstrained = crate::input::ignore_query_params_in_response_input::Builder;
        4127  +
impl crate::constrained::Constrained for crate::input::MalformedShortInput {
        4128  +
    type Unconstrained = crate::input::malformed_short_input::Builder;
 4298   4129   
}
 4299   4130   
 4300   4131   
/* StructureGenerator.kt:197 */
 4301   4132   
#[allow(missing_docs)] // documentation missing in model
 4302   4133   
/* RustType.kt:534 */
 4303   4134   
#[derive(
 4304   4135   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4305   4136   
)]
 4306         -
pub /* StructureGenerator.kt:201 */ struct ConstantAndVariableQueryStringInput {
        4137  +
pub /* StructureGenerator.kt:201 */ struct MalformedLongInput {
 4307   4138   
    /* StructureGenerator.kt:231 */
 4308   4139   
    #[allow(missing_docs)] // documentation missing in model
 4309         -
    pub baz: ::std::option::Option<::std::string::String>,
        4140  +
    pub long_in_body: ::std::option::Option<i64>,
 4310   4141   
    /* StructureGenerator.kt:231 */
 4311   4142   
    #[allow(missing_docs)] // documentation missing in model
 4312         -
    pub maybe_set: ::std::option::Option<::std::string::String>,
        4143  +
    pub long_in_path: i64,
        4144  +
    /* StructureGenerator.kt:231 */
        4145  +
    #[allow(missing_docs)] // documentation missing in model
        4146  +
    pub long_in_query: ::std::option::Option<i64>,
        4147  +
    /* StructureGenerator.kt:231 */
        4148  +
    #[allow(missing_docs)] // documentation missing in model
        4149  +
    pub long_in_header: ::std::option::Option<i64>,
 4313   4150   
    /* StructureGenerator.kt:201 */
 4314   4151   
}
 4315   4152   
/* StructureGenerator.kt:135 */
 4316         -
impl ConstantAndVariableQueryStringInput {
        4153  +
impl MalformedLongInput {
 4317   4154   
    /* StructureGenerator.kt:231 */
 4318   4155   
    #[allow(missing_docs)] // documentation missing in model
 4319   4156   
                           /* StructureGenerator.kt:166 */
 4320         -
    pub fn baz(&self) -> ::std::option::Option<&str> {
 4321         -
        /* StructureGenerator.kt:169 */
 4322         -
        self.baz.as_deref()
        4157  +
    pub fn long_in_body(&self) -> ::std::option::Option<i64> {
        4158  +
        /* StructureGenerator.kt:168 */
        4159  +
        self.long_in_body
 4323   4160   
        /* StructureGenerator.kt:166 */
 4324   4161   
    }
 4325   4162   
    /* StructureGenerator.kt:231 */
 4326   4163   
    #[allow(missing_docs)] // documentation missing in model
 4327   4164   
                           /* StructureGenerator.kt:166 */
 4328         -
    pub fn maybe_set(&self) -> ::std::option::Option<&str> {
 4329         -
        /* StructureGenerator.kt:169 */
 4330         -
        self.maybe_set.as_deref()
        4165  +
    pub fn long_in_path(&self) -> i64 {
        4166  +
        /* StructureGenerator.kt:168 */
        4167  +
        self.long_in_path
        4168  +
        /* StructureGenerator.kt:166 */
        4169  +
    }
        4170  +
    /* StructureGenerator.kt:231 */
        4171  +
    #[allow(missing_docs)] // documentation missing in model
        4172  +
                           /* StructureGenerator.kt:166 */
        4173  +
    pub fn long_in_query(&self) -> ::std::option::Option<i64> {
        4174  +
        /* StructureGenerator.kt:168 */
        4175  +
        self.long_in_query
        4176  +
        /* StructureGenerator.kt:166 */
        4177  +
    }
        4178  +
    /* StructureGenerator.kt:231 */
        4179  +
    #[allow(missing_docs)] // documentation missing in model
        4180  +
                           /* StructureGenerator.kt:166 */
        4181  +
    pub fn long_in_header(&self) -> ::std::option::Option<i64> {
        4182  +
        /* StructureGenerator.kt:168 */
        4183  +
        self.long_in_header
 4331   4184   
        /* StructureGenerator.kt:166 */
 4332   4185   
    }
 4333   4186   
    /* StructureGenerator.kt:135 */
 4334   4187   
}
 4335   4188   
/* ServerCodegenVisitor.kt:356 */
 4336         -
impl ConstantAndVariableQueryStringInput {
 4337         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
        4189  +
impl MalformedLongInput {
        4190  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedLongInput`](crate::input::MalformedLongInput).
 4338   4191   
    /* ServerBuilderGenerator.kt:295 */
 4339         -
    pub fn builder() -> crate::input::constant_and_variable_query_string_input::Builder {
        4192  +
    pub fn builder() -> crate::input::malformed_long_input::Builder {
 4340   4193   
        /* ServerBuilderGenerator.kt:296 */
 4341         -
        crate::input::constant_and_variable_query_string_input::Builder::default()
        4194  +
        crate::input::malformed_long_input::Builder::default()
 4342   4195   
        /* ServerBuilderGenerator.kt:295 */
 4343   4196   
    }
 4344   4197   
    /* ServerCodegenVisitor.kt:356 */
 4345   4198   
}
 4346   4199   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4347         -
impl crate::constrained::Constrained for crate::input::ConstantAndVariableQueryStringInput {
 4348         -
    type Unconstrained = crate::input::constant_and_variable_query_string_input::Builder;
        4200  +
impl crate::constrained::Constrained for crate::input::MalformedLongInput {
        4201  +
    type Unconstrained = crate::input::malformed_long_input::Builder;
 4349   4202   
}
 4350   4203   
 4351   4204   
/* StructureGenerator.kt:197 */
 4352   4205   
#[allow(missing_docs)] // documentation missing in model
 4353   4206   
/* RustType.kt:534 */
 4354         -
#[derive(
 4355         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4356         -
)]
 4357         -
pub /* StructureGenerator.kt:201 */ struct ConstantQueryStringInput {
        4207  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4208  +
pub /* StructureGenerator.kt:201 */ struct MalformedFloatInput {
 4358   4209   
    /* StructureGenerator.kt:231 */
 4359   4210   
    #[allow(missing_docs)] // documentation missing in model
 4360         -
    pub hello: ::std::string::String,
        4211  +
    pub float_in_body: ::std::option::Option<f32>,
        4212  +
    /* StructureGenerator.kt:231 */
        4213  +
    #[allow(missing_docs)] // documentation missing in model
        4214  +
    pub float_in_path: f32,
        4215  +
    /* StructureGenerator.kt:231 */
        4216  +
    #[allow(missing_docs)] // documentation missing in model
        4217  +
    pub float_in_query: ::std::option::Option<f32>,
        4218  +
    /* StructureGenerator.kt:231 */
        4219  +
    #[allow(missing_docs)] // documentation missing in model
        4220  +
    pub float_in_header: ::std::option::Option<f32>,
 4361   4221   
    /* StructureGenerator.kt:201 */
 4362   4222   
}
 4363   4223   
/* StructureGenerator.kt:135 */
 4364         -
impl ConstantQueryStringInput {
        4224  +
impl MalformedFloatInput {
 4365   4225   
    /* StructureGenerator.kt:231 */
 4366   4226   
    #[allow(missing_docs)] // documentation missing in model
 4367   4227   
                           /* StructureGenerator.kt:166 */
 4368         -
    pub fn hello(&self) -> &str {
 4369         -
        /* StructureGenerator.kt:171 */
 4370         -
        use std::ops::Deref;
 4371         -
        self.hello.deref()
        4228  +
    pub fn float_in_body(&self) -> ::std::option::Option<f32> {
        4229  +
        /* StructureGenerator.kt:168 */
        4230  +
        self.float_in_body
        4231  +
        /* StructureGenerator.kt:166 */
        4232  +
    }
        4233  +
    /* StructureGenerator.kt:231 */
        4234  +
    #[allow(missing_docs)] // documentation missing in model
        4235  +
                           /* StructureGenerator.kt:166 */
        4236  +
    pub fn float_in_path(&self) -> f32 {
        4237  +
        /* StructureGenerator.kt:168 */
        4238  +
        self.float_in_path
        4239  +
        /* StructureGenerator.kt:166 */
        4240  +
    }
        4241  +
    /* StructureGenerator.kt:231 */
        4242  +
    #[allow(missing_docs)] // documentation missing in model
        4243  +
                           /* StructureGenerator.kt:166 */
        4244  +
    pub fn float_in_query(&self) -> ::std::option::Option<f32> {
        4245  +
        /* StructureGenerator.kt:168 */
        4246  +
        self.float_in_query
        4247  +
        /* StructureGenerator.kt:166 */
        4248  +
    }
        4249  +
    /* StructureGenerator.kt:231 */
        4250  +
    #[allow(missing_docs)] // documentation missing in model
        4251  +
                           /* StructureGenerator.kt:166 */
        4252  +
    pub fn float_in_header(&self) -> ::std::option::Option<f32> {
        4253  +
        /* StructureGenerator.kt:168 */
        4254  +
        self.float_in_header
 4372   4255   
        /* StructureGenerator.kt:166 */
 4373   4256   
    }
 4374   4257   
    /* StructureGenerator.kt:135 */
 4375   4258   
}
 4376   4259   
/* ServerCodegenVisitor.kt:356 */
 4377         -
impl ConstantQueryStringInput {
 4378         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
        4260  +
impl MalformedFloatInput {
        4261  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedFloatInput`](crate::input::MalformedFloatInput).
 4379   4262   
    /* ServerBuilderGenerator.kt:295 */
 4380         -
    pub fn builder() -> crate::input::constant_query_string_input::Builder {
        4263  +
    pub fn builder() -> crate::input::malformed_float_input::Builder {
 4381   4264   
        /* ServerBuilderGenerator.kt:296 */
 4382         -
        crate::input::constant_query_string_input::Builder::default()
        4265  +
        crate::input::malformed_float_input::Builder::default()
 4383   4266   
        /* ServerBuilderGenerator.kt:295 */
 4384   4267   
    }
 4385   4268   
    /* ServerCodegenVisitor.kt:356 */
 4386   4269   
}
 4387   4270   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4388         -
impl crate::constrained::Constrained for crate::input::ConstantQueryStringInput {
 4389         -
    type Unconstrained = crate::input::constant_query_string_input::Builder;
        4271  +
impl crate::constrained::Constrained for crate::input::MalformedFloatInput {
        4272  +
    type Unconstrained = crate::input::malformed_float_input::Builder;
 4390   4273   
}
 4391   4274   
 4392   4275   
/* StructureGenerator.kt:197 */
 4393   4276   
#[allow(missing_docs)] // documentation missing in model
 4394   4277   
/* RustType.kt:534 */
 4395   4278   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4396         -
pub /* StructureGenerator.kt:201 */ struct AllQueryStringTypesInput {
 4397         -
    /* StructureGenerator.kt:231 */
 4398         -
    #[allow(missing_docs)] // documentation missing in model
 4399         -
    pub query_string: ::std::option::Option<::std::string::String>,
 4400         -
    /* StructureGenerator.kt:231 */
 4401         -
    #[allow(missing_docs)] // documentation missing in model
 4402         -
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 4403         -
    /* StructureGenerator.kt:231 */
 4404         -
    #[allow(missing_docs)] // documentation missing in model
 4405         -
    pub query_string_set: ::std::option::Option<crate::model::StringSet>,
 4406         -
    /* StructureGenerator.kt:231 */
 4407         -
    #[allow(missing_docs)] // documentation missing in model
 4408         -
    pub query_byte: ::std::option::Option<i8>,
 4409         -
    /* StructureGenerator.kt:231 */
 4410         -
    #[allow(missing_docs)] // documentation missing in model
 4411         -
    pub query_short: ::std::option::Option<i16>,
 4412         -
    /* StructureGenerator.kt:231 */
 4413         -
    #[allow(missing_docs)] // documentation missing in model
 4414         -
    pub query_integer: ::std::option::Option<i32>,
 4415         -
    /* StructureGenerator.kt:231 */
 4416         -
    #[allow(missing_docs)] // documentation missing in model
 4417         -
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 4418         -
    /* StructureGenerator.kt:231 */
 4419         -
    #[allow(missing_docs)] // documentation missing in model
 4420         -
    pub query_integer_set: ::std::option::Option<crate::model::IntegerSet>,
 4421         -
    /* StructureGenerator.kt:231 */
 4422         -
    #[allow(missing_docs)] // documentation missing in model
 4423         -
    pub query_long: ::std::option::Option<i64>,
 4424         -
    /* StructureGenerator.kt:231 */
 4425         -
    #[allow(missing_docs)] // documentation missing in model
 4426         -
    pub query_float: ::std::option::Option<f32>,
 4427         -
    /* StructureGenerator.kt:231 */
 4428         -
    #[allow(missing_docs)] // documentation missing in model
 4429         -
    pub query_double: ::std::option::Option<f64>,
 4430         -
    /* StructureGenerator.kt:231 */
 4431         -
    #[allow(missing_docs)] // documentation missing in model
 4432         -
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
 4433         -
    /* StructureGenerator.kt:231 */
 4434         -
    #[allow(missing_docs)] // documentation missing in model
 4435         -
    pub query_boolean: ::std::option::Option<bool>,
 4436         -
    /* StructureGenerator.kt:231 */
 4437         -
    #[allow(missing_docs)] // documentation missing in model
 4438         -
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 4439         -
    /* StructureGenerator.kt:231 */
 4440         -
    #[allow(missing_docs)] // documentation missing in model
 4441         -
    pub query_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 4442         -
    /* StructureGenerator.kt:231 */
 4443         -
    #[allow(missing_docs)] // documentation missing in model
 4444         -
    pub query_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
 4445         -
    /* StructureGenerator.kt:231 */
 4446         -
    #[allow(missing_docs)] // documentation missing in model
 4447         -
    pub query_enum: ::std::option::Option<crate::model::FooEnum>,
        4279  +
pub /* StructureGenerator.kt:201 */ struct MalformedDoubleInput {
 4448   4280   
    /* StructureGenerator.kt:231 */
 4449   4281   
    #[allow(missing_docs)] // documentation missing in model
 4450         -
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        4282  +
    pub double_in_body: ::std::option::Option<f64>,
 4451   4283   
    /* StructureGenerator.kt:231 */
 4452   4284   
    #[allow(missing_docs)] // documentation missing in model
 4453         -
    pub query_integer_enum: ::std::option::Option<i32>,
        4285  +
    pub double_in_path: f64,
 4454   4286   
    /* StructureGenerator.kt:231 */
 4455   4287   
    #[allow(missing_docs)] // documentation missing in model
 4456         -
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        4288  +
    pub double_in_query: ::std::option::Option<f64>,
 4457   4289   
    /* StructureGenerator.kt:231 */
 4458   4290   
    #[allow(missing_docs)] // documentation missing in model
 4459         -
    pub query_params_map_of_string_list: ::std::option::Option<
 4460         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 4461         -
    >,
        4291  +
    pub double_in_header: ::std::option::Option<f64>,
 4462   4292   
    /* StructureGenerator.kt:201 */
 4463   4293   
}
 4464   4294   
/* StructureGenerator.kt:135 */
 4465         -
impl AllQueryStringTypesInput {
 4466         -
    /* StructureGenerator.kt:231 */
 4467         -
    #[allow(missing_docs)] // documentation missing in model
 4468         -
                           /* StructureGenerator.kt:166 */
 4469         -
    pub fn query_string(&self) -> ::std::option::Option<&str> {
 4470         -
        /* StructureGenerator.kt:169 */
 4471         -
        self.query_string.as_deref()
 4472         -
        /* StructureGenerator.kt:166 */
 4473         -
    }
        4295  +
impl MalformedDoubleInput {
 4474   4296   
    /* StructureGenerator.kt:231 */
 4475   4297   
    #[allow(missing_docs)] // documentation missing in model
 4476   4298   
                           /* StructureGenerator.kt:166 */
 4477         -
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 4478         -
        /* StructureGenerator.kt:169 */
 4479         -
        self.query_string_list.as_deref()
        4299  +
    pub fn double_in_body(&self) -> ::std::option::Option<f64> {
        4300  +
        /* StructureGenerator.kt:168 */
        4301  +
        self.double_in_body
 4480   4302   
        /* StructureGenerator.kt:166 */
 4481   4303   
    }
 4482   4304   
    /* StructureGenerator.kt:231 */
 4483   4305   
    #[allow(missing_docs)] // documentation missing in model
 4484   4306   
                           /* StructureGenerator.kt:166 */
 4485         -
    pub fn query_string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
 4486         -
        /* StructureGenerator.kt:170 */
 4487         -
        self.query_string_set.as_ref()
        4307  +
    pub fn double_in_path(&self) -> f64 {
        4308  +
        /* StructureGenerator.kt:168 */
        4309  +
        self.double_in_path
 4488   4310   
        /* StructureGenerator.kt:166 */
 4489   4311   
    }
 4490   4312   
    /* StructureGenerator.kt:231 */
 4491   4313   
    #[allow(missing_docs)] // documentation missing in model
 4492   4314   
                           /* StructureGenerator.kt:166 */
 4493         -
    pub fn query_byte(&self) -> ::std::option::Option<i8> {
        4315  +
    pub fn double_in_query(&self) -> ::std::option::Option<f64> {
 4494   4316   
        /* StructureGenerator.kt:168 */
 4495         -
        self.query_byte
        4317  +
        self.double_in_query
 4496   4318   
        /* StructureGenerator.kt:166 */
 4497   4319   
    }
 4498   4320   
    /* StructureGenerator.kt:231 */
 4499   4321   
    #[allow(missing_docs)] // documentation missing in model
 4500   4322   
                           /* StructureGenerator.kt:166 */
 4501         -
    pub fn query_short(&self) -> ::std::option::Option<i16> {
        4323  +
    pub fn double_in_header(&self) -> ::std::option::Option<f64> {
 4502   4324   
        /* StructureGenerator.kt:168 */
 4503         -
        self.query_short
        4325  +
        self.double_in_header
 4504   4326   
        /* StructureGenerator.kt:166 */
 4505   4327   
    }
        4328  +
    /* StructureGenerator.kt:135 */
        4329  +
}
        4330  +
/* ServerCodegenVisitor.kt:356 */
        4331  +
impl MalformedDoubleInput {
        4332  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
        4333  +
    /* ServerBuilderGenerator.kt:295 */
        4334  +
    pub fn builder() -> crate::input::malformed_double_input::Builder {
        4335  +
        /* ServerBuilderGenerator.kt:296 */
        4336  +
        crate::input::malformed_double_input::Builder::default()
        4337  +
        /* ServerBuilderGenerator.kt:295 */
        4338  +
    }
        4339  +
    /* ServerCodegenVisitor.kt:356 */
        4340  +
}
        4341  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4342  +
impl crate::constrained::Constrained for crate::input::MalformedDoubleInput {
        4343  +
    type Unconstrained = crate::input::malformed_double_input::Builder;
        4344  +
}
        4345  +
        4346  +
/* StructureGenerator.kt:197 */
        4347  +
#[allow(missing_docs)] // documentation missing in model
        4348  +
/* RustType.kt:534 */
        4349  +
#[derive(
        4350  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4351  +
)]
        4352  +
pub /* StructureGenerator.kt:201 */ struct MalformedStringInput {
 4506   4353   
    /* StructureGenerator.kt:231 */
 4507   4354   
    #[allow(missing_docs)] // documentation missing in model
 4508         -
                           /* StructureGenerator.kt:166 */
 4509         -
    pub fn query_integer(&self) -> ::std::option::Option<i32> {
 4510         -
        /* StructureGenerator.kt:168 */
 4511         -
        self.query_integer
 4512         -
        /* StructureGenerator.kt:166 */
 4513         -
    }
        4355  +
    pub blob: ::std::option::Option<::std::string::String>,
        4356  +
    /* StructureGenerator.kt:201 */
        4357  +
}
        4358  +
/* StructureGenerator.kt:135 */
        4359  +
impl MalformedStringInput {
 4514   4360   
    /* StructureGenerator.kt:231 */
 4515   4361   
    #[allow(missing_docs)] // documentation missing in model
 4516   4362   
                           /* StructureGenerator.kt:166 */
 4517         -
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        4363  +
    pub fn blob(&self) -> ::std::option::Option<&str> {
 4518   4364   
        /* StructureGenerator.kt:169 */
 4519         -
        self.query_integer_list.as_deref()
        4365  +
        self.blob.as_deref()
 4520   4366   
        /* StructureGenerator.kt:166 */
 4521   4367   
    }
 4522         -
    /* StructureGenerator.kt:231 */
 4523         -
    #[allow(missing_docs)] // documentation missing in model
 4524         -
                           /* StructureGenerator.kt:166 */
 4525         -
    pub fn query_integer_set(&self) -> ::std::option::Option<&crate::model::IntegerSet> {
 4526         -
        /* StructureGenerator.kt:170 */
 4527         -
        self.query_integer_set.as_ref()
 4528         -
        /* StructureGenerator.kt:166 */
        4368  +
    /* StructureGenerator.kt:135 */
        4369  +
}
        4370  +
/* ServerCodegenVisitor.kt:356 */
        4371  +
impl MalformedStringInput {
        4372  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedStringInput`](crate::input::MalformedStringInput).
        4373  +
    /* ServerBuilderGenerator.kt:295 */
        4374  +
    pub fn builder() -> crate::input::malformed_string_input::Builder {
        4375  +
        /* ServerBuilderGenerator.kt:296 */
        4376  +
        crate::input::malformed_string_input::Builder::default()
        4377  +
        /* ServerBuilderGenerator.kt:295 */
 4529   4378   
    }
        4379  +
    /* ServerCodegenVisitor.kt:356 */
        4380  +
}
        4381  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4382  +
impl crate::constrained::Constrained for crate::input::MalformedStringInput {
        4383  +
    type Unconstrained = crate::input::malformed_string_input::Builder;
        4384  +
}
        4385  +
        4386  +
/* StructureGenerator.kt:197 */
        4387  +
#[allow(missing_docs)] // documentation missing in model
        4388  +
/* RustType.kt:534 */
        4389  +
#[derive(
        4390  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4391  +
)]
        4392  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathDefaultInput {
 4530   4393   
    /* StructureGenerator.kt:231 */
 4531   4394   
    #[allow(missing_docs)] // documentation missing in model
 4532         -
                           /* StructureGenerator.kt:166 */
 4533         -
    pub fn query_long(&self) -> ::std::option::Option<i64> {
 4534         -
        /* StructureGenerator.kt:168 */
 4535         -
        self.query_long
 4536         -
        /* StructureGenerator.kt:166 */
 4537         -
    }
        4395  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4396  +
    /* StructureGenerator.kt:201 */
        4397  +
}
        4398  +
/* StructureGenerator.kt:135 */
        4399  +
impl MalformedTimestampPathDefaultInput {
 4538   4400   
    /* StructureGenerator.kt:231 */
 4539   4401   
    #[allow(missing_docs)] // documentation missing in model
 4540   4402   
                           /* StructureGenerator.kt:166 */
 4541         -
    pub fn query_float(&self) -> ::std::option::Option<f32> {
 4542         -
        /* StructureGenerator.kt:168 */
 4543         -
        self.query_float
        4403  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4404  +
        /* StructureGenerator.kt:172 */
        4405  +
        &self.timestamp
 4544   4406   
        /* StructureGenerator.kt:166 */
 4545   4407   
    }
 4546         -
    /* StructureGenerator.kt:231 */
 4547         -
    #[allow(missing_docs)] // documentation missing in model
 4548         -
                           /* StructureGenerator.kt:166 */
 4549         -
    pub fn query_double(&self) -> ::std::option::Option<f64> {
 4550         -
        /* StructureGenerator.kt:168 */
 4551         -
        self.query_double
 4552         -
        /* StructureGenerator.kt:166 */
 4553         -
    }
 4554         -
    /* StructureGenerator.kt:231 */
 4555         -
    #[allow(missing_docs)] // documentation missing in model
 4556         -
                           /* StructureGenerator.kt:166 */
 4557         -
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
 4558         -
        /* StructureGenerator.kt:169 */
 4559         -
        self.query_double_list.as_deref()
 4560         -
        /* StructureGenerator.kt:166 */
 4561         -
    }
 4562         -
    /* StructureGenerator.kt:231 */
 4563         -
    #[allow(missing_docs)] // documentation missing in model
 4564         -
                           /* StructureGenerator.kt:166 */
 4565         -
    pub fn query_boolean(&self) -> ::std::option::Option<bool> {
 4566         -
        /* StructureGenerator.kt:168 */
 4567         -
        self.query_boolean
 4568         -
        /* StructureGenerator.kt:166 */
 4569         -
    }
 4570         -
    /* StructureGenerator.kt:231 */
 4571         -
    #[allow(missing_docs)] // documentation missing in model
 4572         -
                           /* StructureGenerator.kt:166 */
 4573         -
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
 4574         -
        /* StructureGenerator.kt:169 */
 4575         -
        self.query_boolean_list.as_deref()
 4576         -
        /* StructureGenerator.kt:166 */
 4577         -
    }
 4578         -
    /* StructureGenerator.kt:231 */
 4579         -
    #[allow(missing_docs)] // documentation missing in model
 4580         -
                           /* StructureGenerator.kt:166 */
 4581         -
    pub fn query_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 4582         -
        /* StructureGenerator.kt:170 */
 4583         -
        self.query_timestamp.as_ref()
 4584         -
        /* StructureGenerator.kt:166 */
 4585         -
    }
 4586         -
    /* StructureGenerator.kt:231 */
 4587         -
    #[allow(missing_docs)] // documentation missing in model
 4588         -
                           /* StructureGenerator.kt:166 */
 4589         -
    pub fn query_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
 4590         -
        /* StructureGenerator.kt:169 */
 4591         -
        self.query_timestamp_list.as_deref()
 4592         -
        /* StructureGenerator.kt:166 */
        4408  +
    /* StructureGenerator.kt:135 */
        4409  +
}
        4410  +
/* ServerCodegenVisitor.kt:356 */
        4411  +
impl MalformedTimestampPathDefaultInput {
        4412  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
        4413  +
    /* ServerBuilderGenerator.kt:295 */
        4414  +
    pub fn builder() -> crate::input::malformed_timestamp_path_default_input::Builder {
        4415  +
        /* ServerBuilderGenerator.kt:296 */
        4416  +
        crate::input::malformed_timestamp_path_default_input::Builder::default()
        4417  +
        /* ServerBuilderGenerator.kt:295 */
 4593   4418   
    }
        4419  +
    /* ServerCodegenVisitor.kt:356 */
        4420  +
}
        4421  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4422  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathDefaultInput {
        4423  +
    type Unconstrained = crate::input::malformed_timestamp_path_default_input::Builder;
        4424  +
}
        4425  +
        4426  +
/* StructureGenerator.kt:197 */
        4427  +
#[allow(missing_docs)] // documentation missing in model
        4428  +
/* RustType.kt:534 */
        4429  +
#[derive(
        4430  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4431  +
)]
        4432  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathHttpDateInput {
 4594   4433   
    /* StructureGenerator.kt:231 */
 4595   4434   
    #[allow(missing_docs)] // documentation missing in model
 4596         -
                           /* StructureGenerator.kt:166 */
 4597         -
    pub fn query_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 4598         -
        /* StructureGenerator.kt:170 */
 4599         -
        self.query_enum.as_ref()
 4600         -
        /* StructureGenerator.kt:166 */
 4601         -
    }
        4435  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4436  +
    /* StructureGenerator.kt:201 */
        4437  +
}
        4438  +
/* StructureGenerator.kt:135 */
        4439  +
impl MalformedTimestampPathHttpDateInput {
 4602   4440   
    /* StructureGenerator.kt:231 */
 4603   4441   
    #[allow(missing_docs)] // documentation missing in model
 4604   4442   
                           /* StructureGenerator.kt:166 */
 4605         -
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 4606         -
        /* StructureGenerator.kt:169 */
 4607         -
        self.query_enum_list.as_deref()
        4443  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4444  +
        /* StructureGenerator.kt:172 */
        4445  +
        &self.timestamp
 4608   4446   
        /* StructureGenerator.kt:166 */
 4609   4447   
    }
 4610         -
    /* StructureGenerator.kt:231 */
 4611         -
    #[allow(missing_docs)] // documentation missing in model
 4612         -
                           /* StructureGenerator.kt:166 */
 4613         -
    pub fn query_integer_enum(&self) -> ::std::option::Option<i32> {
 4614         -
        /* StructureGenerator.kt:168 */
 4615         -
        self.query_integer_enum
 4616         -
        /* StructureGenerator.kt:166 */
        4448  +
    /* StructureGenerator.kt:135 */
        4449  +
}
        4450  +
/* ServerCodegenVisitor.kt:356 */
        4451  +
impl MalformedTimestampPathHttpDateInput {
        4452  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        4453  +
    /* ServerBuilderGenerator.kt:295 */
        4454  +
    pub fn builder() -> crate::input::malformed_timestamp_path_http_date_input::Builder {
        4455  +
        /* ServerBuilderGenerator.kt:296 */
        4456  +
        crate::input::malformed_timestamp_path_http_date_input::Builder::default()
        4457  +
        /* ServerBuilderGenerator.kt:295 */
 4617   4458   
    }
        4459  +
    /* ServerCodegenVisitor.kt:356 */
        4460  +
}
        4461  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4462  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathHttpDateInput {
        4463  +
    type Unconstrained = crate::input::malformed_timestamp_path_http_date_input::Builder;
        4464  +
}
        4465  +
        4466  +
/* StructureGenerator.kt:197 */
        4467  +
#[allow(missing_docs)] // documentation missing in model
        4468  +
/* RustType.kt:534 */
        4469  +
#[derive(
        4470  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4471  +
)]
        4472  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathEpochInput {
 4618   4473   
    /* StructureGenerator.kt:231 */
 4619   4474   
    #[allow(missing_docs)] // documentation missing in model
 4620         -
                           /* StructureGenerator.kt:166 */
 4621         -
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
 4622         -
        /* StructureGenerator.kt:169 */
 4623         -
        self.query_integer_enum_list.as_deref()
 4624         -
        /* StructureGenerator.kt:166 */
 4625         -
    }
        4475  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4476  +
    /* StructureGenerator.kt:201 */
        4477  +
}
        4478  +
/* StructureGenerator.kt:135 */
        4479  +
impl MalformedTimestampPathEpochInput {
 4626   4480   
    /* StructureGenerator.kt:231 */
 4627   4481   
    #[allow(missing_docs)] // documentation missing in model
 4628   4482   
                           /* StructureGenerator.kt:166 */
 4629         -
    pub fn query_params_map_of_string_list(
 4630         -
        &self,
 4631         -
    ) -> ::std::option::Option<
 4632         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 4633         -
    > {
 4634         -
        /* StructureGenerator.kt:170 */
 4635         -
        self.query_params_map_of_string_list.as_ref()
        4483  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4484  +
        /* StructureGenerator.kt:172 */
        4485  +
        &self.timestamp
 4636   4486   
        /* StructureGenerator.kt:166 */
 4637   4487   
    }
 4638   4488   
    /* StructureGenerator.kt:135 */
 4639   4489   
}
 4640   4490   
/* ServerCodegenVisitor.kt:356 */
 4641         -
impl AllQueryStringTypesInput {
 4642         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
        4491  +
impl MalformedTimestampPathEpochInput {
        4492  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
 4643   4493   
    /* ServerBuilderGenerator.kt:295 */
 4644         -
    pub fn builder() -> crate::input::all_query_string_types_input::Builder {
        4494  +
    pub fn builder() -> crate::input::malformed_timestamp_path_epoch_input::Builder {
 4645   4495   
        /* ServerBuilderGenerator.kt:296 */
 4646         -
        crate::input::all_query_string_types_input::Builder::default()
        4496  +
        crate::input::malformed_timestamp_path_epoch_input::Builder::default()
 4647   4497   
        /* ServerBuilderGenerator.kt:295 */
 4648   4498   
    }
 4649   4499   
    /* ServerCodegenVisitor.kt:356 */
 4650   4500   
}
 4651   4501   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4652         -
impl crate::constrained::Constrained for crate::input::AllQueryStringTypesInput {
 4653         -
    type Unconstrained = crate::input::all_query_string_types_input::Builder;
        4502  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathEpochInput {
        4503  +
    type Unconstrained = crate::input::malformed_timestamp_path_epoch_input::Builder;
 4654   4504   
}
 4655   4505   
 4656   4506   
/* StructureGenerator.kt:197 */
 4657   4507   
#[allow(missing_docs)] // documentation missing in model
 4658   4508   
/* RustType.kt:534 */
 4659   4509   
#[derive(
 4660   4510   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4661   4511   
)]
 4662         -
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithRegexLiteralInput {
        4512  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryDefaultInput {
 4663   4513   
    /* StructureGenerator.kt:231 */
 4664   4514   
    #[allow(missing_docs)] // documentation missing in model
 4665         -
    pub str: ::std::string::String,
        4515  +
    pub timestamp: ::aws_smithy_types::DateTime,
 4666   4516   
    /* StructureGenerator.kt:201 */
 4667   4517   
}
 4668   4518   
/* StructureGenerator.kt:135 */
 4669         -
impl HttpRequestWithRegexLiteralInput {
        4519  +
impl MalformedTimestampQueryDefaultInput {
 4670   4520   
    /* StructureGenerator.kt:231 */
 4671   4521   
    #[allow(missing_docs)] // documentation missing in model
 4672   4522   
                           /* StructureGenerator.kt:166 */
 4673         -
    pub fn str(&self) -> &str {
 4674         -
        /* StructureGenerator.kt:171 */
 4675         -
        use std::ops::Deref;
 4676         -
        self.str.deref()
        4523  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4524  +
        /* StructureGenerator.kt:172 */
        4525  +
        &self.timestamp
 4677   4526   
        /* StructureGenerator.kt:166 */
 4678   4527   
    }
 4679   4528   
    /* StructureGenerator.kt:135 */
 4680   4529   
}
 4681   4530   
/* ServerCodegenVisitor.kt:356 */
 4682         -
impl HttpRequestWithRegexLiteralInput {
 4683         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
        4531  +
impl MalformedTimestampQueryDefaultInput {
        4532  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
 4684   4533   
    /* ServerBuilderGenerator.kt:295 */
 4685         -
    pub fn builder() -> crate::input::http_request_with_regex_literal_input::Builder {
        4534  +
    pub fn builder() -> crate::input::malformed_timestamp_query_default_input::Builder {
 4686   4535   
        /* ServerBuilderGenerator.kt:296 */
 4687         -
        crate::input::http_request_with_regex_literal_input::Builder::default()
        4536  +
        crate::input::malformed_timestamp_query_default_input::Builder::default()
 4688   4537   
        /* ServerBuilderGenerator.kt:295 */
 4689   4538   
    }
 4690   4539   
    /* ServerCodegenVisitor.kt:356 */
 4691   4540   
}
 4692   4541   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4693         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithRegexLiteralInput {
 4694         -
    type Unconstrained = crate::input::http_request_with_regex_literal_input::Builder;
        4542  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryDefaultInput {
        4543  +
    type Unconstrained = crate::input::malformed_timestamp_query_default_input::Builder;
 4695   4544   
}
 4696   4545   
 4697   4546   
/* StructureGenerator.kt:197 */
 4698   4547   
#[allow(missing_docs)] // documentation missing in model
 4699   4548   
/* RustType.kt:534 */
 4700         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4701         -
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithFloatLabelsInput {
 4702         -
    /* StructureGenerator.kt:231 */
 4703         -
    #[allow(missing_docs)] // documentation missing in model
 4704         -
    pub float: f32,
        4549  +
#[derive(
        4550  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4551  +
)]
        4552  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryHttpDateInput {
 4705   4553   
    /* StructureGenerator.kt:231 */
 4706   4554   
    #[allow(missing_docs)] // documentation missing in model
 4707         -
    pub double: f64,
        4555  +
    pub timestamp: ::aws_smithy_types::DateTime,
 4708   4556   
    /* StructureGenerator.kt:201 */
 4709   4557   
}
 4710   4558   
/* StructureGenerator.kt:135 */
 4711         -
impl HttpRequestWithFloatLabelsInput {
 4712         -
    /* StructureGenerator.kt:231 */
 4713         -
    #[allow(missing_docs)] // documentation missing in model
 4714         -
                           /* StructureGenerator.kt:166 */
 4715         -
    pub fn float(&self) -> f32 {
 4716         -
        /* StructureGenerator.kt:168 */
 4717         -
        self.float
 4718         -
        /* StructureGenerator.kt:166 */
 4719         -
    }
        4559  +
impl MalformedTimestampQueryHttpDateInput {
 4720   4560   
    /* StructureGenerator.kt:231 */
 4721   4561   
    #[allow(missing_docs)] // documentation missing in model
 4722   4562   
                           /* StructureGenerator.kt:166 */
 4723         -
    pub fn double(&self) -> f64 {
 4724         -
        /* StructureGenerator.kt:168 */
 4725         -
        self.double
        4563  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4564  +
        /* StructureGenerator.kt:172 */
        4565  +
        &self.timestamp
 4726   4566   
        /* StructureGenerator.kt:166 */
 4727   4567   
    }
 4728   4568   
    /* StructureGenerator.kt:135 */
 4729   4569   
}
 4730   4570   
/* ServerCodegenVisitor.kt:356 */
 4731         -
impl HttpRequestWithFloatLabelsInput {
 4732         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
        4571  +
impl MalformedTimestampQueryHttpDateInput {
        4572  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
 4733   4573   
    /* ServerBuilderGenerator.kt:295 */
 4734         -
    pub fn builder() -> crate::input::http_request_with_float_labels_input::Builder {
        4574  +
    pub fn builder() -> crate::input::malformed_timestamp_query_http_date_input::Builder {
 4735   4575   
        /* ServerBuilderGenerator.kt:296 */
 4736         -
        crate::input::http_request_with_float_labels_input::Builder::default()
        4576  +
        crate::input::malformed_timestamp_query_http_date_input::Builder::default()
 4737   4577   
        /* ServerBuilderGenerator.kt:295 */
 4738   4578   
    }
 4739   4579   
    /* ServerCodegenVisitor.kt:356 */
 4740   4580   
}
 4741   4581   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4742         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithFloatLabelsInput {
 4743         -
    type Unconstrained = crate::input::http_request_with_float_labels_input::Builder;
        4582  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryHttpDateInput {
        4583  +
    type Unconstrained = crate::input::malformed_timestamp_query_http_date_input::Builder;
 4744   4584   
}
 4745   4585   
 4746   4586   
/* StructureGenerator.kt:197 */
 4747   4587   
#[allow(missing_docs)] // documentation missing in model
 4748   4588   
/* RustType.kt:534 */
 4749   4589   
#[derive(
 4750   4590   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4751   4591   
)]
 4752         -
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithGreedyLabelInPathInput {
 4753         -
    /* StructureGenerator.kt:231 */
 4754         -
    #[allow(missing_docs)] // documentation missing in model
 4755         -
    pub foo: ::std::string::String,
        4592  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryEpochInput {
 4756   4593   
    /* StructureGenerator.kt:231 */
 4757   4594   
    #[allow(missing_docs)] // documentation missing in model
 4758         -
    pub baz: ::std::string::String,
        4595  +
    pub timestamp: ::aws_smithy_types::DateTime,
 4759   4596   
    /* StructureGenerator.kt:201 */
 4760   4597   
}
 4761   4598   
/* StructureGenerator.kt:135 */
 4762         -
impl HttpRequestWithGreedyLabelInPathInput {
 4763         -
    /* StructureGenerator.kt:231 */
 4764         -
    #[allow(missing_docs)] // documentation missing in model
 4765         -
                           /* StructureGenerator.kt:166 */
 4766         -
    pub fn foo(&self) -> &str {
 4767         -
        /* StructureGenerator.kt:171 */
 4768         -
        use std::ops::Deref;
 4769         -
        self.foo.deref()
 4770         -
        /* StructureGenerator.kt:166 */
 4771         -
    }
        4599  +
impl MalformedTimestampQueryEpochInput {
 4772   4600   
    /* StructureGenerator.kt:231 */
 4773   4601   
    #[allow(missing_docs)] // documentation missing in model
 4774   4602   
                           /* StructureGenerator.kt:166 */
 4775         -
    pub fn baz(&self) -> &str {
 4776         -
        /* StructureGenerator.kt:171 */
 4777         -
        use std::ops::Deref;
 4778         -
        self.baz.deref()
        4603  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4604  +
        /* StructureGenerator.kt:172 */
        4605  +
        &self.timestamp
 4779   4606   
        /* StructureGenerator.kt:166 */
 4780   4607   
    }
 4781   4608   
    /* StructureGenerator.kt:135 */
 4782   4609   
}
 4783   4610   
/* ServerCodegenVisitor.kt:356 */
 4784         -
impl HttpRequestWithGreedyLabelInPathInput {
 4785         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
        4611  +
impl MalformedTimestampQueryEpochInput {
        4612  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
 4786   4613   
    /* ServerBuilderGenerator.kt:295 */
 4787         -
    pub fn builder() -> crate::input::http_request_with_greedy_label_in_path_input::Builder {
        4614  +
    pub fn builder() -> crate::input::malformed_timestamp_query_epoch_input::Builder {
 4788   4615   
        /* ServerBuilderGenerator.kt:296 */
 4789         -
        crate::input::http_request_with_greedy_label_in_path_input::Builder::default()
        4616  +
        crate::input::malformed_timestamp_query_epoch_input::Builder::default()
 4790   4617   
        /* ServerBuilderGenerator.kt:295 */
 4791   4618   
    }
 4792   4619   
    /* ServerCodegenVisitor.kt:356 */
 4793   4620   
}
 4794   4621   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4795         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithGreedyLabelInPathInput {
 4796         -
    type Unconstrained = crate::input::http_request_with_greedy_label_in_path_input::Builder;
        4622  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryEpochInput {
        4623  +
    type Unconstrained = crate::input::malformed_timestamp_query_epoch_input::Builder;
 4797   4624   
}
 4798   4625   
 4799   4626   
/* StructureGenerator.kt:197 */
 4800   4627   
#[allow(missing_docs)] // documentation missing in model
 4801   4628   
/* RustType.kt:534 */
 4802   4629   
#[derive(
 4803   4630   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4804   4631   
)]
 4805         -
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithLabelsAndTimestampFormatInput {
        4632  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderDefaultInput {
 4806   4633   
    /* StructureGenerator.kt:231 */
 4807   4634   
    #[allow(missing_docs)] // documentation missing in model
 4808         -
    pub member_epoch_seconds: ::aws_smithy_types::DateTime,
 4809         -
    /* StructureGenerator.kt:231 */
 4810         -
    #[allow(missing_docs)] // documentation missing in model
 4811         -
    pub member_http_date: ::aws_smithy_types::DateTime,
 4812         -
    /* StructureGenerator.kt:231 */
 4813         -
    #[allow(missing_docs)] // documentation missing in model
 4814         -
    pub member_date_time: ::aws_smithy_types::DateTime,
 4815         -
    /* StructureGenerator.kt:231 */
 4816         -
    #[allow(missing_docs)] // documentation missing in model
 4817         -
    pub default_format: ::aws_smithy_types::DateTime,
 4818         -
    /* StructureGenerator.kt:231 */
 4819         -
    #[allow(missing_docs)] // documentation missing in model
 4820         -
    pub target_epoch_seconds: ::aws_smithy_types::DateTime,
 4821         -
    /* StructureGenerator.kt:231 */
 4822         -
    #[allow(missing_docs)] // documentation missing in model
 4823         -
    pub target_http_date: ::aws_smithy_types::DateTime,
 4824         -
    /* StructureGenerator.kt:231 */
 4825         -
    #[allow(missing_docs)] // documentation missing in model
 4826         -
    pub target_date_time: ::aws_smithy_types::DateTime,
 4827         -
    /* StructureGenerator.kt:201 */
 4828         -
}
 4829         -
/* StructureGenerator.kt:135 */
 4830         -
impl HttpRequestWithLabelsAndTimestampFormatInput {
        4635  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4636  +
    /* StructureGenerator.kt:201 */
        4637  +
}
        4638  +
/* StructureGenerator.kt:135 */
        4639  +
impl MalformedTimestampHeaderDefaultInput {
 4831   4640   
    /* StructureGenerator.kt:231 */
 4832   4641   
    #[allow(missing_docs)] // documentation missing in model
 4833   4642   
                           /* StructureGenerator.kt:166 */
 4834         -
    pub fn member_epoch_seconds(&self) -> &::aws_smithy_types::DateTime {
        4643  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 4835   4644   
        /* StructureGenerator.kt:172 */
 4836         -
        &self.member_epoch_seconds
        4645  +
        &self.timestamp
 4837   4646   
        /* StructureGenerator.kt:166 */
 4838   4647   
    }
 4839         -
    /* StructureGenerator.kt:231 */
 4840         -
    #[allow(missing_docs)] // documentation missing in model
 4841         -
                           /* StructureGenerator.kt:166 */
 4842         -
    pub fn member_http_date(&self) -> &::aws_smithy_types::DateTime {
 4843         -
        /* StructureGenerator.kt:172 */
 4844         -
        &self.member_http_date
 4845         -
        /* StructureGenerator.kt:166 */
        4648  +
    /* StructureGenerator.kt:135 */
        4649  +
}
        4650  +
/* ServerCodegenVisitor.kt:356 */
        4651  +
impl MalformedTimestampHeaderDefaultInput {
        4652  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
        4653  +
    /* ServerBuilderGenerator.kt:295 */
        4654  +
    pub fn builder() -> crate::input::malformed_timestamp_header_default_input::Builder {
        4655  +
        /* ServerBuilderGenerator.kt:296 */
        4656  +
        crate::input::malformed_timestamp_header_default_input::Builder::default()
        4657  +
        /* ServerBuilderGenerator.kt:295 */
 4846   4658   
    }
        4659  +
    /* ServerCodegenVisitor.kt:356 */
        4660  +
}
        4661  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4662  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDefaultInput {
        4663  +
    type Unconstrained = crate::input::malformed_timestamp_header_default_input::Builder;
        4664  +
}
        4665  +
        4666  +
/* StructureGenerator.kt:197 */
        4667  +
#[allow(missing_docs)] // documentation missing in model
        4668  +
/* RustType.kt:534 */
        4669  +
#[derive(
        4670  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4671  +
)]
        4672  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderDateTimeInput {
 4847   4673   
    /* StructureGenerator.kt:231 */
 4848   4674   
    #[allow(missing_docs)] // documentation missing in model
 4849         -
                           /* StructureGenerator.kt:166 */
 4850         -
    pub fn member_date_time(&self) -> &::aws_smithy_types::DateTime {
 4851         -
        /* StructureGenerator.kt:172 */
 4852         -
        &self.member_date_time
 4853         -
        /* StructureGenerator.kt:166 */
 4854         -
    }
        4675  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4676  +
    /* StructureGenerator.kt:201 */
        4677  +
}
        4678  +
/* StructureGenerator.kt:135 */
        4679  +
impl MalformedTimestampHeaderDateTimeInput {
 4855   4680   
    /* StructureGenerator.kt:231 */
 4856   4681   
    #[allow(missing_docs)] // documentation missing in model
 4857   4682   
                           /* StructureGenerator.kt:166 */
 4858         -
    pub fn default_format(&self) -> &::aws_smithy_types::DateTime {
        4683  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 4859   4684   
        /* StructureGenerator.kt:172 */
 4860         -
        &self.default_format
        4685  +
        &self.timestamp
 4861   4686   
        /* StructureGenerator.kt:166 */
 4862   4687   
    }
 4863         -
    /* StructureGenerator.kt:231 */
 4864         -
    #[allow(missing_docs)] // documentation missing in model
 4865         -
                           /* StructureGenerator.kt:166 */
 4866         -
    pub fn target_epoch_seconds(&self) -> &::aws_smithy_types::DateTime {
 4867         -
        /* StructureGenerator.kt:172 */
 4868         -
        &self.target_epoch_seconds
 4869         -
        /* StructureGenerator.kt:166 */
        4688  +
    /* StructureGenerator.kt:135 */
        4689  +
}
        4690  +
/* ServerCodegenVisitor.kt:356 */
        4691  +
impl MalformedTimestampHeaderDateTimeInput {
        4692  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        4693  +
    /* ServerBuilderGenerator.kt:295 */
        4694  +
    pub fn builder() -> crate::input::malformed_timestamp_header_date_time_input::Builder {
        4695  +
        /* ServerBuilderGenerator.kt:296 */
        4696  +
        crate::input::malformed_timestamp_header_date_time_input::Builder::default()
        4697  +
        /* ServerBuilderGenerator.kt:295 */
 4870   4698   
    }
        4699  +
    /* ServerCodegenVisitor.kt:356 */
        4700  +
}
        4701  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4702  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDateTimeInput {
        4703  +
    type Unconstrained = crate::input::malformed_timestamp_header_date_time_input::Builder;
        4704  +
}
        4705  +
        4706  +
/* StructureGenerator.kt:197 */
        4707  +
#[allow(missing_docs)] // documentation missing in model
        4708  +
/* RustType.kt:534 */
        4709  +
#[derive(
        4710  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4711  +
)]
        4712  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderEpochInput {
 4871   4713   
    /* StructureGenerator.kt:231 */
 4872   4714   
    #[allow(missing_docs)] // documentation missing in model
 4873         -
                           /* StructureGenerator.kt:166 */
 4874         -
    pub fn target_http_date(&self) -> &::aws_smithy_types::DateTime {
 4875         -
        /* StructureGenerator.kt:172 */
 4876         -
        &self.target_http_date
 4877         -
        /* StructureGenerator.kt:166 */
 4878         -
    }
        4715  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4716  +
    /* StructureGenerator.kt:201 */
        4717  +
}
        4718  +
/* StructureGenerator.kt:135 */
        4719  +
impl MalformedTimestampHeaderEpochInput {
 4879   4720   
    /* StructureGenerator.kt:231 */
 4880   4721   
    #[allow(missing_docs)] // documentation missing in model
 4881   4722   
                           /* StructureGenerator.kt:166 */
 4882         -
    pub fn target_date_time(&self) -> &::aws_smithy_types::DateTime {
        4723  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 4883   4724   
        /* StructureGenerator.kt:172 */
 4884         -
        &self.target_date_time
        4725  +
        &self.timestamp
 4885   4726   
        /* StructureGenerator.kt:166 */
 4886   4727   
    }
 4887   4728   
    /* StructureGenerator.kt:135 */
 4888   4729   
}
 4889   4730   
/* ServerCodegenVisitor.kt:356 */
 4890         -
impl HttpRequestWithLabelsAndTimestampFormatInput {
 4891         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        4731  +
impl MalformedTimestampHeaderEpochInput {
        4732  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 4892   4733   
    /* ServerBuilderGenerator.kt:295 */
 4893         -
    pub fn builder() -> crate::input::http_request_with_labels_and_timestamp_format_input::Builder {
        4734  +
    pub fn builder() -> crate::input::malformed_timestamp_header_epoch_input::Builder {
 4894   4735   
        /* ServerBuilderGenerator.kt:296 */
 4895         -
        crate::input::http_request_with_labels_and_timestamp_format_input::Builder::default()
        4736  +
        crate::input::malformed_timestamp_header_epoch_input::Builder::default()
 4896   4737   
        /* ServerBuilderGenerator.kt:295 */
 4897   4738   
    }
 4898   4739   
    /* ServerCodegenVisitor.kt:356 */
 4899   4740   
}
 4900   4741   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 4901         -
impl crate::constrained::Constrained
 4902         -
    for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
 4903         -
{
 4904         -
    type Unconstrained = crate::input::http_request_with_labels_and_timestamp_format_input::Builder;
        4742  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderEpochInput {
        4743  +
    type Unconstrained = crate::input::malformed_timestamp_header_epoch_input::Builder;
 4905   4744   
}
 4906   4745   
 4907   4746   
/* StructureGenerator.kt:197 */
 4908   4747   
#[allow(missing_docs)] // documentation missing in model
 4909   4748   
/* RustType.kt:534 */
 4910         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4911         -
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithLabelsInput {
 4912         -
    /* StructureGenerator.kt:231 */
 4913         -
    #[allow(missing_docs)] // documentation missing in model
 4914         -
    pub string: ::std::string::String,
 4915         -
    /* StructureGenerator.kt:231 */
 4916         -
    #[allow(missing_docs)] // documentation missing in model
 4917         -
    pub short: i16,
 4918         -
    /* StructureGenerator.kt:231 */
 4919         -
    #[allow(missing_docs)] // documentation missing in model
 4920         -
    pub integer: i32,
 4921         -
    /* StructureGenerator.kt:231 */
 4922         -
    #[allow(missing_docs)] // documentation missing in model
 4923         -
    pub long: i64,
 4924         -
    /* StructureGenerator.kt:231 */
 4925         -
    #[allow(missing_docs)] // documentation missing in model
 4926         -
    pub float: f32,
        4749  +
#[derive(
        4750  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4751  +
)]
        4752  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyDefaultInput {
 4927   4753   
    /* StructureGenerator.kt:231 */
 4928   4754   
    #[allow(missing_docs)] // documentation missing in model
 4929         -
    pub double: f64,
 4930         -
    /// /* StructureGenerator.kt:231 */Serialized in the path as true or false.
 4931         -
    pub boolean: bool,
 4932         -
    /// /* StructureGenerator.kt:231 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
 4933   4755   
    pub timestamp: ::aws_smithy_types::DateTime,
 4934   4756   
    /* StructureGenerator.kt:201 */
 4935   4757   
}
 4936   4758   
/* StructureGenerator.kt:135 */
 4937         -
impl HttpRequestWithLabelsInput {
 4938         -
    /* StructureGenerator.kt:231 */
 4939         -
    #[allow(missing_docs)] // documentation missing in model
 4940         -
                           /* StructureGenerator.kt:166 */
 4941         -
    pub fn string(&self) -> &str {
 4942         -
        /* StructureGenerator.kt:171 */
 4943         -
        use std::ops::Deref;
 4944         -
        self.string.deref()
 4945         -
        /* StructureGenerator.kt:166 */
 4946         -
    }
 4947         -
    /* StructureGenerator.kt:231 */
 4948         -
    #[allow(missing_docs)] // documentation missing in model
 4949         -
                           /* StructureGenerator.kt:166 */
 4950         -
    pub fn short(&self) -> i16 {
 4951         -
        /* StructureGenerator.kt:168 */
 4952         -
        self.short
 4953         -
        /* StructureGenerator.kt:166 */
 4954         -
    }
 4955         -
    /* StructureGenerator.kt:231 */
 4956         -
    #[allow(missing_docs)] // documentation missing in model
 4957         -
                           /* StructureGenerator.kt:166 */
 4958         -
    pub fn integer(&self) -> i32 {
 4959         -
        /* StructureGenerator.kt:168 */
 4960         -
        self.integer
 4961         -
        /* StructureGenerator.kt:166 */
 4962         -
    }
 4963         -
    /* StructureGenerator.kt:231 */
 4964         -
    #[allow(missing_docs)] // documentation missing in model
 4965         -
                           /* StructureGenerator.kt:166 */
 4966         -
    pub fn long(&self) -> i64 {
 4967         -
        /* StructureGenerator.kt:168 */
 4968         -
        self.long
 4969         -
        /* StructureGenerator.kt:166 */
 4970         -
    }
 4971         -
    /* StructureGenerator.kt:231 */
 4972         -
    #[allow(missing_docs)] // documentation missing in model
 4973         -
                           /* StructureGenerator.kt:166 */
 4974         -
    pub fn float(&self) -> f32 {
 4975         -
        /* StructureGenerator.kt:168 */
 4976         -
        self.float
 4977         -
        /* StructureGenerator.kt:166 */
 4978         -
    }
        4759  +
impl MalformedTimestampBodyDefaultInput {
 4979   4760   
    /* StructureGenerator.kt:231 */
 4980   4761   
    #[allow(missing_docs)] // documentation missing in model
 4981   4762   
                           /* StructureGenerator.kt:166 */
 4982         -
    pub fn double(&self) -> f64 {
 4983         -
        /* StructureGenerator.kt:168 */
 4984         -
        self.double
 4985         -
        /* StructureGenerator.kt:166 */
 4986         -
    }
 4987         -
    /// /* StructureGenerator.kt:231 */Serialized in the path as true or false.
 4988         -
    /* StructureGenerator.kt:166 */
 4989         -
    pub fn boolean(&self) -> bool {
 4990         -
        /* StructureGenerator.kt:168 */
 4991         -
        self.boolean
 4992         -
        /* StructureGenerator.kt:166 */
 4993         -
    }
 4994         -
    /// /* StructureGenerator.kt:231 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
 4995         -
    /* StructureGenerator.kt:166 */
 4996   4763   
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
 4997   4764   
        /* StructureGenerator.kt:172 */
 4998   4765   
        &self.timestamp
 4999   4766   
        /* StructureGenerator.kt:166 */
 5000   4767   
    }
 5001   4768   
    /* StructureGenerator.kt:135 */
 5002   4769   
}
 5003   4770   
/* ServerCodegenVisitor.kt:356 */
 5004         -
impl HttpRequestWithLabelsInput {
 5005         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
        4771  +
impl MalformedTimestampBodyDefaultInput {
        4772  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 5006   4773   
    /* ServerBuilderGenerator.kt:295 */
 5007         -
    pub fn builder() -> crate::input::http_request_with_labels_input::Builder {
        4774  +
    pub fn builder() -> crate::input::malformed_timestamp_body_default_input::Builder {
 5008   4775   
        /* ServerBuilderGenerator.kt:296 */
 5009         -
        crate::input::http_request_with_labels_input::Builder::default()
        4776  +
        crate::input::malformed_timestamp_body_default_input::Builder::default()
 5010   4777   
        /* ServerBuilderGenerator.kt:295 */
 5011   4778   
    }
 5012   4779   
    /* ServerCodegenVisitor.kt:356 */
 5013   4780   
}
 5014   4781   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5015         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithLabelsInput {
 5016         -
    type Unconstrained = crate::input::http_request_with_labels_input::Builder;
        4782  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDefaultInput {
        4783  +
    type Unconstrained = crate::input::malformed_timestamp_body_default_input::Builder;
 5017   4784   
}
 5018   4785   
 5019   4786   
/* StructureGenerator.kt:197 */
 5020   4787   
#[allow(missing_docs)] // documentation missing in model
 5021   4788   
/* RustType.kt:534 */
 5022   4789   
#[derive(
 5023   4790   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5024   4791   
)]
 5025         -
pub /* StructureGenerator.kt:201 */ struct MediaTypeHeaderInput {
        4792  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyDateTimeInput {
 5026   4793   
    /* StructureGenerator.kt:231 */
 5027   4794   
    #[allow(missing_docs)] // documentation missing in model
 5028         -
    pub json: ::std::option::Option<::std::string::String>,
        4795  +
    pub timestamp: ::aws_smithy_types::DateTime,
 5029   4796   
    /* StructureGenerator.kt:201 */
 5030   4797   
}
 5031   4798   
/* StructureGenerator.kt:135 */
 5032         -
impl MediaTypeHeaderInput {
        4799  +
impl MalformedTimestampBodyDateTimeInput {
 5033   4800   
    /* StructureGenerator.kt:231 */
 5034   4801   
    #[allow(missing_docs)] // documentation missing in model
 5035   4802   
                           /* StructureGenerator.kt:166 */
 5036         -
    pub fn json(&self) -> ::std::option::Option<&str> {
 5037         -
        /* StructureGenerator.kt:169 */
 5038         -
        self.json.as_deref()
        4803  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4804  +
        /* StructureGenerator.kt:172 */
        4805  +
        &self.timestamp
 5039   4806   
        /* StructureGenerator.kt:166 */
 5040   4807   
    }
 5041   4808   
    /* StructureGenerator.kt:135 */
 5042   4809   
}
 5043   4810   
/* ServerCodegenVisitor.kt:356 */
 5044         -
impl MediaTypeHeaderInput {
 5045         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        4811  +
impl MalformedTimestampBodyDateTimeInput {
        4812  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 5046   4813   
    /* ServerBuilderGenerator.kt:295 */
 5047         -
    pub fn builder() -> crate::input::media_type_header_input::Builder {
        4814  +
    pub fn builder() -> crate::input::malformed_timestamp_body_date_time_input::Builder {
 5048   4815   
        /* ServerBuilderGenerator.kt:296 */
 5049         -
        crate::input::media_type_header_input::Builder::default()
        4816  +
        crate::input::malformed_timestamp_body_date_time_input::Builder::default()
 5050   4817   
        /* ServerBuilderGenerator.kt:295 */
 5051   4818   
    }
 5052   4819   
    /* ServerCodegenVisitor.kt:356 */
 5053   4820   
}
 5054   4821   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5055         -
impl crate::constrained::Constrained for crate::input::MediaTypeHeaderInput {
 5056         -
    type Unconstrained = crate::input::media_type_header_input::Builder;
        4822  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDateTimeInput {
        4823  +
    type Unconstrained = crate::input::malformed_timestamp_body_date_time_input::Builder;
 5057   4824   
}
 5058   4825   
 5059   4826   
/* StructureGenerator.kt:197 */
 5060   4827   
#[allow(missing_docs)] // documentation missing in model
 5061   4828   
/* RustType.kt:534 */
 5062   4829   
#[derive(
 5063   4830   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5064   4831   
)]
 5065         -
pub /* StructureGenerator.kt:201 */ struct TimestampFormatHeadersInput {
        4832  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyHttpDateInput {
 5066   4833   
    /* StructureGenerator.kt:231 */
 5067   4834   
    #[allow(missing_docs)] // documentation missing in model
 5068         -
    pub member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
 5069         -
    /* StructureGenerator.kt:231 */
 5070         -
    #[allow(missing_docs)] // documentation missing in model
 5071         -
    pub member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
 5072         -
    /* StructureGenerator.kt:231 */
 5073         -
    #[allow(missing_docs)] // documentation missing in model
 5074         -
    pub member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
 5075         -
    /* StructureGenerator.kt:231 */
 5076         -
    #[allow(missing_docs)] // documentation missing in model
 5077         -
    pub default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
 5078         -
    /* StructureGenerator.kt:231 */
 5079         -
    #[allow(missing_docs)] // documentation missing in model
 5080         -
    pub target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
 5081         -
    /* StructureGenerator.kt:231 */
 5082         -
    #[allow(missing_docs)] // documentation missing in model
 5083         -
    pub target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
 5084         -
    /* StructureGenerator.kt:231 */
 5085         -
    #[allow(missing_docs)] // documentation missing in model
 5086         -
    pub target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
 5087         -
    /* StructureGenerator.kt:201 */
 5088         -
}
 5089         -
/* StructureGenerator.kt:135 */
 5090         -
impl TimestampFormatHeadersInput {
 5091         -
    /* StructureGenerator.kt:231 */
 5092         -
    #[allow(missing_docs)] // documentation missing in model
 5093         -
                           /* StructureGenerator.kt:166 */
 5094         -
    pub fn member_epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5095         -
        /* StructureGenerator.kt:170 */
 5096         -
        self.member_epoch_seconds.as_ref()
 5097         -
        /* StructureGenerator.kt:166 */
 5098         -
    }
 5099         -
    /* StructureGenerator.kt:231 */
 5100         -
    #[allow(missing_docs)] // documentation missing in model
 5101         -
                           /* StructureGenerator.kt:166 */
 5102         -
    pub fn member_http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5103         -
        /* StructureGenerator.kt:170 */
 5104         -
        self.member_http_date.as_ref()
 5105         -
        /* StructureGenerator.kt:166 */
 5106         -
    }
        4835  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4836  +
    /* StructureGenerator.kt:201 */
        4837  +
}
        4838  +
/* StructureGenerator.kt:135 */
        4839  +
impl MalformedTimestampBodyHttpDateInput {
 5107   4840   
    /* StructureGenerator.kt:231 */
 5108   4841   
    #[allow(missing_docs)] // documentation missing in model
 5109   4842   
                           /* StructureGenerator.kt:166 */
 5110         -
    pub fn member_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5111         -
        /* StructureGenerator.kt:170 */
 5112         -
        self.member_date_time.as_ref()
        4843  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4844  +
        /* StructureGenerator.kt:172 */
        4845  +
        &self.timestamp
 5113   4846   
        /* StructureGenerator.kt:166 */
 5114   4847   
    }
 5115         -
    /* StructureGenerator.kt:231 */
 5116         -
    #[allow(missing_docs)] // documentation missing in model
 5117         -
                           /* StructureGenerator.kt:166 */
 5118         -
    pub fn default_format(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5119         -
        /* StructureGenerator.kt:170 */
 5120         -
        self.default_format.as_ref()
 5121         -
        /* StructureGenerator.kt:166 */
        4848  +
    /* StructureGenerator.kt:135 */
        4849  +
}
        4850  +
/* ServerCodegenVisitor.kt:356 */
        4851  +
impl MalformedTimestampBodyHttpDateInput {
        4852  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        4853  +
    /* ServerBuilderGenerator.kt:295 */
        4854  +
    pub fn builder() -> crate::input::malformed_timestamp_body_http_date_input::Builder {
        4855  +
        /* ServerBuilderGenerator.kt:296 */
        4856  +
        crate::input::malformed_timestamp_body_http_date_input::Builder::default()
        4857  +
        /* ServerBuilderGenerator.kt:295 */
 5122   4858   
    }
 5123         -
    /* StructureGenerator.kt:231 */
 5124         -
    #[allow(missing_docs)] // documentation missing in model
 5125         -
                           /* StructureGenerator.kt:166 */
 5126         -
    pub fn target_epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5127         -
        /* StructureGenerator.kt:170 */
 5128         -
        self.target_epoch_seconds.as_ref()
 5129         -
        /* StructureGenerator.kt:166 */
        4859  +
    /* ServerCodegenVisitor.kt:356 */
        4860  +
}
        4861  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4862  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyHttpDateInput {
        4863  +
    type Unconstrained = crate::input::malformed_timestamp_body_http_date_input::Builder;
        4864  +
}
        4865  +
        4866  +
/* StructureGenerator.kt:197 */
        4867  +
#[allow(missing_docs)] // documentation missing in model
        4868  +
/* RustType.kt:534 */
        4869  +
#[derive(
        4870  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4871  +
)]
        4872  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithoutBodyInput {/* StructureGenerator.kt:201 */}
        4873  +
/* ServerCodegenVisitor.kt:356 */
        4874  +
impl MalformedContentTypeWithoutBodyInput {
        4875  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
        4876  +
    /* ServerBuilderGenerator.kt:295 */
        4877  +
    pub fn builder() -> crate::input::malformed_content_type_without_body_input::Builder {
        4878  +
        /* ServerBuilderGenerator.kt:296 */
        4879  +
        crate::input::malformed_content_type_without_body_input::Builder::default()
        4880  +
        /* ServerBuilderGenerator.kt:295 */
 5130   4881   
    }
        4882  +
    /* ServerCodegenVisitor.kt:356 */
        4883  +
}
        4884  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4885  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithoutBodyInput {
        4886  +
    type Unconstrained = crate::input::malformed_content_type_without_body_input::Builder;
        4887  +
}
        4888  +
        4889  +
/* StructureGenerator.kt:197 */
        4890  +
#[allow(missing_docs)] // documentation missing in model
        4891  +
/* RustType.kt:534 */
        4892  +
#[derive(
        4893  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4894  +
)]
        4895  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithoutBodyEmptyInputInput {
 5131   4896   
    /* StructureGenerator.kt:231 */
 5132   4897   
    #[allow(missing_docs)] // documentation missing in model
 5133         -
                           /* StructureGenerator.kt:166 */
 5134         -
    pub fn target_http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5135         -
        /* StructureGenerator.kt:170 */
 5136         -
        self.target_http_date.as_ref()
 5137         -
        /* StructureGenerator.kt:166 */
 5138         -
    }
        4898  +
    pub header: ::std::option::Option<::std::string::String>,
        4899  +
    /* StructureGenerator.kt:201 */
        4900  +
}
        4901  +
/* StructureGenerator.kt:135 */
        4902  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
 5139   4903   
    /* StructureGenerator.kt:231 */
 5140   4904   
    #[allow(missing_docs)] // documentation missing in model
 5141   4905   
                           /* StructureGenerator.kt:166 */
 5142         -
    pub fn target_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
 5143         -
        /* StructureGenerator.kt:170 */
 5144         -
        self.target_date_time.as_ref()
        4906  +
    pub fn header(&self) -> ::std::option::Option<&str> {
        4907  +
        /* StructureGenerator.kt:169 */
        4908  +
        self.header.as_deref()
 5145   4909   
        /* StructureGenerator.kt:166 */
 5146   4910   
    }
 5147   4911   
    /* StructureGenerator.kt:135 */
 5148   4912   
}
 5149   4913   
/* ServerCodegenVisitor.kt:356 */
 5150         -
impl TimestampFormatHeadersInput {
 5151         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        4914  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
        4915  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 5152   4916   
    /* ServerBuilderGenerator.kt:295 */
 5153         -
    pub fn builder() -> crate::input::timestamp_format_headers_input::Builder {
        4917  +
    pub fn builder() -> crate::input::malformed_content_type_without_body_empty_input_input::Builder
        4918  +
    {
 5154   4919   
        /* ServerBuilderGenerator.kt:296 */
 5155         -
        crate::input::timestamp_format_headers_input::Builder::default()
        4920  +
        crate::input::malformed_content_type_without_body_empty_input_input::Builder::default()
 5156   4921   
        /* ServerBuilderGenerator.kt:295 */
 5157   4922   
    }
 5158   4923   
    /* ServerCodegenVisitor.kt:356 */
 5159   4924   
}
 5160   4925   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5161         -
impl crate::constrained::Constrained for crate::input::TimestampFormatHeadersInput {
 5162         -
    type Unconstrained = crate::input::timestamp_format_headers_input::Builder;
        4926  +
impl crate::constrained::Constrained
        4927  +
    for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
        4928  +
{
        4929  +
    type Unconstrained =
        4930  +
        crate::input::malformed_content_type_without_body_empty_input_input::Builder;
 5163   4931   
}
 5164   4932   
 5165   4933   
/* StructureGenerator.kt:197 */
 5166   4934   
#[allow(missing_docs)] // documentation missing in model
 5167   4935   
/* RustType.kt:534 */
 5168   4936   
#[derive(
 5169   4937   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5170   4938   
)]
 5171         -
pub /* StructureGenerator.kt:201 */ struct NullAndEmptyHeadersServerInput {
 5172         -
    /* StructureGenerator.kt:231 */
 5173         -
    #[allow(missing_docs)] // documentation missing in model
 5174         -
    pub a: ::std::option::Option<::std::string::String>,
 5175         -
    /* StructureGenerator.kt:231 */
 5176         -
    #[allow(missing_docs)] // documentation missing in model
 5177         -
    pub b: ::std::option::Option<::std::string::String>,
        4939  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithBodyInput {
 5178   4940   
    /* StructureGenerator.kt:231 */
 5179   4941   
    #[allow(missing_docs)] // documentation missing in model
 5180         -
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4942  +
    pub hi: ::std::option::Option<::std::string::String>,
 5181   4943   
    /* StructureGenerator.kt:201 */
 5182   4944   
}
 5183   4945   
/* StructureGenerator.kt:135 */
 5184         -
impl NullAndEmptyHeadersServerInput {
 5185         -
    /* StructureGenerator.kt:231 */
 5186         -
    #[allow(missing_docs)] // documentation missing in model
 5187         -
                           /* StructureGenerator.kt:166 */
 5188         -
    pub fn a(&self) -> ::std::option::Option<&str> {
 5189         -
        /* StructureGenerator.kt:169 */
 5190         -
        self.a.as_deref()
 5191         -
        /* StructureGenerator.kt:166 */
 5192         -
    }
 5193         -
    /* StructureGenerator.kt:231 */
 5194         -
    #[allow(missing_docs)] // documentation missing in model
 5195         -
                           /* StructureGenerator.kt:166 */
 5196         -
    pub fn b(&self) -> ::std::option::Option<&str> {
 5197         -
        /* StructureGenerator.kt:169 */
 5198         -
        self.b.as_deref()
 5199         -
        /* StructureGenerator.kt:166 */
 5200         -
    }
        4946  +
impl MalformedContentTypeWithBodyInput {
 5201   4947   
    /* StructureGenerator.kt:231 */
 5202   4948   
    #[allow(missing_docs)] // documentation missing in model
 5203   4949   
                           /* StructureGenerator.kt:166 */
 5204         -
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
        4950  +
    pub fn hi(&self) -> ::std::option::Option<&str> {
 5205   4951   
        /* StructureGenerator.kt:169 */
 5206         -
        self.c.as_deref()
        4952  +
        self.hi.as_deref()
 5207   4953   
        /* StructureGenerator.kt:166 */
 5208   4954   
    }
 5209   4955   
    /* StructureGenerator.kt:135 */
 5210   4956   
}
 5211   4957   
/* ServerCodegenVisitor.kt:356 */
 5212         -
impl NullAndEmptyHeadersServerInput {
 5213         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        4958  +
impl MalformedContentTypeWithBodyInput {
        4959  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 5214   4960   
    /* ServerBuilderGenerator.kt:295 */
 5215         -
    pub fn builder() -> crate::input::null_and_empty_headers_server_input::Builder {
        4961  +
    pub fn builder() -> crate::input::malformed_content_type_with_body_input::Builder {
 5216   4962   
        /* ServerBuilderGenerator.kt:296 */
 5217         -
        crate::input::null_and_empty_headers_server_input::Builder::default()
        4963  +
        crate::input::malformed_content_type_with_body_input::Builder::default()
 5218   4964   
        /* ServerBuilderGenerator.kt:295 */
 5219   4965   
    }
 5220   4966   
    /* ServerCodegenVisitor.kt:356 */
 5221   4967   
}
 5222   4968   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5223         -
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersServerInput {
 5224         -
    type Unconstrained = crate::input::null_and_empty_headers_server_input::Builder;
        4969  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithBodyInput {
        4970  +
    type Unconstrained = crate::input::malformed_content_type_with_body_input::Builder;
 5225   4971   
}
 5226   4972   
 5227   4973   
/* StructureGenerator.kt:197 */
 5228   4974   
#[allow(missing_docs)] // documentation missing in model
 5229   4975   
/* RustType.kt:534 */
 5230   4976   
#[derive(
 5231   4977   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5232   4978   
)]
 5233         -
pub /* StructureGenerator.kt:201 */ struct NullAndEmptyHeadersClientInput {
 5234         -
    /* StructureGenerator.kt:231 */
 5235         -
    #[allow(missing_docs)] // documentation missing in model
 5236         -
    pub a: ::std::option::Option<::std::string::String>,
 5237         -
    /* StructureGenerator.kt:231 */
 5238         -
    #[allow(missing_docs)] // documentation missing in model
 5239         -
    pub b: ::std::option::Option<::std::string::String>,
        4979  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithPayloadInput {
 5240   4980   
    /* StructureGenerator.kt:231 */
 5241   4981   
    #[allow(missing_docs)] // documentation missing in model
 5242         -
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4982  +
    pub payload: ::std::option::Option<::aws_smithy_types::Blob>,
 5243   4983   
    /* StructureGenerator.kt:201 */
 5244   4984   
}
 5245   4985   
/* StructureGenerator.kt:135 */
 5246         -
impl NullAndEmptyHeadersClientInput {
        4986  +
impl MalformedContentTypeWithPayloadInput {
 5247   4987   
    /* StructureGenerator.kt:231 */
 5248   4988   
    #[allow(missing_docs)] // documentation missing in model
 5249   4989   
                           /* StructureGenerator.kt:166 */
 5250         -
    pub fn a(&self) -> ::std::option::Option<&str> {
 5251         -
        /* StructureGenerator.kt:169 */
 5252         -
        self.a.as_deref()
        4990  +
    pub fn payload(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        4991  +
        /* StructureGenerator.kt:170 */
        4992  +
        self.payload.as_ref()
 5253   4993   
        /* StructureGenerator.kt:166 */
 5254   4994   
    }
        4995  +
    /* StructureGenerator.kt:135 */
        4996  +
}
        4997  +
/* ServerCodegenVisitor.kt:356 */
        4998  +
impl MalformedContentTypeWithPayloadInput {
        4999  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
        5000  +
    /* ServerBuilderGenerator.kt:295 */
        5001  +
    pub fn builder() -> crate::input::malformed_content_type_with_payload_input::Builder {
        5002  +
        /* ServerBuilderGenerator.kt:296 */
        5003  +
        crate::input::malformed_content_type_with_payload_input::Builder::default()
        5004  +
        /* ServerBuilderGenerator.kt:295 */
        5005  +
    }
        5006  +
    /* ServerCodegenVisitor.kt:356 */
        5007  +
}
        5008  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5009  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithPayloadInput {
        5010  +
    type Unconstrained = crate::input::malformed_content_type_with_payload_input::Builder;
        5011  +
}
        5012  +
        5013  +
/* StructureGenerator.kt:197 */
        5014  +
#[allow(missing_docs)] // documentation missing in model
        5015  +
/* RustType.kt:534 */
        5016  +
#[derive(
        5017  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5018  +
)]
        5019  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithGenericStringInput {
 5255   5020   
    /* StructureGenerator.kt:231 */
 5256   5021   
    #[allow(missing_docs)] // documentation missing in model
 5257         -
                           /* StructureGenerator.kt:166 */
 5258         -
    pub fn b(&self) -> ::std::option::Option<&str> {
 5259         -
        /* StructureGenerator.kt:169 */
 5260         -
        self.b.as_deref()
 5261         -
        /* StructureGenerator.kt:166 */
 5262         -
    }
        5022  +
    pub payload: ::std::option::Option<::std::string::String>,
        5023  +
    /* StructureGenerator.kt:201 */
        5024  +
}
        5025  +
/* StructureGenerator.kt:135 */
        5026  +
impl MalformedContentTypeWithGenericStringInput {
 5263   5027   
    /* StructureGenerator.kt:231 */
 5264   5028   
    #[allow(missing_docs)] // documentation missing in model
 5265   5029   
                           /* StructureGenerator.kt:166 */
 5266         -
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
        5030  +
    pub fn payload(&self) -> ::std::option::Option<&str> {
 5267   5031   
        /* StructureGenerator.kt:169 */
 5268         -
        self.c.as_deref()
        5032  +
        self.payload.as_deref()
 5269   5033   
        /* StructureGenerator.kt:166 */
 5270   5034   
    }
 5271   5035   
    /* StructureGenerator.kt:135 */
 5272   5036   
}
 5273   5037   
/* ServerCodegenVisitor.kt:356 */
 5274         -
impl NullAndEmptyHeadersClientInput {
 5275         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        5038  +
impl MalformedContentTypeWithGenericStringInput {
        5039  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 5276   5040   
    /* ServerBuilderGenerator.kt:295 */
 5277         -
    pub fn builder() -> crate::input::null_and_empty_headers_client_input::Builder {
        5041  +
    pub fn builder() -> crate::input::malformed_content_type_with_generic_string_input::Builder {
 5278   5042   
        /* ServerBuilderGenerator.kt:296 */
 5279         -
        crate::input::null_and_empty_headers_client_input::Builder::default()
        5043  +
        crate::input::malformed_content_type_with_generic_string_input::Builder::default()
 5280   5044   
        /* ServerBuilderGenerator.kt:295 */
 5281   5045   
    }
 5282   5046   
    /* ServerCodegenVisitor.kt:356 */
 5283   5047   
}
 5284   5048   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5285         -
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersClientInput {
 5286         -
    type Unconstrained = crate::input::null_and_empty_headers_client_input::Builder;
        5049  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithGenericStringInput {
        5050  +
    type Unconstrained = crate::input::malformed_content_type_with_generic_string_input::Builder;
 5287   5051   
}
 5288   5052   
 5289   5053   
/* StructureGenerator.kt:197 */
 5290   5054   
#[allow(missing_docs)] // documentation missing in model
 5291   5055   
/* RustType.kt:534 */
 5292         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 5293         -
pub /* StructureGenerator.kt:201 */ struct InputAndOutputWithHeadersInput {
 5294         -
    /* StructureGenerator.kt:231 */
 5295         -
    #[allow(missing_docs)] // documentation missing in model
 5296         -
    pub header_string: ::std::option::Option<::std::string::String>,
 5297         -
    /* StructureGenerator.kt:231 */
 5298         -
    #[allow(missing_docs)] // documentation missing in model
 5299         -
    pub header_byte: ::std::option::Option<i8>,
 5300         -
    /* StructureGenerator.kt:231 */
 5301         -
    #[allow(missing_docs)] // documentation missing in model
 5302         -
    pub header_short: ::std::option::Option<i16>,
 5303         -
    /* StructureGenerator.kt:231 */
 5304         -
    #[allow(missing_docs)] // documentation missing in model
 5305         -
    pub header_integer: ::std::option::Option<i32>,
 5306         -
    /* StructureGenerator.kt:231 */
 5307         -
    #[allow(missing_docs)] // documentation missing in model
 5308         -
    pub header_long: ::std::option::Option<i64>,
 5309         -
    /* StructureGenerator.kt:231 */
 5310         -
    #[allow(missing_docs)] // documentation missing in model
 5311         -
    pub header_float: ::std::option::Option<f32>,
 5312         -
    /* StructureGenerator.kt:231 */
 5313         -
    #[allow(missing_docs)] // documentation missing in model
 5314         -
    pub header_double: ::std::option::Option<f64>,
 5315         -
    /* StructureGenerator.kt:231 */
 5316         -
    #[allow(missing_docs)] // documentation missing in model
 5317         -
    pub header_true_bool: ::std::option::Option<bool>,
 5318         -
    /* StructureGenerator.kt:231 */
 5319         -
    #[allow(missing_docs)] // documentation missing in model
 5320         -
    pub header_false_bool: ::std::option::Option<bool>,
 5321         -
    /* StructureGenerator.kt:231 */
 5322         -
    #[allow(missing_docs)] // documentation missing in model
 5323         -
    pub header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 5324         -
    /* StructureGenerator.kt:231 */
 5325         -
    #[allow(missing_docs)] // documentation missing in model
 5326         -
    pub header_string_set: ::std::option::Option<crate::model::StringSet>,
 5327         -
    /* StructureGenerator.kt:231 */
 5328         -
    #[allow(missing_docs)] // documentation missing in model
 5329         -
    pub header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 5330         -
    /* StructureGenerator.kt:231 */
 5331         -
    #[allow(missing_docs)] // documentation missing in model
 5332         -
    pub header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 5333         -
    /* StructureGenerator.kt:231 */
 5334         -
    #[allow(missing_docs)] // documentation missing in model
 5335         -
    pub header_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
 5336         -
    /* StructureGenerator.kt:231 */
 5337         -
    #[allow(missing_docs)] // documentation missing in model
 5338         -
    pub header_enum: ::std::option::Option<crate::model::FooEnum>,
 5339         -
    /* StructureGenerator.kt:231 */
 5340         -
    #[allow(missing_docs)] // documentation missing in model
 5341         -
    pub header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        5056  +
#[derive(
        5057  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5058  +
)]
        5059  +
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithBodyInput {/* StructureGenerator.kt:201 */}
        5060  +
/* ServerCodegenVisitor.kt:356 */
        5061  +
impl MalformedAcceptWithBodyInput {
        5062  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        5063  +
    /* ServerBuilderGenerator.kt:295 */
        5064  +
    pub fn builder() -> crate::input::malformed_accept_with_body_input::Builder {
        5065  +
        /* ServerBuilderGenerator.kt:296 */
        5066  +
        crate::input::malformed_accept_with_body_input::Builder::default()
        5067  +
        /* ServerBuilderGenerator.kt:295 */
        5068  +
    }
        5069  +
    /* ServerCodegenVisitor.kt:356 */
        5070  +
}
        5071  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5072  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithBodyInput {
        5073  +
    type Unconstrained = crate::input::malformed_accept_with_body_input::Builder;
        5074  +
}
        5075  +
        5076  +
/* StructureGenerator.kt:197 */
        5077  +
#[allow(missing_docs)] // documentation missing in model
        5078  +
/* RustType.kt:534 */
        5079  +
#[derive(
        5080  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5081  +
)]
        5082  +
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithPayloadInput {/* StructureGenerator.kt:201 */}
        5083  +
/* ServerCodegenVisitor.kt:356 */
        5084  +
impl MalformedAcceptWithPayloadInput {
        5085  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        5086  +
    /* ServerBuilderGenerator.kt:295 */
        5087  +
    pub fn builder() -> crate::input::malformed_accept_with_payload_input::Builder {
        5088  +
        /* ServerBuilderGenerator.kt:296 */
        5089  +
        crate::input::malformed_accept_with_payload_input::Builder::default()
        5090  +
        /* ServerBuilderGenerator.kt:295 */
        5091  +
    }
        5092  +
    /* ServerCodegenVisitor.kt:356 */
        5093  +
}
        5094  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5095  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithPayloadInput {
        5096  +
    type Unconstrained = crate::input::malformed_accept_with_payload_input::Builder;
        5097  +
}
        5098  +
        5099  +
/* StructureGenerator.kt:197 */
        5100  +
#[allow(missing_docs)] // documentation missing in model
        5101  +
/* RustType.kt:534 */
        5102  +
#[derive(
        5103  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5104  +
)]
        5105  +
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithGenericStringInput {/* StructureGenerator.kt:201 */}
        5106  +
/* ServerCodegenVisitor.kt:356 */
        5107  +
impl MalformedAcceptWithGenericStringInput {
        5108  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        5109  +
    /* ServerBuilderGenerator.kt:295 */
        5110  +
    pub fn builder() -> crate::input::malformed_accept_with_generic_string_input::Builder {
        5111  +
        /* ServerBuilderGenerator.kt:296 */
        5112  +
        crate::input::malformed_accept_with_generic_string_input::Builder::default()
        5113  +
        /* ServerBuilderGenerator.kt:295 */
        5114  +
    }
        5115  +
    /* ServerCodegenVisitor.kt:356 */
        5116  +
}
        5117  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5118  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithGenericStringInput {
        5119  +
    type Unconstrained = crate::input::malformed_accept_with_generic_string_input::Builder;
        5120  +
}
        5121  +
        5122  +
/* StructureGenerator.kt:197 */
        5123  +
#[allow(missing_docs)] // documentation missing in model
        5124  +
/* RustType.kt:534 */
        5125  +
#[derive(
        5126  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5127  +
)]
        5128  +
pub /* StructureGenerator.kt:201 */ struct TestBodyStructureInput {
 5342   5129   
    /* StructureGenerator.kt:231 */
 5343   5130   
    #[allow(missing_docs)] // documentation missing in model
 5344         -
    pub header_integer_enum: ::std::option::Option<i32>,
        5131  +
    pub test_id: ::std::option::Option<::std::string::String>,
 5345   5132   
    /* StructureGenerator.kt:231 */
 5346   5133   
    #[allow(missing_docs)] // documentation missing in model
 5347         -
    pub header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        5134  +
    pub test_config: ::std::option::Option<crate::model::TestConfig>,
 5348   5135   
    /* StructureGenerator.kt:201 */
 5349   5136   
}
 5350   5137   
/* StructureGenerator.kt:135 */
 5351         -
impl InputAndOutputWithHeadersInput {
        5138  +
impl TestBodyStructureInput {
 5352   5139   
    /* StructureGenerator.kt:231 */
 5353   5140   
    #[allow(missing_docs)] // documentation missing in model
 5354   5141   
                           /* StructureGenerator.kt:166 */
 5355         -
    pub fn header_string(&self) -> ::std::option::Option<&str> {
        5142  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
 5356   5143   
        /* StructureGenerator.kt:169 */
 5357         -
        self.header_string.as_deref()
        5144  +
        self.test_id.as_deref()
 5358   5145   
        /* StructureGenerator.kt:166 */
 5359   5146   
    }
 5360   5147   
    /* StructureGenerator.kt:231 */
 5361   5148   
    #[allow(missing_docs)] // documentation missing in model
 5362   5149   
                           /* StructureGenerator.kt:166 */
 5363         -
    pub fn header_byte(&self) -> ::std::option::Option<i8> {
 5364         -
        /* StructureGenerator.kt:168 */
 5365         -
        self.header_byte
        5150  +
    pub fn test_config(&self) -> ::std::option::Option<&crate::model::TestConfig> {
        5151  +
        /* StructureGenerator.kt:170 */
        5152  +
        self.test_config.as_ref()
 5366   5153   
        /* StructureGenerator.kt:166 */
 5367   5154   
    }
 5368         -
    /* StructureGenerator.kt:231 */
 5369         -
    #[allow(missing_docs)] // documentation missing in model
 5370         -
                           /* StructureGenerator.kt:166 */
 5371         -
    pub fn header_short(&self) -> ::std::option::Option<i16> {
 5372         -
        /* StructureGenerator.kt:168 */
 5373         -
        self.header_short
 5374         -
        /* StructureGenerator.kt:166 */
        5155  +
    /* StructureGenerator.kt:135 */
        5156  +
}
        5157  +
/* ServerCodegenVisitor.kt:356 */
        5158  +
impl TestBodyStructureInput {
        5159  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        5160  +
    /* ServerBuilderGenerator.kt:295 */
        5161  +
    pub fn builder() -> crate::input::test_body_structure_input::Builder {
        5162  +
        /* ServerBuilderGenerator.kt:296 */
        5163  +
        crate::input::test_body_structure_input::Builder::default()
        5164  +
        /* ServerBuilderGenerator.kt:295 */
 5375   5165   
    }
        5166  +
    /* ServerCodegenVisitor.kt:356 */
        5167  +
}
        5168  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5169  +
impl crate::constrained::Constrained for crate::input::TestBodyStructureInput {
        5170  +
    type Unconstrained = crate::input::test_body_structure_input::Builder;
        5171  +
}
        5172  +
        5173  +
/* StructureGenerator.kt:197 */
        5174  +
#[allow(missing_docs)] // documentation missing in model
        5175  +
/* RustType.kt:534 */
        5176  +
#[derive(
        5177  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5178  +
)]
        5179  +
pub /* StructureGenerator.kt:201 */ struct TestPayloadStructureInput {
 5376   5180   
    /* StructureGenerator.kt:231 */
 5377   5181   
    #[allow(missing_docs)] // documentation missing in model
 5378         -
                           /* StructureGenerator.kt:166 */
 5379         -
    pub fn header_integer(&self) -> ::std::option::Option<i32> {
 5380         -
        /* StructureGenerator.kt:168 */
 5381         -
        self.header_integer
 5382         -
        /* StructureGenerator.kt:166 */
 5383         -
    }
        5182  +
    pub test_id: ::std::option::Option<::std::string::String>,
 5384   5183   
    /* StructureGenerator.kt:231 */
 5385   5184   
    #[allow(missing_docs)] // documentation missing in model
 5386         -
                           /* StructureGenerator.kt:166 */
 5387         -
    pub fn header_long(&self) -> ::std::option::Option<i64> {
 5388         -
        /* StructureGenerator.kt:168 */
 5389         -
        self.header_long
 5390         -
        /* StructureGenerator.kt:166 */
 5391         -
    }
        5185  +
    pub payload_config: ::std::option::Option<crate::model::PayloadConfig>,
        5186  +
    /* StructureGenerator.kt:201 */
        5187  +
}
        5188  +
/* StructureGenerator.kt:135 */
        5189  +
impl TestPayloadStructureInput {
 5392   5190   
    /* StructureGenerator.kt:231 */
 5393   5191   
    #[allow(missing_docs)] // documentation missing in model
 5394   5192   
                           /* StructureGenerator.kt:166 */
 5395         -
    pub fn header_float(&self) -> ::std::option::Option<f32> {
 5396         -
        /* StructureGenerator.kt:168 */
 5397         -
        self.header_float
        5193  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
        5194  +
        /* StructureGenerator.kt:169 */
        5195  +
        self.test_id.as_deref()
 5398   5196   
        /* StructureGenerator.kt:166 */
 5399   5197   
    }
 5400   5198   
    /* StructureGenerator.kt:231 */
 5401   5199   
    #[allow(missing_docs)] // documentation missing in model
 5402   5200   
                           /* StructureGenerator.kt:166 */
 5403         -
    pub fn header_double(&self) -> ::std::option::Option<f64> {
 5404         -
        /* StructureGenerator.kt:168 */
 5405         -
        self.header_double
        5201  +
    pub fn payload_config(&self) -> ::std::option::Option<&crate::model::PayloadConfig> {
        5202  +
        /* StructureGenerator.kt:170 */
        5203  +
        self.payload_config.as_ref()
 5406   5204   
        /* StructureGenerator.kt:166 */
 5407   5205   
    }
        5206  +
    /* StructureGenerator.kt:135 */
        5207  +
}
        5208  +
/* ServerCodegenVisitor.kt:356 */
        5209  +
impl TestPayloadStructureInput {
        5210  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
        5211  +
    /* ServerBuilderGenerator.kt:295 */
        5212  +
    pub fn builder() -> crate::input::test_payload_structure_input::Builder {
        5213  +
        /* ServerBuilderGenerator.kt:296 */
        5214  +
        crate::input::test_payload_structure_input::Builder::default()
        5215  +
        /* ServerBuilderGenerator.kt:295 */
        5216  +
    }
        5217  +
    /* ServerCodegenVisitor.kt:356 */
        5218  +
}
        5219  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5220  +
impl crate::constrained::Constrained for crate::input::TestPayloadStructureInput {
        5221  +
    type Unconstrained = crate::input::test_payload_structure_input::Builder;
        5222  +
}
        5223  +
        5224  +
/* StructureGenerator.kt:197 */
        5225  +
#[allow(missing_docs)] // documentation missing in model
        5226  +
/* RustType.kt:534 */
        5227  +
#[derive(
        5228  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5229  +
)]
        5230  +
pub /* StructureGenerator.kt:201 */ struct TestPayloadBlobInput {
 5408   5231   
    /* StructureGenerator.kt:231 */
 5409   5232   
    #[allow(missing_docs)] // documentation missing in model
 5410         -
                           /* StructureGenerator.kt:166 */
 5411         -
    pub fn header_true_bool(&self) -> ::std::option::Option<bool> {
 5412         -
        /* StructureGenerator.kt:168 */
 5413         -
        self.header_true_bool
 5414         -
        /* StructureGenerator.kt:166 */
 5415         -
    }
        5233  +
    pub content_type: ::std::option::Option<::std::string::String>,
 5416   5234   
    /* StructureGenerator.kt:231 */
 5417   5235   
    #[allow(missing_docs)] // documentation missing in model
 5418         -
                           /* StructureGenerator.kt:166 */
 5419         -
    pub fn header_false_bool(&self) -> ::std::option::Option<bool> {
 5420         -
        /* StructureGenerator.kt:168 */
 5421         -
        self.header_false_bool
 5422         -
        /* StructureGenerator.kt:166 */
 5423         -
    }
        5236  +
    pub data: ::std::option::Option<::aws_smithy_types::Blob>,
        5237  +
    /* StructureGenerator.kt:201 */
        5238  +
}
        5239  +
/* StructureGenerator.kt:135 */
        5240  +
impl TestPayloadBlobInput {
 5424   5241   
    /* StructureGenerator.kt:231 */
 5425   5242   
    #[allow(missing_docs)] // documentation missing in model
 5426   5243   
                           /* StructureGenerator.kt:166 */
 5427         -
    pub fn header_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        5244  +
    pub fn content_type(&self) -> ::std::option::Option<&str> {
 5428   5245   
        /* StructureGenerator.kt:169 */
 5429         -
        self.header_string_list.as_deref()
        5246  +
        self.content_type.as_deref()
 5430   5247   
        /* StructureGenerator.kt:166 */
 5431   5248   
    }
 5432   5249   
    /* StructureGenerator.kt:231 */
 5433   5250   
    #[allow(missing_docs)] // documentation missing in model
 5434   5251   
                           /* StructureGenerator.kt:166 */
 5435         -
    pub fn header_string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
        5252  +
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
 5436   5253   
        /* StructureGenerator.kt:170 */
 5437         -
        self.header_string_set.as_ref()
 5438         -
        /* StructureGenerator.kt:166 */
 5439         -
    }
 5440         -
    /* StructureGenerator.kt:231 */
 5441         -
    #[allow(missing_docs)] // documentation missing in model
 5442         -
                           /* StructureGenerator.kt:166 */
 5443         -
    pub fn header_integer_list(&self) -> ::std::option::Option<&[i32]> {
 5444         -
        /* StructureGenerator.kt:169 */
 5445         -
        self.header_integer_list.as_deref()
        5254  +
        self.data.as_ref()
 5446   5255   
        /* StructureGenerator.kt:166 */
 5447   5256   
    }
 5448         -
    /* StructureGenerator.kt:231 */
 5449         -
    #[allow(missing_docs)] // documentation missing in model
 5450         -
                           /* StructureGenerator.kt:166 */
 5451         -
    pub fn header_boolean_list(&self) -> ::std::option::Option<&[bool]> {
 5452         -
        /* StructureGenerator.kt:169 */
 5453         -
        self.header_boolean_list.as_deref()
 5454         -
        /* StructureGenerator.kt:166 */
 5455         -
    }
 5456         -
    /* StructureGenerator.kt:231 */
 5457         -
    #[allow(missing_docs)] // documentation missing in model
 5458         -
                           /* StructureGenerator.kt:166 */
 5459         -
    pub fn header_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
 5460         -
        /* StructureGenerator.kt:169 */
 5461         -
        self.header_timestamp_list.as_deref()
 5462         -
        /* StructureGenerator.kt:166 */
        5257  +
    /* StructureGenerator.kt:135 */
        5258  +
}
        5259  +
/* ServerCodegenVisitor.kt:356 */
        5260  +
impl TestPayloadBlobInput {
        5261  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
        5262  +
    /* ServerBuilderGenerator.kt:295 */
        5263  +
    pub fn builder() -> crate::input::test_payload_blob_input::Builder {
        5264  +
        /* ServerBuilderGenerator.kt:296 */
        5265  +
        crate::input::test_payload_blob_input::Builder::default()
        5266  +
        /* ServerBuilderGenerator.kt:295 */
 5463   5267   
    }
        5268  +
    /* ServerCodegenVisitor.kt:356 */
        5269  +
}
        5270  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5271  +
impl crate::constrained::Constrained for crate::input::TestPayloadBlobInput {
        5272  +
    type Unconstrained = crate::input::test_payload_blob_input::Builder;
        5273  +
}
        5274  +
        5275  +
/* StructureGenerator.kt:197 */
        5276  +
#[allow(missing_docs)] // documentation missing in model
        5277  +
/* RustType.kt:534 */
        5278  +
#[derive(
        5279  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5280  +
)]
        5281  +
pub /* StructureGenerator.kt:201 */ struct TestGetNoPayloadInput {
 5464   5282   
    /* StructureGenerator.kt:231 */
 5465   5283   
    #[allow(missing_docs)] // documentation missing in model
 5466         -
                           /* StructureGenerator.kt:166 */
 5467         -
    pub fn header_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 5468         -
        /* StructureGenerator.kt:170 */
 5469         -
        self.header_enum.as_ref()
 5470         -
        /* StructureGenerator.kt:166 */
 5471         -
    }
        5284  +
    pub test_id: ::std::option::Option<::std::string::String>,
        5285  +
    /* StructureGenerator.kt:201 */
        5286  +
}
        5287  +
/* StructureGenerator.kt:135 */
        5288  +
impl TestGetNoPayloadInput {
 5472   5289   
    /* StructureGenerator.kt:231 */
 5473   5290   
    #[allow(missing_docs)] // documentation missing in model
 5474   5291   
                           /* StructureGenerator.kt:166 */
 5475         -
    pub fn header_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        5292  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
 5476   5293   
        /* StructureGenerator.kt:169 */
 5477         -
        self.header_enum_list.as_deref()
        5294  +
        self.test_id.as_deref()
 5478   5295   
        /* StructureGenerator.kt:166 */
 5479   5296   
    }
        5297  +
    /* StructureGenerator.kt:135 */
        5298  +
}
        5299  +
/* ServerCodegenVisitor.kt:356 */
        5300  +
impl TestGetNoPayloadInput {
        5301  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        5302  +
    /* ServerBuilderGenerator.kt:295 */
        5303  +
    pub fn builder() -> crate::input::test_get_no_payload_input::Builder {
        5304  +
        /* ServerBuilderGenerator.kt:296 */
        5305  +
        crate::input::test_get_no_payload_input::Builder::default()
        5306  +
        /* ServerBuilderGenerator.kt:295 */
        5307  +
    }
        5308  +
    /* ServerCodegenVisitor.kt:356 */
        5309  +
}
        5310  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5311  +
impl crate::constrained::Constrained for crate::input::TestGetNoPayloadInput {
        5312  +
    type Unconstrained = crate::input::test_get_no_payload_input::Builder;
        5313  +
}
        5314  +
        5315  +
/* StructureGenerator.kt:197 */
        5316  +
#[allow(missing_docs)] // documentation missing in model
        5317  +
/* RustType.kt:534 */
        5318  +
#[derive(
        5319  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5320  +
)]
        5321  +
pub /* StructureGenerator.kt:201 */ struct TestPostNoPayloadInput {
 5480   5322   
    /* StructureGenerator.kt:231 */
 5481   5323   
    #[allow(missing_docs)] // documentation missing in model
 5482         -
                           /* StructureGenerator.kt:166 */
 5483         -
    pub fn header_integer_enum(&self) -> ::std::option::Option<i32> {
 5484         -
        /* StructureGenerator.kt:168 */
 5485         -
        self.header_integer_enum
 5486         -
        /* StructureGenerator.kt:166 */
 5487         -
    }
        5324  +
    pub test_id: ::std::option::Option<::std::string::String>,
        5325  +
    /* StructureGenerator.kt:201 */
        5326  +
}
        5327  +
/* StructureGenerator.kt:135 */
        5328  +
impl TestPostNoPayloadInput {
 5488   5329   
    /* StructureGenerator.kt:231 */
 5489   5330   
    #[allow(missing_docs)] // documentation missing in model
 5490   5331   
                           /* StructureGenerator.kt:166 */
 5491         -
    pub fn header_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        5332  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
 5492   5333   
        /* StructureGenerator.kt:169 */
 5493         -
        self.header_integer_enum_list.as_deref()
        5334  +
        self.test_id.as_deref()
 5494   5335   
        /* StructureGenerator.kt:166 */
 5495   5336   
    }
 5496   5337   
    /* StructureGenerator.kt:135 */
 5497   5338   
}
 5498   5339   
/* ServerCodegenVisitor.kt:356 */
 5499         -
impl InputAndOutputWithHeadersInput {
 5500         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        5340  +
impl TestPostNoPayloadInput {
        5341  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 5501   5342   
    /* ServerBuilderGenerator.kt:295 */
 5502         -
    pub fn builder() -> crate::input::input_and_output_with_headers_input::Builder {
        5343  +
    pub fn builder() -> crate::input::test_post_no_payload_input::Builder {
 5503   5344   
        /* ServerBuilderGenerator.kt:296 */
 5504         -
        crate::input::input_and_output_with_headers_input::Builder::default()
        5345  +
        crate::input::test_post_no_payload_input::Builder::default()
 5505   5346   
        /* ServerBuilderGenerator.kt:295 */
 5506   5347   
    }
 5507   5348   
    /* ServerCodegenVisitor.kt:356 */
 5508   5349   
}
 5509   5350   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5510         -
impl crate::constrained::Constrained for crate::input::InputAndOutputWithHeadersInput {
 5511         -
    type Unconstrained = crate::input::input_and_output_with_headers_input::Builder;
        5351  +
impl crate::constrained::Constrained for crate::input::TestPostNoPayloadInput {
        5352  +
    type Unconstrained = crate::input::test_post_no_payload_input::Builder;
 5512   5353   
}
 5513   5354   
 5514   5355   
/* StructureGenerator.kt:197 */
 5515   5356   
#[allow(missing_docs)] // documentation missing in model
 5516   5357   
/* RustType.kt:534 */
 5517   5358   
#[derive(
 5518   5359   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5519   5360   
)]
 5520         -
pub /* StructureGenerator.kt:201 */ struct UnitInputAndOutputInput {/* StructureGenerator.kt:201 */}
        5361  +
pub /* StructureGenerator.kt:201 */ struct TestGetNoInputNoPayloadInput {/* StructureGenerator.kt:201 */}
 5521   5362   
/* ServerCodegenVisitor.kt:356 */
 5522         -
impl UnitInputAndOutputInput {
 5523         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        5363  +
impl TestGetNoInputNoPayloadInput {
        5364  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 5524   5365   
    /* ServerBuilderGenerator.kt:295 */
 5525         -
    pub fn builder() -> crate::input::unit_input_and_output_input::Builder {
        5366  +
    pub fn builder() -> crate::input::test_get_no_input_no_payload_input::Builder {
 5526   5367   
        /* ServerBuilderGenerator.kt:296 */
 5527         -
        crate::input::unit_input_and_output_input::Builder::default()
        5368  +
        crate::input::test_get_no_input_no_payload_input::Builder::default()
 5528   5369   
        /* ServerBuilderGenerator.kt:295 */
 5529   5370   
    }
 5530   5371   
    /* ServerCodegenVisitor.kt:356 */
 5531   5372   
}
 5532   5373   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5533         -
impl crate::constrained::Constrained for crate::input::UnitInputAndOutputInput {
 5534         -
    type Unconstrained = crate::input::unit_input_and_output_input::Builder;
        5374  +
impl crate::constrained::Constrained for crate::input::TestGetNoInputNoPayloadInput {
        5375  +
    type Unconstrained = crate::input::test_get_no_input_no_payload_input::Builder;
 5535   5376   
}
 5536   5377   
 5537   5378   
/* StructureGenerator.kt:197 */
 5538   5379   
#[allow(missing_docs)] // documentation missing in model
 5539   5380   
/* RustType.kt:534 */
 5540   5381   
#[derive(
 5541   5382   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5542   5383   
)]
 5543         -
pub /* StructureGenerator.kt:201 */ struct EmptyInputAndEmptyOutputInput {/* StructureGenerator.kt:201 */}
        5384  +
pub /* StructureGenerator.kt:201 */ struct TestPostNoInputNoPayloadInput {/* StructureGenerator.kt:201 */}
 5544   5385   
/* ServerCodegenVisitor.kt:356 */
 5545         -
impl EmptyInputAndEmptyOutputInput {
 5546         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        5386  +
impl TestPostNoInputNoPayloadInput {
        5387  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 5547   5388   
    /* ServerBuilderGenerator.kt:295 */
 5548         -
    pub fn builder() -> crate::input::empty_input_and_empty_output_input::Builder {
        5389  +
    pub fn builder() -> crate::input::test_post_no_input_no_payload_input::Builder {
 5549   5390   
        /* ServerBuilderGenerator.kt:296 */
 5550         -
        crate::input::empty_input_and_empty_output_input::Builder::default()
        5391  +
        crate::input::test_post_no_input_no_payload_input::Builder::default()
 5551   5392   
        /* ServerBuilderGenerator.kt:295 */
 5552   5393   
    }
 5553   5394   
    /* ServerCodegenVisitor.kt:356 */
 5554   5395   
}
 5555   5396   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5556         -
impl crate::constrained::Constrained for crate::input::EmptyInputAndEmptyOutputInput {
 5557         -
    type Unconstrained = crate::input::empty_input_and_empty_output_input::Builder;
        5397  +
impl crate::constrained::Constrained for crate::input::TestPostNoInputNoPayloadInput {
        5398  +
    type Unconstrained = crate::input::test_post_no_input_no_payload_input::Builder;
 5558   5399   
}
 5559   5400   
 5560   5401   
/* StructureGenerator.kt:197 */
 5561   5402   
#[allow(missing_docs)] // documentation missing in model
 5562   5403   
/* RustType.kt:534 */
 5563   5404   
#[derive(
 5564   5405   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5565   5406   
)]
 5566         -
pub /* StructureGenerator.kt:201 */ struct NoInputAndOutputInput {/* StructureGenerator.kt:201 */}
        5407  +
pub /* StructureGenerator.kt:201 */ struct DatetimeOffsetsInput {/* StructureGenerator.kt:201 */}
 5567   5408   
/* ServerCodegenVisitor.kt:356 */
 5568         -
impl NoInputAndOutputInput {
 5569         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        5409  +
impl DatetimeOffsetsInput {
        5410  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 5570   5411   
    /* ServerBuilderGenerator.kt:295 */
 5571         -
    pub fn builder() -> crate::input::no_input_and_output_input::Builder {
        5412  +
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
 5572   5413   
        /* ServerBuilderGenerator.kt:296 */
 5573         -
        crate::input::no_input_and_output_input::Builder::default()
        5414  +
        crate::input::datetime_offsets_input::Builder::default()
 5574   5415   
        /* ServerBuilderGenerator.kt:295 */
 5575   5416   
    }
 5576   5417   
    /* ServerCodegenVisitor.kt:356 */
 5577   5418   
}
 5578   5419   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5579         -
impl crate::constrained::Constrained for crate::input::NoInputAndOutputInput {
 5580         -
    type Unconstrained = crate::input::no_input_and_output_input::Builder;
        5420  +
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
        5421  +
    type Unconstrained = crate::input::datetime_offsets_input::Builder;
 5581   5422   
}
 5582   5423   
 5583   5424   
/* StructureGenerator.kt:197 */
 5584   5425   
#[allow(missing_docs)] // documentation missing in model
 5585   5426   
/* RustType.kt:534 */
 5586   5427   
#[derive(
 5587   5428   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5588   5429   
)]
 5589         -
pub /* StructureGenerator.kt:201 */ struct NoInputAndNoOutputInput {/* StructureGenerator.kt:201 */}
        5430  +
pub /* StructureGenerator.kt:201 */ struct FractionalSecondsInput {/* StructureGenerator.kt:201 */}
 5590   5431   
/* ServerCodegenVisitor.kt:356 */
 5591         -
impl NoInputAndNoOutputInput {
 5592         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        5432  +
impl FractionalSecondsInput {
        5433  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 5593   5434   
    /* ServerBuilderGenerator.kt:295 */
 5594         -
    pub fn builder() -> crate::input::no_input_and_no_output_input::Builder {
        5435  +
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
 5595   5436   
        /* ServerBuilderGenerator.kt:296 */
 5596         -
        crate::input::no_input_and_no_output_input::Builder::default()
        5437  +
        crate::input::fractional_seconds_input::Builder::default()
 5597   5438   
        /* ServerBuilderGenerator.kt:295 */
 5598   5439   
    }
 5599   5440   
    /* ServerCodegenVisitor.kt:356 */
 5600   5441   
}
 5601   5442   
/* ServerStructureConstrainedTraitImpl.kt:21 */
 5602         -
impl crate::constrained::Constrained for crate::input::NoInputAndNoOutputInput {
 5603         -
    type Unconstrained = crate::input::no_input_and_no_output_input::Builder;
        5443  +
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
        5444  +
    type Unconstrained = crate::input::fractional_seconds_input::Builder;
 5604   5445   
}
 5605         -
/// /* ServerBuilderGenerator.kt:171 */See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 5606         -
pub mod operation_with_nested_structure_input {
 5607   5446   
 5608         -
    /* RustType.kt:534 */
 5609         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 5610         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 5611         -
    /* RustType.kt:534 */
 5612         -
    #[non_exhaustive]
 5613         -
    /* ServerBuilderConstraintViolations.kt:75 */
 5614         -
    #[allow(clippy::enum_variant_names)]
 5615         -
    pub enum ConstraintViolation {
 5616         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
 5617         -
        /* ServerBuilderConstraintViolations.kt:144 */
 5618         -
        MissingTopLevel,
 5619         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`.
 5620         -
        /* RustType.kt:534 */
 5621         -
        #[doc(hidden)]
 5622         -
        /* ServerBuilderConstraintViolations.kt:165 */
 5623         -
        TopLevel(crate::model::top_level::ConstraintViolation),
 5624         -
        /* ServerBuilderConstraintViolations.kt:75 */
        5447  +
/* StructureGenerator.kt:197 */
        5448  +
#[allow(missing_docs)] // documentation missing in model
        5449  +
/* RustType.kt:534 */
        5450  +
#[derive(
        5451  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5452  +
)]
        5453  +
pub /* StructureGenerator.kt:201 */ struct PutWithContentEncodingInput {
        5454  +
    /* StructureGenerator.kt:231 */
        5455  +
    #[allow(missing_docs)] // documentation missing in model
        5456  +
    pub encoding: ::std::option::Option<::std::string::String>,
        5457  +
    /* StructureGenerator.kt:231 */
        5458  +
    #[allow(missing_docs)] // documentation missing in model
        5459  +
    pub data: ::std::option::Option<::std::string::String>,
        5460  +
    /* StructureGenerator.kt:201 */
        5461  +
}
        5462  +
/* StructureGenerator.kt:135 */
        5463  +
impl PutWithContentEncodingInput {
        5464  +
    /* StructureGenerator.kt:231 */
        5465  +
    #[allow(missing_docs)] // documentation missing in model
        5466  +
                           /* StructureGenerator.kt:166 */
        5467  +
    pub fn encoding(&self) -> ::std::option::Option<&str> {
        5468  +
        /* StructureGenerator.kt:169 */
        5469  +
        self.encoding.as_deref()
        5470  +
        /* StructureGenerator.kt:166 */
 5625   5471   
    }
 5626         -
    /* ServerBuilderConstraintViolations.kt:116 */
 5627         -
    impl ::std::fmt::Display for ConstraintViolation {
 5628         -
        /* ServerBuilderConstraintViolations.kt:117 */
 5629         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 5630         -
            /* ServerBuilderConstraintViolations.kt:118 */
 5631         -
            match self {
 5632         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
 5633         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::TopLevel(_) => write!(f, "constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`"),
 5634         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 5635         -
            /* ServerBuilderConstraintViolations.kt:117 */
 5636         -
        }
 5637         -
        /* ServerBuilderConstraintViolations.kt:116 */
        5472  +
    /* StructureGenerator.kt:231 */
        5473  +
    #[allow(missing_docs)] // documentation missing in model
        5474  +
                           /* StructureGenerator.kt:166 */
        5475  +
    pub fn data(&self) -> ::std::option::Option<&str> {
        5476  +
        /* StructureGenerator.kt:169 */
        5477  +
        self.data.as_deref()
        5478  +
        /* StructureGenerator.kt:166 */
 5638   5479   
    }
 5639         -
    /* ServerBuilderConstraintViolations.kt:83 */
 5640         -
    impl ::std::error::Error for ConstraintViolation {}
 5641         -
    /* ServerBuilderConstraintViolations.kt:172 */
 5642         -
    impl ConstraintViolation {
 5643         -
        pub(crate) fn as_validation_exception_field(
 5644         -
            self,
 5645         -
            path: ::std::string::String,
 5646         -
        ) -> crate::model::ValidationExceptionField {
 5647         -
            match self {
 5648         -
            ConstraintViolation::MissingTopLevel => crate::model::ValidationExceptionField {
 5649         -
                                                message: format!("Value at '{}/topLevel' failed to satisfy constraint: Member must not be null", path),
 5650         -
                                                path: path + "/topLevel",
 5651         -
                                            },
 5652         -
            ConstraintViolation::TopLevel(inner) => inner.as_validation_exception_field(path + "/topLevel"),
 5653         -
        }
 5654         -
        }
        5480  +
    /* StructureGenerator.kt:135 */
        5481  +
}
        5482  +
/* ServerCodegenVisitor.kt:356 */
        5483  +
impl PutWithContentEncodingInput {
        5484  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        5485  +
    /* ServerBuilderGenerator.kt:295 */
        5486  +
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
        5487  +
        /* ServerBuilderGenerator.kt:296 */
        5488  +
        crate::input::put_with_content_encoding_input::Builder::default()
        5489  +
        /* ServerBuilderGenerator.kt:295 */
 5655   5490   
    }
 5656         -
    /* ServerBuilderGenerator.kt:234 */
 5657         -
    impl ::std::convert::From<ConstraintViolation>
 5658         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 5659         -
    {
 5660         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 5661         -
            let first_validation_exception_field =
 5662         -
                constraint_violation.as_validation_exception_field("".to_owned());
 5663         -
            let validation_exception = crate::error::ValidationException {
        5491  +
    /* ServerCodegenVisitor.kt:356 */
        5492  +
}
        5493  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5494  +
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
        5495  +
    type Unconstrained = crate::input::put_with_content_encoding_input::Builder;
        5496  +
}
        5497  +
        5498  +
/* StructureGenerator.kt:197 */
        5499  +
#[allow(missing_docs)] // documentation missing in model
        5500  +
/* RustType.kt:534 */
        5501  +
#[derive(
        5502  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5503  +
)]
        5504  +
pub /* StructureGenerator.kt:201 */ struct ContentTypeParametersInput {
        5505  +
    /* StructureGenerator.kt:231 */
        5506  +
    #[allow(missing_docs)] // documentation missing in model
        5507  +
    pub value: ::std::option::Option<i32>,
        5508  +
    /* StructureGenerator.kt:201 */
        5509  +
}
        5510  +
/* StructureGenerator.kt:135 */
        5511  +
impl ContentTypeParametersInput {
        5512  +
    /* StructureGenerator.kt:231 */
        5513  +
    #[allow(missing_docs)] // documentation missing in model
        5514  +
                           /* StructureGenerator.kt:166 */
        5515  +
    pub fn value(&self) -> ::std::option::Option<i32> {
        5516  +
        /* StructureGenerator.kt:168 */
        5517  +
        self.value
        5518  +
        /* StructureGenerator.kt:166 */
        5519  +
    }
        5520  +
    /* StructureGenerator.kt:135 */
        5521  +
}
        5522  +
/* ServerCodegenVisitor.kt:356 */
        5523  +
impl ContentTypeParametersInput {
        5524  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        5525  +
    /* ServerBuilderGenerator.kt:295 */
        5526  +
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
        5527  +
        /* ServerBuilderGenerator.kt:296 */
        5528  +
        crate::input::content_type_parameters_input::Builder::default()
        5529  +
        /* ServerBuilderGenerator.kt:295 */
        5530  +
    }
        5531  +
    /* ServerCodegenVisitor.kt:356 */
        5532  +
}
        5533  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5534  +
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
        5535  +
    type Unconstrained = crate::input::content_type_parameters_input::Builder;
        5536  +
}
        5537  +
        5538  +
/* StructureGenerator.kt:197 */
        5539  +
#[allow(missing_docs)] // documentation missing in model
        5540  +
/* RustType.kt:534 */
        5541  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        5542  +
pub /* StructureGenerator.kt:201 */ struct OperationWithDefaultsInput {
        5543  +
    /* StructureGenerator.kt:231 */
        5544  +
    #[allow(missing_docs)] // documentation missing in model
        5545  +
    pub defaults: ::std::option::Option<crate::model::Defaults>,
        5546  +
    /* StructureGenerator.kt:231 */
        5547  +
    #[allow(missing_docs)] // documentation missing in model
        5548  +
    pub client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
        5549  +
    /* StructureGenerator.kt:231 */
        5550  +
    #[allow(missing_docs)] // documentation missing in model
        5551  +
    pub top_level_default: ::std::string::String,
        5552  +
    /* StructureGenerator.kt:231 */
        5553  +
    #[allow(missing_docs)] // documentation missing in model
        5554  +
    pub other_top_level_default: i32,
        5555  +
    /* StructureGenerator.kt:201 */
        5556  +
}
        5557  +
/* StructureGenerator.kt:135 */
        5558  +
impl OperationWithDefaultsInput {
        5559  +
    /* StructureGenerator.kt:231 */
        5560  +
    #[allow(missing_docs)] // documentation missing in model
        5561  +
                           /* StructureGenerator.kt:166 */
        5562  +
    pub fn defaults(&self) -> ::std::option::Option<&crate::model::Defaults> {
        5563  +
        /* StructureGenerator.kt:170 */
        5564  +
        self.defaults.as_ref()
        5565  +
        /* StructureGenerator.kt:166 */
        5566  +
    }
        5567  +
    /* StructureGenerator.kt:231 */
        5568  +
    #[allow(missing_docs)] // documentation missing in model
        5569  +
                           /* StructureGenerator.kt:166 */
        5570  +
    pub fn client_optional_defaults(
        5571  +
        &self,
        5572  +
    ) -> ::std::option::Option<&crate::model::ClientOptionalDefaults> {
        5573  +
        /* StructureGenerator.kt:170 */
        5574  +
        self.client_optional_defaults.as_ref()
        5575  +
        /* StructureGenerator.kt:166 */
        5576  +
    }
        5577  +
    /* StructureGenerator.kt:231 */
        5578  +
    #[allow(missing_docs)] // documentation missing in model
        5579  +
                           /* StructureGenerator.kt:166 */
        5580  +
    pub fn top_level_default(&self) -> &str {
        5581  +
        /* StructureGenerator.kt:171 */
        5582  +
        use std::ops::Deref;
        5583  +
        self.top_level_default.deref()
        5584  +
        /* StructureGenerator.kt:166 */
        5585  +
    }
        5586  +
    /* StructureGenerator.kt:231 */
        5587  +
    #[allow(missing_docs)] // documentation missing in model
        5588  +
                           /* StructureGenerator.kt:166 */
        5589  +
    pub fn other_top_level_default(&self) -> i32 {
        5590  +
        /* StructureGenerator.kt:168 */
        5591  +
        self.other_top_level_default
        5592  +
        /* StructureGenerator.kt:166 */
        5593  +
    }
        5594  +
    /* StructureGenerator.kt:135 */
        5595  +
}
        5596  +
/* ServerCodegenVisitor.kt:356 */
        5597  +
impl OperationWithDefaultsInput {
        5598  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
        5599  +
    /* ServerBuilderGenerator.kt:295 */
        5600  +
    pub fn builder() -> crate::input::operation_with_defaults_input::Builder {
        5601  +
        /* ServerBuilderGenerator.kt:296 */
        5602  +
        crate::input::operation_with_defaults_input::Builder::default()
        5603  +
        /* ServerBuilderGenerator.kt:295 */
        5604  +
    }
        5605  +
    /* ServerCodegenVisitor.kt:356 */
        5606  +
}
        5607  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5608  +
impl crate::constrained::Constrained for crate::input::OperationWithDefaultsInput {
        5609  +
    type Unconstrained = crate::input::operation_with_defaults_input::Builder;
        5610  +
}
        5611  +
        5612  +
/* StructureGenerator.kt:197 */
        5613  +
#[allow(missing_docs)] // documentation missing in model
        5614  +
/* RustType.kt:534 */
        5615  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        5616  +
pub /* StructureGenerator.kt:201 */ struct OperationWithNestedStructureInput {
        5617  +
    /* StructureGenerator.kt:231 */
        5618  +
    #[allow(missing_docs)] // documentation missing in model
        5619  +
    pub top_level: crate::model::TopLevel,
        5620  +
    /* StructureGenerator.kt:201 */
        5621  +
}
        5622  +
/* StructureGenerator.kt:135 */
        5623  +
impl OperationWithNestedStructureInput {
        5624  +
    /* StructureGenerator.kt:231 */
        5625  +
    #[allow(missing_docs)] // documentation missing in model
        5626  +
                           /* StructureGenerator.kt:166 */
        5627  +
    pub fn top_level(&self) -> &crate::model::TopLevel {
        5628  +
        /* StructureGenerator.kt:172 */
        5629  +
        &self.top_level
        5630  +
        /* StructureGenerator.kt:166 */
        5631  +
    }
        5632  +
    /* StructureGenerator.kt:135 */
        5633  +
}
        5634  +
/* ServerCodegenVisitor.kt:356 */
        5635  +
impl OperationWithNestedStructureInput {
        5636  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
        5637  +
    /* ServerBuilderGenerator.kt:295 */
        5638  +
    pub fn builder() -> crate::input::operation_with_nested_structure_input::Builder {
        5639  +
        /* ServerBuilderGenerator.kt:296 */
        5640  +
        crate::input::operation_with_nested_structure_input::Builder::default()
        5641  +
        /* ServerBuilderGenerator.kt:295 */
        5642  +
    }
        5643  +
    /* ServerCodegenVisitor.kt:356 */
        5644  +
}
        5645  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5646  +
impl crate::constrained::Constrained for crate::input::OperationWithNestedStructureInput {
        5647  +
    type Unconstrained = crate::input::operation_with_nested_structure_input::Builder;
        5648  +
}
        5649  +
        5650  +
/* StructureGenerator.kt:197 */
        5651  +
#[allow(missing_docs)] // documentation missing in model
        5652  +
/* RustType.kt:534 */
        5653  +
#[derive(::std::fmt::Debug)]
        5654  +
pub /* StructureGenerator.kt:201 */ struct InputStreamInput {
        5655  +
    /* StructureGenerator.kt:231 */
        5656  +
    #[allow(missing_docs)] // documentation missing in model
        5657  +
    pub stream: crate::sigv4_event_stream::SigV4Receiver<
        5658  +
        crate::model::EventStream,
        5659  +
        crate::error::EventStreamError,
        5660  +
    >,
        5661  +
    /* StructureGenerator.kt:201 */
        5662  +
}
        5663  +
/* StructureGenerator.kt:135 */
        5664  +
impl InputStreamInput {
        5665  +
    /* StructureGenerator.kt:231 */
        5666  +
    #[allow(missing_docs)] // documentation missing in model
        5667  +
                           /* StructureGenerator.kt:166 */
        5668  +
    pub fn stream(
        5669  +
        &self,
        5670  +
    ) -> &crate::sigv4_event_stream::SigV4Receiver<
        5671  +
        crate::model::EventStream,
        5672  +
        crate::error::EventStreamError,
        5673  +
    > {
        5674  +
        /* StructureGenerator.kt:172 */
        5675  +
        &self.stream
        5676  +
        /* StructureGenerator.kt:166 */
        5677  +
    }
        5678  +
    /* StructureGenerator.kt:135 */
        5679  +
}
        5680  +
/* ServerCodegenVisitor.kt:356 */
        5681  +
impl InputStreamInput {
        5682  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`InputStreamInput`](crate::input::InputStreamInput).
        5683  +
    /* ServerBuilderGenerator.kt:295 */
        5684  +
    pub fn builder() -> crate::input::input_stream_input::Builder {
        5685  +
        /* ServerBuilderGenerator.kt:296 */
        5686  +
        crate::input::input_stream_input::Builder::default()
        5687  +
        /* ServerBuilderGenerator.kt:295 */
        5688  +
    }
        5689  +
    /* ServerCodegenVisitor.kt:356 */
        5690  +
}
        5691  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5692  +
impl crate::constrained::Constrained for crate::input::InputStreamInput {
        5693  +
    type Unconstrained = crate::input::input_stream_input::Builder;
        5694  +
}
        5695  +
        5696  +
/* StructureGenerator.kt:197 */
        5697  +
#[allow(missing_docs)] // documentation missing in model
        5698  +
/* RustType.kt:534 */
        5699  +
#[derive(
        5700  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5701  +
)]
        5702  +
pub /* StructureGenerator.kt:201 */ struct OutputStreamInput {/* StructureGenerator.kt:201 */}
        5703  +
/* ServerCodegenVisitor.kt:356 */
        5704  +
impl OutputStreamInput {
        5705  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OutputStreamInput`](crate::input::OutputStreamInput).
        5706  +
    /* ServerBuilderGenerator.kt:295 */
        5707  +
    pub fn builder() -> crate::input::output_stream_input::Builder {
        5708  +
        /* ServerBuilderGenerator.kt:296 */
        5709  +
        crate::input::output_stream_input::Builder::default()
        5710  +
        /* ServerBuilderGenerator.kt:295 */
        5711  +
    }
        5712  +
    /* ServerCodegenVisitor.kt:356 */
        5713  +
}
        5714  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5715  +
impl crate::constrained::Constrained for crate::input::OutputStreamInput {
        5716  +
    type Unconstrained = crate::input::output_stream_input::Builder;
        5717  +
}
        5718  +
        5719  +
/* StructureGenerator.kt:197 */
        5720  +
#[allow(missing_docs)] // documentation missing in model
        5721  +
/* RustType.kt:534 */
        5722  +
#[derive(::std::fmt::Debug)]
        5723  +
pub /* StructureGenerator.kt:201 */ struct DuplexStreamInput {
        5724  +
    /* StructureGenerator.kt:231 */
        5725  +
    #[allow(missing_docs)] // documentation missing in model
        5726  +
    pub stream: crate::sigv4_event_stream::SigV4Receiver<
        5727  +
        crate::model::EventStream,
        5728  +
        crate::error::EventStreamError,
        5729  +
    >,
        5730  +
    /* StructureGenerator.kt:201 */
        5731  +
}
        5732  +
/* StructureGenerator.kt:135 */
        5733  +
impl DuplexStreamInput {
        5734  +
    /* StructureGenerator.kt:231 */
        5735  +
    #[allow(missing_docs)] // documentation missing in model
        5736  +
                           /* StructureGenerator.kt:166 */
        5737  +
    pub fn stream(
        5738  +
        &self,
        5739  +
    ) -> &crate::sigv4_event_stream::SigV4Receiver<
        5740  +
        crate::model::EventStream,
        5741  +
        crate::error::EventStreamError,
        5742  +
    > {
        5743  +
        /* StructureGenerator.kt:172 */
        5744  +
        &self.stream
        5745  +
        /* StructureGenerator.kt:166 */
        5746  +
    }
        5747  +
    /* StructureGenerator.kt:135 */
        5748  +
}
        5749  +
/* ServerCodegenVisitor.kt:356 */
        5750  +
impl DuplexStreamInput {
        5751  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DuplexStreamInput`](crate::input::DuplexStreamInput).
        5752  +
    /* ServerBuilderGenerator.kt:295 */
        5753  +
    pub fn builder() -> crate::input::duplex_stream_input::Builder {
        5754  +
        /* ServerBuilderGenerator.kt:296 */
        5755  +
        crate::input::duplex_stream_input::Builder::default()
        5756  +
        /* ServerBuilderGenerator.kt:295 */
        5757  +
    }
        5758  +
    /* ServerCodegenVisitor.kt:356 */
        5759  +
}
        5760  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5761  +
impl crate::constrained::Constrained for crate::input::DuplexStreamInput {
        5762  +
    type Unconstrained = crate::input::duplex_stream_input::Builder;
        5763  +
}
        5764  +
        5765  +
/* StructureGenerator.kt:197 */
        5766  +
#[allow(missing_docs)] // documentation missing in model
        5767  +
/* RustType.kt:534 */
        5768  +
#[derive(::std::fmt::Debug)]
        5769  +
pub /* StructureGenerator.kt:201 */ struct InputStreamWithInitialRequestInput {
        5770  +
    /* StructureGenerator.kt:231 */
        5771  +
    #[allow(missing_docs)] // documentation missing in model
        5772  +
    pub initial_request_member: ::std::string::String,
        5773  +
    /* StructureGenerator.kt:231 */
        5774  +
    #[allow(missing_docs)] // documentation missing in model
        5775  +
    pub stream: crate::sigv4_event_stream::SigV4Receiver<
        5776  +
        crate::model::EventStream,
        5777  +
        crate::error::EventStreamError,
        5778  +
    >,
        5779  +
    /* StructureGenerator.kt:201 */
        5780  +
}
        5781  +
/* StructureGenerator.kt:135 */
        5782  +
impl InputStreamWithInitialRequestInput {
        5783  +
    /* StructureGenerator.kt:231 */
        5784  +
    #[allow(missing_docs)] // documentation missing in model
        5785  +
                           /* StructureGenerator.kt:166 */
        5786  +
    pub fn initial_request_member(&self) -> &str {
        5787  +
        /* StructureGenerator.kt:171 */
        5788  +
        use std::ops::Deref;
        5789  +
        self.initial_request_member.deref()
        5790  +
        /* StructureGenerator.kt:166 */
        5791  +
    }
        5792  +
    /* StructureGenerator.kt:231 */
        5793  +
    #[allow(missing_docs)] // documentation missing in model
        5794  +
                           /* StructureGenerator.kt:166 */
        5795  +
    pub fn stream(
        5796  +
        &self,
        5797  +
    ) -> &crate::sigv4_event_stream::SigV4Receiver<
        5798  +
        crate::model::EventStream,
        5799  +
        crate::error::EventStreamError,
        5800  +
    > {
        5801  +
        /* StructureGenerator.kt:172 */
        5802  +
        &self.stream
        5803  +
        /* StructureGenerator.kt:166 */
        5804  +
    }
        5805  +
    /* StructureGenerator.kt:135 */
        5806  +
}
        5807  +
/* ServerCodegenVisitor.kt:356 */
        5808  +
impl InputStreamWithInitialRequestInput {
        5809  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
        5810  +
    /* ServerBuilderGenerator.kt:295 */
        5811  +
    pub fn builder() -> crate::input::input_stream_with_initial_request_input::Builder {
        5812  +
        /* ServerBuilderGenerator.kt:296 */
        5813  +
        crate::input::input_stream_with_initial_request_input::Builder::default()
        5814  +
        /* ServerBuilderGenerator.kt:295 */
        5815  +
    }
        5816  +
    /* ServerCodegenVisitor.kt:356 */
        5817  +
}
        5818  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5819  +
impl crate::constrained::Constrained for crate::input::InputStreamWithInitialRequestInput {
        5820  +
    type Unconstrained = crate::input::input_stream_with_initial_request_input::Builder;
        5821  +
}
        5822  +
        5823  +
/* StructureGenerator.kt:197 */
        5824  +
#[allow(missing_docs)] // documentation missing in model
        5825  +
/* RustType.kt:534 */
        5826  +
#[derive(
        5827  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5828  +
)]
        5829  +
pub /* StructureGenerator.kt:201 */ struct OutputStreamWithInitialResponseInput {/* StructureGenerator.kt:201 */}
        5830  +
/* ServerCodegenVisitor.kt:356 */
        5831  +
impl OutputStreamWithInitialResponseInput {
        5832  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
        5833  +
    /* ServerBuilderGenerator.kt:295 */
        5834  +
    pub fn builder() -> crate::input::output_stream_with_initial_response_input::Builder {
        5835  +
        /* ServerBuilderGenerator.kt:296 */
        5836  +
        crate::input::output_stream_with_initial_response_input::Builder::default()
        5837  +
        /* ServerBuilderGenerator.kt:295 */
        5838  +
    }
        5839  +
    /* ServerCodegenVisitor.kt:356 */
        5840  +
}
        5841  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5842  +
impl crate::constrained::Constrained for crate::input::OutputStreamWithInitialResponseInput {
        5843  +
    type Unconstrained = crate::input::output_stream_with_initial_response_input::Builder;
        5844  +
}
        5845  +
        5846  +
/* StructureGenerator.kt:197 */
        5847  +
#[allow(missing_docs)] // documentation missing in model
        5848  +
/* RustType.kt:534 */
        5849  +
#[derive(::std::fmt::Debug)]
        5850  +
pub /* StructureGenerator.kt:201 */ struct DuplexStreamWithInitialMessagesInput {
        5851  +
    /* StructureGenerator.kt:231 */
        5852  +
    #[allow(missing_docs)] // documentation missing in model
        5853  +
    pub initial_request_member: ::std::string::String,
        5854  +
    /* StructureGenerator.kt:231 */
        5855  +
    #[allow(missing_docs)] // documentation missing in model
        5856  +
    pub stream: crate::sigv4_event_stream::SigV4Receiver<
        5857  +
        crate::model::EventStream,
        5858  +
        crate::error::EventStreamError,
        5859  +
    >,
        5860  +
    /* StructureGenerator.kt:201 */
        5861  +
}
        5862  +
/* StructureGenerator.kt:135 */
        5863  +
impl DuplexStreamWithInitialMessagesInput {
        5864  +
    /* StructureGenerator.kt:231 */
        5865  +
    #[allow(missing_docs)] // documentation missing in model
        5866  +
                           /* StructureGenerator.kt:166 */
        5867  +
    pub fn initial_request_member(&self) -> &str {
        5868  +
        /* StructureGenerator.kt:171 */
        5869  +
        use std::ops::Deref;
        5870  +
        self.initial_request_member.deref()
        5871  +
        /* StructureGenerator.kt:166 */
        5872  +
    }
        5873  +
    /* StructureGenerator.kt:231 */
        5874  +
    #[allow(missing_docs)] // documentation missing in model
        5875  +
                           /* StructureGenerator.kt:166 */
        5876  +
    pub fn stream(
        5877  +
        &self,
        5878  +
    ) -> &crate::sigv4_event_stream::SigV4Receiver<
        5879  +
        crate::model::EventStream,
        5880  +
        crate::error::EventStreamError,
        5881  +
    > {
        5882  +
        /* StructureGenerator.kt:172 */
        5883  +
        &self.stream
        5884  +
        /* StructureGenerator.kt:166 */
        5885  +
    }
        5886  +
    /* StructureGenerator.kt:135 */
        5887  +
}
        5888  +
/* ServerCodegenVisitor.kt:356 */
        5889  +
impl DuplexStreamWithInitialMessagesInput {
        5890  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
        5891  +
    /* ServerBuilderGenerator.kt:295 */
        5892  +
    pub fn builder() -> crate::input::duplex_stream_with_initial_messages_input::Builder {
        5893  +
        /* ServerBuilderGenerator.kt:296 */
        5894  +
        crate::input::duplex_stream_with_initial_messages_input::Builder::default()
        5895  +
        /* ServerBuilderGenerator.kt:295 */
        5896  +
    }
        5897  +
    /* ServerCodegenVisitor.kt:356 */
        5898  +
}
        5899  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5900  +
impl crate::constrained::Constrained for crate::input::DuplexStreamWithInitialMessagesInput {
        5901  +
    type Unconstrained = crate::input::duplex_stream_with_initial_messages_input::Builder;
        5902  +
}
        5903  +
        5904  +
/* StructureGenerator.kt:197 */
        5905  +
#[allow(missing_docs)] // documentation missing in model
        5906  +
/* RustType.kt:534 */
        5907  +
#[derive(::std::fmt::Debug)]
        5908  +
pub /* StructureGenerator.kt:201 */ struct DuplexStreamWithDistinctStreamsInput {
        5909  +
    /* StructureGenerator.kt:231 */
        5910  +
    #[allow(missing_docs)] // documentation missing in model
        5911  +
    pub stream: crate::sigv4_event_stream::SigV4Receiver<
        5912  +
        crate::model::EventStream,
        5913  +
        crate::error::EventStreamError,
        5914  +
    >,
        5915  +
    /* StructureGenerator.kt:201 */
        5916  +
}
        5917  +
/* StructureGenerator.kt:135 */
        5918  +
impl DuplexStreamWithDistinctStreamsInput {
        5919  +
    /* StructureGenerator.kt:231 */
        5920  +
    #[allow(missing_docs)] // documentation missing in model
        5921  +
                           /* StructureGenerator.kt:166 */
        5922  +
    pub fn stream(
        5923  +
        &self,
        5924  +
    ) -> &crate::sigv4_event_stream::SigV4Receiver<
        5925  +
        crate::model::EventStream,
        5926  +
        crate::error::EventStreamError,
        5927  +
    > {
        5928  +
        /* StructureGenerator.kt:172 */
        5929  +
        &self.stream
        5930  +
        /* StructureGenerator.kt:166 */
        5931  +
    }
        5932  +
    /* StructureGenerator.kt:135 */
        5933  +
}
        5934  +
/* ServerCodegenVisitor.kt:356 */
        5935  +
impl DuplexStreamWithDistinctStreamsInput {
        5936  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
        5937  +
    /* ServerBuilderGenerator.kt:295 */
        5938  +
    pub fn builder() -> crate::input::duplex_stream_with_distinct_streams_input::Builder {
        5939  +
        /* ServerBuilderGenerator.kt:296 */
        5940  +
        crate::input::duplex_stream_with_distinct_streams_input::Builder::default()
        5941  +
        /* ServerBuilderGenerator.kt:295 */
        5942  +
    }
        5943  +
    /* ServerCodegenVisitor.kt:356 */
        5944  +
}
        5945  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5946  +
impl crate::constrained::Constrained for crate::input::DuplexStreamWithDistinctStreamsInput {
        5947  +
    type Unconstrained = crate::input::duplex_stream_with_distinct_streams_input::Builder;
        5948  +
}
        5949  +
/// /* ServerBuilderGenerator.kt:171 */See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        5950  +
pub mod no_input_and_no_output_input {
        5951  +
        5952  +
    /* ServerBuilderGenerator.kt:461 */
        5953  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
        5954  +
        fn from(builder: Builder) -> Self {
        5955  +
            builder.build()
        5956  +
        }
        5957  +
    }
        5958  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        5959  +
    /* RustType.kt:534 */
        5960  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5961  +
    /* ServerBuilderGenerator.kt:211 */
        5962  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        5963  +
    /* ServerBuilderGenerator.kt:215 */
        5964  +
    impl Builder {
        5965  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        5966  +
        /* ServerBuilderGenerator.kt:271 */
        5967  +
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
        5968  +
            self.build_enforcing_all_constraints()
        5969  +
        }
        5970  +
        /* ServerBuilderGenerator.kt:283 */
        5971  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndNoOutputInput {
        5972  +
            /* ServerBuilderGenerator.kt:542 */
        5973  +
            crate::input::NoInputAndNoOutputInput {
        5974  +
            /* ServerBuilderGenerator.kt:542 */}
        5975  +
            /* ServerBuilderGenerator.kt:283 */
        5976  +
        }
        5977  +
        /* ServerBuilderGenerator.kt:215 */
        5978  +
    }
        5979  +
        5980  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        5981  +
}
        5982  +
/// /* ServerBuilderGenerator.kt:171 */See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        5983  +
pub mod no_input_and_output_input {
        5984  +
        5985  +
    /* ServerBuilderGenerator.kt:461 */
        5986  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
        5987  +
        fn from(builder: Builder) -> Self {
        5988  +
            builder.build()
        5989  +
        }
        5990  +
    }
        5991  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        5992  +
    /* RustType.kt:534 */
        5993  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5994  +
    /* ServerBuilderGenerator.kt:211 */
        5995  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        5996  +
    /* ServerBuilderGenerator.kt:215 */
        5997  +
    impl Builder {
        5998  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        5999  +
        /* ServerBuilderGenerator.kt:271 */
        6000  +
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
        6001  +
            self.build_enforcing_all_constraints()
        6002  +
        }
        6003  +
        /* ServerBuilderGenerator.kt:283 */
        6004  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndOutputInput {
        6005  +
            /* ServerBuilderGenerator.kt:542 */
        6006  +
            crate::input::NoInputAndOutputInput {
        6007  +
            /* ServerBuilderGenerator.kt:542 */}
        6008  +
            /* ServerBuilderGenerator.kt:283 */
        6009  +
        }
        6010  +
        /* ServerBuilderGenerator.kt:215 */
        6011  +
    }
        6012  +
        6013  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6014  +
}
        6015  +
/// /* ServerBuilderGenerator.kt:171 */See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        6016  +
pub mod empty_input_and_empty_output_input {
        6017  +
        6018  +
    /* ServerBuilderGenerator.kt:461 */
        6019  +
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
        6020  +
        fn from(builder: Builder) -> Self {
        6021  +
            builder.build()
        6022  +
        }
        6023  +
    }
        6024  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        6025  +
    /* RustType.kt:534 */
        6026  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6027  +
    /* ServerBuilderGenerator.kt:211 */
        6028  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6029  +
    /* ServerBuilderGenerator.kt:215 */
        6030  +
    impl Builder {
        6031  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        6032  +
        /* ServerBuilderGenerator.kt:271 */
        6033  +
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
        6034  +
            self.build_enforcing_all_constraints()
        6035  +
        }
        6036  +
        /* ServerBuilderGenerator.kt:283 */
        6037  +
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyInputAndEmptyOutputInput {
        6038  +
            /* ServerBuilderGenerator.kt:542 */
        6039  +
            crate::input::EmptyInputAndEmptyOutputInput {
        6040  +
            /* ServerBuilderGenerator.kt:542 */}
        6041  +
            /* ServerBuilderGenerator.kt:283 */
        6042  +
        }
        6043  +
        /* ServerBuilderGenerator.kt:215 */
        6044  +
    }
        6045  +
        6046  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6047  +
}
        6048  +
/// /* ServerBuilderGenerator.kt:171 */See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        6049  +
pub mod unit_input_and_output_input {
        6050  +
        6051  +
    /* ServerBuilderGenerator.kt:461 */
        6052  +
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
        6053  +
        fn from(builder: Builder) -> Self {
        6054  +
            builder.build()
        6055  +
        }
        6056  +
    }
        6057  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        6058  +
    /* RustType.kt:534 */
        6059  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6060  +
    /* ServerBuilderGenerator.kt:211 */
        6061  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6062  +
    /* ServerBuilderGenerator.kt:215 */
        6063  +
    impl Builder {
        6064  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        6065  +
        /* ServerBuilderGenerator.kt:271 */
        6066  +
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
        6067  +
            self.build_enforcing_all_constraints()
        6068  +
        }
        6069  +
        /* ServerBuilderGenerator.kt:283 */
        6070  +
        fn build_enforcing_all_constraints(self) -> crate::input::UnitInputAndOutputInput {
        6071  +
            /* ServerBuilderGenerator.kt:542 */
        6072  +
            crate::input::UnitInputAndOutputInput {
        6073  +
            /* ServerBuilderGenerator.kt:542 */}
        6074  +
            /* ServerBuilderGenerator.kt:283 */
        6075  +
        }
        6076  +
        /* ServerBuilderGenerator.kt:215 */
        6077  +
    }
        6078  +
        6079  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6080  +
}
        6081  +
/// /* ServerBuilderGenerator.kt:171 */See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        6082  +
pub mod input_and_output_with_headers_input {
        6083  +
        6084  +
    /* RustType.kt:534 */
        6085  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        6086  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        6087  +
    /* RustType.kt:534 */
        6088  +
    #[non_exhaustive]
        6089  +
    /* ServerBuilderConstraintViolations.kt:75 */
        6090  +
    #[allow(clippy::enum_variant_names)]
        6091  +
    pub enum ConstraintViolation {
        6092  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`.
        6093  +
        /* RustType.kt:534 */
        6094  +
        #[doc(hidden)]
        6095  +
        /* ServerBuilderConstraintViolations.kt:165 */
        6096  +
        HeaderStringSet(crate::model::string_set::ConstraintViolation),
        6097  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`.
        6098  +
        /* RustType.kt:534 */
        6099  +
        #[doc(hidden)]
        6100  +
        /* ServerBuilderConstraintViolations.kt:165 */
        6101  +
        HeaderEnum(crate::model::foo_enum::ConstraintViolation),
        6102  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`.
        6103  +
        /* RustType.kt:534 */
        6104  +
        #[doc(hidden)]
        6105  +
        /* ServerBuilderConstraintViolations.kt:165 */
        6106  +
        HeaderEnumList(crate::model::foo_enum_list::ConstraintViolation),
        6107  +
        /* ServerBuilderConstraintViolations.kt:75 */
        6108  +
    }
        6109  +
    /* ServerBuilderConstraintViolations.kt:116 */
        6110  +
    impl ::std::fmt::Display for ConstraintViolation {
        6111  +
        /* ServerBuilderConstraintViolations.kt:117 */
        6112  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        6113  +
            /* ServerBuilderConstraintViolations.kt:118 */
        6114  +
            match self {
        6115  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderStringSet(_) => write!(f, "constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`"),
        6116  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderEnum(_) => write!(f, "constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`"),
        6117  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderEnumList(_) => write!(f, "constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`"),
        6118  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        6119  +
            /* ServerBuilderConstraintViolations.kt:117 */
        6120  +
        }
        6121  +
        /* ServerBuilderConstraintViolations.kt:116 */
        6122  +
    }
        6123  +
    /* ServerBuilderConstraintViolations.kt:83 */
        6124  +
    impl ::std::error::Error for ConstraintViolation {}
        6125  +
    /* ServerBuilderConstraintViolations.kt:172 */
        6126  +
    impl ConstraintViolation {
        6127  +
        pub(crate) fn as_validation_exception_field(
        6128  +
            self,
        6129  +
            path: ::std::string::String,
        6130  +
        ) -> crate::model::ValidationExceptionField {
        6131  +
            match self {
        6132  +
                ConstraintViolation::HeaderStringSet(inner) => {
        6133  +
                    inner.as_validation_exception_field(path + "/headerStringSet")
        6134  +
                }
        6135  +
                ConstraintViolation::HeaderEnum(inner) => {
        6136  +
                    inner.as_validation_exception_field(path + "/headerEnum")
        6137  +
                }
        6138  +
                ConstraintViolation::HeaderEnumList(inner) => {
        6139  +
                    inner.as_validation_exception_field(path + "/headerEnumList")
        6140  +
                }
        6141  +
            }
        6142  +
        }
        6143  +
    }
        6144  +
    /* ServerBuilderGenerator.kt:234 */
        6145  +
    impl ::std::convert::From<ConstraintViolation>
        6146  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        6147  +
    {
        6148  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        6149  +
            let first_validation_exception_field =
        6150  +
                constraint_violation.as_validation_exception_field("".to_owned());
        6151  +
            let validation_exception = crate::error::ValidationException {
 5664   6152   
                message: format!(
 5665   6153   
                    "1 validation error detected. {}",
 5666   6154   
                    &first_validation_exception_field.message
 5667   6155   
                ),
 5668   6156   
                field_list: Some(vec![first_validation_exception_field]),
 5669   6157   
            };
 5670   6158   
            Self::ConstraintViolation(
 5671   6159   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 5672   6160   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 5673   6161   
                            )
 5674   6162   
        }
 5675         -
    }
 5676         -
    /* ServerBuilderGenerator.kt:244 */
 5677         -
    impl ::std::convert::From<Builder>
 5678         -
        for crate::constrained::MaybeConstrained<crate::input::OperationWithNestedStructureInput>
 5679         -
    {
 5680         -
        fn from(builder: Builder) -> Self {
 5681         -
            Self::Unconstrained(builder)
        6163  +
    }
        6164  +
    /* ServerBuilderGenerator.kt:244 */
        6165  +
    impl ::std::convert::From<Builder>
        6166  +
        for crate::constrained::MaybeConstrained<crate::input::InputAndOutputWithHeadersInput>
        6167  +
    {
        6168  +
        fn from(builder: Builder) -> Self {
        6169  +
            Self::Unconstrained(builder)
        6170  +
        }
        6171  +
    }
        6172  +
    /* ServerBuilderGenerator.kt:446 */
        6173  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputAndOutputWithHeadersInput {
        6174  +
        type Error = ConstraintViolation;
        6175  +
        6176  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        6177  +
            builder.build()
        6178  +
        }
        6179  +
    }
        6180  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        6181  +
    /* RustType.kt:534 */
        6182  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6183  +
    /* ServerBuilderGenerator.kt:211 */
        6184  +
    pub struct Builder {
        6185  +
        /* ServerBuilderGenerator.kt:308 */
        6186  +
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
        6187  +
        /* ServerBuilderGenerator.kt:308 */
        6188  +
        pub(crate) header_byte: ::std::option::Option<i8>,
        6189  +
        /* ServerBuilderGenerator.kt:308 */
        6190  +
        pub(crate) header_short: ::std::option::Option<i16>,
        6191  +
        /* ServerBuilderGenerator.kt:308 */
        6192  +
        pub(crate) header_integer: ::std::option::Option<i32>,
        6193  +
        /* ServerBuilderGenerator.kt:308 */
        6194  +
        pub(crate) header_long: ::std::option::Option<i64>,
        6195  +
        /* ServerBuilderGenerator.kt:308 */
        6196  +
        pub(crate) header_float: ::std::option::Option<f32>,
        6197  +
        /* ServerBuilderGenerator.kt:308 */
        6198  +
        pub(crate) header_double: ::std::option::Option<f64>,
        6199  +
        /* ServerBuilderGenerator.kt:308 */
        6200  +
        pub(crate) header_true_bool: ::std::option::Option<bool>,
        6201  +
        /* ServerBuilderGenerator.kt:308 */
        6202  +
        pub(crate) header_false_bool: ::std::option::Option<bool>,
        6203  +
        /* ServerBuilderGenerator.kt:308 */
        6204  +
        pub(crate) header_string_list:
        6205  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        6206  +
        /* ServerBuilderGenerator.kt:308 */
        6207  +
        pub(crate) header_string_set:
        6208  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        6209  +
        /* ServerBuilderGenerator.kt:308 */
        6210  +
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        6211  +
        /* ServerBuilderGenerator.kt:308 */
        6212  +
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        6213  +
        /* ServerBuilderGenerator.kt:308 */
        6214  +
        pub(crate) header_timestamp_list:
        6215  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        6216  +
        /* ServerBuilderGenerator.kt:308 */
        6217  +
        pub(crate) header_enum:
        6218  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        6219  +
        /* ServerBuilderGenerator.kt:308 */
        6220  +
        pub(crate) header_enum_list: ::std::option::Option<
        6221  +
            crate::constrained::MaybeConstrained<
        6222  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        6223  +
            >,
        6224  +
        >,
        6225  +
        /* ServerBuilderGenerator.kt:308 */
        6226  +
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
        6227  +
        /* ServerBuilderGenerator.kt:308 */
        6228  +
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        6229  +
        /* ServerBuilderGenerator.kt:211 */
        6230  +
    }
        6231  +
    /* ServerBuilderGenerator.kt:215 */
        6232  +
    impl Builder {
        6233  +
        /* ServerBuilderGenerator.kt:331 */
        6234  +
        #[allow(missing_docs)] // documentation missing in model
        6235  +
                               /* ServerBuilderGenerator.kt:343 */
        6236  +
        pub fn header_string(
        6237  +
            mut self,
        6238  +
            input: ::std::option::Option<::std::string::String>,
        6239  +
        ) -> Self {
        6240  +
            /* ServerBuilderGenerator.kt:344 */
        6241  +
            self.header_string =
        6242  +
                /* ServerBuilderGenerator.kt:376 */input
        6243  +
            /* ServerBuilderGenerator.kt:344 */;
        6244  +
            self
        6245  +
            /* ServerBuilderGenerator.kt:343 */
        6246  +
        }
        6247  +
        /* ServerBuilderGenerator.kt:426 */
        6248  +
        #[allow(missing_docs)] // documentation missing in model
        6249  +
                               /* ServerBuilderGenerator.kt:428 */
        6250  +
        pub(crate) fn set_header_string(
        6251  +
            mut self,
        6252  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6253  +
        ) -> Self {
        6254  +
            /* ServerBuilderGenerator.kt:429 */
        6255  +
            self.header_string = input.map(|v| v.into());
        6256  +
            self
        6257  +
            /* ServerBuilderGenerator.kt:428 */
        6258  +
        }
        6259  +
        /* ServerBuilderGenerator.kt:331 */
        6260  +
        #[allow(missing_docs)] // documentation missing in model
        6261  +
                               /* ServerBuilderGenerator.kt:343 */
        6262  +
        pub fn header_byte(mut self, input: ::std::option::Option<i8>) -> Self {
        6263  +
            /* ServerBuilderGenerator.kt:344 */
        6264  +
            self.header_byte =
        6265  +
                /* ServerBuilderGenerator.kt:376 */input
        6266  +
            /* ServerBuilderGenerator.kt:344 */;
        6267  +
            self
        6268  +
            /* ServerBuilderGenerator.kt:343 */
        6269  +
        }
        6270  +
        /* ServerBuilderGenerator.kt:426 */
        6271  +
        #[allow(missing_docs)] // documentation missing in model
        6272  +
                               /* ServerBuilderGenerator.kt:428 */
        6273  +
        pub(crate) fn set_header_byte(
        6274  +
            mut self,
        6275  +
            input: Option<impl ::std::convert::Into<i8>>,
        6276  +
        ) -> Self {
        6277  +
            /* ServerBuilderGenerator.kt:429 */
        6278  +
            self.header_byte = input.map(|v| v.into());
        6279  +
            self
        6280  +
            /* ServerBuilderGenerator.kt:428 */
        6281  +
        }
        6282  +
        /* ServerBuilderGenerator.kt:331 */
        6283  +
        #[allow(missing_docs)] // documentation missing in model
        6284  +
                               /* ServerBuilderGenerator.kt:343 */
        6285  +
        pub fn header_short(mut self, input: ::std::option::Option<i16>) -> Self {
        6286  +
            /* ServerBuilderGenerator.kt:344 */
        6287  +
            self.header_short =
        6288  +
                /* ServerBuilderGenerator.kt:376 */input
        6289  +
            /* ServerBuilderGenerator.kt:344 */;
        6290  +
            self
        6291  +
            /* ServerBuilderGenerator.kt:343 */
        6292  +
        }
        6293  +
        /* ServerBuilderGenerator.kt:426 */
        6294  +
        #[allow(missing_docs)] // documentation missing in model
        6295  +
                               /* ServerBuilderGenerator.kt:428 */
        6296  +
        pub(crate) fn set_header_short(
        6297  +
            mut self,
        6298  +
            input: Option<impl ::std::convert::Into<i16>>,
        6299  +
        ) -> Self {
        6300  +
            /* ServerBuilderGenerator.kt:429 */
        6301  +
            self.header_short = input.map(|v| v.into());
        6302  +
            self
        6303  +
            /* ServerBuilderGenerator.kt:428 */
        6304  +
        }
        6305  +
        /* ServerBuilderGenerator.kt:331 */
        6306  +
        #[allow(missing_docs)] // documentation missing in model
        6307  +
                               /* ServerBuilderGenerator.kt:343 */
        6308  +
        pub fn header_integer(mut self, input: ::std::option::Option<i32>) -> Self {
        6309  +
            /* ServerBuilderGenerator.kt:344 */
        6310  +
            self.header_integer =
        6311  +
                /* ServerBuilderGenerator.kt:376 */input
        6312  +
            /* ServerBuilderGenerator.kt:344 */;
        6313  +
            self
        6314  +
            /* ServerBuilderGenerator.kt:343 */
        6315  +
        }
        6316  +
        /* ServerBuilderGenerator.kt:426 */
        6317  +
        #[allow(missing_docs)] // documentation missing in model
        6318  +
                               /* ServerBuilderGenerator.kt:428 */
        6319  +
        pub(crate) fn set_header_integer(
        6320  +
            mut self,
        6321  +
            input: Option<impl ::std::convert::Into<i32>>,
        6322  +
        ) -> Self {
        6323  +
            /* ServerBuilderGenerator.kt:429 */
        6324  +
            self.header_integer = input.map(|v| v.into());
        6325  +
            self
        6326  +
            /* ServerBuilderGenerator.kt:428 */
        6327  +
        }
        6328  +
        /* ServerBuilderGenerator.kt:331 */
        6329  +
        #[allow(missing_docs)] // documentation missing in model
        6330  +
                               /* ServerBuilderGenerator.kt:343 */
        6331  +
        pub fn header_long(mut self, input: ::std::option::Option<i64>) -> Self {
        6332  +
            /* ServerBuilderGenerator.kt:344 */
        6333  +
            self.header_long =
        6334  +
                /* ServerBuilderGenerator.kt:376 */input
        6335  +
            /* ServerBuilderGenerator.kt:344 */;
        6336  +
            self
        6337  +
            /* ServerBuilderGenerator.kt:343 */
        6338  +
        }
        6339  +
        /* ServerBuilderGenerator.kt:426 */
        6340  +
        #[allow(missing_docs)] // documentation missing in model
        6341  +
                               /* ServerBuilderGenerator.kt:428 */
        6342  +
        pub(crate) fn set_header_long(
        6343  +
            mut self,
        6344  +
            input: Option<impl ::std::convert::Into<i64>>,
        6345  +
        ) -> Self {
        6346  +
            /* ServerBuilderGenerator.kt:429 */
        6347  +
            self.header_long = input.map(|v| v.into());
        6348  +
            self
        6349  +
            /* ServerBuilderGenerator.kt:428 */
        6350  +
        }
        6351  +
        /* ServerBuilderGenerator.kt:331 */
        6352  +
        #[allow(missing_docs)] // documentation missing in model
        6353  +
                               /* ServerBuilderGenerator.kt:343 */
        6354  +
        pub fn header_float(mut self, input: ::std::option::Option<f32>) -> Self {
        6355  +
            /* ServerBuilderGenerator.kt:344 */
        6356  +
            self.header_float =
        6357  +
                /* ServerBuilderGenerator.kt:376 */input
        6358  +
            /* ServerBuilderGenerator.kt:344 */;
        6359  +
            self
        6360  +
            /* ServerBuilderGenerator.kt:343 */
        6361  +
        }
        6362  +
        /* ServerBuilderGenerator.kt:426 */
        6363  +
        #[allow(missing_docs)] // documentation missing in model
        6364  +
                               /* ServerBuilderGenerator.kt:428 */
        6365  +
        pub(crate) fn set_header_float(
        6366  +
            mut self,
        6367  +
            input: Option<impl ::std::convert::Into<f32>>,
        6368  +
        ) -> Self {
        6369  +
            /* ServerBuilderGenerator.kt:429 */
        6370  +
            self.header_float = input.map(|v| v.into());
        6371  +
            self
        6372  +
            /* ServerBuilderGenerator.kt:428 */
        6373  +
        }
        6374  +
        /* ServerBuilderGenerator.kt:331 */
        6375  +
        #[allow(missing_docs)] // documentation missing in model
        6376  +
                               /* ServerBuilderGenerator.kt:343 */
        6377  +
        pub fn header_double(mut self, input: ::std::option::Option<f64>) -> Self {
        6378  +
            /* ServerBuilderGenerator.kt:344 */
        6379  +
            self.header_double =
        6380  +
                /* ServerBuilderGenerator.kt:376 */input
        6381  +
            /* ServerBuilderGenerator.kt:344 */;
        6382  +
            self
        6383  +
            /* ServerBuilderGenerator.kt:343 */
        6384  +
        }
        6385  +
        /* ServerBuilderGenerator.kt:426 */
        6386  +
        #[allow(missing_docs)] // documentation missing in model
        6387  +
                               /* ServerBuilderGenerator.kt:428 */
        6388  +
        pub(crate) fn set_header_double(
        6389  +
            mut self,
        6390  +
            input: Option<impl ::std::convert::Into<f64>>,
        6391  +
        ) -> Self {
        6392  +
            /* ServerBuilderGenerator.kt:429 */
        6393  +
            self.header_double = input.map(|v| v.into());
        6394  +
            self
        6395  +
            /* ServerBuilderGenerator.kt:428 */
        6396  +
        }
        6397  +
        /* ServerBuilderGenerator.kt:331 */
        6398  +
        #[allow(missing_docs)] // documentation missing in model
        6399  +
                               /* ServerBuilderGenerator.kt:343 */
        6400  +
        pub fn header_true_bool(mut self, input: ::std::option::Option<bool>) -> Self {
        6401  +
            /* ServerBuilderGenerator.kt:344 */
        6402  +
            self.header_true_bool =
        6403  +
                /* ServerBuilderGenerator.kt:376 */input
        6404  +
            /* ServerBuilderGenerator.kt:344 */;
        6405  +
            self
        6406  +
            /* ServerBuilderGenerator.kt:343 */
        6407  +
        }
        6408  +
        /* ServerBuilderGenerator.kt:426 */
        6409  +
        #[allow(missing_docs)] // documentation missing in model
        6410  +
                               /* ServerBuilderGenerator.kt:428 */
        6411  +
        pub(crate) fn set_header_true_bool(
        6412  +
            mut self,
        6413  +
            input: Option<impl ::std::convert::Into<bool>>,
        6414  +
        ) -> Self {
        6415  +
            /* ServerBuilderGenerator.kt:429 */
        6416  +
            self.header_true_bool = input.map(|v| v.into());
        6417  +
            self
        6418  +
            /* ServerBuilderGenerator.kt:428 */
        6419  +
        }
        6420  +
        /* ServerBuilderGenerator.kt:331 */
        6421  +
        #[allow(missing_docs)] // documentation missing in model
        6422  +
                               /* ServerBuilderGenerator.kt:343 */
        6423  +
        pub fn header_false_bool(mut self, input: ::std::option::Option<bool>) -> Self {
        6424  +
            /* ServerBuilderGenerator.kt:344 */
        6425  +
            self.header_false_bool =
        6426  +
                /* ServerBuilderGenerator.kt:376 */input
        6427  +
            /* ServerBuilderGenerator.kt:344 */;
        6428  +
            self
        6429  +
            /* ServerBuilderGenerator.kt:343 */
        6430  +
        }
        6431  +
        /* ServerBuilderGenerator.kt:426 */
        6432  +
        #[allow(missing_docs)] // documentation missing in model
        6433  +
                               /* ServerBuilderGenerator.kt:428 */
        6434  +
        pub(crate) fn set_header_false_bool(
        6435  +
            mut self,
        6436  +
            input: Option<impl ::std::convert::Into<bool>>,
        6437  +
        ) -> Self {
        6438  +
            /* ServerBuilderGenerator.kt:429 */
        6439  +
            self.header_false_bool = input.map(|v| v.into());
        6440  +
            self
        6441  +
            /* ServerBuilderGenerator.kt:428 */
        6442  +
        }
        6443  +
        /* ServerBuilderGenerator.kt:331 */
        6444  +
        #[allow(missing_docs)] // documentation missing in model
        6445  +
                               /* ServerBuilderGenerator.kt:343 */
        6446  +
        pub fn header_string_list(
        6447  +
            mut self,
        6448  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        6449  +
        ) -> Self {
        6450  +
            /* ServerBuilderGenerator.kt:344 */
        6451  +
            self.header_string_list =
        6452  +
                /* ServerBuilderGenerator.kt:376 */input
        6453  +
            /* ServerBuilderGenerator.kt:344 */;
        6454  +
            self
        6455  +
            /* ServerBuilderGenerator.kt:343 */
        6456  +
        }
        6457  +
        /* ServerBuilderGenerator.kt:426 */
        6458  +
        #[allow(missing_docs)] // documentation missing in model
        6459  +
                               /* ServerBuilderGenerator.kt:428 */
        6460  +
        pub(crate) fn set_header_string_list(
        6461  +
            mut self,
        6462  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        6463  +
        ) -> Self {
        6464  +
            /* ServerBuilderGenerator.kt:429 */
        6465  +
            self.header_string_list = input.map(|v| v.into());
        6466  +
            self
        6467  +
            /* ServerBuilderGenerator.kt:428 */
        6468  +
        }
        6469  +
        /* ServerBuilderGenerator.kt:331 */
        6470  +
        #[allow(missing_docs)] // documentation missing in model
        6471  +
                               /* ServerBuilderGenerator.kt:343 */
        6472  +
        pub fn header_string_set(
        6473  +
            mut self,
        6474  +
            input: ::std::option::Option<crate::model::StringSet>,
        6475  +
        ) -> Self {
        6476  +
            /* ServerBuilderGenerator.kt:344 */
        6477  +
            self.header_string_set =
        6478  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        6479  +
            /* ServerBuilderGenerator.kt:344 */;
        6480  +
            self
        6481  +
            /* ServerBuilderGenerator.kt:343 */
        6482  +
        }
        6483  +
        /* ServerBuilderGenerator.kt:426 */
        6484  +
        #[allow(missing_docs)] // documentation missing in model
        6485  +
                               /* ServerBuilderGenerator.kt:428 */
        6486  +
        pub(crate) fn set_header_string_set(
        6487  +
            mut self,
        6488  +
            input: Option<
        6489  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        6490  +
            >,
        6491  +
        ) -> Self {
        6492  +
            /* ServerBuilderGenerator.kt:429 */
        6493  +
            self.header_string_set = input.map(|v| v.into());
        6494  +
            self
        6495  +
            /* ServerBuilderGenerator.kt:428 */
        6496  +
        }
        6497  +
        /* ServerBuilderGenerator.kt:331 */
        6498  +
        #[allow(missing_docs)] // documentation missing in model
        6499  +
                               /* ServerBuilderGenerator.kt:343 */
        6500  +
        pub fn header_integer_list(
        6501  +
            mut self,
        6502  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        6503  +
        ) -> Self {
        6504  +
            /* ServerBuilderGenerator.kt:344 */
        6505  +
            self.header_integer_list =
        6506  +
                /* ServerBuilderGenerator.kt:376 */input
        6507  +
            /* ServerBuilderGenerator.kt:344 */;
        6508  +
            self
        6509  +
            /* ServerBuilderGenerator.kt:343 */
        6510  +
        }
        6511  +
        /* ServerBuilderGenerator.kt:426 */
        6512  +
        #[allow(missing_docs)] // documentation missing in model
        6513  +
                               /* ServerBuilderGenerator.kt:428 */
        6514  +
        pub(crate) fn set_header_integer_list(
        6515  +
            mut self,
        6516  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        6517  +
        ) -> Self {
        6518  +
            /* ServerBuilderGenerator.kt:429 */
        6519  +
            self.header_integer_list = input.map(|v| v.into());
        6520  +
            self
        6521  +
            /* ServerBuilderGenerator.kt:428 */
        6522  +
        }
        6523  +
        /* ServerBuilderGenerator.kt:331 */
        6524  +
        #[allow(missing_docs)] // documentation missing in model
        6525  +
                               /* ServerBuilderGenerator.kt:343 */
        6526  +
        pub fn header_boolean_list(
        6527  +
            mut self,
        6528  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
        6529  +
        ) -> Self {
        6530  +
            /* ServerBuilderGenerator.kt:344 */
        6531  +
            self.header_boolean_list =
        6532  +
                /* ServerBuilderGenerator.kt:376 */input
        6533  +
            /* ServerBuilderGenerator.kt:344 */;
        6534  +
            self
        6535  +
            /* ServerBuilderGenerator.kt:343 */
        6536  +
        }
        6537  +
        /* ServerBuilderGenerator.kt:426 */
        6538  +
        #[allow(missing_docs)] // documentation missing in model
        6539  +
                               /* ServerBuilderGenerator.kt:428 */
        6540  +
        pub(crate) fn set_header_boolean_list(
        6541  +
            mut self,
        6542  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
        6543  +
        ) -> Self {
        6544  +
            /* ServerBuilderGenerator.kt:429 */
        6545  +
            self.header_boolean_list = input.map(|v| v.into());
        6546  +
            self
        6547  +
            /* ServerBuilderGenerator.kt:428 */
        6548  +
        }
        6549  +
        /* ServerBuilderGenerator.kt:331 */
        6550  +
        #[allow(missing_docs)] // documentation missing in model
        6551  +
                               /* ServerBuilderGenerator.kt:343 */
        6552  +
        pub fn header_timestamp_list(
        6553  +
            mut self,
        6554  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        6555  +
        ) -> Self {
        6556  +
            /* ServerBuilderGenerator.kt:344 */
        6557  +
            self.header_timestamp_list =
        6558  +
                /* ServerBuilderGenerator.kt:376 */input
        6559  +
            /* ServerBuilderGenerator.kt:344 */;
        6560  +
            self
        6561  +
            /* ServerBuilderGenerator.kt:343 */
        6562  +
        }
        6563  +
        /* ServerBuilderGenerator.kt:426 */
        6564  +
        #[allow(missing_docs)] // documentation missing in model
        6565  +
                               /* ServerBuilderGenerator.kt:428 */
        6566  +
        pub(crate) fn set_header_timestamp_list(
        6567  +
            mut self,
        6568  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
        6569  +
        ) -> Self {
        6570  +
            /* ServerBuilderGenerator.kt:429 */
        6571  +
            self.header_timestamp_list = input.map(|v| v.into());
        6572  +
            self
        6573  +
            /* ServerBuilderGenerator.kt:428 */
        6574  +
        }
        6575  +
        /* ServerBuilderGenerator.kt:331 */
        6576  +
        #[allow(missing_docs)] // documentation missing in model
        6577  +
                               /* ServerBuilderGenerator.kt:343 */
        6578  +
        pub fn header_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        6579  +
            /* ServerBuilderGenerator.kt:344 */
        6580  +
            self.header_enum =
        6581  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        6582  +
            /* ServerBuilderGenerator.kt:344 */;
        6583  +
            self
        6584  +
            /* ServerBuilderGenerator.kt:343 */
        6585  +
        }
        6586  +
        /* ServerBuilderGenerator.kt:426 */
        6587  +
        #[allow(missing_docs)] // documentation missing in model
        6588  +
                               /* ServerBuilderGenerator.kt:428 */
        6589  +
        pub(crate) fn set_header_enum(
        6590  +
            mut self,
        6591  +
            input: Option<
        6592  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        6593  +
            >,
        6594  +
        ) -> Self {
        6595  +
            /* ServerBuilderGenerator.kt:429 */
        6596  +
            self.header_enum = input.map(|v| v.into());
        6597  +
            self
        6598  +
            /* ServerBuilderGenerator.kt:428 */
        6599  +
        }
        6600  +
        /* ServerBuilderGenerator.kt:331 */
        6601  +
        #[allow(missing_docs)] // documentation missing in model
        6602  +
                               /* ServerBuilderGenerator.kt:343 */
        6603  +
        pub fn header_enum_list(
        6604  +
            mut self,
        6605  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        6606  +
        ) -> Self {
        6607  +
            /* ServerBuilderGenerator.kt:344 */
        6608  +
            self.header_enum_list =
        6609  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
        6610  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
        6611  +
                /* ServerBuilderGenerator.kt:363 */)
        6612  +
            /* ServerBuilderGenerator.kt:344 */;
        6613  +
            self
        6614  +
            /* ServerBuilderGenerator.kt:343 */
        6615  +
        }
        6616  +
        /* ServerBuilderGenerator.kt:426 */
        6617  +
        #[allow(missing_docs)] // documentation missing in model
        6618  +
                               /* ServerBuilderGenerator.kt:428 */
        6619  +
        pub(crate) fn set_header_enum_list(
        6620  +
            mut self,
        6621  +
            input: Option<
        6622  +
                impl ::std::convert::Into<
        6623  +
                    crate::constrained::MaybeConstrained<
        6624  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        6625  +
                    >,
        6626  +
                >,
        6627  +
            >,
        6628  +
        ) -> Self {
        6629  +
            /* ServerBuilderGenerator.kt:429 */
        6630  +
            self.header_enum_list = input.map(|v| v.into());
        6631  +
            self
        6632  +
            /* ServerBuilderGenerator.kt:428 */
        6633  +
        }
        6634  +
        /* ServerBuilderGenerator.kt:331 */
        6635  +
        #[allow(missing_docs)] // documentation missing in model
        6636  +
                               /* ServerBuilderGenerator.kt:343 */
        6637  +
        pub fn header_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
        6638  +
            /* ServerBuilderGenerator.kt:344 */
        6639  +
            self.header_integer_enum =
        6640  +
                /* ServerBuilderGenerator.kt:376 */input
        6641  +
            /* ServerBuilderGenerator.kt:344 */;
        6642  +
            self
        6643  +
            /* ServerBuilderGenerator.kt:343 */
        6644  +
        }
        6645  +
        /* ServerBuilderGenerator.kt:426 */
        6646  +
        #[allow(missing_docs)] // documentation missing in model
        6647  +
                               /* ServerBuilderGenerator.kt:428 */
        6648  +
        pub(crate) fn set_header_integer_enum(
        6649  +
            mut self,
        6650  +
            input: Option<impl ::std::convert::Into<i32>>,
        6651  +
        ) -> Self {
        6652  +
            /* ServerBuilderGenerator.kt:429 */
        6653  +
            self.header_integer_enum = input.map(|v| v.into());
        6654  +
            self
        6655  +
            /* ServerBuilderGenerator.kt:428 */
        6656  +
        }
        6657  +
        /* ServerBuilderGenerator.kt:331 */
        6658  +
        #[allow(missing_docs)] // documentation missing in model
        6659  +
                               /* ServerBuilderGenerator.kt:343 */
        6660  +
        pub fn header_integer_enum_list(
        6661  +
            mut self,
        6662  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        6663  +
        ) -> Self {
        6664  +
            /* ServerBuilderGenerator.kt:344 */
        6665  +
            self.header_integer_enum_list =
        6666  +
                /* ServerBuilderGenerator.kt:376 */input
        6667  +
            /* ServerBuilderGenerator.kt:344 */;
        6668  +
            self
        6669  +
            /* ServerBuilderGenerator.kt:343 */
        6670  +
        }
        6671  +
        /* ServerBuilderGenerator.kt:426 */
        6672  +
        #[allow(missing_docs)] // documentation missing in model
        6673  +
                               /* ServerBuilderGenerator.kt:428 */
        6674  +
        pub(crate) fn set_header_integer_enum_list(
        6675  +
            mut self,
        6676  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        6677  +
        ) -> Self {
        6678  +
            /* ServerBuilderGenerator.kt:429 */
        6679  +
            self.header_integer_enum_list = input.map(|v| v.into());
        6680  +
            self
        6681  +
            /* ServerBuilderGenerator.kt:428 */
        6682  +
        }
        6683  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        6684  +
        /// /* ServerBuilderGenerator.kt:260 */
        6685  +
        /// The builder fails to construct a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput) if a [`ConstraintViolation`] occurs.
        6686  +
        ///
        6687  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        6688  +
        /* ServerBuilderGenerator.kt:271 */
        6689  +
        pub fn build(
        6690  +
            self,
        6691  +
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
        6692  +
            self.build_enforcing_all_constraints()
        6693  +
        }
        6694  +
        /* ServerBuilderGenerator.kt:283 */
        6695  +
        fn build_enforcing_all_constraints(
        6696  +
            self,
        6697  +
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
        6698  +
            /* ServerBuilderGenerator.kt:287 */
        6699  +
            Ok(
        6700  +
                /* ServerBuilderGenerator.kt:542 */
        6701  +
                crate::input::InputAndOutputWithHeadersInput {
        6702  +
                    /* ServerBuilderGenerator.kt:546 */
        6703  +
                    header_string: self.header_string,
        6704  +
                    /* ServerBuilderGenerator.kt:546 */
        6705  +
                    header_byte: self.header_byte,
        6706  +
                    /* ServerBuilderGenerator.kt:546 */
        6707  +
                    header_short: self.header_short,
        6708  +
                    /* ServerBuilderGenerator.kt:546 */
        6709  +
                    header_integer: self.header_integer,
        6710  +
                    /* ServerBuilderGenerator.kt:546 */
        6711  +
                    header_long: self.header_long,
        6712  +
                    /* ServerBuilderGenerator.kt:546 */
        6713  +
                    header_float: self.header_float,
        6714  +
                    /* ServerBuilderGenerator.kt:546 */
        6715  +
                    header_double: self.header_double,
        6716  +
                    /* ServerBuilderGenerator.kt:546 */
        6717  +
                    header_true_bool: self.header_true_bool,
        6718  +
                    /* ServerBuilderGenerator.kt:546 */
        6719  +
                    header_false_bool: self.header_false_bool,
        6720  +
                    /* ServerBuilderGenerator.kt:546 */
        6721  +
                    header_string_list: self.header_string_list,
        6722  +
                    /* ServerBuilderGenerator.kt:546 */
        6723  +
                    header_string_set: self
        6724  +
                        .header_string_set
        6725  +
                        /* ServerBuilderGenerator.kt:602 */
        6726  +
                        .map(|v| match v {
        6727  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        6728  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        6729  +
                        })
        6730  +
                        /* ServerBuilderGenerator.kt:614 */
        6731  +
                        .map(|res| res.map_err(ConstraintViolation::HeaderStringSet))
        6732  +
                        .transpose()?,
        6733  +
                    /* ServerBuilderGenerator.kt:546 */
        6734  +
                    header_integer_list: self.header_integer_list,
        6735  +
                    /* ServerBuilderGenerator.kt:546 */
        6736  +
                    header_boolean_list: self.header_boolean_list,
        6737  +
                    /* ServerBuilderGenerator.kt:546 */
        6738  +
                    header_timestamp_list: self.header_timestamp_list,
        6739  +
                    /* ServerBuilderGenerator.kt:546 */
        6740  +
                    header_enum: self
        6741  +
                        .header_enum
        6742  +
                        /* ServerBuilderGenerator.kt:602 */
        6743  +
                        .map(|v| match v {
        6744  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        6745  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        6746  +
                        })
        6747  +
                        /* ServerBuilderGenerator.kt:614 */
        6748  +
                        .map(|res| res.map_err(ConstraintViolation::HeaderEnum))
        6749  +
                        .transpose()?,
        6750  +
                    /* ServerBuilderGenerator.kt:546 */
        6751  +
                    header_enum_list: self
        6752  +
                        .header_enum_list
        6753  +
                        /* ServerBuilderGenerator.kt:602 */
        6754  +
                        .map(|v| match v {
        6755  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        6756  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        6757  +
                        })
        6758  +
                        /* ServerBuilderGenerator.kt:614 */
        6759  +
                        .map(|res| {
        6760  +
                            res.map(|v| v.into())
        6761  +
                                .map_err(ConstraintViolation::HeaderEnumList)
        6762  +
                        })
        6763  +
                        .transpose()?,
        6764  +
                    /* ServerBuilderGenerator.kt:546 */
        6765  +
                    header_integer_enum: self.header_integer_enum,
        6766  +
                    /* ServerBuilderGenerator.kt:546 */
        6767  +
                    header_integer_enum_list: self.header_integer_enum_list,
        6768  +
                    /* ServerBuilderGenerator.kt:542 */
        6769  +
                }, /* ServerBuilderGenerator.kt:287 */
        6770  +
            )
        6771  +
            /* ServerBuilderGenerator.kt:283 */
 5682   6772   
        }
        6773  +
        /* ServerBuilderGenerator.kt:215 */
 5683   6774   
    }
 5684         -
    /* ServerBuilderGenerator.kt:446 */
 5685         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
 5686         -
        type Error = ConstraintViolation;
 5687   6775   
 5688         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        6776  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6777  +
}
        6778  +
/// /* ServerBuilderGenerator.kt:171 */See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        6779  +
pub mod null_and_empty_headers_client_input {
        6780  +
        6781  +
    /* ServerBuilderGenerator.kt:461 */
        6782  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
        6783  +
        fn from(builder: Builder) -> Self {
 5689   6784   
            builder.build()
 5690   6785   
        }
 5691   6786   
    }
 5692         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
        6787  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
 5693   6788   
    /* RustType.kt:534 */
 5694   6789   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 5695   6790   
    /* ServerBuilderGenerator.kt:211 */
 5696   6791   
    pub struct Builder {
 5697   6792   
        /* ServerBuilderGenerator.kt:308 */
 5698         -
        pub(crate) top_level:
 5699         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::TopLevel>>,
        6793  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
        6794  +
        /* ServerBuilderGenerator.kt:308 */
        6795  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
        6796  +
        /* ServerBuilderGenerator.kt:308 */
        6797  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 5700   6798   
        /* ServerBuilderGenerator.kt:211 */
 5701   6799   
    }
 5702   6800   
    /* ServerBuilderGenerator.kt:215 */
 5703   6801   
    impl Builder {
 5704   6802   
        /* ServerBuilderGenerator.kt:331 */
 5705   6803   
        #[allow(missing_docs)] // documentation missing in model
 5706   6804   
                               /* ServerBuilderGenerator.kt:343 */
 5707         -
        pub fn top_level(mut self, input: crate::model::TopLevel) -> Self {
        6805  +
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 5708   6806   
            /* ServerBuilderGenerator.kt:344 */
 5709         -
            self.top_level =
 5710         -
                /* ServerBuilderGenerator.kt:345 */Some(
 5711         -
                    /* ServerBuilderGenerator.kt:372 */crate::constrained::MaybeConstrained::Constrained(input)
 5712         -
                /* ServerBuilderGenerator.kt:345 */)
        6807  +
            self.a =
        6808  +
                /* ServerBuilderGenerator.kt:376 */input
 5713   6809   
            /* ServerBuilderGenerator.kt:344 */;
 5714   6810   
            self
 5715   6811   
            /* ServerBuilderGenerator.kt:343 */
 5716   6812   
        }
 5717   6813   
        /* ServerBuilderGenerator.kt:426 */
 5718   6814   
        #[allow(missing_docs)] // documentation missing in model
 5719   6815   
                               /* ServerBuilderGenerator.kt:428 */
 5720         -
        pub(crate) fn set_top_level(
        6816  +
        pub(crate) fn set_a(
 5721   6817   
            mut self,
 5722         -
            input: impl ::std::convert::Into<
 5723         -
                crate::constrained::MaybeConstrained<crate::model::TopLevel>,
 5724         -
            >,
        6818  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 5725   6819   
        ) -> Self {
 5726   6820   
            /* ServerBuilderGenerator.kt:429 */
 5727         -
            self.top_level = Some(input.into());
        6821  +
            self.a = input.map(|v| v.into());
 5728   6822   
            self
 5729   6823   
            /* ServerBuilderGenerator.kt:428 */
 5730   6824   
        }
 5731         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 5732         -
        /// /* ServerBuilderGenerator.kt:260 */
 5733         -
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if a [`ConstraintViolation`] occurs.
 5734         -
        ///
 5735         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        6825  +
        /* ServerBuilderGenerator.kt:331 */
        6826  +
        #[allow(missing_docs)] // documentation missing in model
        6827  +
                               /* ServerBuilderGenerator.kt:343 */
        6828  +
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6829  +
            /* ServerBuilderGenerator.kt:344 */
        6830  +
            self.b =
        6831  +
                /* ServerBuilderGenerator.kt:376 */input
        6832  +
            /* ServerBuilderGenerator.kt:344 */;
        6833  +
            self
        6834  +
            /* ServerBuilderGenerator.kt:343 */
        6835  +
        }
        6836  +
        /* ServerBuilderGenerator.kt:426 */
        6837  +
        #[allow(missing_docs)] // documentation missing in model
        6838  +
                               /* ServerBuilderGenerator.kt:428 */
        6839  +
        pub(crate) fn set_b(
        6840  +
            mut self,
        6841  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6842  +
        ) -> Self {
        6843  +
            /* ServerBuilderGenerator.kt:429 */
        6844  +
            self.b = input.map(|v| v.into());
        6845  +
            self
        6846  +
            /* ServerBuilderGenerator.kt:428 */
        6847  +
        }
        6848  +
        /* ServerBuilderGenerator.kt:331 */
        6849  +
        #[allow(missing_docs)] // documentation missing in model
        6850  +
                               /* ServerBuilderGenerator.kt:343 */
        6851  +
        pub fn c(
        6852  +
            mut self,
        6853  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        6854  +
        ) -> Self {
        6855  +
            /* ServerBuilderGenerator.kt:344 */
        6856  +
            self.c =
        6857  +
                /* ServerBuilderGenerator.kt:376 */input
        6858  +
            /* ServerBuilderGenerator.kt:344 */;
        6859  +
            self
        6860  +
            /* ServerBuilderGenerator.kt:343 */
        6861  +
        }
        6862  +
        /* ServerBuilderGenerator.kt:426 */
        6863  +
        #[allow(missing_docs)] // documentation missing in model
        6864  +
                               /* ServerBuilderGenerator.kt:428 */
        6865  +
        pub(crate) fn set_c(
        6866  +
            mut self,
        6867  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        6868  +
        ) -> Self {
        6869  +
            /* ServerBuilderGenerator.kt:429 */
        6870  +
            self.c = input.map(|v| v.into());
        6871  +
            self
        6872  +
            /* ServerBuilderGenerator.kt:428 */
        6873  +
        }
        6874  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
 5736   6875   
        /* ServerBuilderGenerator.kt:271 */
 5737         -
        pub fn build(
 5738         -
            self,
 5739         -
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
        6876  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
 5740   6877   
            self.build_enforcing_all_constraints()
 5741   6878   
        }
 5742   6879   
        /* ServerBuilderGenerator.kt:283 */
 5743         -
        fn build_enforcing_all_constraints(
 5744         -
            self,
 5745         -
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
 5746         -
            /* ServerBuilderGenerator.kt:287 */
 5747         -
            Ok(
        6880  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersClientInput {
        6881  +
            /* ServerBuilderGenerator.kt:542 */
        6882  +
            crate::input::NullAndEmptyHeadersClientInput {
        6883  +
                /* ServerBuilderGenerator.kt:546 */
        6884  +
                a: self.a,
        6885  +
                /* ServerBuilderGenerator.kt:546 */
        6886  +
                b: self.b,
        6887  +
                /* ServerBuilderGenerator.kt:546 */
        6888  +
                c: self.c,
 5748   6889   
                /* ServerBuilderGenerator.kt:542 */
 5749         -
                crate::input::OperationWithNestedStructureInput {
 5750         -
                    /* ServerBuilderGenerator.kt:546 */
 5751         -
                    top_level: self
 5752         -
                        .top_level
 5753         -
                        /* ServerBuilderGenerator.kt:602 */
 5754         -
                        .map(|v| match v {
 5755         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 5756         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 5757         -
                        })
 5758         -
                        /* ServerBuilderGenerator.kt:614 */
 5759         -
                        .map(|res| res.map_err(ConstraintViolation::TopLevel))
 5760         -
                        .transpose()?
 5761         -
                        /* ServerBuilderGenerator.kt:569 */
 5762         -
                        .ok_or(ConstraintViolation::MissingTopLevel)?,
 5763         -
                    /* ServerBuilderGenerator.kt:542 */
 5764         -
                }, /* ServerBuilderGenerator.kt:287 */
 5765         -
            )
        6890  +
            }
 5766   6891   
            /* ServerBuilderGenerator.kt:283 */
 5767   6892   
        }
 5768   6893   
        /* ServerBuilderGenerator.kt:215 */
 5769   6894   
    }
 5770   6895   
 5771   6896   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 5772   6897   
}
 5773         -
/// /* ServerBuilderGenerator.kt:171 */See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 5774         -
pub mod operation_with_defaults_input {
        6898  +
/// /* ServerBuilderGenerator.kt:171 */See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        6899  +
pub mod null_and_empty_headers_server_input {
 5775   6900   
 5776         -
    /* RustType.kt:534 */
 5777         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 5778         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 5779         -
    /* RustType.kt:534 */
 5780         -
    #[non_exhaustive]
 5781         -
    /* ServerBuilderConstraintViolations.kt:75 */
 5782         -
    #[allow(clippy::enum_variant_names)]
 5783         -
    pub enum ConstraintViolation {
 5784         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`.
 5785         -
        /* RustType.kt:534 */
 5786         -
        #[doc(hidden)]
 5787         -
        /* ServerBuilderConstraintViolations.kt:165 */
 5788         -
        Defaults(crate::model::defaults::ConstraintViolation),
 5789         -
        /* ServerBuilderConstraintViolations.kt:75 */
 5790         -
    }
 5791         -
    /* ServerBuilderConstraintViolations.kt:116 */
 5792         -
    impl ::std::fmt::Display for ConstraintViolation {
 5793         -
        /* ServerBuilderConstraintViolations.kt:117 */
 5794         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 5795         -
            /* ServerBuilderConstraintViolations.kt:118 */
 5796         -
            match self {
 5797         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Defaults(_) => write!(f, "constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`"),
 5798         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 5799         -
            /* ServerBuilderConstraintViolations.kt:117 */
 5800         -
        }
 5801         -
        /* ServerBuilderConstraintViolations.kt:116 */
 5802         -
    }
 5803         -
    /* ServerBuilderConstraintViolations.kt:83 */
 5804         -
    impl ::std::error::Error for ConstraintViolation {}
 5805         -
    /* ServerBuilderConstraintViolations.kt:172 */
 5806         -
    impl ConstraintViolation {
 5807         -
        pub(crate) fn as_validation_exception_field(
 5808         -
            self,
 5809         -
            path: ::std::string::String,
 5810         -
        ) -> crate::model::ValidationExceptionField {
 5811         -
            match self {
 5812         -
                ConstraintViolation::Defaults(inner) => {
 5813         -
                    inner.as_validation_exception_field(path + "/defaults")
 5814         -
                }
 5815         -
            }
 5816         -
        }
 5817         -
    }
 5818         -
    /* ServerBuilderGenerator.kt:234 */
 5819         -
    impl ::std::convert::From<ConstraintViolation>
 5820         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 5821         -
    {
 5822         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 5823         -
            let first_validation_exception_field =
 5824         -
                constraint_violation.as_validation_exception_field("".to_owned());
 5825         -
            let validation_exception = crate::error::ValidationException {
 5826         -
                message: format!(
 5827         -
                    "1 validation error detected. {}",
 5828         -
                    &first_validation_exception_field.message
 5829         -
                ),
 5830         -
                field_list: Some(vec![first_validation_exception_field]),
 5831         -
            };
 5832         -
            Self::ConstraintViolation(
 5833         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 5834         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 5835         -
                            )
 5836         -
        }
 5837         -
    }
 5838         -
    /* ServerBuilderGenerator.kt:244 */
 5839         -
    impl ::std::convert::From<Builder>
 5840         -
        for crate::constrained::MaybeConstrained<crate::input::OperationWithDefaultsInput>
 5841         -
    {
        6901  +
    /* ServerBuilderGenerator.kt:461 */
        6902  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
 5842   6903   
        fn from(builder: Builder) -> Self {
 5843         -
            Self::Unconstrained(builder)
 5844         -
        }
 5845         -
    }
 5846         -
    /* ServerBuilderGenerator.kt:446 */
 5847         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithDefaultsInput {
 5848         -
        type Error = ConstraintViolation;
 5849         -
 5850         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 5851   6904   
            builder.build()
 5852   6905   
        }
 5853   6906   
    }
 5854         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
        6907  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
 5855   6908   
    /* RustType.kt:534 */
 5856   6909   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 5857   6910   
    /* ServerBuilderGenerator.kt:211 */
 5858   6911   
    pub struct Builder {
 5859   6912   
        /* ServerBuilderGenerator.kt:308 */
 5860         -
        pub(crate) defaults:
 5861         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
 5862         -
        /* ServerBuilderGenerator.kt:308 */
 5863         -
        pub(crate) client_optional_defaults:
 5864         -
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
        6913  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
 5865   6914   
        /* ServerBuilderGenerator.kt:308 */
 5866         -
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
        6915  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
 5867   6916   
        /* ServerBuilderGenerator.kt:308 */
 5868         -
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
        6917  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 5869   6918   
        /* ServerBuilderGenerator.kt:211 */
 5870   6919   
    }
 5871   6920   
    /* ServerBuilderGenerator.kt:215 */
 5872   6921   
    impl Builder {
 5873   6922   
        /* ServerBuilderGenerator.kt:331 */
 5874   6923   
        #[allow(missing_docs)] // documentation missing in model
 5875   6924   
                               /* ServerBuilderGenerator.kt:343 */
 5876         -
        pub fn defaults(mut self, input: ::std::option::Option<crate::model::Defaults>) -> Self {
        6925  +
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 5877   6926   
            /* ServerBuilderGenerator.kt:344 */
 5878         -
            self.defaults =
 5879         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        6927  +
            self.a =
        6928  +
                /* ServerBuilderGenerator.kt:376 */input
 5880   6929   
            /* ServerBuilderGenerator.kt:344 */;
 5881   6930   
            self
 5882   6931   
            /* ServerBuilderGenerator.kt:343 */
 5883   6932   
        }
 5884   6933   
        /* ServerBuilderGenerator.kt:426 */
 5885   6934   
        #[allow(missing_docs)] // documentation missing in model
 5886   6935   
                               /* ServerBuilderGenerator.kt:428 */
 5887         -
        pub(crate) fn set_defaults(
        6936  +
        pub(crate) fn set_a(
 5888   6937   
            mut self,
 5889         -
            input: Option<
 5890         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
 5891         -
            >,
        6938  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 5892   6939   
        ) -> Self {
 5893   6940   
            /* ServerBuilderGenerator.kt:429 */
 5894         -
            self.defaults = input.map(|v| v.into());
        6941  +
            self.a = input.map(|v| v.into());
 5895   6942   
            self
 5896   6943   
            /* ServerBuilderGenerator.kt:428 */
 5897   6944   
        }
 5898   6945   
        /* ServerBuilderGenerator.kt:331 */
 5899   6946   
        #[allow(missing_docs)] // documentation missing in model
 5900   6947   
                               /* ServerBuilderGenerator.kt:343 */
 5901         -
        pub fn client_optional_defaults(
 5902         -
            mut self,
 5903         -
            input: ::std::option::Option<crate::model::ClientOptionalDefaults>,
 5904         -
        ) -> Self {
        6948  +
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 5905   6949   
            /* ServerBuilderGenerator.kt:344 */
 5906         -
            self.client_optional_defaults =
        6950  +
            self.b =
 5907   6951   
                /* ServerBuilderGenerator.kt:376 */input
 5908   6952   
            /* ServerBuilderGenerator.kt:344 */;
 5909   6953   
            self
 5910   6954   
            /* ServerBuilderGenerator.kt:343 */
 5911   6955   
        }
 5912   6956   
        /* ServerBuilderGenerator.kt:426 */
 5913   6957   
        #[allow(missing_docs)] // documentation missing in model
 5914   6958   
                               /* ServerBuilderGenerator.kt:428 */
 5915         -
        pub(crate) fn set_client_optional_defaults(
        6959  +
        pub(crate) fn set_b(
 5916   6960   
            mut self,
 5917         -
            input: Option<impl ::std::convert::Into<crate::model::ClientOptionalDefaults>>,
        6961  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 5918   6962   
        ) -> Self {
 5919   6963   
            /* ServerBuilderGenerator.kt:429 */
 5920         -
            self.client_optional_defaults = input.map(|v| v.into());
        6964  +
            self.b = input.map(|v| v.into());
 5921   6965   
            self
 5922   6966   
            /* ServerBuilderGenerator.kt:428 */
 5923   6967   
        }
 5924   6968   
        /* ServerBuilderGenerator.kt:331 */
 5925   6969   
        #[allow(missing_docs)] // documentation missing in model
 5926   6970   
                               /* ServerBuilderGenerator.kt:343 */
 5927         -
        pub fn top_level_default(mut self, input: ::std::string::String) -> Self {
 5928         -
            /* ServerBuilderGenerator.kt:344 */
 5929         -
            self.top_level_default =
 5930         -
                /* ServerBuilderGenerator.kt:345 */Some(
 5931         -
                    /* ServerBuilderGenerator.kt:376 */input
 5932         -
                /* ServerBuilderGenerator.kt:345 */)
 5933         -
            /* ServerBuilderGenerator.kt:344 */;
 5934         -
            self
 5935         -
            /* ServerBuilderGenerator.kt:343 */
 5936         -
        }
 5937         -
        /* ServerBuilderGenerator.kt:426 */
 5938         -
        #[allow(missing_docs)] // documentation missing in model
 5939         -
                               /* ServerBuilderGenerator.kt:428 */
 5940         -
        pub(crate) fn set_top_level_default(
        6971  +
        pub fn c(
 5941   6972   
            mut self,
 5942         -
            input: impl ::std::convert::Into<::std::string::String>,
        6973  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 5943   6974   
        ) -> Self {
 5944         -
            /* ServerBuilderGenerator.kt:429 */
 5945         -
            self.top_level_default = Some(input.into());
 5946         -
            self
 5947         -
            /* ServerBuilderGenerator.kt:428 */
 5948         -
        }
 5949         -
        /* ServerBuilderGenerator.kt:331 */
 5950         -
        #[allow(missing_docs)] // documentation missing in model
 5951         -
                               /* ServerBuilderGenerator.kt:343 */
 5952         -
        pub fn other_top_level_default(mut self, input: i32) -> Self {
 5953   6975   
            /* ServerBuilderGenerator.kt:344 */
 5954         -
            self.other_top_level_default =
 5955         -
                /* ServerBuilderGenerator.kt:345 */Some(
 5956         -
                    /* ServerBuilderGenerator.kt:376 */input
 5957         -
                /* ServerBuilderGenerator.kt:345 */)
        6976  +
            self.c =
        6977  +
                /* ServerBuilderGenerator.kt:376 */input
 5958   6978   
            /* ServerBuilderGenerator.kt:344 */;
 5959   6979   
            self
 5960   6980   
            /* ServerBuilderGenerator.kt:343 */
 5961   6981   
        }
 5962   6982   
        /* ServerBuilderGenerator.kt:426 */
 5963   6983   
        #[allow(missing_docs)] // documentation missing in model
 5964   6984   
                               /* ServerBuilderGenerator.kt:428 */
 5965         -
        pub(crate) fn set_other_top_level_default(
        6985  +
        pub(crate) fn set_c(
 5966   6986   
            mut self,
 5967         -
            input: impl ::std::convert::Into<i32>,
        6987  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
 5968   6988   
        ) -> Self {
 5969   6989   
            /* ServerBuilderGenerator.kt:429 */
 5970         -
            self.other_top_level_default = Some(input.into());
        6990  +
            self.c = input.map(|v| v.into());
 5971   6991   
            self
 5972   6992   
            /* ServerBuilderGenerator.kt:428 */
 5973   6993   
        }
 5974         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 5975         -
        /// /* ServerBuilderGenerator.kt:260 */
 5976         -
        /// The builder fails to construct a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) if a [`ConstraintViolation`] occurs.
 5977         -
        ///
        6994  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
 5978   6995   
        /* ServerBuilderGenerator.kt:271 */
 5979         -
        pub fn build(
 5980         -
            self,
 5981         -
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
        6996  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
 5982   6997   
            self.build_enforcing_all_constraints()
 5983   6998   
        }
 5984   6999   
        /* ServerBuilderGenerator.kt:283 */
 5985         -
        fn build_enforcing_all_constraints(
 5986         -
            self,
 5987         -
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
 5988         -
            /* ServerBuilderGenerator.kt:287 */
 5989         -
            Ok(
        7000  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersServerInput {
        7001  +
            /* ServerBuilderGenerator.kt:542 */
        7002  +
            crate::input::NullAndEmptyHeadersServerInput {
        7003  +
                /* ServerBuilderGenerator.kt:546 */
        7004  +
                a: self.a,
        7005  +
                /* ServerBuilderGenerator.kt:546 */
        7006  +
                b: self.b,
        7007  +
                /* ServerBuilderGenerator.kt:546 */
        7008  +
                c: self.c,
 5990   7009   
                /* ServerBuilderGenerator.kt:542 */
 5991         -
                crate::input::OperationWithDefaultsInput {
 5992         -
                    /* ServerBuilderGenerator.kt:546 */
 5993         -
                    defaults: self
 5994         -
                        .defaults
 5995         -
                        /* ServerBuilderGenerator.kt:602 */
 5996         -
                        .map(|v| match v {
 5997         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 5998         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 5999         -
                        })
 6000         -
                        /* ServerBuilderGenerator.kt:614 */
 6001         -
                        .map(|res| res.map_err(ConstraintViolation::Defaults))
 6002         -
                        .transpose()?,
 6003         -
                    /* ServerBuilderGenerator.kt:546 */
 6004         -
                    client_optional_defaults: self.client_optional_defaults,
 6005         -
                    /* ServerBuilderGenerator.kt:546 */
 6006         -
                    top_level_default: self
 6007         -
                        .top_level_default
 6008         -
                        /* ServerBuilderGeneratorCommon.kt:129 */
 6009         -
                        .unwrap_or_else(|| String::from("hi")),
 6010         -
                    /* ServerBuilderGenerator.kt:546 */
 6011         -
                    other_top_level_default: self
 6012         -
                        .other_top_level_default
 6013         -
                        /* ServerBuilderGeneratorCommon.kt:125 */
 6014         -
                        .unwrap_or(0i32),
 6015         -
                    /* ServerBuilderGenerator.kt:542 */
 6016         -
                }, /* ServerBuilderGenerator.kt:287 */
 6017         -
            )
        7010  +
            }
 6018   7011   
            /* ServerBuilderGenerator.kt:283 */
 6019   7012   
        }
 6020   7013   
        /* ServerBuilderGenerator.kt:215 */
 6021   7014   
    }
 6022   7015   
 6023   7016   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6024   7017   
}
 6025         -
/// /* ServerBuilderGenerator.kt:171 */See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 6026         -
pub mod content_type_parameters_input {
        7018  +
/// /* ServerBuilderGenerator.kt:171 */See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        7019  +
pub mod timestamp_format_headers_input {
 6027   7020   
 6028   7021   
    /* ServerBuilderGenerator.kt:461 */
 6029         -
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
        7022  +
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
 6030   7023   
        fn from(builder: Builder) -> Self {
 6031   7024   
            builder.build()
 6032   7025   
        }
 6033   7026   
    }
 6034         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        7027  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
 6035   7028   
    /* RustType.kt:534 */
 6036   7029   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6037   7030   
    /* ServerBuilderGenerator.kt:211 */
 6038   7031   
    pub struct Builder {
 6039   7032   
        /* ServerBuilderGenerator.kt:308 */
 6040         -
        pub(crate) value: ::std::option::Option<i32>,
        7033  +
        pub(crate) member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        7034  +
        /* ServerBuilderGenerator.kt:308 */
        7035  +
        pub(crate) member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        7036  +
        /* ServerBuilderGenerator.kt:308 */
        7037  +
        pub(crate) member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
        7038  +
        /* ServerBuilderGenerator.kt:308 */
        7039  +
        pub(crate) default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
        7040  +
        /* ServerBuilderGenerator.kt:308 */
        7041  +
        pub(crate) target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        7042  +
        /* ServerBuilderGenerator.kt:308 */
        7043  +
        pub(crate) target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        7044  +
        /* ServerBuilderGenerator.kt:308 */
        7045  +
        pub(crate) target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
 6041   7046   
        /* ServerBuilderGenerator.kt:211 */
 6042   7047   
    }
 6043   7048   
    /* ServerBuilderGenerator.kt:215 */
 6044   7049   
    impl Builder {
 6045   7050   
        /* ServerBuilderGenerator.kt:331 */
 6046   7051   
        #[allow(missing_docs)] // documentation missing in model
 6047   7052   
                               /* ServerBuilderGenerator.kt:343 */
 6048         -
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
        7053  +
        pub fn member_epoch_seconds(
        7054  +
            mut self,
        7055  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7056  +
        ) -> Self {
 6049   7057   
            /* ServerBuilderGenerator.kt:344 */
 6050         -
            self.value =
        7058  +
            self.member_epoch_seconds =
 6051   7059   
                /* ServerBuilderGenerator.kt:376 */input
 6052   7060   
            /* ServerBuilderGenerator.kt:344 */;
 6053   7061   
            self
 6054   7062   
            /* ServerBuilderGenerator.kt:343 */
 6055   7063   
        }
 6056   7064   
        /* ServerBuilderGenerator.kt:426 */
 6057   7065   
        #[allow(missing_docs)] // documentation missing in model
 6058   7066   
                               /* ServerBuilderGenerator.kt:428 */
 6059         -
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        7067  +
        pub(crate) fn set_member_epoch_seconds(
        7068  +
            mut self,
        7069  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        7070  +
        ) -> Self {
 6060   7071   
            /* ServerBuilderGenerator.kt:429 */
 6061         -
            self.value = input.map(|v| v.into());
        7072  +
            self.member_epoch_seconds = input.map(|v| v.into());
 6062   7073   
            self
 6063   7074   
            /* ServerBuilderGenerator.kt:428 */
 6064   7075   
        }
 6065         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 6066         -
        /* ServerBuilderGenerator.kt:271 */
 6067         -
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 6068         -
            self.build_enforcing_all_constraints()
        7076  +
        /* ServerBuilderGenerator.kt:331 */
        7077  +
        #[allow(missing_docs)] // documentation missing in model
        7078  +
                               /* ServerBuilderGenerator.kt:343 */
        7079  +
        pub fn member_http_date(
        7080  +
            mut self,
        7081  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7082  +
        ) -> Self {
        7083  +
            /* ServerBuilderGenerator.kt:344 */
        7084  +
            self.member_http_date =
        7085  +
                /* ServerBuilderGenerator.kt:376 */input
        7086  +
            /* ServerBuilderGenerator.kt:344 */;
        7087  +
            self
        7088  +
            /* ServerBuilderGenerator.kt:343 */
 6069   7089   
        }
 6070         -
        /* ServerBuilderGenerator.kt:283 */
 6071         -
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
 6072         -
            /* ServerBuilderGenerator.kt:542 */
 6073         -
            crate::input::ContentTypeParametersInput {
 6074         -
                /* ServerBuilderGenerator.kt:546 */
 6075         -
                value: self.value,
 6076         -
                /* ServerBuilderGenerator.kt:542 */
 6077         -
            }
 6078         -
            /* ServerBuilderGenerator.kt:283 */
        7090  +
        /* ServerBuilderGenerator.kt:426 */
        7091  +
        #[allow(missing_docs)] // documentation missing in model
        7092  +
                               /* ServerBuilderGenerator.kt:428 */
        7093  +
        pub(crate) fn set_member_http_date(
        7094  +
            mut self,
        7095  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        7096  +
        ) -> Self {
        7097  +
            /* ServerBuilderGenerator.kt:429 */
        7098  +
            self.member_http_date = input.map(|v| v.into());
        7099  +
            self
        7100  +
            /* ServerBuilderGenerator.kt:428 */
 6079   7101   
        }
 6080         -
        /* ServerBuilderGenerator.kt:215 */
 6081         -
    }
 6082         -
 6083         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6084         -
}
 6085         -
/// /* ServerBuilderGenerator.kt:171 */See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 6086         -
pub mod put_with_content_encoding_input {
 6087         -
 6088         -
    /* ServerBuilderGenerator.kt:461 */
 6089         -
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
 6090         -
        fn from(builder: Builder) -> Self {
 6091         -
            builder.build()
        7102  +
        /* ServerBuilderGenerator.kt:331 */
        7103  +
        #[allow(missing_docs)] // documentation missing in model
        7104  +
                               /* ServerBuilderGenerator.kt:343 */
        7105  +
        pub fn member_date_time(
        7106  +
            mut self,
        7107  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7108  +
        ) -> Self {
        7109  +
            /* ServerBuilderGenerator.kt:344 */
        7110  +
            self.member_date_time =
        7111  +
                /* ServerBuilderGenerator.kt:376 */input
        7112  +
            /* ServerBuilderGenerator.kt:344 */;
        7113  +
            self
        7114  +
            /* ServerBuilderGenerator.kt:343 */
        7115  +
        }
        7116  +
        /* ServerBuilderGenerator.kt:426 */
        7117  +
        #[allow(missing_docs)] // documentation missing in model
        7118  +
                               /* ServerBuilderGenerator.kt:428 */
        7119  +
        pub(crate) fn set_member_date_time(
        7120  +
            mut self,
        7121  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        7122  +
        ) -> Self {
        7123  +
            /* ServerBuilderGenerator.kt:429 */
        7124  +
            self.member_date_time = input.map(|v| v.into());
        7125  +
            self
        7126  +
            /* ServerBuilderGenerator.kt:428 */
        7127  +
        }
        7128  +
        /* ServerBuilderGenerator.kt:331 */
        7129  +
        #[allow(missing_docs)] // documentation missing in model
        7130  +
                               /* ServerBuilderGenerator.kt:343 */
        7131  +
        pub fn default_format(
        7132  +
            mut self,
        7133  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7134  +
        ) -> Self {
        7135  +
            /* ServerBuilderGenerator.kt:344 */
        7136  +
            self.default_format =
        7137  +
                /* ServerBuilderGenerator.kt:376 */input
        7138  +
            /* ServerBuilderGenerator.kt:344 */;
        7139  +
            self
        7140  +
            /* ServerBuilderGenerator.kt:343 */
        7141  +
        }
        7142  +
        /* ServerBuilderGenerator.kt:426 */
        7143  +
        #[allow(missing_docs)] // documentation missing in model
        7144  +
                               /* ServerBuilderGenerator.kt:428 */
        7145  +
        pub(crate) fn set_default_format(
        7146  +
            mut self,
        7147  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        7148  +
        ) -> Self {
        7149  +
            /* ServerBuilderGenerator.kt:429 */
        7150  +
            self.default_format = input.map(|v| v.into());
        7151  +
            self
        7152  +
            /* ServerBuilderGenerator.kt:428 */
 6092   7153   
        }
 6093         -
    }
 6094         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 6095         -
    /* RustType.kt:534 */
 6096         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6097         -
    /* ServerBuilderGenerator.kt:211 */
 6098         -
    pub struct Builder {
 6099         -
        /* ServerBuilderGenerator.kt:308 */
 6100         -
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
 6101         -
        /* ServerBuilderGenerator.kt:308 */
 6102         -
        pub(crate) data: ::std::option::Option<::std::string::String>,
 6103         -
        /* ServerBuilderGenerator.kt:211 */
 6104         -
    }
 6105         -
    /* ServerBuilderGenerator.kt:215 */
 6106         -
    impl Builder {
 6107   7154   
        /* ServerBuilderGenerator.kt:331 */
 6108   7155   
        #[allow(missing_docs)] // documentation missing in model
 6109   7156   
                               /* ServerBuilderGenerator.kt:343 */
 6110         -
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7157  +
        pub fn target_epoch_seconds(
        7158  +
            mut self,
        7159  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7160  +
        ) -> Self {
 6111   7161   
            /* ServerBuilderGenerator.kt:344 */
 6112         -
            self.encoding =
        7162  +
            self.target_epoch_seconds =
 6113   7163   
                /* ServerBuilderGenerator.kt:376 */input
 6114   7164   
            /* ServerBuilderGenerator.kt:344 */;
 6115   7165   
            self
 6116   7166   
            /* ServerBuilderGenerator.kt:343 */
 6117   7167   
        }
 6118   7168   
        /* ServerBuilderGenerator.kt:426 */
 6119   7169   
        #[allow(missing_docs)] // documentation missing in model
 6120   7170   
                               /* ServerBuilderGenerator.kt:428 */
 6121         -
        pub(crate) fn set_encoding(
        7171  +
        pub(crate) fn set_target_epoch_seconds(
 6122   7172   
            mut self,
 6123         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7173  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 6124   7174   
        ) -> Self {
 6125   7175   
            /* ServerBuilderGenerator.kt:429 */
 6126         -
            self.encoding = input.map(|v| v.into());
        7176  +
            self.target_epoch_seconds = input.map(|v| v.into());
 6127   7177   
            self
 6128   7178   
            /* ServerBuilderGenerator.kt:428 */
 6129   7179   
        }
 6130   7180   
        /* ServerBuilderGenerator.kt:331 */
 6131   7181   
        #[allow(missing_docs)] // documentation missing in model
 6132   7182   
                               /* ServerBuilderGenerator.kt:343 */
 6133         -
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7183  +
        pub fn target_http_date(
        7184  +
            mut self,
        7185  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7186  +
        ) -> Self {
 6134   7187   
            /* ServerBuilderGenerator.kt:344 */
 6135         -
            self.data =
        7188  +
            self.target_http_date =
 6136   7189   
                /* ServerBuilderGenerator.kt:376 */input
 6137   7190   
            /* ServerBuilderGenerator.kt:344 */;
 6138   7191   
            self
 6139   7192   
            /* ServerBuilderGenerator.kt:343 */
 6140   7193   
        }
 6141   7194   
        /* ServerBuilderGenerator.kt:426 */
 6142   7195   
        #[allow(missing_docs)] // documentation missing in model
 6143   7196   
                               /* ServerBuilderGenerator.kt:428 */
 6144         -
        pub(crate) fn set_data(
        7197  +
        pub(crate) fn set_target_http_date(
 6145   7198   
            mut self,
 6146         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7199  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 6147   7200   
        ) -> Self {
 6148   7201   
            /* ServerBuilderGenerator.kt:429 */
 6149         -
            self.data = input.map(|v| v.into());
        7202  +
            self.target_http_date = input.map(|v| v.into());
 6150   7203   
            self
 6151   7204   
            /* ServerBuilderGenerator.kt:428 */
 6152   7205   
        }
 6153         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 6154         -
        /* ServerBuilderGenerator.kt:271 */
 6155         -
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
 6156         -
            self.build_enforcing_all_constraints()
 6157         -
        }
 6158         -
        /* ServerBuilderGenerator.kt:283 */
 6159         -
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
 6160         -
            /* ServerBuilderGenerator.kt:542 */
 6161         -
            crate::input::PutWithContentEncodingInput {
 6162         -
                /* ServerBuilderGenerator.kt:546 */
 6163         -
                encoding: self.encoding,
 6164         -
                /* ServerBuilderGenerator.kt:546 */
 6165         -
                data: self.data,
 6166         -
                /* ServerBuilderGenerator.kt:542 */
 6167         -
            }
 6168         -
            /* ServerBuilderGenerator.kt:283 */
 6169         -
        }
 6170         -
        /* ServerBuilderGenerator.kt:215 */
 6171         -
    }
 6172         -
 6173         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6174         -
}
 6175         -
/// /* ServerBuilderGenerator.kt:171 */See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 6176         -
pub mod fractional_seconds_input {
 6177         -
 6178         -
    /* ServerBuilderGenerator.kt:461 */
 6179         -
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
 6180         -
        fn from(builder: Builder) -> Self {
 6181         -
            builder.build()
 6182         -
        }
 6183         -
    }
 6184         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 6185         -
    /* RustType.kt:534 */
 6186         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6187         -
    /* ServerBuilderGenerator.kt:211 */
 6188         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6189         -
    /* ServerBuilderGenerator.kt:215 */
 6190         -
    impl Builder {
 6191         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 6192         -
        /* ServerBuilderGenerator.kt:271 */
 6193         -
        pub fn build(self) -> crate::input::FractionalSecondsInput {
 6194         -
            self.build_enforcing_all_constraints()
 6195         -
        }
 6196         -
        /* ServerBuilderGenerator.kt:283 */
 6197         -
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
 6198         -
            /* ServerBuilderGenerator.kt:542 */
 6199         -
            crate::input::FractionalSecondsInput {
 6200         -
            /* ServerBuilderGenerator.kt:542 */}
 6201         -
            /* ServerBuilderGenerator.kt:283 */
 6202         -
        }
 6203         -
        /* ServerBuilderGenerator.kt:215 */
 6204         -
    }
 6205         -
 6206         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6207         -
}
 6208         -
/// /* ServerBuilderGenerator.kt:171 */See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 6209         -
pub mod datetime_offsets_input {
 6210         -
 6211         -
    /* ServerBuilderGenerator.kt:461 */
 6212         -
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
 6213         -
        fn from(builder: Builder) -> Self {
 6214         -
            builder.build()
 6215         -
        }
 6216         -
    }
 6217         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 6218         -
    /* RustType.kt:534 */
 6219         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6220         -
    /* ServerBuilderGenerator.kt:211 */
 6221         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6222         -
    /* ServerBuilderGenerator.kt:215 */
 6223         -
    impl Builder {
 6224         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 6225         -
        /* ServerBuilderGenerator.kt:271 */
 6226         -
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
 6227         -
            self.build_enforcing_all_constraints()
 6228         -
        }
 6229         -
        /* ServerBuilderGenerator.kt:283 */
 6230         -
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
 6231         -
            /* ServerBuilderGenerator.kt:542 */
 6232         -
            crate::input::DatetimeOffsetsInput {
 6233         -
            /* ServerBuilderGenerator.kt:542 */}
 6234         -
            /* ServerBuilderGenerator.kt:283 */
 6235         -
        }
 6236         -
        /* ServerBuilderGenerator.kt:215 */
 6237         -
    }
 6238         -
 6239         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6240         -
}
 6241         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 6242         -
pub mod test_post_no_input_no_payload_input {
 6243         -
 6244         -
    /* ServerBuilderGenerator.kt:461 */
 6245         -
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
 6246         -
        fn from(builder: Builder) -> Self {
 6247         -
            builder.build()
 6248         -
        }
 6249         -
    }
 6250         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 6251         -
    /* RustType.kt:534 */
 6252         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6253         -
    /* ServerBuilderGenerator.kt:211 */
 6254         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6255         -
    /* ServerBuilderGenerator.kt:215 */
 6256         -
    impl Builder {
 6257         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 6258         -
        /* ServerBuilderGenerator.kt:271 */
 6259         -
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
 6260         -
            self.build_enforcing_all_constraints()
 6261         -
        }
 6262         -
        /* ServerBuilderGenerator.kt:283 */
 6263         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoInputNoPayloadInput {
 6264         -
            /* ServerBuilderGenerator.kt:542 */
 6265         -
            crate::input::TestPostNoInputNoPayloadInput {
 6266         -
            /* ServerBuilderGenerator.kt:542 */}
 6267         -
            /* ServerBuilderGenerator.kt:283 */
 6268         -
        }
 6269         -
        /* ServerBuilderGenerator.kt:215 */
 6270         -
    }
 6271         -
 6272         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6273         -
}
 6274         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 6275         -
pub mod test_get_no_input_no_payload_input {
 6276         -
 6277         -
    /* ServerBuilderGenerator.kt:461 */
 6278         -
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
 6279         -
        fn from(builder: Builder) -> Self {
 6280         -
            builder.build()
 6281         -
        }
 6282         -
    }
 6283         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 6284         -
    /* RustType.kt:534 */
 6285         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6286         -
    /* ServerBuilderGenerator.kt:211 */
 6287         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6288         -
    /* ServerBuilderGenerator.kt:215 */
 6289         -
    impl Builder {
 6290         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 6291         -
        /* ServerBuilderGenerator.kt:271 */
 6292         -
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
 6293         -
            self.build_enforcing_all_constraints()
 6294         -
        }
 6295         -
        /* ServerBuilderGenerator.kt:283 */
 6296         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoInputNoPayloadInput {
 6297         -
            /* ServerBuilderGenerator.kt:542 */
 6298         -
            crate::input::TestGetNoInputNoPayloadInput {
 6299         -
            /* ServerBuilderGenerator.kt:542 */}
 6300         -
            /* ServerBuilderGenerator.kt:283 */
 6301         -
        }
 6302         -
        /* ServerBuilderGenerator.kt:215 */
 6303         -
    }
 6304         -
 6305         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6306         -
}
 6307         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 6308         -
pub mod test_post_no_payload_input {
 6309         -
 6310         -
    /* ServerBuilderGenerator.kt:461 */
 6311         -
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
 6312         -
        fn from(builder: Builder) -> Self {
 6313         -
            builder.build()
 6314         -
        }
 6315         -
    }
 6316         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 6317         -
    /* RustType.kt:534 */
 6318         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6319         -
    /* ServerBuilderGenerator.kt:211 */
 6320         -
    pub struct Builder {
 6321         -
        /* ServerBuilderGenerator.kt:308 */
 6322         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
 6323         -
        /* ServerBuilderGenerator.kt:211 */
 6324         -
    }
 6325         -
    /* ServerBuilderGenerator.kt:215 */
 6326         -
    impl Builder {
 6327   7206   
        /* ServerBuilderGenerator.kt:331 */
 6328   7207   
        #[allow(missing_docs)] // documentation missing in model
 6329   7208   
                               /* ServerBuilderGenerator.kt:343 */
 6330         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7209  +
        pub fn target_date_time(
        7210  +
            mut self,
        7211  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        7212  +
        ) -> Self {
 6331   7213   
            /* ServerBuilderGenerator.kt:344 */
 6332         -
            self.test_id =
        7214  +
            self.target_date_time =
 6333   7215   
                /* ServerBuilderGenerator.kt:376 */input
 6334   7216   
            /* ServerBuilderGenerator.kt:344 */;
 6335   7217   
            self
 6336   7218   
            /* ServerBuilderGenerator.kt:343 */
 6337   7219   
        }
 6338   7220   
        /* ServerBuilderGenerator.kt:426 */
 6339   7221   
        #[allow(missing_docs)] // documentation missing in model
 6340   7222   
                               /* ServerBuilderGenerator.kt:428 */
 6341         -
        pub(crate) fn set_test_id(
        7223  +
        pub(crate) fn set_target_date_time(
 6342   7224   
            mut self,
 6343         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7225  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 6344   7226   
        ) -> Self {
 6345   7227   
            /* ServerBuilderGenerator.kt:429 */
 6346         -
            self.test_id = input.map(|v| v.into());
        7228  +
            self.target_date_time = input.map(|v| v.into());
 6347   7229   
            self
 6348   7230   
            /* ServerBuilderGenerator.kt:428 */
 6349   7231   
        }
 6350         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
        7232  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
 6351   7233   
        /* ServerBuilderGenerator.kt:271 */
 6352         -
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
        7234  +
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
 6353   7235   
            self.build_enforcing_all_constraints()
 6354   7236   
        }
 6355   7237   
        /* ServerBuilderGenerator.kt:283 */
 6356         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoPayloadInput {
        7238  +
        fn build_enforcing_all_constraints(self) -> crate::input::TimestampFormatHeadersInput {
 6357   7239   
            /* ServerBuilderGenerator.kt:542 */
 6358         -
            crate::input::TestPostNoPayloadInput {
        7240  +
            crate::input::TimestampFormatHeadersInput {
 6359   7241   
                /* ServerBuilderGenerator.kt:546 */
 6360         -
                test_id: self.test_id,
        7242  +
                member_epoch_seconds: self.member_epoch_seconds,
        7243  +
                /* ServerBuilderGenerator.kt:546 */
        7244  +
                member_http_date: self.member_http_date,
        7245  +
                /* ServerBuilderGenerator.kt:546 */
        7246  +
                member_date_time: self.member_date_time,
        7247  +
                /* ServerBuilderGenerator.kt:546 */
        7248  +
                default_format: self.default_format,
        7249  +
                /* ServerBuilderGenerator.kt:546 */
        7250  +
                target_epoch_seconds: self.target_epoch_seconds,
        7251  +
                /* ServerBuilderGenerator.kt:546 */
        7252  +
                target_http_date: self.target_http_date,
        7253  +
                /* ServerBuilderGenerator.kt:546 */
        7254  +
                target_date_time: self.target_date_time,
 6361   7255   
                /* ServerBuilderGenerator.kt:542 */
 6362   7256   
            }
 6363   7257   
            /* ServerBuilderGenerator.kt:283 */
 6364   7258   
        }
 6365   7259   
        /* ServerBuilderGenerator.kt:215 */
 6366   7260   
    }
 6367   7261   
 6368   7262   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6369   7263   
}
 6370         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 6371         -
pub mod test_get_no_payload_input {
        7264  +
/// /* ServerBuilderGenerator.kt:171 */See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        7265  +
pub mod media_type_header_input {
 6372   7266   
 6373   7267   
    /* ServerBuilderGenerator.kt:461 */
 6374         -
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
        7268  +
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
 6375   7269   
        fn from(builder: Builder) -> Self {
 6376   7270   
            builder.build()
 6377   7271   
        }
 6378   7272   
    }
 6379         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        7273  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
 6380   7274   
    /* RustType.kt:534 */
 6381   7275   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6382   7276   
    /* ServerBuilderGenerator.kt:211 */
 6383   7277   
    pub struct Builder {
 6384   7278   
        /* ServerBuilderGenerator.kt:308 */
 6385         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        7279  +
        pub(crate) json: ::std::option::Option<::std::string::String>,
 6386   7280   
        /* ServerBuilderGenerator.kt:211 */
 6387   7281   
    }
 6388   7282   
    /* ServerBuilderGenerator.kt:215 */
 6389   7283   
    impl Builder {
 6390   7284   
        /* ServerBuilderGenerator.kt:331 */
 6391   7285   
        #[allow(missing_docs)] // documentation missing in model
 6392   7286   
                               /* ServerBuilderGenerator.kt:343 */
 6393         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7287  +
        pub fn json(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 6394   7288   
            /* ServerBuilderGenerator.kt:344 */
 6395         -
            self.test_id =
        7289  +
            self.json =
 6396   7290   
                /* ServerBuilderGenerator.kt:376 */input
 6397   7291   
            /* ServerBuilderGenerator.kt:344 */;
 6398   7292   
            self
 6399   7293   
            /* ServerBuilderGenerator.kt:343 */
 6400   7294   
        }
 6401   7295   
        /* ServerBuilderGenerator.kt:426 */
 6402   7296   
        #[allow(missing_docs)] // documentation missing in model
 6403   7297   
                               /* ServerBuilderGenerator.kt:428 */
 6404         -
        pub(crate) fn set_test_id(
        7298  +
        pub(crate) fn set_json(
 6405   7299   
            mut self,
 6406   7300   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 6407   7301   
        ) -> Self {
 6408   7302   
            /* ServerBuilderGenerator.kt:429 */
 6409         -
            self.test_id = input.map(|v| v.into());
        7303  +
            self.json = input.map(|v| v.into());
 6410   7304   
            self
 6411   7305   
            /* ServerBuilderGenerator.kt:428 */
 6412   7306   
        }
 6413         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        7307  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
 6414   7308   
        /* ServerBuilderGenerator.kt:271 */
 6415         -
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
        7309  +
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
 6416   7310   
            self.build_enforcing_all_constraints()
 6417   7311   
        }
 6418   7312   
        /* ServerBuilderGenerator.kt:283 */
 6419         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoPayloadInput {
        7313  +
        fn build_enforcing_all_constraints(self) -> crate::input::MediaTypeHeaderInput {
 6420   7314   
            /* ServerBuilderGenerator.kt:542 */
 6421         -
            crate::input::TestGetNoPayloadInput {
        7315  +
            crate::input::MediaTypeHeaderInput {
 6422   7316   
                /* ServerBuilderGenerator.kt:546 */
 6423         -
                test_id: self.test_id,
        7317  +
                json: self.json,
 6424   7318   
                /* ServerBuilderGenerator.kt:542 */
 6425   7319   
            }
 6426   7320   
            /* ServerBuilderGenerator.kt:283 */
 6427   7321   
        }
 6428   7322   
        /* ServerBuilderGenerator.kt:215 */
 6429   7323   
    }
 6430   7324   
 6431   7325   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6432   7326   
}
 6433         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 6434         -
pub mod test_payload_blob_input {
        7327  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
        7328  +
pub mod http_request_with_labels_input {
 6435   7329   
 6436         -
    /* ServerBuilderGenerator.kt:461 */
 6437         -
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
        7330  +
    /* RustType.kt:534 */
        7331  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7332  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7333  +
    /* RustType.kt:534 */
        7334  +
    #[non_exhaustive]
        7335  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7336  +
    #[allow(clippy::enum_variant_names)]
        7337  +
    pub enum ConstraintViolation {
        7338  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7339  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7340  +
        MissingString,
        7341  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7342  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7343  +
        MissingShort,
        7344  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7345  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7346  +
        MissingInteger,
        7347  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7348  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7349  +
        MissingLong,
        7350  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7351  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7352  +
        MissingFloat,
        7353  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7354  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7355  +
        MissingDouble,
        7356  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7357  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7358  +
        MissingBoolean,
        7359  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        7360  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7361  +
        MissingTimestamp,
        7362  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7363  +
    }
        7364  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7365  +
    impl ::std::fmt::Display for ConstraintViolation {
        7366  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7367  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7368  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7369  +
            match self {
        7370  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7371  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7372  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7373  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7374  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7375  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7376  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7377  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        7378  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7379  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7380  +
        }
        7381  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7382  +
    }
        7383  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7384  +
    impl ::std::error::Error for ConstraintViolation {}
        7385  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7386  +
    impl ConstraintViolation {
        7387  +
        pub(crate) fn as_validation_exception_field(
        7388  +
            self,
        7389  +
            path: ::std::string::String,
        7390  +
        ) -> crate::model::ValidationExceptionField {
        7391  +
            match self {
        7392  +
            ConstraintViolation::MissingString => crate::model::ValidationExceptionField {
        7393  +
                                                message: format!("Value at '{}/string' failed to satisfy constraint: Member must not be null", path),
        7394  +
                                                path: path + "/string",
        7395  +
                                            },
        7396  +
            ConstraintViolation::MissingShort => crate::model::ValidationExceptionField {
        7397  +
                                                message: format!("Value at '{}/short' failed to satisfy constraint: Member must not be null", path),
        7398  +
                                                path: path + "/short",
        7399  +
                                            },
        7400  +
            ConstraintViolation::MissingInteger => crate::model::ValidationExceptionField {
        7401  +
                                                message: format!("Value at '{}/integer' failed to satisfy constraint: Member must not be null", path),
        7402  +
                                                path: path + "/integer",
        7403  +
                                            },
        7404  +
            ConstraintViolation::MissingLong => crate::model::ValidationExceptionField {
        7405  +
                                                message: format!("Value at '{}/long' failed to satisfy constraint: Member must not be null", path),
        7406  +
                                                path: path + "/long",
        7407  +
                                            },
        7408  +
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
        7409  +
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
        7410  +
                                                path: path + "/float",
        7411  +
                                            },
        7412  +
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
        7413  +
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
        7414  +
                                                path: path + "/double",
        7415  +
                                            },
        7416  +
            ConstraintViolation::MissingBoolean => crate::model::ValidationExceptionField {
        7417  +
                                                message: format!("Value at '{}/boolean' failed to satisfy constraint: Member must not be null", path),
        7418  +
                                                path: path + "/boolean",
        7419  +
                                            },
        7420  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7421  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7422  +
                                                path: path + "/timestamp",
        7423  +
                                            },
        7424  +
        }
        7425  +
        }
        7426  +
    }
        7427  +
    /* ServerBuilderGenerator.kt:234 */
        7428  +
    impl ::std::convert::From<ConstraintViolation>
        7429  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7430  +
    {
        7431  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7432  +
            let first_validation_exception_field =
        7433  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7434  +
            let validation_exception = crate::error::ValidationException {
        7435  +
                message: format!(
        7436  +
                    "1 validation error detected. {}",
        7437  +
                    &first_validation_exception_field.message
        7438  +
                ),
        7439  +
                field_list: Some(vec![first_validation_exception_field]),
        7440  +
            };
        7441  +
            Self::ConstraintViolation(
        7442  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7443  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7444  +
                            )
        7445  +
        }
        7446  +
    }
        7447  +
    /* ServerBuilderGenerator.kt:244 */
        7448  +
    impl ::std::convert::From<Builder>
        7449  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithLabelsInput>
        7450  +
    {
 6438   7451   
        fn from(builder: Builder) -> Self {
        7452  +
            Self::Unconstrained(builder)
        7453  +
        }
        7454  +
    }
        7455  +
    /* ServerBuilderGenerator.kt:446 */
        7456  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
        7457  +
        type Error = ConstraintViolation;
        7458  +
        7459  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 6439   7460   
            builder.build()
 6440   7461   
        }
 6441   7462   
    }
 6442         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
        7463  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
 6443   7464   
    /* RustType.kt:534 */
 6444   7465   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6445   7466   
    /* ServerBuilderGenerator.kt:211 */
 6446   7467   
    pub struct Builder {
 6447   7468   
        /* ServerBuilderGenerator.kt:308 */
 6448         -
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
        7469  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        7470  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) short: ::std::option::Option<i16>,
        7471  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) integer: ::std::option::Option<i32>,
        7472  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) long: ::std::option::Option<i64>,
        7473  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
        7474  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) double: ::std::option::Option<f64>,
        7475  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) boolean: ::std::option::Option<bool>,
 6449   7476   
        /* ServerBuilderGenerator.kt:308 */
 6450         -
        pub(crate) data: ::std::option::Option<::aws_smithy_types::Blob>,
        7477  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 6451   7478   
        /* ServerBuilderGenerator.kt:211 */
 6452   7479   
    }
 6453   7480   
    /* ServerBuilderGenerator.kt:215 */
 6454   7481   
    impl Builder {
 6455   7482   
        /* ServerBuilderGenerator.kt:331 */
 6456   7483   
        #[allow(missing_docs)] // documentation missing in model
 6457   7484   
                               /* ServerBuilderGenerator.kt:343 */
 6458         -
        pub fn content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7485  +
        pub fn string(mut self, input: ::std::string::String) -> Self {
 6459   7486   
            /* ServerBuilderGenerator.kt:344 */
 6460         -
            self.content_type =
 6461         -
                /* ServerBuilderGenerator.kt:376 */input
        7487  +
            self.string =
        7488  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7489  +
                    /* ServerBuilderGenerator.kt:376 */input
        7490  +
                /* ServerBuilderGenerator.kt:345 */)
 6462   7491   
            /* ServerBuilderGenerator.kt:344 */;
 6463   7492   
            self
 6464   7493   
            /* ServerBuilderGenerator.kt:343 */
 6465   7494   
        }
 6466   7495   
        /* ServerBuilderGenerator.kt:426 */
 6467   7496   
        #[allow(missing_docs)] // documentation missing in model
 6468   7497   
                               /* ServerBuilderGenerator.kt:428 */
 6469         -
        pub(crate) fn set_content_type(
        7498  +
        pub(crate) fn set_string(
 6470   7499   
            mut self,
 6471         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7500  +
            input: impl ::std::convert::Into<::std::string::String>,
 6472   7501   
        ) -> Self {
 6473   7502   
            /* ServerBuilderGenerator.kt:429 */
 6474         -
            self.content_type = input.map(|v| v.into());
        7503  +
            self.string = Some(input.into());
 6475   7504   
            self
 6476   7505   
            /* ServerBuilderGenerator.kt:428 */
 6477   7506   
        }
 6478   7507   
        /* ServerBuilderGenerator.kt:331 */
 6479   7508   
        #[allow(missing_docs)] // documentation missing in model
 6480   7509   
                               /* ServerBuilderGenerator.kt:343 */
 6481         -
        pub fn data(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        7510  +
        pub fn short(mut self, input: i16) -> Self {
 6482   7511   
            /* ServerBuilderGenerator.kt:344 */
 6483         -
            self.data =
 6484         -
                /* ServerBuilderGenerator.kt:376 */input
        7512  +
            self.short =
        7513  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7514  +
                    /* ServerBuilderGenerator.kt:376 */input
        7515  +
                /* ServerBuilderGenerator.kt:345 */)
 6485   7516   
            /* ServerBuilderGenerator.kt:344 */;
 6486   7517   
            self
 6487   7518   
            /* ServerBuilderGenerator.kt:343 */
 6488   7519   
        }
 6489   7520   
        /* ServerBuilderGenerator.kt:426 */
 6490   7521   
        #[allow(missing_docs)] // documentation missing in model
 6491   7522   
                               /* ServerBuilderGenerator.kt:428 */
 6492         -
        pub(crate) fn set_data(
 6493         -
            mut self,
 6494         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
 6495         -
        ) -> Self {
        7523  +
        pub(crate) fn set_short(mut self, input: impl ::std::convert::Into<i16>) -> Self {
 6496   7524   
            /* ServerBuilderGenerator.kt:429 */
 6497         -
            self.data = input.map(|v| v.into());
        7525  +
            self.short = Some(input.into());
 6498   7526   
            self
 6499   7527   
            /* ServerBuilderGenerator.kt:428 */
 6500   7528   
        }
 6501         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 6502         -
        /* ServerBuilderGenerator.kt:271 */
 6503         -
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
 6504         -
            self.build_enforcing_all_constraints()
        7529  +
        /* ServerBuilderGenerator.kt:331 */
        7530  +
        #[allow(missing_docs)] // documentation missing in model
        7531  +
                               /* ServerBuilderGenerator.kt:343 */
        7532  +
        pub fn integer(mut self, input: i32) -> Self {
        7533  +
            /* ServerBuilderGenerator.kt:344 */
        7534  +
            self.integer =
        7535  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7536  +
                    /* ServerBuilderGenerator.kt:376 */input
        7537  +
                /* ServerBuilderGenerator.kt:345 */)
        7538  +
            /* ServerBuilderGenerator.kt:344 */;
        7539  +
            self
        7540  +
            /* ServerBuilderGenerator.kt:343 */
 6505   7541   
        }
 6506         -
        /* ServerBuilderGenerator.kt:283 */
 6507         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadBlobInput {
 6508         -
            /* ServerBuilderGenerator.kt:542 */
 6509         -
            crate::input::TestPayloadBlobInput {
 6510         -
                /* ServerBuilderGenerator.kt:546 */
 6511         -
                content_type: self.content_type,
 6512         -
                /* ServerBuilderGenerator.kt:546 */
 6513         -
                data: self.data,
 6514         -
                /* ServerBuilderGenerator.kt:542 */
 6515         -
            }
 6516         -
            /* ServerBuilderGenerator.kt:283 */
        7542  +
        /* ServerBuilderGenerator.kt:426 */
        7543  +
        #[allow(missing_docs)] // documentation missing in model
        7544  +
                               /* ServerBuilderGenerator.kt:428 */
        7545  +
        pub(crate) fn set_integer(mut self, input: impl ::std::convert::Into<i32>) -> Self {
        7546  +
            /* ServerBuilderGenerator.kt:429 */
        7547  +
            self.integer = Some(input.into());
        7548  +
            self
        7549  +
            /* ServerBuilderGenerator.kt:428 */
 6517   7550   
        }
 6518         -
        /* ServerBuilderGenerator.kt:215 */
 6519         -
    }
 6520         -
 6521         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6522         -
}
 6523         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 6524         -
pub mod test_payload_structure_input {
 6525         -
 6526         -
    /* ServerBuilderGenerator.kt:461 */
 6527         -
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
 6528         -
        fn from(builder: Builder) -> Self {
 6529         -
            builder.build()
        7551  +
        /* ServerBuilderGenerator.kt:331 */
        7552  +
        #[allow(missing_docs)] // documentation missing in model
        7553  +
                               /* ServerBuilderGenerator.kt:343 */
        7554  +
        pub fn long(mut self, input: i64) -> Self {
        7555  +
            /* ServerBuilderGenerator.kt:344 */
        7556  +
            self.long =
        7557  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7558  +
                    /* ServerBuilderGenerator.kt:376 */input
        7559  +
                /* ServerBuilderGenerator.kt:345 */)
        7560  +
            /* ServerBuilderGenerator.kt:344 */;
        7561  +
            self
        7562  +
            /* ServerBuilderGenerator.kt:343 */
        7563  +
        }
        7564  +
        /* ServerBuilderGenerator.kt:426 */
        7565  +
        #[allow(missing_docs)] // documentation missing in model
        7566  +
                               /* ServerBuilderGenerator.kt:428 */
        7567  +
        pub(crate) fn set_long(mut self, input: impl ::std::convert::Into<i64>) -> Self {
        7568  +
            /* ServerBuilderGenerator.kt:429 */
        7569  +
            self.long = Some(input.into());
        7570  +
            self
        7571  +
            /* ServerBuilderGenerator.kt:428 */
 6530   7572   
        }
 6531         -
    }
 6532         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 6533         -
    /* RustType.kt:534 */
 6534         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6535         -
    /* ServerBuilderGenerator.kt:211 */
 6536         -
    pub struct Builder {
 6537         -
        /* ServerBuilderGenerator.kt:308 */
 6538         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
 6539         -
        /* ServerBuilderGenerator.kt:308 */
 6540         -
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
 6541         -
        /* ServerBuilderGenerator.kt:211 */
 6542         -
    }
 6543         -
    /* ServerBuilderGenerator.kt:215 */
 6544         -
    impl Builder {
 6545   7573   
        /* ServerBuilderGenerator.kt:331 */
 6546   7574   
        #[allow(missing_docs)] // documentation missing in model
 6547   7575   
                               /* ServerBuilderGenerator.kt:343 */
 6548         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7576  +
        pub fn float(mut self, input: f32) -> Self {
 6549   7577   
            /* ServerBuilderGenerator.kt:344 */
 6550         -
            self.test_id =
 6551         -
                /* ServerBuilderGenerator.kt:376 */input
        7578  +
            self.float =
        7579  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7580  +
                    /* ServerBuilderGenerator.kt:376 */input
        7581  +
                /* ServerBuilderGenerator.kt:345 */)
 6552   7582   
            /* ServerBuilderGenerator.kt:344 */;
 6553   7583   
            self
 6554   7584   
            /* ServerBuilderGenerator.kt:343 */
 6555   7585   
        }
 6556   7586   
        /* ServerBuilderGenerator.kt:426 */
 6557   7587   
        #[allow(missing_docs)] // documentation missing in model
 6558   7588   
                               /* ServerBuilderGenerator.kt:428 */
 6559         -
        pub(crate) fn set_test_id(
 6560         -
            mut self,
 6561         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 6562         -
        ) -> Self {
        7589  +
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
 6563   7590   
            /* ServerBuilderGenerator.kt:429 */
 6564         -
            self.test_id = input.map(|v| v.into());
        7591  +
            self.float = Some(input.into());
 6565   7592   
            self
 6566   7593   
            /* ServerBuilderGenerator.kt:428 */
 6567   7594   
        }
 6568   7595   
        /* ServerBuilderGenerator.kt:331 */
 6569   7596   
        #[allow(missing_docs)] // documentation missing in model
 6570   7597   
                               /* ServerBuilderGenerator.kt:343 */
 6571         -
        pub fn payload_config(
 6572         -
            mut self,
 6573         -
            input: ::std::option::Option<crate::model::PayloadConfig>,
 6574         -
        ) -> Self {
        7598  +
        pub fn double(mut self, input: f64) -> Self {
 6575   7599   
            /* ServerBuilderGenerator.kt:344 */
 6576         -
            self.payload_config =
 6577         -
                /* ServerBuilderGenerator.kt:376 */input
        7600  +
            self.double =
        7601  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7602  +
                    /* ServerBuilderGenerator.kt:376 */input
        7603  +
                /* ServerBuilderGenerator.kt:345 */)
 6578   7604   
            /* ServerBuilderGenerator.kt:344 */;
 6579   7605   
            self
 6580   7606   
            /* ServerBuilderGenerator.kt:343 */
 6581   7607   
        }
 6582   7608   
        /* ServerBuilderGenerator.kt:426 */
 6583   7609   
        #[allow(missing_docs)] // documentation missing in model
 6584   7610   
                               /* ServerBuilderGenerator.kt:428 */
 6585         -
        pub(crate) fn set_payload_config(
        7611  +
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
        7612  +
            /* ServerBuilderGenerator.kt:429 */
        7613  +
            self.double = Some(input.into());
        7614  +
            self
        7615  +
            /* ServerBuilderGenerator.kt:428 */
        7616  +
        }
        7617  +
        /// /* ServerBuilderGenerator.kt:331 */Serialized in the path as true or false.
        7618  +
        /* ServerBuilderGenerator.kt:343 */
        7619  +
        pub fn boolean(mut self, input: bool) -> Self {
        7620  +
            /* ServerBuilderGenerator.kt:344 */
        7621  +
            self.boolean =
        7622  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7623  +
                    /* ServerBuilderGenerator.kt:376 */input
        7624  +
                /* ServerBuilderGenerator.kt:345 */)
        7625  +
            /* ServerBuilderGenerator.kt:344 */;
        7626  +
            self
        7627  +
            /* ServerBuilderGenerator.kt:343 */
        7628  +
        }
        7629  +
        /// /* ServerBuilderGenerator.kt:426 */Serialized in the path as true or false.
        7630  +
        /* ServerBuilderGenerator.kt:428 */
        7631  +
        pub(crate) fn set_boolean(mut self, input: impl ::std::convert::Into<bool>) -> Self {
        7632  +
            /* ServerBuilderGenerator.kt:429 */
        7633  +
            self.boolean = Some(input.into());
        7634  +
            self
        7635  +
            /* ServerBuilderGenerator.kt:428 */
        7636  +
        }
        7637  +
        /// /* ServerBuilderGenerator.kt:331 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
        7638  +
        /* ServerBuilderGenerator.kt:343 */
        7639  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7640  +
            /* ServerBuilderGenerator.kt:344 */
        7641  +
            self.timestamp =
        7642  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7643  +
                    /* ServerBuilderGenerator.kt:376 */input
        7644  +
                /* ServerBuilderGenerator.kt:345 */)
        7645  +
            /* ServerBuilderGenerator.kt:344 */;
        7646  +
            self
        7647  +
            /* ServerBuilderGenerator.kt:343 */
        7648  +
        }
        7649  +
        /// /* ServerBuilderGenerator.kt:426 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
        7650  +
        /* ServerBuilderGenerator.kt:428 */
        7651  +
        pub(crate) fn set_timestamp(
 6586   7652   
            mut self,
 6587         -
            input: Option<impl ::std::convert::Into<crate::model::PayloadConfig>>,
        7653  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 6588   7654   
        ) -> Self {
 6589   7655   
            /* ServerBuilderGenerator.kt:429 */
 6590         -
            self.payload_config = input.map(|v| v.into());
        7656  +
            self.timestamp = Some(input.into());
 6591   7657   
            self
 6592   7658   
            /* ServerBuilderGenerator.kt:428 */
 6593   7659   
        }
 6594         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
        7660  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
        7661  +
        /// /* ServerBuilderGenerator.kt:260 */
        7662  +
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if a [`ConstraintViolation`] occurs.
        7663  +
        ///
        7664  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 6595   7665   
        /* ServerBuilderGenerator.kt:271 */
 6596         -
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
        7666  +
        pub fn build(
        7667  +
            self,
        7668  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
 6597   7669   
            self.build_enforcing_all_constraints()
 6598   7670   
        }
 6599         -
        /* ServerBuilderGenerator.kt:283 */
 6600         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadStructureInput {
 6601         -
            /* ServerBuilderGenerator.kt:542 */
 6602         -
            crate::input::TestPayloadStructureInput {
 6603         -
                /* ServerBuilderGenerator.kt:546 */
 6604         -
                test_id: self.test_id,
 6605         -
                /* ServerBuilderGenerator.kt:546 */
 6606         -
                payload_config: self.payload_config,
 6607         -
                /* ServerBuilderGenerator.kt:542 */
 6608         -
            }
 6609         -
            /* ServerBuilderGenerator.kt:283 */
        7671  +
        /* ServerBuilderGenerator.kt:283 */
        7672  +
        fn build_enforcing_all_constraints(
        7673  +
            self,
        7674  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
        7675  +
            /* ServerBuilderGenerator.kt:287 */
        7676  +
            Ok(
        7677  +
                /* ServerBuilderGenerator.kt:542 */
        7678  +
                crate::input::HttpRequestWithLabelsInput {
        7679  +
                    /* ServerBuilderGenerator.kt:546 */
        7680  +
                    string: self
        7681  +
                        .string
        7682  +
                        /* ServerBuilderGenerator.kt:569 */
        7683  +
                        .ok_or(ConstraintViolation::MissingString)?,
        7684  +
                    /* ServerBuilderGenerator.kt:546 */
        7685  +
                    short: self
        7686  +
                        .short
        7687  +
                        /* ServerBuilderGenerator.kt:569 */
        7688  +
                        .ok_or(ConstraintViolation::MissingShort)?,
        7689  +
                    /* ServerBuilderGenerator.kt:546 */
        7690  +
                    integer: self
        7691  +
                        .integer
        7692  +
                        /* ServerBuilderGenerator.kt:569 */
        7693  +
                        .ok_or(ConstraintViolation::MissingInteger)?,
        7694  +
                    /* ServerBuilderGenerator.kt:546 */
        7695  +
                    long: self
        7696  +
                        .long
        7697  +
                        /* ServerBuilderGenerator.kt:569 */
        7698  +
                        .ok_or(ConstraintViolation::MissingLong)?,
        7699  +
                    /* ServerBuilderGenerator.kt:546 */
        7700  +
                    float: self
        7701  +
                        .float
        7702  +
                        /* ServerBuilderGenerator.kt:569 */
        7703  +
                        .ok_or(ConstraintViolation::MissingFloat)?,
        7704  +
                    /* ServerBuilderGenerator.kt:546 */
        7705  +
                    double: self
        7706  +
                        .double
        7707  +
                        /* ServerBuilderGenerator.kt:569 */
        7708  +
                        .ok_or(ConstraintViolation::MissingDouble)?,
        7709  +
                    /* ServerBuilderGenerator.kt:546 */
        7710  +
                    boolean: self
        7711  +
                        .boolean
        7712  +
                        /* ServerBuilderGenerator.kt:569 */
        7713  +
                        .ok_or(ConstraintViolation::MissingBoolean)?,
        7714  +
                    /* ServerBuilderGenerator.kt:546 */
        7715  +
                    timestamp: self
        7716  +
                        .timestamp
        7717  +
                        /* ServerBuilderGenerator.kt:569 */
        7718  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        7719  +
                    /* ServerBuilderGenerator.kt:542 */
        7720  +
                }, /* ServerBuilderGenerator.kt:287 */
        7721  +
            )
        7722  +
            /* ServerBuilderGenerator.kt:283 */
        7723  +
        }
        7724  +
        /* ServerBuilderGenerator.kt:215 */
        7725  +
    }
        7726  +
        7727  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7728  +
}
        7729  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        7730  +
pub mod http_request_with_labels_and_timestamp_format_input {
        7731  +
        7732  +
    /* RustType.kt:534 */
        7733  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7734  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7735  +
    /* RustType.kt:534 */
        7736  +
    #[non_exhaustive]
        7737  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7738  +
    #[allow(clippy::enum_variant_names)]
        7739  +
    pub enum ConstraintViolation {
        7740  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7741  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7742  +
        MissingMemberEpochSeconds,
        7743  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7744  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7745  +
        MissingMemberHttpDate,
        7746  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7747  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7748  +
        MissingMemberDateTime,
        7749  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7750  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7751  +
        MissingDefaultFormat,
        7752  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7753  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7754  +
        MissingTargetEpochSeconds,
        7755  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7756  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7757  +
        MissingTargetHttpDate,
        7758  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        7759  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7760  +
        MissingTargetDateTime,
        7761  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7762  +
    }
        7763  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7764  +
    impl ::std::fmt::Display for ConstraintViolation {
        7765  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7766  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7767  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7768  +
            match self {
        7769  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7770  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7771  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7772  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7773  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7774  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7775  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        7776  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7777  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7778  +
        }
        7779  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7780  +
    }
        7781  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7782  +
    impl ::std::error::Error for ConstraintViolation {}
        7783  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7784  +
    impl ConstraintViolation {
        7785  +
        pub(crate) fn as_validation_exception_field(
        7786  +
            self,
        7787  +
            path: ::std::string::String,
        7788  +
        ) -> crate::model::ValidationExceptionField {
        7789  +
            match self {
        7790  +
            ConstraintViolation::MissingMemberEpochSeconds => crate::model::ValidationExceptionField {
        7791  +
                                                message: format!("Value at '{}/memberEpochSeconds' failed to satisfy constraint: Member must not be null", path),
        7792  +
                                                path: path + "/memberEpochSeconds",
        7793  +
                                            },
        7794  +
            ConstraintViolation::MissingMemberHttpDate => crate::model::ValidationExceptionField {
        7795  +
                                                message: format!("Value at '{}/memberHttpDate' failed to satisfy constraint: Member must not be null", path),
        7796  +
                                                path: path + "/memberHttpDate",
        7797  +
                                            },
        7798  +
            ConstraintViolation::MissingMemberDateTime => crate::model::ValidationExceptionField {
        7799  +
                                                message: format!("Value at '{}/memberDateTime' failed to satisfy constraint: Member must not be null", path),
        7800  +
                                                path: path + "/memberDateTime",
        7801  +
                                            },
        7802  +
            ConstraintViolation::MissingDefaultFormat => crate::model::ValidationExceptionField {
        7803  +
                                                message: format!("Value at '{}/defaultFormat' failed to satisfy constraint: Member must not be null", path),
        7804  +
                                                path: path + "/defaultFormat",
        7805  +
                                            },
        7806  +
            ConstraintViolation::MissingTargetEpochSeconds => crate::model::ValidationExceptionField {
        7807  +
                                                message: format!("Value at '{}/targetEpochSeconds' failed to satisfy constraint: Member must not be null", path),
        7808  +
                                                path: path + "/targetEpochSeconds",
        7809  +
                                            },
        7810  +
            ConstraintViolation::MissingTargetHttpDate => crate::model::ValidationExceptionField {
        7811  +
                                                message: format!("Value at '{}/targetHttpDate' failed to satisfy constraint: Member must not be null", path),
        7812  +
                                                path: path + "/targetHttpDate",
        7813  +
                                            },
        7814  +
            ConstraintViolation::MissingTargetDateTime => crate::model::ValidationExceptionField {
        7815  +
                                                message: format!("Value at '{}/targetDateTime' failed to satisfy constraint: Member must not be null", path),
        7816  +
                                                path: path + "/targetDateTime",
        7817  +
                                            },
        7818  +
        }
        7819  +
        }
        7820  +
    }
        7821  +
    /* ServerBuilderGenerator.kt:234 */
        7822  +
    impl ::std::convert::From<ConstraintViolation>
        7823  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7824  +
    {
        7825  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7826  +
            let first_validation_exception_field =
        7827  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7828  +
            let validation_exception = crate::error::ValidationException {
        7829  +
                message: format!(
        7830  +
                    "1 validation error detected. {}",
        7831  +
                    &first_validation_exception_field.message
        7832  +
                ),
        7833  +
                field_list: Some(vec![first_validation_exception_field]),
        7834  +
            };
        7835  +
            Self::ConstraintViolation(
        7836  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7837  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7838  +
                            )
        7839  +
        }
        7840  +
    }
        7841  +
    /* ServerBuilderGenerator.kt:244 */
        7842  +
    impl ::std::convert::From<Builder>
        7843  +
        for crate::constrained::MaybeConstrained<
        7844  +
            crate::input::HttpRequestWithLabelsAndTimestampFormatInput,
        7845  +
        >
        7846  +
    {
        7847  +
        fn from(builder: Builder) -> Self {
        7848  +
            Self::Unconstrained(builder)
 6610   7849   
        }
 6611         -
        /* ServerBuilderGenerator.kt:215 */
 6612   7850   
    }
        7851  +
    /* ServerBuilderGenerator.kt:446 */
        7852  +
    impl ::std::convert::TryFrom<Builder>
        7853  +
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
        7854  +
    {
        7855  +
        type Error = ConstraintViolation;
 6613   7856   
 6614         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6615         -
}
 6616         -
/// /* ServerBuilderGenerator.kt:171 */See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
 6617         -
pub mod test_body_structure_input {
 6618         -
 6619         -
    /* ServerBuilderGenerator.kt:461 */
 6620         -
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
 6621         -
        fn from(builder: Builder) -> Self {
        7857  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 6622   7858   
            builder.build()
 6623   7859   
        }
 6624   7860   
    }
 6625         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        7861  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 6626   7862   
    /* RustType.kt:534 */
 6627   7863   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6628   7864   
    /* ServerBuilderGenerator.kt:211 */
 6629   7865   
    pub struct Builder {
 6630   7866   
        /* ServerBuilderGenerator.kt:308 */
 6631         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        7867  +
        pub(crate) member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
 6632   7868   
        /* ServerBuilderGenerator.kt:308 */
 6633         -
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
        7869  +
        pub(crate) member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        7870  +
        /* ServerBuilderGenerator.kt:308 */
        7871  +
        pub(crate) member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
        7872  +
        /* ServerBuilderGenerator.kt:308 */
        7873  +
        pub(crate) default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
        7874  +
        /* ServerBuilderGenerator.kt:308 */
        7875  +
        pub(crate) target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        7876  +
        /* ServerBuilderGenerator.kt:308 */
        7877  +
        pub(crate) target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        7878  +
        /* ServerBuilderGenerator.kt:308 */
        7879  +
        pub(crate) target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
 6634   7880   
        /* ServerBuilderGenerator.kt:211 */
 6635   7881   
    }
 6636   7882   
    /* ServerBuilderGenerator.kt:215 */
 6637   7883   
    impl Builder {
 6638   7884   
        /* ServerBuilderGenerator.kt:331 */
 6639   7885   
        #[allow(missing_docs)] // documentation missing in model
 6640   7886   
                               /* ServerBuilderGenerator.kt:343 */
 6641         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7887  +
        pub fn member_epoch_seconds(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 6642   7888   
            /* ServerBuilderGenerator.kt:344 */
 6643         -
            self.test_id =
 6644         -
                /* ServerBuilderGenerator.kt:376 */input
        7889  +
            self.member_epoch_seconds =
        7890  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7891  +
                    /* ServerBuilderGenerator.kt:376 */input
        7892  +
                /* ServerBuilderGenerator.kt:345 */)
 6645   7893   
            /* ServerBuilderGenerator.kt:344 */;
 6646   7894   
            self
 6647   7895   
            /* ServerBuilderGenerator.kt:343 */
 6648   7896   
        }
 6649   7897   
        /* ServerBuilderGenerator.kt:426 */
 6650   7898   
        #[allow(missing_docs)] // documentation missing in model
 6651   7899   
                               /* ServerBuilderGenerator.kt:428 */
 6652         -
        pub(crate) fn set_test_id(
        7900  +
        pub(crate) fn set_member_epoch_seconds(
 6653   7901   
            mut self,
 6654         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7902  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 6655   7903   
        ) -> Self {
 6656   7904   
            /* ServerBuilderGenerator.kt:429 */
 6657         -
            self.test_id = input.map(|v| v.into());
        7905  +
            self.member_epoch_seconds = Some(input.into());
 6658   7906   
            self
 6659   7907   
            /* ServerBuilderGenerator.kt:428 */
 6660   7908   
        }
 6661   7909   
        /* ServerBuilderGenerator.kt:331 */
 6662   7910   
        #[allow(missing_docs)] // documentation missing in model
 6663   7911   
                               /* ServerBuilderGenerator.kt:343 */
 6664         -
        pub fn test_config(
 6665         -
            mut self,
 6666         -
            input: ::std::option::Option<crate::model::TestConfig>,
 6667         -
        ) -> Self {
        7912  +
        pub fn member_http_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 6668   7913   
            /* ServerBuilderGenerator.kt:344 */
 6669         -
            self.test_config =
 6670         -
                /* ServerBuilderGenerator.kt:376 */input
        7914  +
            self.member_http_date =
        7915  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7916  +
                    /* ServerBuilderGenerator.kt:376 */input
        7917  +
                /* ServerBuilderGenerator.kt:345 */)
 6671   7918   
            /* ServerBuilderGenerator.kt:344 */;
 6672   7919   
            self
 6673   7920   
            /* ServerBuilderGenerator.kt:343 */
 6674   7921   
        }
 6675   7922   
        /* ServerBuilderGenerator.kt:426 */
 6676   7923   
        #[allow(missing_docs)] // documentation missing in model
 6677   7924   
                               /* ServerBuilderGenerator.kt:428 */
 6678         -
        pub(crate) fn set_test_config(
        7925  +
        pub(crate) fn set_member_http_date(
 6679   7926   
            mut self,
 6680         -
            input: Option<impl ::std::convert::Into<crate::model::TestConfig>>,
        7927  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 6681   7928   
        ) -> Self {
 6682   7929   
            /* ServerBuilderGenerator.kt:429 */
 6683         -
            self.test_config = input.map(|v| v.into());
        7930  +
            self.member_http_date = Some(input.into());
 6684   7931   
            self
 6685   7932   
            /* ServerBuilderGenerator.kt:428 */
 6686   7933   
        }
 6687         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
 6688         -
        /* ServerBuilderGenerator.kt:271 */
 6689         -
        pub fn build(self) -> crate::input::TestBodyStructureInput {
 6690         -
            self.build_enforcing_all_constraints()
 6691         -
        }
 6692         -
        /* ServerBuilderGenerator.kt:283 */
 6693         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestBodyStructureInput {
 6694         -
            /* ServerBuilderGenerator.kt:542 */
 6695         -
            crate::input::TestBodyStructureInput {
 6696         -
                /* ServerBuilderGenerator.kt:546 */
 6697         -
                test_id: self.test_id,
 6698         -
                /* ServerBuilderGenerator.kt:546 */
 6699         -
                test_config: self.test_config,
 6700         -
                /* ServerBuilderGenerator.kt:542 */
 6701         -
            }
 6702         -
            /* ServerBuilderGenerator.kt:283 */
 6703         -
        }
 6704         -
        /* ServerBuilderGenerator.kt:215 */
 6705         -
    }
 6706         -
 6707         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6708         -
}
 6709         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 6710         -
pub mod malformed_accept_with_generic_string_input {
 6711         -
 6712         -
    /* ServerBuilderGenerator.kt:461 */
 6713         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
 6714         -
        fn from(builder: Builder) -> Self {
 6715         -
            builder.build()
 6716         -
        }
 6717         -
    }
 6718         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 6719         -
    /* RustType.kt:534 */
 6720         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6721         -
    /* ServerBuilderGenerator.kt:211 */
 6722         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6723         -
    /* ServerBuilderGenerator.kt:215 */
 6724         -
    impl Builder {
 6725         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 6726         -
        /* ServerBuilderGenerator.kt:271 */
 6727         -
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
 6728         -
            self.build_enforcing_all_constraints()
 6729         -
        }
 6730         -
        /* ServerBuilderGenerator.kt:283 */
 6731         -
        fn build_enforcing_all_constraints(
 6732         -
            self,
 6733         -
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
 6734         -
            /* ServerBuilderGenerator.kt:542 */
 6735         -
            crate::input::MalformedAcceptWithGenericStringInput {
 6736         -
            /* ServerBuilderGenerator.kt:542 */}
 6737         -
            /* ServerBuilderGenerator.kt:283 */
 6738         -
        }
 6739         -
        /* ServerBuilderGenerator.kt:215 */
 6740         -
    }
 6741         -
 6742         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6743         -
}
 6744         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 6745         -
pub mod malformed_accept_with_payload_input {
 6746         -
 6747         -
    /* ServerBuilderGenerator.kt:461 */
 6748         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
 6749         -
        fn from(builder: Builder) -> Self {
 6750         -
            builder.build()
 6751         -
        }
 6752         -
    }
 6753         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 6754         -
    /* RustType.kt:534 */
 6755         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6756         -
    /* ServerBuilderGenerator.kt:211 */
 6757         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6758         -
    /* ServerBuilderGenerator.kt:215 */
 6759         -
    impl Builder {
 6760         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 6761         -
        /* ServerBuilderGenerator.kt:271 */
 6762         -
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
 6763         -
            self.build_enforcing_all_constraints()
 6764         -
        }
 6765         -
        /* ServerBuilderGenerator.kt:283 */
 6766         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithPayloadInput {
 6767         -
            /* ServerBuilderGenerator.kt:542 */
 6768         -
            crate::input::MalformedAcceptWithPayloadInput {
 6769         -
            /* ServerBuilderGenerator.kt:542 */}
 6770         -
            /* ServerBuilderGenerator.kt:283 */
 6771         -
        }
 6772         -
        /* ServerBuilderGenerator.kt:215 */
 6773         -
    }
 6774         -
 6775         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6776         -
}
 6777         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 6778         -
pub mod malformed_accept_with_body_input {
 6779         -
 6780         -
    /* ServerBuilderGenerator.kt:461 */
 6781         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
 6782         -
        fn from(builder: Builder) -> Self {
 6783         -
            builder.build()
 6784         -
        }
 6785         -
    }
 6786         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 6787         -
    /* RustType.kt:534 */
 6788         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6789         -
    /* ServerBuilderGenerator.kt:211 */
 6790         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 6791         -
    /* ServerBuilderGenerator.kt:215 */
 6792         -
    impl Builder {
 6793         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 6794         -
        /* ServerBuilderGenerator.kt:271 */
 6795         -
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
 6796         -
            self.build_enforcing_all_constraints()
 6797         -
        }
 6798         -
        /* ServerBuilderGenerator.kt:283 */
 6799         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithBodyInput {
 6800         -
            /* ServerBuilderGenerator.kt:542 */
 6801         -
            crate::input::MalformedAcceptWithBodyInput {
 6802         -
            /* ServerBuilderGenerator.kt:542 */}
 6803         -
            /* ServerBuilderGenerator.kt:283 */
 6804         -
        }
 6805         -
        /* ServerBuilderGenerator.kt:215 */
 6806         -
    }
 6807         -
 6808         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6809         -
}
 6810         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 6811         -
pub mod malformed_content_type_with_generic_string_input {
 6812         -
 6813         -
    /* ServerBuilderGenerator.kt:461 */
 6814         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
 6815         -
        fn from(builder: Builder) -> Self {
 6816         -
            builder.build()
        7934  +
        /* ServerBuilderGenerator.kt:331 */
        7935  +
        #[allow(missing_docs)] // documentation missing in model
        7936  +
                               /* ServerBuilderGenerator.kt:343 */
        7937  +
        pub fn member_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7938  +
            /* ServerBuilderGenerator.kt:344 */
        7939  +
            self.member_date_time =
        7940  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7941  +
                    /* ServerBuilderGenerator.kt:376 */input
        7942  +
                /* ServerBuilderGenerator.kt:345 */)
        7943  +
            /* ServerBuilderGenerator.kt:344 */;
        7944  +
            self
        7945  +
            /* ServerBuilderGenerator.kt:343 */
        7946  +
        }
        7947  +
        /* ServerBuilderGenerator.kt:426 */
        7948  +
        #[allow(missing_docs)] // documentation missing in model
        7949  +
                               /* ServerBuilderGenerator.kt:428 */
        7950  +
        pub(crate) fn set_member_date_time(
        7951  +
            mut self,
        7952  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7953  +
        ) -> Self {
        7954  +
            /* ServerBuilderGenerator.kt:429 */
        7955  +
            self.member_date_time = Some(input.into());
        7956  +
            self
        7957  +
            /* ServerBuilderGenerator.kt:428 */
 6817   7958   
        }
 6818         -
    }
 6819         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 6820         -
    /* RustType.kt:534 */
 6821         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6822         -
    /* ServerBuilderGenerator.kt:211 */
 6823         -
    pub struct Builder {
 6824         -
        /* ServerBuilderGenerator.kt:308 */
 6825         -
        pub(crate) payload: ::std::option::Option<::std::string::String>,
 6826         -
        /* ServerBuilderGenerator.kt:211 */
 6827         -
    }
 6828         -
    /* ServerBuilderGenerator.kt:215 */
 6829         -
    impl Builder {
 6830   7959   
        /* ServerBuilderGenerator.kt:331 */
 6831   7960   
        #[allow(missing_docs)] // documentation missing in model
 6832   7961   
                               /* ServerBuilderGenerator.kt:343 */
 6833         -
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7962  +
        pub fn default_format(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 6834   7963   
            /* ServerBuilderGenerator.kt:344 */
 6835         -
            self.payload =
 6836         -
                /* ServerBuilderGenerator.kt:376 */input
        7964  +
            self.default_format =
        7965  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7966  +
                    /* ServerBuilderGenerator.kt:376 */input
        7967  +
                /* ServerBuilderGenerator.kt:345 */)
 6837   7968   
            /* ServerBuilderGenerator.kt:344 */;
 6838   7969   
            self
 6839   7970   
            /* ServerBuilderGenerator.kt:343 */
 6840   7971   
        }
 6841   7972   
        /* ServerBuilderGenerator.kt:426 */
 6842   7973   
        #[allow(missing_docs)] // documentation missing in model
 6843   7974   
                               /* ServerBuilderGenerator.kt:428 */
 6844         -
        pub(crate) fn set_payload(
        7975  +
        pub(crate) fn set_default_format(
 6845   7976   
            mut self,
 6846         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7977  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 6847   7978   
        ) -> Self {
 6848   7979   
            /* ServerBuilderGenerator.kt:429 */
 6849         -
            self.payload = input.map(|v| v.into());
        7980  +
            self.default_format = Some(input.into());
 6850   7981   
            self
 6851   7982   
            /* ServerBuilderGenerator.kt:428 */
 6852   7983   
        }
 6853         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 6854         -
        /* ServerBuilderGenerator.kt:271 */
 6855         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
 6856         -
            self.build_enforcing_all_constraints()
 6857         -
        }
 6858         -
        /* ServerBuilderGenerator.kt:283 */
 6859         -
        fn build_enforcing_all_constraints(
 6860         -
            self,
 6861         -
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
 6862         -
            /* ServerBuilderGenerator.kt:542 */
 6863         -
            crate::input::MalformedContentTypeWithGenericStringInput {
 6864         -
                /* ServerBuilderGenerator.kt:546 */
 6865         -
                payload: self.payload,
 6866         -
                /* ServerBuilderGenerator.kt:542 */
 6867         -
            }
 6868         -
            /* ServerBuilderGenerator.kt:283 */
 6869         -
        }
 6870         -
        /* ServerBuilderGenerator.kt:215 */
 6871         -
    }
 6872         -
 6873         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6874         -
}
 6875         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 6876         -
pub mod malformed_content_type_with_payload_input {
 6877         -
 6878         -
    /* ServerBuilderGenerator.kt:461 */
 6879         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
 6880         -
        fn from(builder: Builder) -> Self {
 6881         -
            builder.build()
 6882         -
        }
 6883         -
    }
 6884         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 6885         -
    /* RustType.kt:534 */
 6886         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6887         -
    /* ServerBuilderGenerator.kt:211 */
 6888         -
    pub struct Builder {
 6889         -
        /* ServerBuilderGenerator.kt:308 */
 6890         -
        pub(crate) payload: ::std::option::Option<::aws_smithy_types::Blob>,
 6891         -
        /* ServerBuilderGenerator.kt:211 */
 6892         -
    }
 6893         -
    /* ServerBuilderGenerator.kt:215 */
 6894         -
    impl Builder {
 6895   7984   
        /* ServerBuilderGenerator.kt:331 */
 6896   7985   
        #[allow(missing_docs)] // documentation missing in model
 6897   7986   
                               /* ServerBuilderGenerator.kt:343 */
 6898         -
        pub fn payload(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        7987  +
        pub fn target_epoch_seconds(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 6899   7988   
            /* ServerBuilderGenerator.kt:344 */
 6900         -
            self.payload =
 6901         -
                /* ServerBuilderGenerator.kt:376 */input
        7989  +
            self.target_epoch_seconds =
        7990  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7991  +
                    /* ServerBuilderGenerator.kt:376 */input
        7992  +
                /* ServerBuilderGenerator.kt:345 */)
 6902   7993   
            /* ServerBuilderGenerator.kt:344 */;
 6903   7994   
            self
 6904   7995   
            /* ServerBuilderGenerator.kt:343 */
 6905   7996   
        }
 6906   7997   
        /* ServerBuilderGenerator.kt:426 */
 6907   7998   
        #[allow(missing_docs)] // documentation missing in model
 6908   7999   
                               /* ServerBuilderGenerator.kt:428 */
 6909         -
        pub(crate) fn set_payload(
        8000  +
        pub(crate) fn set_target_epoch_seconds(
 6910   8001   
            mut self,
 6911         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
        8002  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 6912   8003   
        ) -> Self {
 6913   8004   
            /* ServerBuilderGenerator.kt:429 */
 6914         -
            self.payload = input.map(|v| v.into());
        8005  +
            self.target_epoch_seconds = Some(input.into());
 6915   8006   
            self
 6916   8007   
            /* ServerBuilderGenerator.kt:428 */
 6917   8008   
        }
 6918         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 6919         -
        /* ServerBuilderGenerator.kt:271 */
 6920         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
 6921         -
            self.build_enforcing_all_constraints()
 6922         -
        }
 6923         -
        /* ServerBuilderGenerator.kt:283 */
 6924         -
        fn build_enforcing_all_constraints(
 6925         -
            self,
 6926         -
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
 6927         -
            /* ServerBuilderGenerator.kt:542 */
 6928         -
            crate::input::MalformedContentTypeWithPayloadInput {
 6929         -
                /* ServerBuilderGenerator.kt:546 */
 6930         -
                payload: self.payload,
 6931         -
                /* ServerBuilderGenerator.kt:542 */
 6932         -
            }
 6933         -
            /* ServerBuilderGenerator.kt:283 */
 6934         -
        }
 6935         -
        /* ServerBuilderGenerator.kt:215 */
 6936         -
    }
 6937         -
 6938         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 6939         -
}
 6940         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 6941         -
pub mod malformed_content_type_with_body_input {
 6942         -
 6943         -
    /* ServerBuilderGenerator.kt:461 */
 6944         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
 6945         -
        fn from(builder: Builder) -> Self {
 6946         -
            builder.build()
 6947         -
        }
 6948         -
    }
 6949         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 6950         -
    /* RustType.kt:534 */
 6951         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6952         -
    /* ServerBuilderGenerator.kt:211 */
 6953         -
    pub struct Builder {
 6954         -
        /* ServerBuilderGenerator.kt:308 */
 6955         -
        pub(crate) hi: ::std::option::Option<::std::string::String>,
 6956         -
        /* ServerBuilderGenerator.kt:211 */
 6957         -
    }
 6958         -
    /* ServerBuilderGenerator.kt:215 */
 6959         -
    impl Builder {
 6960   8009   
        /* ServerBuilderGenerator.kt:331 */
 6961   8010   
        #[allow(missing_docs)] // documentation missing in model
 6962   8011   
                               /* ServerBuilderGenerator.kt:343 */
 6963         -
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8012  +
        pub fn target_http_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 6964   8013   
            /* ServerBuilderGenerator.kt:344 */
 6965         -
            self.hi =
 6966         -
                /* ServerBuilderGenerator.kt:376 */input
        8014  +
            self.target_http_date =
        8015  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8016  +
                    /* ServerBuilderGenerator.kt:376 */input
        8017  +
                /* ServerBuilderGenerator.kt:345 */)
 6967   8018   
            /* ServerBuilderGenerator.kt:344 */;
 6968   8019   
            self
 6969   8020   
            /* ServerBuilderGenerator.kt:343 */
 6970   8021   
        }
 6971   8022   
        /* ServerBuilderGenerator.kt:426 */
 6972   8023   
        #[allow(missing_docs)] // documentation missing in model
 6973   8024   
                               /* ServerBuilderGenerator.kt:428 */
 6974         -
        pub(crate) fn set_hi(
        8025  +
        pub(crate) fn set_target_http_date(
 6975   8026   
            mut self,
 6976         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8027  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 6977   8028   
        ) -> Self {
 6978   8029   
            /* ServerBuilderGenerator.kt:429 */
 6979         -
            self.hi = input.map(|v| v.into());
        8030  +
            self.target_http_date = Some(input.into());
 6980   8031   
            self
 6981   8032   
            /* ServerBuilderGenerator.kt:428 */
 6982   8033   
        }
 6983         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 6984         -
        /* ServerBuilderGenerator.kt:271 */
 6985         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
 6986         -
            self.build_enforcing_all_constraints()
 6987         -
        }
 6988         -
        /* ServerBuilderGenerator.kt:283 */
 6989         -
        fn build_enforcing_all_constraints(
 6990         -
            self,
 6991         -
        ) -> crate::input::MalformedContentTypeWithBodyInput {
 6992         -
            /* ServerBuilderGenerator.kt:542 */
 6993         -
            crate::input::MalformedContentTypeWithBodyInput {
 6994         -
                /* ServerBuilderGenerator.kt:546 */
 6995         -
                hi: self.hi,
 6996         -
                /* ServerBuilderGenerator.kt:542 */
 6997         -
            }
 6998         -
            /* ServerBuilderGenerator.kt:283 */
 6999         -
        }
 7000         -
        /* ServerBuilderGenerator.kt:215 */
 7001         -
    }
 7002         -
 7003         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7004         -
}
 7005         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 7006         -
pub mod malformed_content_type_without_body_empty_input_input {
 7007         -
 7008         -
    /* ServerBuilderGenerator.kt:461 */
 7009         -
    impl ::std::convert::From<Builder>
 7010         -
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
 7011         -
    {
 7012         -
        fn from(builder: Builder) -> Self {
 7013         -
            builder.build()
 7014         -
        }
 7015         -
    }
 7016         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 7017         -
    /* RustType.kt:534 */
 7018         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7019         -
    /* ServerBuilderGenerator.kt:211 */
 7020         -
    pub struct Builder {
 7021         -
        /* ServerBuilderGenerator.kt:308 */
 7022         -
        pub(crate) header: ::std::option::Option<::std::string::String>,
 7023         -
        /* ServerBuilderGenerator.kt:211 */
 7024         -
    }
 7025         -
    /* ServerBuilderGenerator.kt:215 */
 7026         -
    impl Builder {
 7027   8034   
        /* ServerBuilderGenerator.kt:331 */
 7028   8035   
        #[allow(missing_docs)] // documentation missing in model
 7029   8036   
                               /* ServerBuilderGenerator.kt:343 */
 7030         -
        pub fn header(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8037  +
        pub fn target_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 7031   8038   
            /* ServerBuilderGenerator.kt:344 */
 7032         -
            self.header =
 7033         -
                /* ServerBuilderGenerator.kt:376 */input
        8039  +
            self.target_date_time =
        8040  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8041  +
                    /* ServerBuilderGenerator.kt:376 */input
        8042  +
                /* ServerBuilderGenerator.kt:345 */)
 7034   8043   
            /* ServerBuilderGenerator.kt:344 */;
 7035   8044   
            self
 7036   8045   
            /* ServerBuilderGenerator.kt:343 */
 7037   8046   
        }
 7038   8047   
        /* ServerBuilderGenerator.kt:426 */
 7039   8048   
        #[allow(missing_docs)] // documentation missing in model
 7040   8049   
                               /* ServerBuilderGenerator.kt:428 */
 7041         -
        pub(crate) fn set_header(
        8050  +
        pub(crate) fn set_target_date_time(
 7042   8051   
            mut self,
 7043         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8052  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 7044   8053   
        ) -> Self {
 7045   8054   
            /* ServerBuilderGenerator.kt:429 */
 7046         -
            self.header = input.map(|v| v.into());
        8055  +
            self.target_date_time = Some(input.into());
 7047   8056   
            self
 7048   8057   
            /* ServerBuilderGenerator.kt:428 */
 7049   8058   
        }
 7050         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
        8059  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        8060  +
        /// /* ServerBuilderGenerator.kt:260 */
        8061  +
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if a [`ConstraintViolation`] occurs.
        8062  +
        ///
        8063  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 7051   8064   
        /* ServerBuilderGenerator.kt:271 */
 7052         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 7053         -
            self.build_enforcing_all_constraints()
 7054         -
        }
 7055         -
        /* ServerBuilderGenerator.kt:283 */
 7056         -
        fn build_enforcing_all_constraints(
        8065  +
        pub fn build(
 7057   8066   
            self,
 7058         -
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 7059         -
            /* ServerBuilderGenerator.kt:542 */
 7060         -
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 7061         -
                /* ServerBuilderGenerator.kt:546 */
 7062         -
                header: self.header,
 7063         -
                /* ServerBuilderGenerator.kt:542 */
 7064         -
            }
 7065         -
            /* ServerBuilderGenerator.kt:283 */
 7066         -
        }
 7067         -
        /* ServerBuilderGenerator.kt:215 */
 7068         -
    }
 7069         -
 7070         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7071         -
}
 7072         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 7073         -
pub mod malformed_content_type_without_body_input {
 7074         -
 7075         -
    /* ServerBuilderGenerator.kt:461 */
 7076         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
 7077         -
        fn from(builder: Builder) -> Self {
 7078         -
            builder.build()
 7079         -
        }
 7080         -
    }
 7081         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 7082         -
    /* RustType.kt:534 */
 7083         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7084         -
    /* ServerBuilderGenerator.kt:211 */
 7085         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
 7086         -
    /* ServerBuilderGenerator.kt:215 */
 7087         -
    impl Builder {
 7088         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 7089         -
        /* ServerBuilderGenerator.kt:271 */
 7090         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
        8067  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
        8068  +
        {
 7091   8069   
            self.build_enforcing_all_constraints()
 7092   8070   
        }
 7093   8071   
        /* ServerBuilderGenerator.kt:283 */
 7094   8072   
        fn build_enforcing_all_constraints(
 7095   8073   
            self,
 7096         -
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
 7097         -
            /* ServerBuilderGenerator.kt:542 */
 7098         -
            crate::input::MalformedContentTypeWithoutBodyInput {
 7099         -
            /* ServerBuilderGenerator.kt:542 */}
        8074  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
        8075  +
        {
        8076  +
            /* ServerBuilderGenerator.kt:287 */
        8077  +
            Ok(
        8078  +
                /* ServerBuilderGenerator.kt:542 */
        8079  +
                crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
        8080  +
                    /* ServerBuilderGenerator.kt:546 */
        8081  +
                    member_epoch_seconds: self
        8082  +
                        .member_epoch_seconds
        8083  +
                        /* ServerBuilderGenerator.kt:569 */
        8084  +
                        .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
        8085  +
                    /* ServerBuilderGenerator.kt:546 */
        8086  +
                    member_http_date: self
        8087  +
                        .member_http_date
        8088  +
                        /* ServerBuilderGenerator.kt:569 */
        8089  +
                        .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
        8090  +
                    /* ServerBuilderGenerator.kt:546 */
        8091  +
                    member_date_time: self
        8092  +
                        .member_date_time
        8093  +
                        /* ServerBuilderGenerator.kt:569 */
        8094  +
                        .ok_or(ConstraintViolation::MissingMemberDateTime)?,
        8095  +
                    /* ServerBuilderGenerator.kt:546 */
        8096  +
                    default_format: self
        8097  +
                        .default_format
        8098  +
                        /* ServerBuilderGenerator.kt:569 */
        8099  +
                        .ok_or(ConstraintViolation::MissingDefaultFormat)?,
        8100  +
                    /* ServerBuilderGenerator.kt:546 */
        8101  +
                    target_epoch_seconds: self
        8102  +
                        .target_epoch_seconds
        8103  +
                        /* ServerBuilderGenerator.kt:569 */
        8104  +
                        .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
        8105  +
                    /* ServerBuilderGenerator.kt:546 */
        8106  +
                    target_http_date: self
        8107  +
                        .target_http_date
        8108  +
                        /* ServerBuilderGenerator.kt:569 */
        8109  +
                        .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
        8110  +
                    /* ServerBuilderGenerator.kt:546 */
        8111  +
                    target_date_time: self
        8112  +
                        .target_date_time
        8113  +
                        /* ServerBuilderGenerator.kt:569 */
        8114  +
                        .ok_or(ConstraintViolation::MissingTargetDateTime)?,
        8115  +
                    /* ServerBuilderGenerator.kt:542 */
        8116  +
                }, /* ServerBuilderGenerator.kt:287 */
        8117  +
            )
 7100   8118   
            /* ServerBuilderGenerator.kt:283 */
 7101   8119   
        }
 7102   8120   
        /* ServerBuilderGenerator.kt:215 */
 7103   8121   
    }
 7104   8122   
 7105   8123   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7106   8124   
}
 7107         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 7108         -
pub mod malformed_timestamp_body_http_date_input {
        8125  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
        8126  +
pub mod http_request_with_greedy_label_in_path_input {
 7109   8127   
 7110   8128   
    /* RustType.kt:534 */
 7111   8129   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7112   8130   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 7113   8131   
    /* RustType.kt:534 */
 7114   8132   
    #[non_exhaustive]
 7115   8133   
    /* ServerBuilderConstraintViolations.kt:75 */
 7116   8134   
    #[allow(clippy::enum_variant_names)]
 7117   8135   
    pub enum ConstraintViolation {
 7118         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
        8136  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
 7119   8137   
        /* ServerBuilderConstraintViolations.kt:144 */
 7120         -
        MissingTimestamp,
        8138  +
        MissingFoo,
        8139  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
        8140  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8141  +
        MissingBaz,
 7121   8142   
        /* ServerBuilderConstraintViolations.kt:75 */
 7122   8143   
    }
 7123   8144   
    /* ServerBuilderConstraintViolations.kt:116 */
 7124   8145   
    impl ::std::fmt::Display for ConstraintViolation {
 7125   8146   
        /* ServerBuilderConstraintViolations.kt:117 */
 7126   8147   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7127   8148   
            /* ServerBuilderConstraintViolations.kt:118 */
 7128   8149   
            match self {
 7129         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
        8150  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
        8151  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
 7130   8152   
            /* ServerBuilderConstraintViolations.kt:118 */}
 7131   8153   
            /* ServerBuilderConstraintViolations.kt:117 */
 7132   8154   
        }
 7133   8155   
        /* ServerBuilderConstraintViolations.kt:116 */
 7134   8156   
    }
 7135   8157   
    /* ServerBuilderConstraintViolations.kt:83 */
 7136   8158   
    impl ::std::error::Error for ConstraintViolation {}
 7137   8159   
    /* ServerBuilderConstraintViolations.kt:172 */
 7138   8160   
    impl ConstraintViolation {
 7139   8161   
        pub(crate) fn as_validation_exception_field(
 7140   8162   
            self,
 7141   8163   
            path: ::std::string::String,
 7142   8164   
        ) -> crate::model::ValidationExceptionField {
 7143   8165   
            match self {
 7144         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 7145         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 7146         -
                                                path: path + "/timestamp",
 7147         -
                                            },
 7148         -
        }
        8166  +
                ConstraintViolation::MissingFoo => crate::model::ValidationExceptionField {
        8167  +
                    message: format!(
        8168  +
                        "Value at '{}/foo' failed to satisfy constraint: Member must not be null",
        8169  +
                        path
        8170  +
                    ),
        8171  +
                    path: path + "/foo",
        8172  +
                },
        8173  +
                ConstraintViolation::MissingBaz => crate::model::ValidationExceptionField {
        8174  +
                    message: format!(
        8175  +
                        "Value at '{}/baz' failed to satisfy constraint: Member must not be null",
        8176  +
                        path
        8177  +
                    ),
        8178  +
                    path: path + "/baz",
        8179  +
                },
        8180  +
            }
 7149   8181   
        }
 7150   8182   
    }
 7151   8183   
    /* ServerBuilderGenerator.kt:234 */
 7152   8184   
    impl ::std::convert::From<ConstraintViolation>
 7153   8185   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7154   8186   
    {
 7155   8187   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7156   8188   
            let first_validation_exception_field =
 7157   8189   
                constraint_violation.as_validation_exception_field("".to_owned());
 7158   8190   
            let validation_exception = crate::error::ValidationException {
 7159   8191   
                message: format!(
 7160   8192   
                    "1 validation error detected. {}",
 7161   8193   
                    &first_validation_exception_field.message
 7162   8194   
                ),
 7163   8195   
                field_list: Some(vec![first_validation_exception_field]),
 7164   8196   
            };
 7165   8197   
            Self::ConstraintViolation(
 7166   8198   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7167   8199   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7168   8200   
                            )
 7169   8201   
        }
 7170   8202   
    }
 7171   8203   
    /* ServerBuilderGenerator.kt:244 */
 7172   8204   
    impl ::std::convert::From<Builder>
 7173         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyHttpDateInput>
        8205  +
        for crate::constrained::MaybeConstrained<
        8206  +
            crate::input::HttpRequestWithGreedyLabelInPathInput,
        8207  +
        >
 7174   8208   
    {
 7175   8209   
        fn from(builder: Builder) -> Self {
 7176   8210   
            Self::Unconstrained(builder)
 7177   8211   
        }
 7178   8212   
    }
 7179   8213   
    /* ServerBuilderGenerator.kt:446 */
 7180         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
        8214  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
 7181   8215   
        type Error = ConstraintViolation;
 7182   8216   
 7183   8217   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7184   8218   
            builder.build()
 7185   8219   
        }
 7186   8220   
    }
 7187         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        8221  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
 7188   8222   
    /* RustType.kt:534 */
 7189   8223   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7190   8224   
    /* ServerBuilderGenerator.kt:211 */
 7191   8225   
    pub struct Builder {
 7192   8226   
        /* ServerBuilderGenerator.kt:308 */
 7193         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8227  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
        8228  +
        /* ServerBuilderGenerator.kt:308 */
        8229  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
 7194   8230   
        /* ServerBuilderGenerator.kt:211 */
 7195   8231   
    }
 7196   8232   
    /* ServerBuilderGenerator.kt:215 */
 7197   8233   
    impl Builder {
 7198   8234   
        /* ServerBuilderGenerator.kt:331 */
 7199   8235   
        #[allow(missing_docs)] // documentation missing in model
 7200   8236   
                               /* ServerBuilderGenerator.kt:343 */
 7201         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8237  +
        pub fn foo(mut self, input: ::std::string::String) -> Self {
 7202   8238   
            /* ServerBuilderGenerator.kt:344 */
 7203         -
            self.timestamp =
        8239  +
            self.foo =
 7204   8240   
                /* ServerBuilderGenerator.kt:345 */Some(
 7205   8241   
                    /* ServerBuilderGenerator.kt:376 */input
 7206   8242   
                /* ServerBuilderGenerator.kt:345 */)
 7207   8243   
            /* ServerBuilderGenerator.kt:344 */;
 7208   8244   
            self
 7209   8245   
            /* ServerBuilderGenerator.kt:343 */
 7210   8246   
        }
 7211   8247   
        /* ServerBuilderGenerator.kt:426 */
 7212   8248   
        #[allow(missing_docs)] // documentation missing in model
 7213   8249   
                               /* ServerBuilderGenerator.kt:428 */
 7214         -
        pub(crate) fn set_timestamp(
        8250  +
        pub(crate) fn set_foo(
 7215   8251   
            mut self,
 7216         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8252  +
            input: impl ::std::convert::Into<::std::string::String>,
 7217   8253   
        ) -> Self {
 7218   8254   
            /* ServerBuilderGenerator.kt:429 */
 7219         -
            self.timestamp = Some(input.into());
        8255  +
            self.foo = Some(input.into());
 7220   8256   
            self
 7221   8257   
            /* ServerBuilderGenerator.kt:428 */
 7222   8258   
        }
 7223         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        8259  +
        /* ServerBuilderGenerator.kt:331 */
        8260  +
        #[allow(missing_docs)] // documentation missing in model
        8261  +
                               /* ServerBuilderGenerator.kt:343 */
        8262  +
        pub fn baz(mut self, input: ::std::string::String) -> Self {
        8263  +
            /* ServerBuilderGenerator.kt:344 */
        8264  +
            self.baz =
        8265  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8266  +
                    /* ServerBuilderGenerator.kt:376 */input
        8267  +
                /* ServerBuilderGenerator.kt:345 */)
        8268  +
            /* ServerBuilderGenerator.kt:344 */;
        8269  +
            self
        8270  +
            /* ServerBuilderGenerator.kt:343 */
        8271  +
        }
        8272  +
        /* ServerBuilderGenerator.kt:426 */
        8273  +
        #[allow(missing_docs)] // documentation missing in model
        8274  +
                               /* ServerBuilderGenerator.kt:428 */
        8275  +
        pub(crate) fn set_baz(
        8276  +
            mut self,
        8277  +
            input: impl ::std::convert::Into<::std::string::String>,
        8278  +
        ) -> Self {
        8279  +
            /* ServerBuilderGenerator.kt:429 */
        8280  +
            self.baz = Some(input.into());
        8281  +
            self
        8282  +
            /* ServerBuilderGenerator.kt:428 */
        8283  +
        }
        8284  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
 7224   8285   
        /// /* ServerBuilderGenerator.kt:260 */
 7225         -
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if a [`ConstraintViolation`] occurs.
        8286  +
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if a [`ConstraintViolation`] occurs.
 7226   8287   
        ///
        8288  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 7227   8289   
        /* ServerBuilderGenerator.kt:271 */
 7228   8290   
        pub fn build(
 7229   8291   
            self,
 7230         -
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
        8292  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
 7231   8293   
        {
 7232   8294   
            self.build_enforcing_all_constraints()
 7233   8295   
        }
 7234   8296   
        /* ServerBuilderGenerator.kt:283 */
 7235   8297   
        fn build_enforcing_all_constraints(
 7236   8298   
            self,
 7237         -
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
        8299  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
 7238   8300   
        {
 7239   8301   
            /* ServerBuilderGenerator.kt:287 */
 7240   8302   
            Ok(
 7241   8303   
                /* ServerBuilderGenerator.kt:542 */
 7242         -
                crate::input::MalformedTimestampBodyHttpDateInput {
        8304  +
                crate::input::HttpRequestWithGreedyLabelInPathInput {
 7243   8305   
                    /* ServerBuilderGenerator.kt:546 */
 7244         -
                    timestamp: self
 7245         -
                        .timestamp
        8306  +
                    foo: self
        8307  +
                        .foo
 7246   8308   
                        /* ServerBuilderGenerator.kt:569 */
 7247         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8309  +
                        .ok_or(ConstraintViolation::MissingFoo)?,
        8310  +
                    /* ServerBuilderGenerator.kt:546 */
        8311  +
                    baz: self
        8312  +
                        .baz
        8313  +
                        /* ServerBuilderGenerator.kt:569 */
        8314  +
                        .ok_or(ConstraintViolation::MissingBaz)?,
 7248   8315   
                    /* ServerBuilderGenerator.kt:542 */
 7249   8316   
                }, /* ServerBuilderGenerator.kt:287 */
 7250   8317   
            )
 7251   8318   
            /* ServerBuilderGenerator.kt:283 */
 7252   8319   
        }
 7253   8320   
        /* ServerBuilderGenerator.kt:215 */
 7254   8321   
    }
 7255   8322   
 7256   8323   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7257   8324   
}
 7258         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 7259         -
pub mod malformed_timestamp_body_date_time_input {
        8325  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
        8326  +
pub mod http_request_with_float_labels_input {
 7260   8327   
 7261   8328   
    /* RustType.kt:534 */
 7262   8329   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7263   8330   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 7264   8331   
    /* RustType.kt:534 */
 7265   8332   
    #[non_exhaustive]
 7266   8333   
    /* ServerBuilderConstraintViolations.kt:75 */
 7267   8334   
    #[allow(clippy::enum_variant_names)]
 7268   8335   
    pub enum ConstraintViolation {
 7269         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
        8336  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
 7270   8337   
        /* ServerBuilderConstraintViolations.kt:144 */
 7271         -
        MissingTimestamp,
        8338  +
        MissingFloat,
        8339  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
        8340  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8341  +
        MissingDouble,
 7272   8342   
        /* ServerBuilderConstraintViolations.kt:75 */
 7273   8343   
    }
 7274   8344   
    /* ServerBuilderConstraintViolations.kt:116 */
 7275   8345   
    impl ::std::fmt::Display for ConstraintViolation {
 7276   8346   
        /* ServerBuilderConstraintViolations.kt:117 */
 7277   8347   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7278   8348   
            /* ServerBuilderConstraintViolations.kt:118 */
 7279   8349   
            match self {
 7280         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
        8350  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
        8351  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
 7281   8352   
            /* ServerBuilderConstraintViolations.kt:118 */}
 7282   8353   
            /* ServerBuilderConstraintViolations.kt:117 */
 7283   8354   
        }
 7284   8355   
        /* ServerBuilderConstraintViolations.kt:116 */
 7285   8356   
    }
 7286   8357   
    /* ServerBuilderConstraintViolations.kt:83 */
 7287   8358   
    impl ::std::error::Error for ConstraintViolation {}
 7288   8359   
    /* ServerBuilderConstraintViolations.kt:172 */
 7289   8360   
    impl ConstraintViolation {
 7290   8361   
        pub(crate) fn as_validation_exception_field(
 7291   8362   
            self,
 7292   8363   
            path: ::std::string::String,
 7293   8364   
        ) -> crate::model::ValidationExceptionField {
 7294   8365   
            match self {
 7295         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 7296         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 7297         -
                                                path: path + "/timestamp",
        8366  +
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
        8367  +
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
        8368  +
                                                path: path + "/float",
        8369  +
                                            },
        8370  +
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
        8371  +
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
        8372  +
                                                path: path + "/double",
 7298   8373   
                                            },
 7299   8374   
        }
 7300   8375   
        }
 7301   8376   
    }
 7302   8377   
    /* ServerBuilderGenerator.kt:234 */
 7303   8378   
    impl ::std::convert::From<ConstraintViolation>
 7304   8379   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7305   8380   
    {
 7306   8381   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7307   8382   
            let first_validation_exception_field =
 7308   8383   
                constraint_violation.as_validation_exception_field("".to_owned());
 7309   8384   
            let validation_exception = crate::error::ValidationException {
 7310   8385   
                message: format!(
 7311   8386   
                    "1 validation error detected. {}",
 7312   8387   
                    &first_validation_exception_field.message
 7313   8388   
                ),
 7314   8389   
                field_list: Some(vec![first_validation_exception_field]),
 7315   8390   
            };
 7316   8391   
            Self::ConstraintViolation(
 7317   8392   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7318   8393   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7319   8394   
                            )
 7320   8395   
        }
 7321   8396   
    }
 7322   8397   
    /* ServerBuilderGenerator.kt:244 */
 7323   8398   
    impl ::std::convert::From<Builder>
 7324         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDateTimeInput>
        8399  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithFloatLabelsInput>
 7325   8400   
    {
 7326   8401   
        fn from(builder: Builder) -> Self {
 7327   8402   
            Self::Unconstrained(builder)
 7328   8403   
        }
 7329   8404   
    }
 7330   8405   
    /* ServerBuilderGenerator.kt:446 */
 7331         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
        8406  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
 7332   8407   
        type Error = ConstraintViolation;
 7333   8408   
 7334   8409   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7335   8410   
            builder.build()
 7336   8411   
        }
 7337   8412   
    }
 7338         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        8413  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
 7339   8414   
    /* RustType.kt:534 */
 7340   8415   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7341   8416   
    /* ServerBuilderGenerator.kt:211 */
 7342   8417   
    pub struct Builder {
        8418  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
 7343   8419   
        /* ServerBuilderGenerator.kt:308 */
 7344         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8420  +
        pub(crate) double: ::std::option::Option<f64>,
 7345   8421   
        /* ServerBuilderGenerator.kt:211 */
 7346   8422   
    }
 7347   8423   
    /* ServerBuilderGenerator.kt:215 */
 7348   8424   
    impl Builder {
 7349   8425   
        /* ServerBuilderGenerator.kt:331 */
 7350   8426   
        #[allow(missing_docs)] // documentation missing in model
 7351   8427   
                               /* ServerBuilderGenerator.kt:343 */
 7352         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8428  +
        pub fn float(mut self, input: f32) -> Self {
 7353   8429   
            /* ServerBuilderGenerator.kt:344 */
 7354         -
            self.timestamp =
        8430  +
            self.float =
 7355   8431   
                /* ServerBuilderGenerator.kt:345 */Some(
 7356   8432   
                    /* ServerBuilderGenerator.kt:376 */input
 7357   8433   
                /* ServerBuilderGenerator.kt:345 */)
 7358   8434   
            /* ServerBuilderGenerator.kt:344 */;
 7359   8435   
            self
 7360   8436   
            /* ServerBuilderGenerator.kt:343 */
 7361   8437   
        }
 7362   8438   
        /* ServerBuilderGenerator.kt:426 */
 7363   8439   
        #[allow(missing_docs)] // documentation missing in model
 7364   8440   
                               /* ServerBuilderGenerator.kt:428 */
 7365         -
        pub(crate) fn set_timestamp(
 7366         -
            mut self,
 7367         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
 7368         -
        ) -> Self {
        8441  +
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
 7369   8442   
            /* ServerBuilderGenerator.kt:429 */
 7370         -
            self.timestamp = Some(input.into());
        8443  +
            self.float = Some(input.into());
 7371   8444   
            self
 7372   8445   
            /* ServerBuilderGenerator.kt:428 */
 7373   8446   
        }
 7374         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        8447  +
        /* ServerBuilderGenerator.kt:331 */
        8448  +
        #[allow(missing_docs)] // documentation missing in model
        8449  +
                               /* ServerBuilderGenerator.kt:343 */
        8450  +
        pub fn double(mut self, input: f64) -> Self {
        8451  +
            /* ServerBuilderGenerator.kt:344 */
        8452  +
            self.double =
        8453  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8454  +
                    /* ServerBuilderGenerator.kt:376 */input
        8455  +
                /* ServerBuilderGenerator.kt:345 */)
        8456  +
            /* ServerBuilderGenerator.kt:344 */;
        8457  +
            self
        8458  +
            /* ServerBuilderGenerator.kt:343 */
        8459  +
        }
        8460  +
        /* ServerBuilderGenerator.kt:426 */
        8461  +
        #[allow(missing_docs)] // documentation missing in model
        8462  +
                               /* ServerBuilderGenerator.kt:428 */
        8463  +
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
        8464  +
            /* ServerBuilderGenerator.kt:429 */
        8465  +
            self.double = Some(input.into());
        8466  +
            self
        8467  +
            /* ServerBuilderGenerator.kt:428 */
        8468  +
        }
        8469  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
 7375   8470   
        /// /* ServerBuilderGenerator.kt:260 */
 7376         -
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if a [`ConstraintViolation`] occurs.
        8471  +
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if a [`ConstraintViolation`] occurs.
 7377   8472   
        ///
        8473  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 7378   8474   
        /* ServerBuilderGenerator.kt:271 */
 7379   8475   
        pub fn build(
 7380   8476   
            self,
 7381         -
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
 7382         -
        {
        8477  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
 7383   8478   
            self.build_enforcing_all_constraints()
 7384   8479   
        }
 7385   8480   
        /* ServerBuilderGenerator.kt:283 */
 7386   8481   
        fn build_enforcing_all_constraints(
 7387   8482   
            self,
 7388         -
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
 7389         -
        {
        8483  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
 7390   8484   
            /* ServerBuilderGenerator.kt:287 */
 7391   8485   
            Ok(
 7392   8486   
                /* ServerBuilderGenerator.kt:542 */
 7393         -
                crate::input::MalformedTimestampBodyDateTimeInput {
        8487  +
                crate::input::HttpRequestWithFloatLabelsInput {
 7394   8488   
                    /* ServerBuilderGenerator.kt:546 */
 7395         -
                    timestamp: self
 7396         -
                        .timestamp
        8489  +
                    float: self
        8490  +
                        .float
 7397   8491   
                        /* ServerBuilderGenerator.kt:569 */
 7398         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8492  +
                        .ok_or(ConstraintViolation::MissingFloat)?,
        8493  +
                    /* ServerBuilderGenerator.kt:546 */
        8494  +
                    double: self
        8495  +
                        .double
        8496  +
                        /* ServerBuilderGenerator.kt:569 */
        8497  +
                        .ok_or(ConstraintViolation::MissingDouble)?,
 7399   8498   
                    /* ServerBuilderGenerator.kt:542 */
 7400   8499   
                }, /* ServerBuilderGenerator.kt:287 */
 7401   8500   
            )
 7402   8501   
            /* ServerBuilderGenerator.kt:283 */
 7403   8502   
        }
 7404   8503   
        /* ServerBuilderGenerator.kt:215 */
 7405   8504   
    }
 7406   8505   
 7407   8506   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7408   8507   
}
 7409         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 7410         -
pub mod malformed_timestamp_body_default_input {
        8508  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
        8509  +
pub mod http_request_with_regex_literal_input {
 7411   8510   
 7412   8511   
    /* RustType.kt:534 */
 7413   8512   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7414   8513   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 7415   8514   
    /* RustType.kt:534 */
 7416   8515   
    #[non_exhaustive]
 7417   8516   
    /* ServerBuilderConstraintViolations.kt:75 */
 7418   8517   
    #[allow(clippy::enum_variant_names)]
 7419   8518   
    pub enum ConstraintViolation {
 7420         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
        8519  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
 7421   8520   
        /* ServerBuilderConstraintViolations.kt:144 */
 7422         -
        MissingTimestamp,
        8521  +
        MissingStr,
 7423   8522   
        /* ServerBuilderConstraintViolations.kt:75 */
 7424   8523   
    }
 7425   8524   
    /* ServerBuilderConstraintViolations.kt:116 */
 7426   8525   
    impl ::std::fmt::Display for ConstraintViolation {
 7427   8526   
        /* ServerBuilderConstraintViolations.kt:117 */
 7428   8527   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7429   8528   
            /* ServerBuilderConstraintViolations.kt:118 */
 7430   8529   
            match self {
 7431         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
        8530  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
 7432   8531   
            /* ServerBuilderConstraintViolations.kt:118 */}
 7433   8532   
            /* ServerBuilderConstraintViolations.kt:117 */
 7434   8533   
        }
 7435   8534   
        /* ServerBuilderConstraintViolations.kt:116 */
 7436   8535   
    }
 7437   8536   
    /* ServerBuilderConstraintViolations.kt:83 */
 7438   8537   
    impl ::std::error::Error for ConstraintViolation {}
 7439   8538   
    /* ServerBuilderConstraintViolations.kt:172 */
 7440   8539   
    impl ConstraintViolation {
 7441   8540   
        pub(crate) fn as_validation_exception_field(
 7442   8541   
            self,
 7443   8542   
            path: ::std::string::String,
 7444   8543   
        ) -> crate::model::ValidationExceptionField {
 7445   8544   
            match self {
 7446         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 7447         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 7448         -
                                                path: path + "/timestamp",
 7449         -
                                            },
 7450         -
        }
        8545  +
                ConstraintViolation::MissingStr => crate::model::ValidationExceptionField {
        8546  +
                    message: format!(
        8547  +
                        "Value at '{}/str' failed to satisfy constraint: Member must not be null",
        8548  +
                        path
        8549  +
                    ),
        8550  +
                    path: path + "/str",
        8551  +
                },
        8552  +
            }
 7451   8553   
        }
 7452   8554   
    }
 7453   8555   
    /* ServerBuilderGenerator.kt:234 */
 7454   8556   
    impl ::std::convert::From<ConstraintViolation>
 7455   8557   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7456   8558   
    {
 7457   8559   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7458   8560   
            let first_validation_exception_field =
 7459   8561   
                constraint_violation.as_validation_exception_field("".to_owned());
 7460   8562   
            let validation_exception = crate::error::ValidationException {
 7461   8563   
                message: format!(
 7462   8564   
                    "1 validation error detected. {}",
 7463   8565   
                    &first_validation_exception_field.message
 7464   8566   
                ),
 7465   8567   
                field_list: Some(vec![first_validation_exception_field]),
 7466   8568   
            };
 7467   8569   
            Self::ConstraintViolation(
 7468   8570   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7469   8571   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7470   8572   
                            )
 7471   8573   
        }
 7472   8574   
    }
 7473   8575   
    /* ServerBuilderGenerator.kt:244 */
 7474   8576   
    impl ::std::convert::From<Builder>
 7475         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDefaultInput>
        8577  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithRegexLiteralInput>
 7476   8578   
    {
 7477   8579   
        fn from(builder: Builder) -> Self {
 7478   8580   
            Self::Unconstrained(builder)
 7479   8581   
        }
 7480   8582   
    }
 7481   8583   
    /* ServerBuilderGenerator.kt:446 */
 7482         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
        8584  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
 7483   8585   
        type Error = ConstraintViolation;
 7484   8586   
 7485   8587   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7486   8588   
            builder.build()
 7487   8589   
        }
 7488   8590   
    }
 7489         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        8591  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
 7490   8592   
    /* RustType.kt:534 */
 7491   8593   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7492   8594   
    /* ServerBuilderGenerator.kt:211 */
 7493   8595   
    pub struct Builder {
 7494   8596   
        /* ServerBuilderGenerator.kt:308 */
 7495         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8597  +
        pub(crate) str: ::std::option::Option<::std::string::String>,
 7496   8598   
        /* ServerBuilderGenerator.kt:211 */
 7497   8599   
    }
 7498   8600   
    /* ServerBuilderGenerator.kt:215 */
 7499   8601   
    impl Builder {
 7500   8602   
        /* ServerBuilderGenerator.kt:331 */
 7501   8603   
        #[allow(missing_docs)] // documentation missing in model
 7502   8604   
                               /* ServerBuilderGenerator.kt:343 */
 7503         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8605  +
        pub fn str(mut self, input: ::std::string::String) -> Self {
 7504   8606   
            /* ServerBuilderGenerator.kt:344 */
 7505         -
            self.timestamp =
        8607  +
            self.str =
 7506   8608   
                /* ServerBuilderGenerator.kt:345 */Some(
 7507   8609   
                    /* ServerBuilderGenerator.kt:376 */input
 7508   8610   
                /* ServerBuilderGenerator.kt:345 */)
 7509   8611   
            /* ServerBuilderGenerator.kt:344 */;
 7510   8612   
            self
 7511   8613   
            /* ServerBuilderGenerator.kt:343 */
 7512   8614   
        }
 7513   8615   
        /* ServerBuilderGenerator.kt:426 */
 7514   8616   
        #[allow(missing_docs)] // documentation missing in model
 7515   8617   
                               /* ServerBuilderGenerator.kt:428 */
 7516         -
        pub(crate) fn set_timestamp(
        8618  +
        pub(crate) fn set_str(
 7517   8619   
            mut self,
 7518         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8620  +
            input: impl ::std::convert::Into<::std::string::String>,
 7519   8621   
        ) -> Self {
 7520   8622   
            /* ServerBuilderGenerator.kt:429 */
 7521         -
            self.timestamp = Some(input.into());
        8623  +
            self.str = Some(input.into());
 7522   8624   
            self
 7523   8625   
            /* ServerBuilderGenerator.kt:428 */
 7524   8626   
        }
 7525         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        8627  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
 7526   8628   
        /// /* ServerBuilderGenerator.kt:260 */
 7527         -
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if a [`ConstraintViolation`] occurs.
        8629  +
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if a [`ConstraintViolation`] occurs.
 7528   8630   
        ///
 7529   8631   
        /* ServerBuilderGenerator.kt:271 */
 7530   8632   
        pub fn build(
 7531   8633   
            self,
 7532         -
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
        8634  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
 7533   8635   
            self.build_enforcing_all_constraints()
 7534   8636   
        }
 7535   8637   
        /* ServerBuilderGenerator.kt:283 */
 7536   8638   
        fn build_enforcing_all_constraints(
 7537   8639   
            self,
 7538         -
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
        8640  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
 7539   8641   
            /* ServerBuilderGenerator.kt:287 */
 7540   8642   
            Ok(
 7541   8643   
                /* ServerBuilderGenerator.kt:542 */
 7542         -
                crate::input::MalformedTimestampBodyDefaultInput {
        8644  +
                crate::input::HttpRequestWithRegexLiteralInput {
 7543   8645   
                    /* ServerBuilderGenerator.kt:546 */
 7544         -
                    timestamp: self
 7545         -
                        .timestamp
        8646  +
                    str: self
        8647  +
                        .str
 7546   8648   
                        /* ServerBuilderGenerator.kt:569 */
 7547         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8649  +
                        .ok_or(ConstraintViolation::MissingStr)?,
 7548   8650   
                    /* ServerBuilderGenerator.kt:542 */
 7549   8651   
                }, /* ServerBuilderGenerator.kt:287 */
 7550   8652   
            )
 7551   8653   
            /* ServerBuilderGenerator.kt:283 */
 7552   8654   
        }
 7553   8655   
        /* ServerBuilderGenerator.kt:215 */
 7554   8656   
    }
 7555   8657   
 7556   8658   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7557   8659   
}
 7558         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 7559         -
pub mod malformed_timestamp_header_epoch_input {
        8660  +
/// /* ServerBuilderGenerator.kt:171 */See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
        8661  +
pub mod all_query_string_types_input {
 7560   8662   
 7561   8663   
    /* RustType.kt:534 */
 7562   8664   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7563   8665   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 7564   8666   
    /* RustType.kt:534 */
 7565   8667   
    #[non_exhaustive]
 7566   8668   
    /* ServerBuilderConstraintViolations.kt:75 */
 7567   8669   
    #[allow(clippy::enum_variant_names)]
 7568   8670   
    pub enum ConstraintViolation {
 7569         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
 7570         -
        /* ServerBuilderConstraintViolations.kt:144 */
 7571         -
        MissingTimestamp,
        8671  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`.
        8672  +
        /* RustType.kt:534 */
        8673  +
        #[doc(hidden)]
        8674  +
        /* ServerBuilderConstraintViolations.kt:165 */
        8675  +
        QueryStringSet(crate::model::string_set::ConstraintViolation),
        8676  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`.
        8677  +
        /* RustType.kt:534 */
        8678  +
        #[doc(hidden)]
        8679  +
        /* ServerBuilderConstraintViolations.kt:165 */
        8680  +
        QueryIntegerSet(crate::model::integer_set::ConstraintViolation),
        8681  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`.
        8682  +
        /* RustType.kt:534 */
        8683  +
        #[doc(hidden)]
        8684  +
        /* ServerBuilderConstraintViolations.kt:165 */
        8685  +
        QueryEnum(crate::model::foo_enum::ConstraintViolation),
        8686  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`.
        8687  +
        /* RustType.kt:534 */
        8688  +
        #[doc(hidden)]
        8689  +
        /* ServerBuilderConstraintViolations.kt:165 */
        8690  +
        QueryEnumList(crate::model::foo_enum_list::ConstraintViolation),
 7572   8691   
        /* ServerBuilderConstraintViolations.kt:75 */
 7573   8692   
    }
 7574   8693   
    /* ServerBuilderConstraintViolations.kt:116 */
 7575   8694   
    impl ::std::fmt::Display for ConstraintViolation {
 7576   8695   
        /* ServerBuilderConstraintViolations.kt:117 */
 7577   8696   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7578   8697   
            /* ServerBuilderConstraintViolations.kt:118 */
 7579   8698   
            match self {
 7580         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
        8699  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryStringSet(_) => write!(f, "constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`"),
        8700  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryIntegerSet(_) => write!(f, "constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`"),
        8701  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnum(_) => write!(f, "constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`"),
        8702  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`"),
 7581   8703   
            /* ServerBuilderConstraintViolations.kt:118 */}
 7582   8704   
            /* ServerBuilderConstraintViolations.kt:117 */
 7583   8705   
        }
 7584   8706   
        /* ServerBuilderConstraintViolations.kt:116 */
 7585   8707   
    }
 7586   8708   
    /* ServerBuilderConstraintViolations.kt:83 */
 7587   8709   
    impl ::std::error::Error for ConstraintViolation {}
 7588   8710   
    /* ServerBuilderConstraintViolations.kt:172 */
 7589   8711   
    impl ConstraintViolation {
 7590   8712   
        pub(crate) fn as_validation_exception_field(
 7591   8713   
            self,
 7592   8714   
            path: ::std::string::String,
 7593   8715   
        ) -> crate::model::ValidationExceptionField {
 7594   8716   
            match self {
 7595         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 7596         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 7597         -
                                                path: path + "/timestamp",
 7598         -
                                            },
 7599         -
        }
        8717  +
                ConstraintViolation::QueryStringSet(inner) => {
        8718  +
                    inner.as_validation_exception_field(path + "/queryStringSet")
        8719  +
                }
        8720  +
                ConstraintViolation::QueryIntegerSet(inner) => {
        8721  +
                    inner.as_validation_exception_field(path + "/queryIntegerSet")
        8722  +
                }
        8723  +
                ConstraintViolation::QueryEnum(inner) => {
        8724  +
                    inner.as_validation_exception_field(path + "/queryEnum")
        8725  +
                }
        8726  +
                ConstraintViolation::QueryEnumList(inner) => {
        8727  +
                    inner.as_validation_exception_field(path + "/queryEnumList")
        8728  +
                }
        8729  +
            }
 7600   8730   
        }
 7601   8731   
    }
 7602   8732   
    /* ServerBuilderGenerator.kt:234 */
 7603   8733   
    impl ::std::convert::From<ConstraintViolation>
 7604   8734   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7605   8735   
    {
 7606   8736   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7607   8737   
            let first_validation_exception_field =
 7608   8738   
                constraint_violation.as_validation_exception_field("".to_owned());
 7609   8739   
            let validation_exception = crate::error::ValidationException {
 7610   8740   
                message: format!(
 7611   8741   
                    "1 validation error detected. {}",
 7612   8742   
                    &first_validation_exception_field.message
 7613   8743   
                ),
 7614   8744   
                field_list: Some(vec![first_validation_exception_field]),
 7615   8745   
            };
 7616   8746   
            Self::ConstraintViolation(
 7617   8747   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7618   8748   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7619   8749   
                            )
 7620   8750   
        }
 7621   8751   
    }
 7622   8752   
    /* ServerBuilderGenerator.kt:244 */
 7623   8753   
    impl ::std::convert::From<Builder>
 7624         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderEpochInput>
        8754  +
        for crate::constrained::MaybeConstrained<crate::input::AllQueryStringTypesInput>
 7625   8755   
    {
 7626   8756   
        fn from(builder: Builder) -> Self {
 7627   8757   
            Self::Unconstrained(builder)
 7628   8758   
        }
 7629   8759   
    }
 7630   8760   
    /* ServerBuilderGenerator.kt:446 */
 7631         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
        8761  +
    impl ::std::convert::TryFrom<Builder> for crate::input::AllQueryStringTypesInput {
 7632   8762   
        type Error = ConstraintViolation;
 7633   8763   
 7634   8764   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7635   8765   
            builder.build()
 7636   8766   
        }
 7637   8767   
    }
 7638         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        8768  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
 7639   8769   
    /* RustType.kt:534 */
 7640   8770   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7641   8771   
    /* ServerBuilderGenerator.kt:211 */
 7642   8772   
    pub struct Builder {
 7643   8773   
        /* ServerBuilderGenerator.kt:308 */
 7644         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8774  +
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
        8775  +
        /* ServerBuilderGenerator.kt:308 */
        8776  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8777  +
        /* ServerBuilderGenerator.kt:308 */
        8778  +
        pub(crate) query_string_set:
        8779  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        8780  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) query_byte: ::std::option::Option<i8>,
        8781  +
        /* ServerBuilderGenerator.kt:308 */
        8782  +
        pub(crate) query_short: ::std::option::Option<i16>,
        8783  +
        /* ServerBuilderGenerator.kt:308 */
        8784  +
        pub(crate) query_integer: ::std::option::Option<i32>,
        8785  +
        /* ServerBuilderGenerator.kt:308 */
        8786  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        8787  +
        /* ServerBuilderGenerator.kt:308 */
        8788  +
        pub(crate) query_integer_set:
        8789  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::IntegerSet>>,
        8790  +
        /* ServerBuilderGenerator.kt:308 */
        8791  +
        pub(crate) query_long: ::std::option::Option<i64>,
        8792  +
        /* ServerBuilderGenerator.kt:308 */
        8793  +
        pub(crate) query_float: ::std::option::Option<f32>,
        8794  +
        /* ServerBuilderGenerator.kt:308 */
        8795  +
        pub(crate) query_double: ::std::option::Option<f64>,
        8796  +
        /* ServerBuilderGenerator.kt:308 */
        8797  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        8798  +
        /* ServerBuilderGenerator.kt:308 */
        8799  +
        pub(crate) query_boolean: ::std::option::Option<bool>,
        8800  +
        /* ServerBuilderGenerator.kt:308 */
        8801  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        8802  +
        /* ServerBuilderGenerator.kt:308 */
        8803  +
        pub(crate) query_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8804  +
        /* ServerBuilderGenerator.kt:308 */
        8805  +
        pub(crate) query_timestamp_list:
        8806  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        8807  +
        /* ServerBuilderGenerator.kt:308 */
        8808  +
        pub(crate) query_enum:
        8809  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        8810  +
        /* ServerBuilderGenerator.kt:308 */
        8811  +
        pub(crate) query_enum_list: ::std::option::Option<
        8812  +
            crate::constrained::MaybeConstrained<
        8813  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        8814  +
            >,
        8815  +
        >,
        8816  +
        /* ServerBuilderGenerator.kt:308 */
        8817  +
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
        8818  +
        /* ServerBuilderGenerator.kt:308 */
        8819  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        8820  +
        /* ServerBuilderGenerator.kt:308 */
        8821  +
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
        8822  +
            ::std::collections::HashMap<
        8823  +
                ::std::string::String,
        8824  +
                ::std::vec::Vec<::std::string::String>,
        8825  +
            >,
        8826  +
        >,
 7645   8827   
        /* ServerBuilderGenerator.kt:211 */
 7646   8828   
    }
 7647   8829   
    /* ServerBuilderGenerator.kt:215 */
 7648   8830   
    impl Builder {
 7649   8831   
        /* ServerBuilderGenerator.kt:331 */
 7650   8832   
        #[allow(missing_docs)] // documentation missing in model
 7651   8833   
                               /* ServerBuilderGenerator.kt:343 */
 7652         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8834  +
        pub fn query_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8835  +
            /* ServerBuilderGenerator.kt:344 */
        8836  +
            self.query_string =
        8837  +
                /* ServerBuilderGenerator.kt:376 */input
        8838  +
            /* ServerBuilderGenerator.kt:344 */;
        8839  +
            self
        8840  +
            /* ServerBuilderGenerator.kt:343 */
        8841  +
        }
        8842  +
        /* ServerBuilderGenerator.kt:426 */
        8843  +
        #[allow(missing_docs)] // documentation missing in model
        8844  +
                               /* ServerBuilderGenerator.kt:428 */
        8845  +
        pub(crate) fn set_query_string(
        8846  +
            mut self,
        8847  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8848  +
        ) -> Self {
        8849  +
            /* ServerBuilderGenerator.kt:429 */
        8850  +
            self.query_string = input.map(|v| v.into());
        8851  +
            self
        8852  +
            /* ServerBuilderGenerator.kt:428 */
        8853  +
        }
        8854  +
        /* ServerBuilderGenerator.kt:331 */
        8855  +
        #[allow(missing_docs)] // documentation missing in model
        8856  +
                               /* ServerBuilderGenerator.kt:343 */
        8857  +
        pub fn query_string_list(
        8858  +
            mut self,
        8859  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8860  +
        ) -> Self {
        8861  +
            /* ServerBuilderGenerator.kt:344 */
        8862  +
            self.query_string_list =
        8863  +
                /* ServerBuilderGenerator.kt:376 */input
        8864  +
            /* ServerBuilderGenerator.kt:344 */;
        8865  +
            self
        8866  +
            /* ServerBuilderGenerator.kt:343 */
        8867  +
        }
        8868  +
        /* ServerBuilderGenerator.kt:426 */
        8869  +
        #[allow(missing_docs)] // documentation missing in model
        8870  +
                               /* ServerBuilderGenerator.kt:428 */
        8871  +
        pub(crate) fn set_query_string_list(
        8872  +
            mut self,
        8873  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        8874  +
        ) -> Self {
        8875  +
            /* ServerBuilderGenerator.kt:429 */
        8876  +
            self.query_string_list = input.map(|v| v.into());
        8877  +
            self
        8878  +
            /* ServerBuilderGenerator.kt:428 */
        8879  +
        }
        8880  +
        /* ServerBuilderGenerator.kt:331 */
        8881  +
        #[allow(missing_docs)] // documentation missing in model
        8882  +
                               /* ServerBuilderGenerator.kt:343 */
        8883  +
        pub fn query_string_set(
        8884  +
            mut self,
        8885  +
            input: ::std::option::Option<crate::model::StringSet>,
        8886  +
        ) -> Self {
        8887  +
            /* ServerBuilderGenerator.kt:344 */
        8888  +
            self.query_string_set =
        8889  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        8890  +
            /* ServerBuilderGenerator.kt:344 */;
        8891  +
            self
        8892  +
            /* ServerBuilderGenerator.kt:343 */
        8893  +
        }
        8894  +
        /* ServerBuilderGenerator.kt:426 */
        8895  +
        #[allow(missing_docs)] // documentation missing in model
        8896  +
                               /* ServerBuilderGenerator.kt:428 */
        8897  +
        pub(crate) fn set_query_string_set(
        8898  +
            mut self,
        8899  +
            input: Option<
        8900  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        8901  +
            >,
        8902  +
        ) -> Self {
        8903  +
            /* ServerBuilderGenerator.kt:429 */
        8904  +
            self.query_string_set = input.map(|v| v.into());
        8905  +
            self
        8906  +
            /* ServerBuilderGenerator.kt:428 */
        8907  +
        }
        8908  +
        /* ServerBuilderGenerator.kt:331 */
        8909  +
        #[allow(missing_docs)] // documentation missing in model
        8910  +
                               /* ServerBuilderGenerator.kt:343 */
        8911  +
        pub fn query_byte(mut self, input: ::std::option::Option<i8>) -> Self {
        8912  +
            /* ServerBuilderGenerator.kt:344 */
        8913  +
            self.query_byte =
        8914  +
                /* ServerBuilderGenerator.kt:376 */input
        8915  +
            /* ServerBuilderGenerator.kt:344 */;
        8916  +
            self
        8917  +
            /* ServerBuilderGenerator.kt:343 */
        8918  +
        }
        8919  +
        /* ServerBuilderGenerator.kt:426 */
        8920  +
        #[allow(missing_docs)] // documentation missing in model
        8921  +
                               /* ServerBuilderGenerator.kt:428 */
        8922  +
        pub(crate) fn set_query_byte(
        8923  +
            mut self,
        8924  +
            input: Option<impl ::std::convert::Into<i8>>,
        8925  +
        ) -> Self {
        8926  +
            /* ServerBuilderGenerator.kt:429 */
        8927  +
            self.query_byte = input.map(|v| v.into());
        8928  +
            self
        8929  +
            /* ServerBuilderGenerator.kt:428 */
        8930  +
        }
        8931  +
        /* ServerBuilderGenerator.kt:331 */
        8932  +
        #[allow(missing_docs)] // documentation missing in model
        8933  +
                               /* ServerBuilderGenerator.kt:343 */
        8934  +
        pub fn query_short(mut self, input: ::std::option::Option<i16>) -> Self {
        8935  +
            /* ServerBuilderGenerator.kt:344 */
        8936  +
            self.query_short =
        8937  +
                /* ServerBuilderGenerator.kt:376 */input
        8938  +
            /* ServerBuilderGenerator.kt:344 */;
        8939  +
            self
        8940  +
            /* ServerBuilderGenerator.kt:343 */
        8941  +
        }
        8942  +
        /* ServerBuilderGenerator.kt:426 */
        8943  +
        #[allow(missing_docs)] // documentation missing in model
        8944  +
                               /* ServerBuilderGenerator.kt:428 */
        8945  +
        pub(crate) fn set_query_short(
        8946  +
            mut self,
        8947  +
            input: Option<impl ::std::convert::Into<i16>>,
        8948  +
        ) -> Self {
        8949  +
            /* ServerBuilderGenerator.kt:429 */
        8950  +
            self.query_short = input.map(|v| v.into());
        8951  +
            self
        8952  +
            /* ServerBuilderGenerator.kt:428 */
        8953  +
        }
        8954  +
        /* ServerBuilderGenerator.kt:331 */
        8955  +
        #[allow(missing_docs)] // documentation missing in model
        8956  +
                               /* ServerBuilderGenerator.kt:343 */
        8957  +
        pub fn query_integer(mut self, input: ::std::option::Option<i32>) -> Self {
 7653   8958   
            /* ServerBuilderGenerator.kt:344 */
 7654         -
            self.timestamp =
 7655         -
                /* ServerBuilderGenerator.kt:345 */Some(
 7656         -
                    /* ServerBuilderGenerator.kt:376 */input
 7657         -
                /* ServerBuilderGenerator.kt:345 */)
        8959  +
            self.query_integer =
        8960  +
                /* ServerBuilderGenerator.kt:376 */input
 7658   8961   
            /* ServerBuilderGenerator.kt:344 */;
 7659   8962   
            self
 7660   8963   
            /* ServerBuilderGenerator.kt:343 */
 7661   8964   
        }
 7662   8965   
        /* ServerBuilderGenerator.kt:426 */
 7663   8966   
        #[allow(missing_docs)] // documentation missing in model
 7664   8967   
                               /* ServerBuilderGenerator.kt:428 */
 7665         -
        pub(crate) fn set_timestamp(
        8968  +
        pub(crate) fn set_query_integer(
 7666   8969   
            mut self,
 7667         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8970  +
            input: Option<impl ::std::convert::Into<i32>>,
 7668   8971   
        ) -> Self {
 7669   8972   
            /* ServerBuilderGenerator.kt:429 */
 7670         -
            self.timestamp = Some(input.into());
        8973  +
            self.query_integer = input.map(|v| v.into());
 7671   8974   
            self
 7672   8975   
            /* ServerBuilderGenerator.kt:428 */
 7673   8976   
        }
 7674         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 7675         -
        /// /* ServerBuilderGenerator.kt:260 */
 7676         -
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if a [`ConstraintViolation`] occurs.
 7677         -
        ///
 7678         -
        /* ServerBuilderGenerator.kt:271 */
 7679         -
        pub fn build(
 7680         -
            self,
 7681         -
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
 7682         -
            self.build_enforcing_all_constraints()
 7683         -
        }
 7684         -
        /* ServerBuilderGenerator.kt:283 */
 7685         -
        fn build_enforcing_all_constraints(
 7686         -
            self,
 7687         -
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
 7688         -
            /* ServerBuilderGenerator.kt:287 */
 7689         -
            Ok(
 7690         -
                /* ServerBuilderGenerator.kt:542 */
 7691         -
                crate::input::MalformedTimestampHeaderEpochInput {
 7692         -
                    /* ServerBuilderGenerator.kt:546 */
 7693         -
                    timestamp: self
 7694         -
                        .timestamp
 7695         -
                        /* ServerBuilderGenerator.kt:569 */
 7696         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 7697         -
                    /* ServerBuilderGenerator.kt:542 */
 7698         -
                }, /* ServerBuilderGenerator.kt:287 */
 7699         -
            )
 7700         -
            /* ServerBuilderGenerator.kt:283 */
 7701         -
        }
 7702         -
        /* ServerBuilderGenerator.kt:215 */
 7703         -
    }
 7704         -
 7705         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7706         -
}
 7707         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 7708         -
pub mod malformed_timestamp_header_date_time_input {
 7709         -
 7710         -
    /* RustType.kt:534 */
 7711         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7712         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 7713         -
    /* RustType.kt:534 */
 7714         -
    #[non_exhaustive]
 7715         -
    /* ServerBuilderConstraintViolations.kt:75 */
 7716         -
    #[allow(clippy::enum_variant_names)]
 7717         -
    pub enum ConstraintViolation {
 7718         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
 7719         -
        /* ServerBuilderConstraintViolations.kt:144 */
 7720         -
        MissingTimestamp,
 7721         -
        /* ServerBuilderConstraintViolations.kt:75 */
 7722         -
    }
 7723         -
    /* ServerBuilderConstraintViolations.kt:116 */
 7724         -
    impl ::std::fmt::Display for ConstraintViolation {
 7725         -
        /* ServerBuilderConstraintViolations.kt:117 */
 7726         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7727         -
            /* ServerBuilderConstraintViolations.kt:118 */
 7728         -
            match self {
 7729         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
 7730         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 7731         -
            /* ServerBuilderConstraintViolations.kt:117 */
 7732         -
        }
 7733         -
        /* ServerBuilderConstraintViolations.kt:116 */
 7734         -
    }
 7735         -
    /* ServerBuilderConstraintViolations.kt:83 */
 7736         -
    impl ::std::error::Error for ConstraintViolation {}
 7737         -
    /* ServerBuilderConstraintViolations.kt:172 */
 7738         -
    impl ConstraintViolation {
 7739         -
        pub(crate) fn as_validation_exception_field(
 7740         -
            self,
 7741         -
            path: ::std::string::String,
 7742         -
        ) -> crate::model::ValidationExceptionField {
 7743         -
            match self {
 7744         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 7745         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 7746         -
                                                path: path + "/timestamp",
 7747         -
                                            },
 7748         -
        }
 7749         -
        }
 7750         -
    }
 7751         -
    /* ServerBuilderGenerator.kt:234 */
 7752         -
    impl ::std::convert::From<ConstraintViolation>
 7753         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7754         -
    {
 7755         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7756         -
            let first_validation_exception_field =
 7757         -
                constraint_violation.as_validation_exception_field("".to_owned());
 7758         -
            let validation_exception = crate::error::ValidationException {
 7759         -
                message: format!(
 7760         -
                    "1 validation error detected. {}",
 7761         -
                    &first_validation_exception_field.message
 7762         -
                ),
 7763         -
                field_list: Some(vec![first_validation_exception_field]),
 7764         -
            };
 7765         -
            Self::ConstraintViolation(
 7766         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7767         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7768         -
                            )
 7769         -
        }
 7770         -
    }
 7771         -
    /* ServerBuilderGenerator.kt:244 */
 7772         -
    impl ::std::convert::From<Builder>
 7773         -
        for crate::constrained::MaybeConstrained<
 7774         -
            crate::input::MalformedTimestampHeaderDateTimeInput,
 7775         -
        >
 7776         -
    {
 7777         -
        fn from(builder: Builder) -> Self {
 7778         -
            Self::Unconstrained(builder)
 7779         -
        }
 7780         -
    }
 7781         -
    /* ServerBuilderGenerator.kt:446 */
 7782         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
 7783         -
        type Error = ConstraintViolation;
 7784         -
 7785         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7786         -
            builder.build()
 7787         -
        }
 7788         -
    }
 7789         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 7790         -
    /* RustType.kt:534 */
 7791         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7792         -
    /* ServerBuilderGenerator.kt:211 */
 7793         -
    pub struct Builder {
 7794         -
        /* ServerBuilderGenerator.kt:308 */
 7795         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 7796         -
        /* ServerBuilderGenerator.kt:211 */
 7797         -
    }
 7798         -
    /* ServerBuilderGenerator.kt:215 */
 7799         -
    impl Builder {
 7800   8977   
        /* ServerBuilderGenerator.kt:331 */
 7801   8978   
        #[allow(missing_docs)] // documentation missing in model
 7802   8979   
                               /* ServerBuilderGenerator.kt:343 */
 7803         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8980  +
        pub fn query_integer_list(
        8981  +
            mut self,
        8982  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        8983  +
        ) -> Self {
 7804   8984   
            /* ServerBuilderGenerator.kt:344 */
 7805         -
            self.timestamp =
 7806         -
                /* ServerBuilderGenerator.kt:345 */Some(
 7807         -
                    /* ServerBuilderGenerator.kt:376 */input
 7808         -
                /* ServerBuilderGenerator.kt:345 */)
        8985  +
            self.query_integer_list =
        8986  +
                /* ServerBuilderGenerator.kt:376 */input
 7809   8987   
            /* ServerBuilderGenerator.kt:344 */;
 7810   8988   
            self
 7811   8989   
            /* ServerBuilderGenerator.kt:343 */
 7812   8990   
        }
 7813   8991   
        /* ServerBuilderGenerator.kt:426 */
 7814   8992   
        #[allow(missing_docs)] // documentation missing in model
 7815   8993   
                               /* ServerBuilderGenerator.kt:428 */
 7816         -
        pub(crate) fn set_timestamp(
        8994  +
        pub(crate) fn set_query_integer_list(
 7817   8995   
            mut self,
 7818         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8996  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
 7819   8997   
        ) -> Self {
 7820   8998   
            /* ServerBuilderGenerator.kt:429 */
 7821         -
            self.timestamp = Some(input.into());
 7822         -
            self
 7823         -
            /* ServerBuilderGenerator.kt:428 */
 7824         -
        }
 7825         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 7826         -
        /// /* ServerBuilderGenerator.kt:260 */
 7827         -
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if a [`ConstraintViolation`] occurs.
 7828         -
        ///
 7829         -
        /* ServerBuilderGenerator.kt:271 */
 7830         -
        pub fn build(
 7831         -
            self,
 7832         -
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
 7833         -
        {
 7834         -
            self.build_enforcing_all_constraints()
 7835         -
        }
 7836         -
        /* ServerBuilderGenerator.kt:283 */
 7837         -
        fn build_enforcing_all_constraints(
 7838         -
            self,
 7839         -
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
 7840         -
        {
 7841         -
            /* ServerBuilderGenerator.kt:287 */
 7842         -
            Ok(
 7843         -
                /* ServerBuilderGenerator.kt:542 */
 7844         -
                crate::input::MalformedTimestampHeaderDateTimeInput {
 7845         -
                    /* ServerBuilderGenerator.kt:546 */
 7846         -
                    timestamp: self
 7847         -
                        .timestamp
 7848         -
                        /* ServerBuilderGenerator.kt:569 */
 7849         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 7850         -
                    /* ServerBuilderGenerator.kt:542 */
 7851         -
                }, /* ServerBuilderGenerator.kt:287 */
 7852         -
            )
 7853         -
            /* ServerBuilderGenerator.kt:283 */
 7854         -
        }
 7855         -
        /* ServerBuilderGenerator.kt:215 */
 7856         -
    }
 7857         -
 7858         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 7859         -
}
 7860         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
 7861         -
pub mod malformed_timestamp_header_default_input {
 7862         -
 7863         -
    /* RustType.kt:534 */
 7864         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7865         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 7866         -
    /* RustType.kt:534 */
 7867         -
    #[non_exhaustive]
 7868         -
    /* ServerBuilderConstraintViolations.kt:75 */
 7869         -
    #[allow(clippy::enum_variant_names)]
 7870         -
    pub enum ConstraintViolation {
 7871         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
 7872         -
        /* ServerBuilderConstraintViolations.kt:144 */
 7873         -
        MissingTimestamp,
 7874         -
        /* ServerBuilderConstraintViolations.kt:75 */
 7875         -
    }
 7876         -
    /* ServerBuilderConstraintViolations.kt:116 */
 7877         -
    impl ::std::fmt::Display for ConstraintViolation {
 7878         -
        /* ServerBuilderConstraintViolations.kt:117 */
 7879         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7880         -
            /* ServerBuilderConstraintViolations.kt:118 */
 7881         -
            match self {
 7882         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
 7883         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 7884         -
            /* ServerBuilderConstraintViolations.kt:117 */
 7885         -
        }
 7886         -
        /* ServerBuilderConstraintViolations.kt:116 */
 7887         -
    }
 7888         -
    /* ServerBuilderConstraintViolations.kt:83 */
 7889         -
    impl ::std::error::Error for ConstraintViolation {}
 7890         -
    /* ServerBuilderConstraintViolations.kt:172 */
 7891         -
    impl ConstraintViolation {
 7892         -
        pub(crate) fn as_validation_exception_field(
 7893         -
            self,
 7894         -
            path: ::std::string::String,
 7895         -
        ) -> crate::model::ValidationExceptionField {
 7896         -
            match self {
 7897         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 7898         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 7899         -
                                                path: path + "/timestamp",
 7900         -
                                            },
 7901         -
        }
 7902         -
        }
 7903         -
    }
 7904         -
    /* ServerBuilderGenerator.kt:234 */
 7905         -
    impl ::std::convert::From<ConstraintViolation>
 7906         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7907         -
    {
 7908         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7909         -
            let first_validation_exception_field =
 7910         -
                constraint_violation.as_validation_exception_field("".to_owned());
 7911         -
            let validation_exception = crate::error::ValidationException {
 7912         -
                message: format!(
 7913         -
                    "1 validation error detected. {}",
 7914         -
                    &first_validation_exception_field.message
 7915         -
                ),
 7916         -
                field_list: Some(vec![first_validation_exception_field]),
 7917         -
            };
 7918         -
            Self::ConstraintViolation(
 7919         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7920         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7921         -
                            )
        8999  +
            self.query_integer_list = input.map(|v| v.into());
        9000  +
            self
        9001  +
            /* ServerBuilderGenerator.kt:428 */
 7922   9002   
        }
 7923         -
    }
 7924         -
    /* ServerBuilderGenerator.kt:244 */
 7925         -
    impl ::std::convert::From<Builder>
 7926         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderDefaultInput>
 7927         -
    {
 7928         -
        fn from(builder: Builder) -> Self {
 7929         -
            Self::Unconstrained(builder)
        9003  +
        /* ServerBuilderGenerator.kt:331 */
        9004  +
        #[allow(missing_docs)] // documentation missing in model
        9005  +
                               /* ServerBuilderGenerator.kt:343 */
        9006  +
        pub fn query_integer_set(
        9007  +
            mut self,
        9008  +
            input: ::std::option::Option<crate::model::IntegerSet>,
        9009  +
        ) -> Self {
        9010  +
            /* ServerBuilderGenerator.kt:344 */
        9011  +
            self.query_integer_set =
        9012  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        9013  +
            /* ServerBuilderGenerator.kt:344 */;
        9014  +
            self
        9015  +
            /* ServerBuilderGenerator.kt:343 */
 7930   9016   
        }
 7931         -
    }
 7932         -
    /* ServerBuilderGenerator.kt:446 */
 7933         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
 7934         -
        type Error = ConstraintViolation;
 7935         -
 7936         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7937         -
            builder.build()
        9017  +
        /* ServerBuilderGenerator.kt:426 */
        9018  +
        #[allow(missing_docs)] // documentation missing in model
        9019  +
                               /* ServerBuilderGenerator.kt:428 */
        9020  +
        pub(crate) fn set_query_integer_set(
        9021  +
            mut self,
        9022  +
            input: Option<
        9023  +
                impl ::std::convert::Into<
        9024  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerSet>,
        9025  +
                >,
        9026  +
            >,
        9027  +
        ) -> Self {
        9028  +
            /* ServerBuilderGenerator.kt:429 */
        9029  +
            self.query_integer_set = input.map(|v| v.into());
        9030  +
            self
        9031  +
            /* ServerBuilderGenerator.kt:428 */
 7938   9032   
        }
 7939         -
    }
 7940         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
 7941         -
    /* RustType.kt:534 */
 7942         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7943         -
    /* ServerBuilderGenerator.kt:211 */
 7944         -
    pub struct Builder {
 7945         -
        /* ServerBuilderGenerator.kt:308 */
 7946         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 7947         -
        /* ServerBuilderGenerator.kt:211 */
 7948         -
    }
 7949         -
    /* ServerBuilderGenerator.kt:215 */
 7950         -
    impl Builder {
 7951   9033   
        /* ServerBuilderGenerator.kt:331 */
 7952   9034   
        #[allow(missing_docs)] // documentation missing in model
 7953   9035   
                               /* ServerBuilderGenerator.kt:343 */
 7954         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        9036  +
        pub fn query_long(mut self, input: ::std::option::Option<i64>) -> Self {
 7955   9037   
            /* ServerBuilderGenerator.kt:344 */
 7956         -
            self.timestamp =
 7957         -
                /* ServerBuilderGenerator.kt:345 */Some(
 7958         -
                    /* ServerBuilderGenerator.kt:376 */input
 7959         -
                /* ServerBuilderGenerator.kt:345 */)
        9038  +
            self.query_long =
        9039  +
                /* ServerBuilderGenerator.kt:376 */input
 7960   9040   
            /* ServerBuilderGenerator.kt:344 */;
 7961   9041   
            self
 7962   9042   
            /* ServerBuilderGenerator.kt:343 */
 7963   9043   
        }
 7964   9044   
        /* ServerBuilderGenerator.kt:426 */
 7965   9045   
        #[allow(missing_docs)] // documentation missing in model
 7966   9046   
                               /* ServerBuilderGenerator.kt:428 */
 7967         -
        pub(crate) fn set_timestamp(
        9047  +
        pub(crate) fn set_query_long(
 7968   9048   
            mut self,
 7969         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        9049  +
            input: Option<impl ::std::convert::Into<i64>>,
 7970   9050   
        ) -> Self {
 7971   9051   
            /* ServerBuilderGenerator.kt:429 */
 7972         -
            self.timestamp = Some(input.into());
        9052  +
            self.query_long = input.map(|v| v.into());
 7973   9053   
            self
 7974   9054   
            /* ServerBuilderGenerator.kt:428 */
 7975   9055   
        }
 7976         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
 7977         -
        /// /* ServerBuilderGenerator.kt:260 */
 7978         -
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if a [`ConstraintViolation`] occurs.
 7979         -
        ///
 7980         -
        /* ServerBuilderGenerator.kt:271 */
 7981         -
        pub fn build(
 7982         -
            self,
 7983         -
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
 7984         -
        {
 7985         -
            self.build_enforcing_all_constraints()
        9056  +
        /* ServerBuilderGenerator.kt:331 */
        9057  +
        #[allow(missing_docs)] // documentation missing in model
        9058  +
                               /* ServerBuilderGenerator.kt:343 */
        9059  +
        pub fn query_float(mut self, input: ::std::option::Option<f32>) -> Self {
        9060  +
            /* ServerBuilderGenerator.kt:344 */
        9061  +
            self.query_float =
        9062  +
                /* ServerBuilderGenerator.kt:376 */input
        9063  +
            /* ServerBuilderGenerator.kt:344 */;
        9064  +
            self
        9065  +
            /* ServerBuilderGenerator.kt:343 */
 7986   9066   
        }
 7987         -
        /* ServerBuilderGenerator.kt:283 */
 7988         -
        fn build_enforcing_all_constraints(
 7989         -
            self,
 7990         -
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
 7991         -
        {
 7992         -
            /* ServerBuilderGenerator.kt:287 */
 7993         -
            Ok(
 7994         -
                /* ServerBuilderGenerator.kt:542 */
 7995         -
                crate::input::MalformedTimestampHeaderDefaultInput {
 7996         -
                    /* ServerBuilderGenerator.kt:546 */
 7997         -
                    timestamp: self
 7998         -
                        .timestamp
 7999         -
                        /* ServerBuilderGenerator.kt:569 */
 8000         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 8001         -
                    /* ServerBuilderGenerator.kt:542 */
 8002         -
                }, /* ServerBuilderGenerator.kt:287 */
 8003         -
            )
 8004         -
            /* ServerBuilderGenerator.kt:283 */
        9067  +
        /* ServerBuilderGenerator.kt:426 */
        9068  +
        #[allow(missing_docs)] // documentation missing in model
        9069  +
                               /* ServerBuilderGenerator.kt:428 */
        9070  +
        pub(crate) fn set_query_float(
        9071  +
            mut self,
        9072  +
            input: Option<impl ::std::convert::Into<f32>>,
        9073  +
        ) -> Self {
        9074  +
            /* ServerBuilderGenerator.kt:429 */
        9075  +
            self.query_float = input.map(|v| v.into());
        9076  +
            self
        9077  +
            /* ServerBuilderGenerator.kt:428 */
 8005   9078   
        }
 8006         -
        /* ServerBuilderGenerator.kt:215 */
 8007         -
    }
 8008         -
 8009         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8010         -
}
 8011         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
 8012         -
pub mod malformed_timestamp_query_epoch_input {
 8013         -
 8014         -
    /* RustType.kt:534 */
 8015         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8016         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8017         -
    /* RustType.kt:534 */
 8018         -
    #[non_exhaustive]
 8019         -
    /* ServerBuilderConstraintViolations.kt:75 */
 8020         -
    #[allow(clippy::enum_variant_names)]
 8021         -
    pub enum ConstraintViolation {
 8022         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
 8023         -
        /* ServerBuilderConstraintViolations.kt:144 */
 8024         -
        MissingTimestamp,
 8025         -
        /* ServerBuilderConstraintViolations.kt:75 */
 8026         -
    }
 8027         -
    /* ServerBuilderConstraintViolations.kt:116 */
 8028         -
    impl ::std::fmt::Display for ConstraintViolation {
 8029         -
        /* ServerBuilderConstraintViolations.kt:117 */
 8030         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8031         -
            /* ServerBuilderConstraintViolations.kt:118 */
 8032         -
            match self {
 8033         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
 8034         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 8035         -
            /* ServerBuilderConstraintViolations.kt:117 */
        9079  +
        /* ServerBuilderGenerator.kt:331 */
        9080  +
        #[allow(missing_docs)] // documentation missing in model
        9081  +
                               /* ServerBuilderGenerator.kt:343 */
        9082  +
        pub fn query_double(mut self, input: ::std::option::Option<f64>) -> Self {
        9083  +
            /* ServerBuilderGenerator.kt:344 */
        9084  +
            self.query_double =
        9085  +
                /* ServerBuilderGenerator.kt:376 */input
        9086  +
            /* ServerBuilderGenerator.kt:344 */;
        9087  +
            self
        9088  +
            /* ServerBuilderGenerator.kt:343 */
 8036   9089   
        }
 8037         -
        /* ServerBuilderConstraintViolations.kt:116 */
 8038         -
    }
 8039         -
    /* ServerBuilderConstraintViolations.kt:83 */
 8040         -
    impl ::std::error::Error for ConstraintViolation {}
 8041         -
    /* ServerBuilderConstraintViolations.kt:172 */
 8042         -
    impl ConstraintViolation {
 8043         -
        pub(crate) fn as_validation_exception_field(
 8044         -
            self,
 8045         -
            path: ::std::string::String,
 8046         -
        ) -> crate::model::ValidationExceptionField {
 8047         -
            match self {
 8048         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 8049         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 8050         -
                                                path: path + "/timestamp",
 8051         -
                                            },
        9090  +
        /* ServerBuilderGenerator.kt:426 */
        9091  +
        #[allow(missing_docs)] // documentation missing in model
        9092  +
                               /* ServerBuilderGenerator.kt:428 */
        9093  +
        pub(crate) fn set_query_double(
        9094  +
            mut self,
        9095  +
            input: Option<impl ::std::convert::Into<f64>>,
        9096  +
        ) -> Self {
        9097  +
            /* ServerBuilderGenerator.kt:429 */
        9098  +
            self.query_double = input.map(|v| v.into());
        9099  +
            self
        9100  +
            /* ServerBuilderGenerator.kt:428 */
 8052   9101   
        }
        9102  +
        /* ServerBuilderGenerator.kt:331 */
        9103  +
        #[allow(missing_docs)] // documentation missing in model
        9104  +
                               /* ServerBuilderGenerator.kt:343 */
        9105  +
        pub fn query_double_list(
        9106  +
            mut self,
        9107  +
            input: ::std::option::Option<::std::vec::Vec<f64>>,
        9108  +
        ) -> Self {
        9109  +
            /* ServerBuilderGenerator.kt:344 */
        9110  +
            self.query_double_list =
        9111  +
                /* ServerBuilderGenerator.kt:376 */input
        9112  +
            /* ServerBuilderGenerator.kt:344 */;
        9113  +
            self
        9114  +
            /* ServerBuilderGenerator.kt:343 */
 8053   9115   
        }
 8054         -
    }
 8055         -
    /* ServerBuilderGenerator.kt:234 */
 8056         -
    impl ::std::convert::From<ConstraintViolation>
 8057         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 8058         -
    {
 8059         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 8060         -
            let first_validation_exception_field =
 8061         -
                constraint_violation.as_validation_exception_field("".to_owned());
 8062         -
            let validation_exception = crate::error::ValidationException {
 8063         -
                message: format!(
 8064         -
                    "1 validation error detected. {}",
 8065         -
                    &first_validation_exception_field.message
 8066         -
                ),
 8067         -
                field_list: Some(vec![first_validation_exception_field]),
 8068         -
            };
 8069         -
            Self::ConstraintViolation(
 8070         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 8071         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 8072         -
                            )
        9116  +
        /* ServerBuilderGenerator.kt:426 */
        9117  +
        #[allow(missing_docs)] // documentation missing in model
        9118  +
                               /* ServerBuilderGenerator.kt:428 */
        9119  +
        pub(crate) fn set_query_double_list(
        9120  +
            mut self,
        9121  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
        9122  +
        ) -> Self {
        9123  +
            /* ServerBuilderGenerator.kt:429 */
        9124  +
            self.query_double_list = input.map(|v| v.into());
        9125  +
            self
        9126  +
            /* ServerBuilderGenerator.kt:428 */
 8073   9127   
        }
 8074         -
    }
 8075         -
    /* ServerBuilderGenerator.kt:244 */
 8076         -
    impl ::std::convert::From<Builder>
 8077         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryEpochInput>
 8078         -
    {
 8079         -
        fn from(builder: Builder) -> Self {
 8080         -
            Self::Unconstrained(builder)
        9128  +
        /* ServerBuilderGenerator.kt:331 */
        9129  +
        #[allow(missing_docs)] // documentation missing in model
        9130  +
                               /* ServerBuilderGenerator.kt:343 */
        9131  +
        pub fn query_boolean(mut self, input: ::std::option::Option<bool>) -> Self {
        9132  +
            /* ServerBuilderGenerator.kt:344 */
        9133  +
            self.query_boolean =
        9134  +
                /* ServerBuilderGenerator.kt:376 */input
        9135  +
            /* ServerBuilderGenerator.kt:344 */;
        9136  +
            self
        9137  +
            /* ServerBuilderGenerator.kt:343 */
 8081   9138   
        }
 8082         -
    }
 8083         -
    /* ServerBuilderGenerator.kt:446 */
 8084         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
 8085         -
        type Error = ConstraintViolation;
 8086         -
 8087         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 8088         -
            builder.build()
        9139  +
        /* ServerBuilderGenerator.kt:426 */
        9140  +
        #[allow(missing_docs)] // documentation missing in model
        9141  +
                               /* ServerBuilderGenerator.kt:428 */
        9142  +
        pub(crate) fn set_query_boolean(
        9143  +
            mut self,
        9144  +
            input: Option<impl ::std::convert::Into<bool>>,
        9145  +
        ) -> Self {
        9146  +
            /* ServerBuilderGenerator.kt:429 */
        9147  +
            self.query_boolean = input.map(|v| v.into());
        9148  +
            self
        9149  +
            /* ServerBuilderGenerator.kt:428 */
 8089   9150   
        }
 8090         -
    }
 8091         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
 8092         -
    /* RustType.kt:534 */
 8093         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8094         -
    /* ServerBuilderGenerator.kt:211 */
 8095         -
    pub struct Builder {
 8096         -
        /* ServerBuilderGenerator.kt:308 */
 8097         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 8098         -
        /* ServerBuilderGenerator.kt:211 */
 8099         -
    }
 8100         -
    /* ServerBuilderGenerator.kt:215 */
 8101         -
    impl Builder {
 8102   9151   
        /* ServerBuilderGenerator.kt:331 */
 8103   9152   
        #[allow(missing_docs)] // documentation missing in model
 8104   9153   
                               /* ServerBuilderGenerator.kt:343 */
 8105         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        9154  +
        pub fn query_boolean_list(
        9155  +
            mut self,
        9156  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
        9157  +
        ) -> Self {
 8106   9158   
            /* ServerBuilderGenerator.kt:344 */
 8107         -
            self.timestamp =
 8108         -
                /* ServerBuilderGenerator.kt:345 */Some(
 8109         -
                    /* ServerBuilderGenerator.kt:376 */input
 8110         -
                /* ServerBuilderGenerator.kt:345 */)
        9159  +
            self.query_boolean_list =
        9160  +
                /* ServerBuilderGenerator.kt:376 */input
 8111   9161   
            /* ServerBuilderGenerator.kt:344 */;
 8112   9162   
            self
 8113   9163   
            /* ServerBuilderGenerator.kt:343 */
 8114   9164   
        }
 8115   9165   
        /* ServerBuilderGenerator.kt:426 */
 8116   9166   
        #[allow(missing_docs)] // documentation missing in model
 8117   9167   
                               /* ServerBuilderGenerator.kt:428 */
 8118         -
        pub(crate) fn set_timestamp(
        9168  +
        pub(crate) fn set_query_boolean_list(
 8119   9169   
            mut self,
 8120         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        9170  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
 8121   9171   
        ) -> Self {
 8122   9172   
            /* ServerBuilderGenerator.kt:429 */
 8123         -
            self.timestamp = Some(input.into());
        9173  +
            self.query_boolean_list = input.map(|v| v.into());
 8124   9174   
            self
 8125   9175   
            /* ServerBuilderGenerator.kt:428 */
 8126   9176   
        }
 8127         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
 8128         -
        /// /* ServerBuilderGenerator.kt:260 */
 8129         -
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if a [`ConstraintViolation`] occurs.
 8130         -
        ///
 8131         -
        /* ServerBuilderGenerator.kt:271 */
 8132         -
        pub fn build(
 8133         -
            self,
 8134         -
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
 8135         -
            self.build_enforcing_all_constraints()
 8136         -
        }
 8137         -
        /* ServerBuilderGenerator.kt:283 */
 8138         -
        fn build_enforcing_all_constraints(
 8139         -
            self,
 8140         -
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
 8141         -
            /* ServerBuilderGenerator.kt:287 */
 8142         -
            Ok(
 8143         -
                /* ServerBuilderGenerator.kt:542 */
 8144         -
                crate::input::MalformedTimestampQueryEpochInput {
 8145         -
                    /* ServerBuilderGenerator.kt:546 */
 8146         -
                    timestamp: self
 8147         -
                        .timestamp
 8148         -
                        /* ServerBuilderGenerator.kt:569 */
 8149         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 8150         -
                    /* ServerBuilderGenerator.kt:542 */
 8151         -
                }, /* ServerBuilderGenerator.kt:287 */
 8152         -
            )
 8153         -
            /* ServerBuilderGenerator.kt:283 */
        9177  +
        /* ServerBuilderGenerator.kt:331 */
        9178  +
        #[allow(missing_docs)] // documentation missing in model
        9179  +
                               /* ServerBuilderGenerator.kt:343 */
        9180  +
        pub fn query_timestamp(
        9181  +
            mut self,
        9182  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        9183  +
        ) -> Self {
        9184  +
            /* ServerBuilderGenerator.kt:344 */
        9185  +
            self.query_timestamp =
        9186  +
                /* ServerBuilderGenerator.kt:376 */input
        9187  +
            /* ServerBuilderGenerator.kt:344 */;
        9188  +
            self
        9189  +
            /* ServerBuilderGenerator.kt:343 */
 8154   9190   
        }
 8155         -
        /* ServerBuilderGenerator.kt:215 */
 8156         -
    }
 8157         -
 8158         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8159         -
}
 8160         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
 8161         -
pub mod malformed_timestamp_query_http_date_input {
 8162         -
 8163         -
    /* RustType.kt:534 */
 8164         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8165         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8166         -
    /* RustType.kt:534 */
 8167         -
    #[non_exhaustive]
 8168         -
    /* ServerBuilderConstraintViolations.kt:75 */
 8169         -
    #[allow(clippy::enum_variant_names)]
 8170         -
    pub enum ConstraintViolation {
 8171         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
 8172         -
        /* ServerBuilderConstraintViolations.kt:144 */
 8173         -
        MissingTimestamp,
 8174         -
        /* ServerBuilderConstraintViolations.kt:75 */
 8175         -
    }
 8176         -
    /* ServerBuilderConstraintViolations.kt:116 */
 8177         -
    impl ::std::fmt::Display for ConstraintViolation {
 8178         -
        /* ServerBuilderConstraintViolations.kt:117 */
 8179         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8180         -
            /* ServerBuilderConstraintViolations.kt:118 */
 8181         -
            match self {
 8182         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
 8183         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 8184         -
            /* ServerBuilderConstraintViolations.kt:117 */
        9191  +
        /* ServerBuilderGenerator.kt:426 */
        9192  +
        #[allow(missing_docs)] // documentation missing in model
        9193  +
                               /* ServerBuilderGenerator.kt:428 */
        9194  +
        pub(crate) fn set_query_timestamp(
        9195  +
            mut self,
        9196  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        9197  +
        ) -> Self {
        9198  +
            /* ServerBuilderGenerator.kt:429 */
        9199  +
            self.query_timestamp = input.map(|v| v.into());
        9200  +
            self
        9201  +
            /* ServerBuilderGenerator.kt:428 */
 8185   9202   
        }
 8186         -
        /* ServerBuilderConstraintViolations.kt:116 */
 8187         -
    }
 8188         -
    /* ServerBuilderConstraintViolations.kt:83 */
 8189         -
    impl ::std::error::Error for ConstraintViolation {}
 8190         -
    /* ServerBuilderConstraintViolations.kt:172 */
 8191         -
    impl ConstraintViolation {
 8192         -
        pub(crate) fn as_validation_exception_field(
 8193         -
            self,
 8194         -
            path: ::std::string::String,
 8195         -
        ) -> crate::model::ValidationExceptionField {
 8196         -
            match self {
 8197         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 8198         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 8199         -
                                                path: path + "/timestamp",
 8200         -
                                            },
        9203  +
        /* ServerBuilderGenerator.kt:331 */
        9204  +
        #[allow(missing_docs)] // documentation missing in model
        9205  +
                               /* ServerBuilderGenerator.kt:343 */
        9206  +
        pub fn query_timestamp_list(
        9207  +
            mut self,
        9208  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        9209  +
        ) -> Self {
        9210  +
            /* ServerBuilderGenerator.kt:344 */
        9211  +
            self.query_timestamp_list =
        9212  +
                /* ServerBuilderGenerator.kt:376 */input
        9213  +
            /* ServerBuilderGenerator.kt:344 */;
        9214  +
            self
        9215  +
            /* ServerBuilderGenerator.kt:343 */
 8201   9216   
        }
        9217  +
        /* ServerBuilderGenerator.kt:426 */
        9218  +
        #[allow(missing_docs)] // documentation missing in model
        9219  +
                               /* ServerBuilderGenerator.kt:428 */
        9220  +
        pub(crate) fn set_query_timestamp_list(
        9221  +
            mut self,
        9222  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
        9223  +
        ) -> Self {
        9224  +
            /* ServerBuilderGenerator.kt:429 */
        9225  +
            self.query_timestamp_list = input.map(|v| v.into());
        9226  +
            self
        9227  +
            /* ServerBuilderGenerator.kt:428 */
 8202   9228   
        }
 8203         -
    }
 8204         -
    /* ServerBuilderGenerator.kt:234 */
 8205         -
    impl ::std::convert::From<ConstraintViolation>
 8206         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 8207         -
    {
 8208         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 8209         -
            let first_validation_exception_field =
 8210         -
                constraint_violation.as_validation_exception_field("".to_owned());
 8211         -
            let validation_exception = crate::error::ValidationException {
 8212         -
                message: format!(
 8213         -
                    "1 validation error detected. {}",
 8214         -
                    &first_validation_exception_field.message
 8215         -
                ),
 8216         -
                field_list: Some(vec![first_validation_exception_field]),
 8217         -
            };
 8218         -
            Self::ConstraintViolation(
 8219         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 8220         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 8221         -
                            )
        9229  +
        /* ServerBuilderGenerator.kt:331 */
        9230  +
        #[allow(missing_docs)] // documentation missing in model
        9231  +
                               /* ServerBuilderGenerator.kt:343 */
        9232  +
        pub fn query_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        9233  +
            /* ServerBuilderGenerator.kt:344 */
        9234  +
            self.query_enum =
        9235  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        9236  +
            /* ServerBuilderGenerator.kt:344 */;
        9237  +
            self
        9238  +
            /* ServerBuilderGenerator.kt:343 */
 8222   9239   
        }
 8223         -
    }
 8224         -
    /* ServerBuilderGenerator.kt:244 */
 8225         -
    impl ::std::convert::From<Builder>
 8226         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryHttpDateInput>
 8227         -
    {
 8228         -
        fn from(builder: Builder) -> Self {
 8229         -
            Self::Unconstrained(builder)
        9240  +
        /* ServerBuilderGenerator.kt:426 */
        9241  +
        #[allow(missing_docs)] // documentation missing in model
        9242  +
                               /* ServerBuilderGenerator.kt:428 */
        9243  +
        pub(crate) fn set_query_enum(
        9244  +
            mut self,
        9245  +
            input: Option<
        9246  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        9247  +
            >,
        9248  +
        ) -> Self {
        9249  +
            /* ServerBuilderGenerator.kt:429 */
        9250  +
            self.query_enum = input.map(|v| v.into());
        9251  +
            self
        9252  +
            /* ServerBuilderGenerator.kt:428 */
 8230   9253   
        }
 8231         -
    }
 8232         -
    /* ServerBuilderGenerator.kt:446 */
 8233         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
 8234         -
        type Error = ConstraintViolation;
 8235         -
 8236         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 8237         -
            builder.build()
        9254  +
        /* ServerBuilderGenerator.kt:331 */
        9255  +
        #[allow(missing_docs)] // documentation missing in model
        9256  +
                               /* ServerBuilderGenerator.kt:343 */
        9257  +
        pub fn query_enum_list(
        9258  +
            mut self,
        9259  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        9260  +
        ) -> Self {
        9261  +
            /* ServerBuilderGenerator.kt:344 */
        9262  +
            self.query_enum_list =
        9263  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
        9264  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
        9265  +
                /* ServerBuilderGenerator.kt:363 */)
        9266  +
            /* ServerBuilderGenerator.kt:344 */;
        9267  +
            self
        9268  +
            /* ServerBuilderGenerator.kt:343 */
        9269  +
        }
        9270  +
        /* ServerBuilderGenerator.kt:426 */
        9271  +
        #[allow(missing_docs)] // documentation missing in model
        9272  +
                               /* ServerBuilderGenerator.kt:428 */
        9273  +
        pub(crate) fn set_query_enum_list(
        9274  +
            mut self,
        9275  +
            input: Option<
        9276  +
                impl ::std::convert::Into<
        9277  +
                    crate::constrained::MaybeConstrained<
        9278  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        9279  +
                    >,
        9280  +
                >,
        9281  +
            >,
        9282  +
        ) -> Self {
        9283  +
            /* ServerBuilderGenerator.kt:429 */
        9284  +
            self.query_enum_list = input.map(|v| v.into());
        9285  +
            self
        9286  +
            /* ServerBuilderGenerator.kt:428 */
 8238   9287   
        }
 8239         -
    }
 8240         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
 8241         -
    /* RustType.kt:534 */
 8242         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8243         -
    /* ServerBuilderGenerator.kt:211 */
 8244         -
    pub struct Builder {
 8245         -
        /* ServerBuilderGenerator.kt:308 */
 8246         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 8247         -
        /* ServerBuilderGenerator.kt:211 */
 8248         -
    }
 8249         -
    /* ServerBuilderGenerator.kt:215 */
 8250         -
    impl Builder {
 8251   9288   
        /* ServerBuilderGenerator.kt:331 */
 8252   9289   
        #[allow(missing_docs)] // documentation missing in model
 8253   9290   
                               /* ServerBuilderGenerator.kt:343 */
 8254         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        9291  +
        pub fn query_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
 8255   9292   
            /* ServerBuilderGenerator.kt:344 */
 8256         -
            self.timestamp =
 8257         -
                /* ServerBuilderGenerator.kt:345 */Some(
 8258         -
                    /* ServerBuilderGenerator.kt:376 */input
 8259         -
                /* ServerBuilderGenerator.kt:345 */)
        9293  +
            self.query_integer_enum =
        9294  +
                /* ServerBuilderGenerator.kt:376 */input
 8260   9295   
            /* ServerBuilderGenerator.kt:344 */;
 8261   9296   
            self
 8262   9297   
            /* ServerBuilderGenerator.kt:343 */
 8263   9298   
        }
 8264   9299   
        /* ServerBuilderGenerator.kt:426 */
 8265   9300   
        #[allow(missing_docs)] // documentation missing in model
 8266   9301   
                               /* ServerBuilderGenerator.kt:428 */
 8267         -
        pub(crate) fn set_timestamp(
        9302  +
        pub(crate) fn set_query_integer_enum(
 8268   9303   
            mut self,
 8269         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        9304  +
            input: Option<impl ::std::convert::Into<i32>>,
 8270   9305   
        ) -> Self {
 8271   9306   
            /* ServerBuilderGenerator.kt:429 */
 8272         -
            self.timestamp = Some(input.into());
        9307  +
            self.query_integer_enum = input.map(|v| v.into());
 8273   9308   
            self
 8274   9309   
            /* ServerBuilderGenerator.kt:428 */
 8275   9310   
        }
 8276         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
 8277         -
        /// /* ServerBuilderGenerator.kt:260 */
 8278         -
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if a [`ConstraintViolation`] occurs.
 8279         -
        ///
 8280         -
        /* ServerBuilderGenerator.kt:271 */
 8281         -
        pub fn build(
 8282         -
            self,
 8283         -
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
 8284         -
        {
 8285         -
            self.build_enforcing_all_constraints()
 8286         -
        }
 8287         -
        /* ServerBuilderGenerator.kt:283 */
 8288         -
        fn build_enforcing_all_constraints(
 8289         -
            self,
 8290         -
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
 8291         -
        {
 8292         -
            /* ServerBuilderGenerator.kt:287 */
 8293         -
            Ok(
 8294         -
                /* ServerBuilderGenerator.kt:542 */
 8295         -
                crate::input::MalformedTimestampQueryHttpDateInput {
 8296         -
                    /* ServerBuilderGenerator.kt:546 */
 8297         -
                    timestamp: self
 8298         -
                        .timestamp
 8299         -
                        /* ServerBuilderGenerator.kt:569 */
 8300         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 8301         -
                    /* ServerBuilderGenerator.kt:542 */
 8302         -
                }, /* ServerBuilderGenerator.kt:287 */
 8303         -
            )
 8304         -
            /* ServerBuilderGenerator.kt:283 */
 8305         -
        }
 8306         -
        /* ServerBuilderGenerator.kt:215 */
 8307         -
    }
 8308         -
 8309         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8310         -
}
 8311         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
 8312         -
pub mod malformed_timestamp_query_default_input {
 8313         -
 8314         -
    /* RustType.kt:534 */
 8315         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8316         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8317         -
    /* RustType.kt:534 */
 8318         -
    #[non_exhaustive]
 8319         -
    /* ServerBuilderConstraintViolations.kt:75 */
 8320         -
    #[allow(clippy::enum_variant_names)]
 8321         -
    pub enum ConstraintViolation {
 8322         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
 8323         -
        /* ServerBuilderConstraintViolations.kt:144 */
 8324         -
        MissingTimestamp,
 8325         -
        /* ServerBuilderConstraintViolations.kt:75 */
 8326         -
    }
 8327         -
    /* ServerBuilderConstraintViolations.kt:116 */
 8328         -
    impl ::std::fmt::Display for ConstraintViolation {
 8329         -
        /* ServerBuilderConstraintViolations.kt:117 */
 8330         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8331         -
            /* ServerBuilderConstraintViolations.kt:118 */
 8332         -
            match self {
 8333         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
 8334         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 8335         -
            /* ServerBuilderConstraintViolations.kt:117 */
 8336         -
        }
 8337         -
        /* ServerBuilderConstraintViolations.kt:116 */
 8338         -
    }
 8339         -
    /* ServerBuilderConstraintViolations.kt:83 */
 8340         -
    impl ::std::error::Error for ConstraintViolation {}
 8341         -
    /* ServerBuilderConstraintViolations.kt:172 */
 8342         -
    impl ConstraintViolation {
 8343         -
        pub(crate) fn as_validation_exception_field(
 8344         -
            self,
 8345         -
            path: ::std::string::String,
 8346         -
        ) -> crate::model::ValidationExceptionField {
 8347         -
            match self {
 8348         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 8349         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 8350         -
                                                path: path + "/timestamp",
 8351         -
                                            },
 8352         -
        }
 8353         -
        }
 8354         -
    }
 8355         -
    /* ServerBuilderGenerator.kt:234 */
 8356         -
    impl ::std::convert::From<ConstraintViolation>
 8357         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 8358         -
    {
 8359         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 8360         -
            let first_validation_exception_field =
 8361         -
                constraint_violation.as_validation_exception_field("".to_owned());
 8362         -
            let validation_exception = crate::error::ValidationException {
 8363         -
                message: format!(
 8364         -
                    "1 validation error detected. {}",
 8365         -
                    &first_validation_exception_field.message
 8366         -
                ),
 8367         -
                field_list: Some(vec![first_validation_exception_field]),
 8368         -
            };
 8369         -
            Self::ConstraintViolation(
 8370         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 8371         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 8372         -
                            )
 8373         -
        }
 8374         -
    }
 8375         -
    /* ServerBuilderGenerator.kt:244 */
 8376         -
    impl ::std::convert::From<Builder>
 8377         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryDefaultInput>
 8378         -
    {
 8379         -
        fn from(builder: Builder) -> Self {
 8380         -
            Self::Unconstrained(builder)
        9311  +
        /* ServerBuilderGenerator.kt:331 */
        9312  +
        #[allow(missing_docs)] // documentation missing in model
        9313  +
                               /* ServerBuilderGenerator.kt:343 */
        9314  +
        pub fn query_integer_enum_list(
        9315  +
            mut self,
        9316  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        9317  +
        ) -> Self {
        9318  +
            /* ServerBuilderGenerator.kt:344 */
        9319  +
            self.query_integer_enum_list =
        9320  +
                /* ServerBuilderGenerator.kt:376 */input
        9321  +
            /* ServerBuilderGenerator.kt:344 */;
        9322  +
            self
        9323  +
            /* ServerBuilderGenerator.kt:343 */
 8381   9324   
        }
 8382         -
    }
 8383         -
    /* ServerBuilderGenerator.kt:446 */
 8384         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
 8385         -
        type Error = ConstraintViolation;
 8386         -
 8387         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 8388         -
            builder.build()
        9325  +
        /* ServerBuilderGenerator.kt:426 */
        9326  +
        #[allow(missing_docs)] // documentation missing in model
        9327  +
                               /* ServerBuilderGenerator.kt:428 */
        9328  +
        pub(crate) fn set_query_integer_enum_list(
        9329  +
            mut self,
        9330  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        9331  +
        ) -> Self {
        9332  +
            /* ServerBuilderGenerator.kt:429 */
        9333  +
            self.query_integer_enum_list = input.map(|v| v.into());
        9334  +
            self
        9335  +
            /* ServerBuilderGenerator.kt:428 */
 8389   9336   
        }
 8390         -
    }
 8391         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
 8392         -
    /* RustType.kt:534 */
 8393         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8394         -
    /* ServerBuilderGenerator.kt:211 */
 8395         -
    pub struct Builder {
 8396         -
        /* ServerBuilderGenerator.kt:308 */
 8397         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 8398         -
        /* ServerBuilderGenerator.kt:211 */
 8399         -
    }
 8400         -
    /* ServerBuilderGenerator.kt:215 */
 8401         -
    impl Builder {
 8402   9337   
        /* ServerBuilderGenerator.kt:331 */
 8403   9338   
        #[allow(missing_docs)] // documentation missing in model
 8404   9339   
                               /* ServerBuilderGenerator.kt:343 */
 8405         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        9340  +
        pub fn query_params_map_of_string_list(
        9341  +
            mut self,
        9342  +
            input: ::std::option::Option<
        9343  +
                ::std::collections::HashMap<
        9344  +
                    ::std::string::String,
        9345  +
                    ::std::vec::Vec<::std::string::String>,
        9346  +
                >,
        9347  +
            >,
        9348  +
        ) -> Self {
 8406   9349   
            /* ServerBuilderGenerator.kt:344 */
 8407         -
            self.timestamp =
 8408         -
                /* ServerBuilderGenerator.kt:345 */Some(
 8409         -
                    /* ServerBuilderGenerator.kt:376 */input
 8410         -
                /* ServerBuilderGenerator.kt:345 */)
        9350  +
            self.query_params_map_of_string_list =
        9351  +
                /* ServerBuilderGenerator.kt:376 */input
 8411   9352   
            /* ServerBuilderGenerator.kt:344 */;
 8412   9353   
            self
 8413   9354   
            /* ServerBuilderGenerator.kt:343 */
 8414   9355   
        }
 8415   9356   
        /* ServerBuilderGenerator.kt:426 */
 8416   9357   
        #[allow(missing_docs)] // documentation missing in model
 8417   9358   
                               /* ServerBuilderGenerator.kt:428 */
 8418         -
        pub(crate) fn set_timestamp(
        9359  +
        pub(crate) fn set_query_params_map_of_string_list(
 8419   9360   
            mut self,
 8420         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        9361  +
            input: Option<
        9362  +
                impl ::std::convert::Into<
        9363  +
                    ::std::collections::HashMap<
        9364  +
                        ::std::string::String,
        9365  +
                        ::std::vec::Vec<::std::string::String>,
        9366  +
                    >,
        9367  +
                >,
        9368  +
            >,
 8421   9369   
        ) -> Self {
 8422   9370   
            /* ServerBuilderGenerator.kt:429 */
 8423         -
            self.timestamp = Some(input.into());
        9371  +
            self.query_params_map_of_string_list = input.map(|v| v.into());
 8424   9372   
            self
 8425   9373   
            /* ServerBuilderGenerator.kt:428 */
 8426   9374   
        }
 8427         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
        9375  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
 8428   9376   
        /// /* ServerBuilderGenerator.kt:260 */
 8429         -
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if a [`ConstraintViolation`] occurs.
        9377  +
        /// The builder fails to construct a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput) if a [`ConstraintViolation`] occurs.
 8430   9378   
        ///
        9379  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 8431   9380   
        /* ServerBuilderGenerator.kt:271 */
 8432         -
        pub fn build(
 8433         -
            self,
 8434         -
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
 8435         -
        {
        9381  +
        pub fn build(self) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
 8436   9382   
            self.build_enforcing_all_constraints()
 8437   9383   
        }
 8438   9384   
        /* ServerBuilderGenerator.kt:283 */
 8439   9385   
        fn build_enforcing_all_constraints(
 8440   9386   
            self,
 8441         -
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
 8442         -
        {
        9387  +
        ) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
 8443   9388   
            /* ServerBuilderGenerator.kt:287 */
 8444   9389   
            Ok(
 8445   9390   
                /* ServerBuilderGenerator.kt:542 */
 8446         -
                crate::input::MalformedTimestampQueryDefaultInput {
        9391  +
                crate::input::AllQueryStringTypesInput {
        9392  +
                    /* ServerBuilderGenerator.kt:546 */
        9393  +
                    query_string: self.query_string,
        9394  +
                    /* ServerBuilderGenerator.kt:546 */
        9395  +
                    query_string_list: self.query_string_list,
        9396  +
                    /* ServerBuilderGenerator.kt:546 */
        9397  +
                    query_string_set: self
        9398  +
                        .query_string_set
        9399  +
                        /* ServerBuilderGenerator.kt:602 */
        9400  +
                        .map(|v| match v {
        9401  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        9402  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        9403  +
                        })
        9404  +
                        /* ServerBuilderGenerator.kt:614 */
        9405  +
                        .map(|res| res.map_err(ConstraintViolation::QueryStringSet))
        9406  +
                        .transpose()?,
        9407  +
                    /* ServerBuilderGenerator.kt:546 */
        9408  +
                    query_byte: self.query_byte,
        9409  +
                    /* ServerBuilderGenerator.kt:546 */
        9410  +
                    query_short: self.query_short,
        9411  +
                    /* ServerBuilderGenerator.kt:546 */
        9412  +
                    query_integer: self.query_integer,
        9413  +
                    /* ServerBuilderGenerator.kt:546 */
        9414  +
                    query_integer_list: self.query_integer_list,
        9415  +
                    /* ServerBuilderGenerator.kt:546 */
        9416  +
                    query_integer_set: self
        9417  +
                        .query_integer_set
        9418  +
                        /* ServerBuilderGenerator.kt:602 */
        9419  +
                        .map(|v| match v {
        9420  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        9421  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        9422  +
                        })
        9423  +
                        /* ServerBuilderGenerator.kt:614 */
        9424  +
                        .map(|res| res.map_err(ConstraintViolation::QueryIntegerSet))
        9425  +
                        .transpose()?,
        9426  +
                    /* ServerBuilderGenerator.kt:546 */
        9427  +
                    query_long: self.query_long,
        9428  +
                    /* ServerBuilderGenerator.kt:546 */
        9429  +
                    query_float: self.query_float,
        9430  +
                    /* ServerBuilderGenerator.kt:546 */
        9431  +
                    query_double: self.query_double,
        9432  +
                    /* ServerBuilderGenerator.kt:546 */
        9433  +
                    query_double_list: self.query_double_list,
        9434  +
                    /* ServerBuilderGenerator.kt:546 */
        9435  +
                    query_boolean: self.query_boolean,
        9436  +
                    /* ServerBuilderGenerator.kt:546 */
        9437  +
                    query_boolean_list: self.query_boolean_list,
        9438  +
                    /* ServerBuilderGenerator.kt:546 */
        9439  +
                    query_timestamp: self.query_timestamp,
 8447   9440   
                    /* ServerBuilderGenerator.kt:546 */
 8448         -
                    timestamp: self
 8449         -
                        .timestamp
 8450         -
                        /* ServerBuilderGenerator.kt:569 */
 8451         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        9441  +
                    query_timestamp_list: self.query_timestamp_list,
        9442  +
                    /* ServerBuilderGenerator.kt:546 */
        9443  +
                    query_enum: self
        9444  +
                        .query_enum
        9445  +
                        /* ServerBuilderGenerator.kt:602 */
        9446  +
                        .map(|v| match v {
        9447  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        9448  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        9449  +
                        })
        9450  +
                        /* ServerBuilderGenerator.kt:614 */
        9451  +
                        .map(|res| res.map_err(ConstraintViolation::QueryEnum))
        9452  +
                        .transpose()?,
        9453  +
                    /* ServerBuilderGenerator.kt:546 */
        9454  +
                    query_enum_list: self
        9455  +
                        .query_enum_list
        9456  +
                        /* ServerBuilderGenerator.kt:602 */
        9457  +
                        .map(|v| match v {
        9458  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        9459  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        9460  +
                        })
        9461  +
                        /* ServerBuilderGenerator.kt:614 */
        9462  +
                        .map(|res| {
        9463  +
                            res.map(|v| v.into())
        9464  +
                                .map_err(ConstraintViolation::QueryEnumList)
        9465  +
                        })
        9466  +
                        .transpose()?,
        9467  +
                    /* ServerBuilderGenerator.kt:546 */
        9468  +
                    query_integer_enum: self.query_integer_enum,
        9469  +
                    /* ServerBuilderGenerator.kt:546 */
        9470  +
                    query_integer_enum_list: self.query_integer_enum_list,
        9471  +
                    /* ServerBuilderGenerator.kt:546 */
        9472  +
                    query_params_map_of_string_list: self.query_params_map_of_string_list,
 8452   9473   
                    /* ServerBuilderGenerator.kt:542 */
 8453   9474   
                }, /* ServerBuilderGenerator.kt:287 */
 8454   9475   
            )
 8455   9476   
            /* ServerBuilderGenerator.kt:283 */
 8456   9477   
        }
 8457   9478   
        /* ServerBuilderGenerator.kt:215 */
 8458   9479   
    }
 8459   9480   
 8460   9481   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8461   9482   
}
 8462         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
 8463         -
pub mod malformed_timestamp_path_epoch_input {
        9483  +
/// /* ServerBuilderGenerator.kt:171 */See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
        9484  +
pub mod constant_query_string_input {
 8464   9485   
 8465   9486   
    /* RustType.kt:534 */
 8466   9487   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8467   9488   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8468   9489   
    /* RustType.kt:534 */
 8469   9490   
    #[non_exhaustive]
 8470   9491   
    /* ServerBuilderConstraintViolations.kt:75 */
 8471   9492   
    #[allow(clippy::enum_variant_names)]
 8472   9493   
    pub enum ConstraintViolation {
 8473         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
        9494  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`hello` was not provided but it is required when building `ConstantQueryStringInput`.
 8474   9495   
        /* ServerBuilderConstraintViolations.kt:144 */
 8475         -
        MissingTimestamp,
        9496  +
        MissingHello,
 8476   9497   
        /* ServerBuilderConstraintViolations.kt:75 */
 8477   9498   
    }
 8478   9499   
    /* ServerBuilderConstraintViolations.kt:116 */
 8479   9500   
    impl ::std::fmt::Display for ConstraintViolation {
 8480   9501   
        /* ServerBuilderConstraintViolations.kt:117 */
 8481   9502   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8482   9503   
            /* ServerBuilderConstraintViolations.kt:118 */
 8483   9504   
            match self {
 8484         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
        9505  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
 8485   9506   
            /* ServerBuilderConstraintViolations.kt:118 */}
 8486   9507   
            /* ServerBuilderConstraintViolations.kt:117 */
 8487   9508   
        }
 8488   9509   
        /* ServerBuilderConstraintViolations.kt:116 */
 8489   9510   
    }
 8490   9511   
    /* ServerBuilderConstraintViolations.kt:83 */
 8491   9512   
    impl ::std::error::Error for ConstraintViolation {}
 8492   9513   
    /* ServerBuilderConstraintViolations.kt:172 */
 8493   9514   
    impl ConstraintViolation {
 8494   9515   
        pub(crate) fn as_validation_exception_field(
 8495   9516   
            self,
 8496   9517   
            path: ::std::string::String,
 8497   9518   
        ) -> crate::model::ValidationExceptionField {
 8498   9519   
            match self {
 8499         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 8500         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 8501         -
                                                path: path + "/timestamp",
 8502         -
                                            },
 8503         -
        }
        9520  +
                ConstraintViolation::MissingHello => crate::model::ValidationExceptionField {
        9521  +
                    message: format!(
        9522  +
                        "Value at '{}/hello' failed to satisfy constraint: Member must not be null",
        9523  +
                        path
        9524  +
                    ),
        9525  +
                    path: path + "/hello",
        9526  +
                },
        9527  +
            }
 8504   9528   
        }
 8505   9529   
    }
 8506   9530   
    /* ServerBuilderGenerator.kt:234 */
 8507   9531   
    impl ::std::convert::From<ConstraintViolation>
 8508   9532   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 8509   9533   
    {
 8510   9534   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 8511   9535   
            let first_validation_exception_field =
 8512   9536   
                constraint_violation.as_validation_exception_field("".to_owned());
 8513   9537   
            let validation_exception = crate::error::ValidationException {
 8514   9538   
                message: format!(
 8515   9539   
                    "1 validation error detected. {}",
 8516   9540   
                    &first_validation_exception_field.message
 8517   9541   
                ),
 8518   9542   
                field_list: Some(vec![first_validation_exception_field]),
 8519   9543   
            };
 8520   9544   
            Self::ConstraintViolation(
 8521   9545   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 8522   9546   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 8523   9547   
                            )
 8524   9548   
        }
 8525   9549   
    }
 8526   9550   
    /* ServerBuilderGenerator.kt:244 */
 8527   9551   
    impl ::std::convert::From<Builder>
 8528         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathEpochInput>
        9552  +
        for crate::constrained::MaybeConstrained<crate::input::ConstantQueryStringInput>
 8529   9553   
    {
 8530   9554   
        fn from(builder: Builder) -> Self {
 8531   9555   
            Self::Unconstrained(builder)
 8532   9556   
        }
 8533   9557   
    }
 8534   9558   
    /* ServerBuilderGenerator.kt:446 */
 8535         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
        9559  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
 8536   9560   
        type Error = ConstraintViolation;
 8537   9561   
 8538   9562   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 8539   9563   
            builder.build()
 8540   9564   
        }
 8541   9565   
    }
 8542         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        9566  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
 8543   9567   
    /* RustType.kt:534 */
 8544   9568   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8545   9569   
    /* ServerBuilderGenerator.kt:211 */
 8546   9570   
    pub struct Builder {
 8547   9571   
        /* ServerBuilderGenerator.kt:308 */
 8548         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        9572  +
        pub(crate) hello: ::std::option::Option<::std::string::String>,
 8549   9573   
        /* ServerBuilderGenerator.kt:211 */
 8550   9574   
    }
 8551   9575   
    /* ServerBuilderGenerator.kt:215 */
 8552   9576   
    impl Builder {
 8553   9577   
        /* ServerBuilderGenerator.kt:331 */
 8554   9578   
        #[allow(missing_docs)] // documentation missing in model
 8555   9579   
                               /* ServerBuilderGenerator.kt:343 */
 8556         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        9580  +
        pub fn hello(mut self, input: ::std::string::String) -> Self {
 8557   9581   
            /* ServerBuilderGenerator.kt:344 */
 8558         -
            self.timestamp =
        9582  +
            self.hello =
 8559   9583   
                /* ServerBuilderGenerator.kt:345 */Some(
 8560   9584   
                    /* ServerBuilderGenerator.kt:376 */input
 8561   9585   
                /* ServerBuilderGenerator.kt:345 */)
 8562   9586   
            /* ServerBuilderGenerator.kt:344 */;
 8563   9587   
            self
 8564   9588   
            /* ServerBuilderGenerator.kt:343 */
 8565   9589   
        }
 8566   9590   
        /* ServerBuilderGenerator.kt:426 */
 8567   9591   
        #[allow(missing_docs)] // documentation missing in model
 8568   9592   
                               /* ServerBuilderGenerator.kt:428 */
 8569         -
        pub(crate) fn set_timestamp(
        9593  +
        pub(crate) fn set_hello(
 8570   9594   
            mut self,
 8571         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        9595  +
            input: impl ::std::convert::Into<::std::string::String>,
 8572   9596   
        ) -> Self {
 8573   9597   
            /* ServerBuilderGenerator.kt:429 */
 8574         -
            self.timestamp = Some(input.into());
        9598  +
            self.hello = Some(input.into());
 8575   9599   
            self
 8576   9600   
            /* ServerBuilderGenerator.kt:428 */
 8577   9601   
        }
 8578         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        9602  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
 8579   9603   
        /// /* ServerBuilderGenerator.kt:260 */
 8580         -
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if a [`ConstraintViolation`] occurs.
        9604  +
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if a [`ConstraintViolation`] occurs.
 8581   9605   
        ///
 8582   9606   
        /* ServerBuilderGenerator.kt:271 */
 8583         -
        pub fn build(
 8584         -
            self,
 8585         -
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
        9607  +
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
 8586   9608   
            self.build_enforcing_all_constraints()
 8587   9609   
        }
 8588   9610   
        /* ServerBuilderGenerator.kt:283 */
 8589   9611   
        fn build_enforcing_all_constraints(
 8590   9612   
            self,
 8591         -
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
        9613  +
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
 8592   9614   
            /* ServerBuilderGenerator.kt:287 */
 8593   9615   
            Ok(
 8594   9616   
                /* ServerBuilderGenerator.kt:542 */
 8595         -
                crate::input::MalformedTimestampPathEpochInput {
        9617  +
                crate::input::ConstantQueryStringInput {
 8596   9618   
                    /* ServerBuilderGenerator.kt:546 */
 8597         -
                    timestamp: self
 8598         -
                        .timestamp
        9619  +
                    hello: self
        9620  +
                        .hello
 8599   9621   
                        /* ServerBuilderGenerator.kt:569 */
 8600         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        9622  +
                        .ok_or(ConstraintViolation::MissingHello)?,
 8601   9623   
                    /* ServerBuilderGenerator.kt:542 */
 8602   9624   
                }, /* ServerBuilderGenerator.kt:287 */
 8603   9625   
            )
 8604   9626   
            /* ServerBuilderGenerator.kt:283 */
 8605   9627   
        }
 8606   9628   
        /* ServerBuilderGenerator.kt:215 */
 8607   9629   
    }
 8608   9630   
 8609   9631   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8610   9632   
}
 8611         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
 8612         -
pub mod malformed_timestamp_path_http_date_input {
        9633  +
/// /* ServerBuilderGenerator.kt:171 */See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
        9634  +
pub mod constant_and_variable_query_string_input {
 8613   9635   
        9636  +
    /* ServerBuilderGenerator.kt:461 */
        9637  +
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
        9638  +
        fn from(builder: Builder) -> Self {
        9639  +
            builder.build()
        9640  +
        }
        9641  +
    }
        9642  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
 8614   9643   
    /* RustType.kt:534 */
 8615         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8616         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8617         -
    /* RustType.kt:534 */
 8618         -
    #[non_exhaustive]
 8619         -
    /* ServerBuilderConstraintViolations.kt:75 */
 8620         -
    #[allow(clippy::enum_variant_names)]
 8621         -
    pub enum ConstraintViolation {
 8622         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
 8623         -
        /* ServerBuilderConstraintViolations.kt:144 */
 8624         -
        MissingTimestamp,
 8625         -
        /* ServerBuilderConstraintViolations.kt:75 */
        9644  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9645  +
    /* ServerBuilderGenerator.kt:211 */
        9646  +
    pub struct Builder {
        9647  +
        /* ServerBuilderGenerator.kt:308 */
        9648  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
        9649  +
        /* ServerBuilderGenerator.kt:308 */
        9650  +
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
        9651  +
        /* ServerBuilderGenerator.kt:211 */
 8626   9652   
    }
 8627         -
    /* ServerBuilderConstraintViolations.kt:116 */
 8628         -
    impl ::std::fmt::Display for ConstraintViolation {
 8629         -
        /* ServerBuilderConstraintViolations.kt:117 */
 8630         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8631         -
            /* ServerBuilderConstraintViolations.kt:118 */
 8632         -
            match self {
 8633         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
 8634         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 8635         -
            /* ServerBuilderConstraintViolations.kt:117 */
        9653  +
    /* ServerBuilderGenerator.kt:215 */
        9654  +
    impl Builder {
        9655  +
        /* ServerBuilderGenerator.kt:331 */
        9656  +
        #[allow(missing_docs)] // documentation missing in model
        9657  +
                               /* ServerBuilderGenerator.kt:343 */
        9658  +
        pub fn baz(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        9659  +
            /* ServerBuilderGenerator.kt:344 */
        9660  +
            self.baz =
        9661  +
                /* ServerBuilderGenerator.kt:376 */input
        9662  +
            /* ServerBuilderGenerator.kt:344 */;
        9663  +
            self
        9664  +
            /* ServerBuilderGenerator.kt:343 */
 8636   9665   
        }
 8637         -
        /* ServerBuilderConstraintViolations.kt:116 */
 8638         -
    }
 8639         -
    /* ServerBuilderConstraintViolations.kt:83 */
 8640         -
    impl ::std::error::Error for ConstraintViolation {}
 8641         -
    /* ServerBuilderConstraintViolations.kt:172 */
 8642         -
    impl ConstraintViolation {
 8643         -
        pub(crate) fn as_validation_exception_field(
 8644         -
            self,
 8645         -
            path: ::std::string::String,
 8646         -
        ) -> crate::model::ValidationExceptionField {
 8647         -
            match self {
 8648         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 8649         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 8650         -
                                                path: path + "/timestamp",
 8651         -
                                            },
        9666  +
        /* ServerBuilderGenerator.kt:426 */
        9667  +
        #[allow(missing_docs)] // documentation missing in model
        9668  +
                               /* ServerBuilderGenerator.kt:428 */
        9669  +
        pub(crate) fn set_baz(
        9670  +
            mut self,
        9671  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        9672  +
        ) -> Self {
        9673  +
            /* ServerBuilderGenerator.kt:429 */
        9674  +
            self.baz = input.map(|v| v.into());
        9675  +
            self
        9676  +
            /* ServerBuilderGenerator.kt:428 */
 8652   9677   
        }
        9678  +
        /* ServerBuilderGenerator.kt:331 */
        9679  +
        #[allow(missing_docs)] // documentation missing in model
        9680  +
                               /* ServerBuilderGenerator.kt:343 */
        9681  +
        pub fn maybe_set(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        9682  +
            /* ServerBuilderGenerator.kt:344 */
        9683  +
            self.maybe_set =
        9684  +
                /* ServerBuilderGenerator.kt:376 */input
        9685  +
            /* ServerBuilderGenerator.kt:344 */;
        9686  +
            self
        9687  +
            /* ServerBuilderGenerator.kt:343 */
 8653   9688   
        }
 8654         -
    }
 8655         -
    /* ServerBuilderGenerator.kt:234 */
 8656         -
    impl ::std::convert::From<ConstraintViolation>
 8657         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 8658         -
    {
 8659         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 8660         -
            let first_validation_exception_field =
 8661         -
                constraint_violation.as_validation_exception_field("".to_owned());
 8662         -
            let validation_exception = crate::error::ValidationException {
 8663         -
                message: format!(
 8664         -
                    "1 validation error detected. {}",
 8665         -
                    &first_validation_exception_field.message
 8666         -
                ),
 8667         -
                field_list: Some(vec![first_validation_exception_field]),
 8668         -
            };
 8669         -
            Self::ConstraintViolation(
 8670         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 8671         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 8672         -
                            )
        9689  +
        /* ServerBuilderGenerator.kt:426 */
        9690  +
        #[allow(missing_docs)] // documentation missing in model
        9691  +
                               /* ServerBuilderGenerator.kt:428 */
        9692  +
        pub(crate) fn set_maybe_set(
        9693  +
            mut self,
        9694  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        9695  +
        ) -> Self {
        9696  +
            /* ServerBuilderGenerator.kt:429 */
        9697  +
            self.maybe_set = input.map(|v| v.into());
        9698  +
            self
        9699  +
            /* ServerBuilderGenerator.kt:428 */
        9700  +
        }
        9701  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
        9702  +
        /* ServerBuilderGenerator.kt:271 */
        9703  +
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
        9704  +
            self.build_enforcing_all_constraints()
        9705  +
        }
        9706  +
        /* ServerBuilderGenerator.kt:283 */
        9707  +
        fn build_enforcing_all_constraints(
        9708  +
            self,
        9709  +
        ) -> crate::input::ConstantAndVariableQueryStringInput {
        9710  +
            /* ServerBuilderGenerator.kt:542 */
        9711  +
            crate::input::ConstantAndVariableQueryStringInput {
        9712  +
                /* ServerBuilderGenerator.kt:546 */
        9713  +
                baz: self.baz,
        9714  +
                /* ServerBuilderGenerator.kt:546 */
        9715  +
                maybe_set: self.maybe_set,
        9716  +
                /* ServerBuilderGenerator.kt:542 */
        9717  +
            }
        9718  +
            /* ServerBuilderGenerator.kt:283 */
 8673   9719   
        }
        9720  +
        /* ServerBuilderGenerator.kt:215 */
 8674   9721   
    }
 8675         -
    /* ServerBuilderGenerator.kt:244 */
 8676         -
    impl ::std::convert::From<Builder>
 8677         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathHttpDateInput>
 8678         -
    {
        9722  +
        9723  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        9724  +
}
        9725  +
/// /* ServerBuilderGenerator.kt:171 */See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
        9726  +
pub mod ignore_query_params_in_response_input {
        9727  +
        9728  +
    /* ServerBuilderGenerator.kt:461 */
        9729  +
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
 8679   9730   
        fn from(builder: Builder) -> Self {
 8680         -
            Self::Unconstrained(builder)
        9731  +
            builder.build()
        9732  +
        }
        9733  +
    }
        9734  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
        9735  +
    /* RustType.kt:534 */
        9736  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9737  +
    /* ServerBuilderGenerator.kt:211 */
        9738  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        9739  +
    /* ServerBuilderGenerator.kt:215 */
        9740  +
    impl Builder {
        9741  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
        9742  +
        /* ServerBuilderGenerator.kt:271 */
        9743  +
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
        9744  +
            self.build_enforcing_all_constraints()
        9745  +
        }
        9746  +
        /* ServerBuilderGenerator.kt:283 */
        9747  +
        fn build_enforcing_all_constraints(self) -> crate::input::IgnoreQueryParamsInResponseInput {
        9748  +
            /* ServerBuilderGenerator.kt:542 */
        9749  +
            crate::input::IgnoreQueryParamsInResponseInput {
        9750  +
            /* ServerBuilderGenerator.kt:542 */}
        9751  +
            /* ServerBuilderGenerator.kt:283 */
 8681   9752   
        }
        9753  +
        /* ServerBuilderGenerator.kt:215 */
 8682   9754   
    }
 8683         -
    /* ServerBuilderGenerator.kt:446 */
 8684         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
 8685         -
        type Error = ConstraintViolation;
 8686   9755   
 8687         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9756  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        9757  +
}
        9758  +
/// /* ServerBuilderGenerator.kt:171 */See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
        9759  +
pub mod omits_null_serializes_empty_string_input {
        9760  +
        9761  +
    /* ServerBuilderGenerator.kt:461 */
        9762  +
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
        9763  +
        fn from(builder: Builder) -> Self {
 8688   9764   
            builder.build()
 8689   9765   
        }
 8690   9766   
    }
 8691         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        9767  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
 8692   9768   
    /* RustType.kt:534 */
 8693   9769   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8694   9770   
    /* ServerBuilderGenerator.kt:211 */
 8695   9771   
    pub struct Builder {
 8696   9772   
        /* ServerBuilderGenerator.kt:308 */
 8697         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        9773  +
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
        9774  +
        /* ServerBuilderGenerator.kt:308 */
        9775  +
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
 8698   9776   
        /* ServerBuilderGenerator.kt:211 */
 8699   9777   
    }
 8700   9778   
    /* ServerBuilderGenerator.kt:215 */
 8701   9779   
    impl Builder {
 8702   9780   
        /* ServerBuilderGenerator.kt:331 */
 8703   9781   
        #[allow(missing_docs)] // documentation missing in model
 8704   9782   
                               /* ServerBuilderGenerator.kt:343 */
 8705         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        9783  +
        pub fn null_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8706   9784   
            /* ServerBuilderGenerator.kt:344 */
 8707         -
            self.timestamp =
 8708         -
                /* ServerBuilderGenerator.kt:345 */Some(
 8709         -
                    /* ServerBuilderGenerator.kt:376 */input
 8710         -
                /* ServerBuilderGenerator.kt:345 */)
        9785  +
            self.null_value =
        9786  +
                /* ServerBuilderGenerator.kt:376 */input
 8711   9787   
            /* ServerBuilderGenerator.kt:344 */;
 8712   9788   
            self
 8713   9789   
            /* ServerBuilderGenerator.kt:343 */
 8714   9790   
        }
 8715   9791   
        /* ServerBuilderGenerator.kt:426 */
 8716   9792   
        #[allow(missing_docs)] // documentation missing in model
 8717   9793   
                               /* ServerBuilderGenerator.kt:428 */
 8718         -
        pub(crate) fn set_timestamp(
        9794  +
        pub(crate) fn set_null_value(
 8719   9795   
            mut self,
 8720         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        9796  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8721   9797   
        ) -> Self {
 8722   9798   
            /* ServerBuilderGenerator.kt:429 */
 8723         -
            self.timestamp = Some(input.into());
        9799  +
            self.null_value = input.map(|v| v.into());
 8724   9800   
            self
 8725   9801   
            /* ServerBuilderGenerator.kt:428 */
 8726   9802   
        }
 8727         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
 8728         -
        /// /* ServerBuilderGenerator.kt:260 */
 8729         -
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if a [`ConstraintViolation`] occurs.
 8730         -
        ///
        9803  +
        /* ServerBuilderGenerator.kt:331 */
        9804  +
        #[allow(missing_docs)] // documentation missing in model
        9805  +
                               /* ServerBuilderGenerator.kt:343 */
        9806  +
        pub fn empty_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        9807  +
            /* ServerBuilderGenerator.kt:344 */
        9808  +
            self.empty_string =
        9809  +
                /* ServerBuilderGenerator.kt:376 */input
        9810  +
            /* ServerBuilderGenerator.kt:344 */;
        9811  +
            self
        9812  +
            /* ServerBuilderGenerator.kt:343 */
        9813  +
        }
        9814  +
        /* ServerBuilderGenerator.kt:426 */
        9815  +
        #[allow(missing_docs)] // documentation missing in model
        9816  +
                               /* ServerBuilderGenerator.kt:428 */
        9817  +
        pub(crate) fn set_empty_string(
        9818  +
            mut self,
        9819  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        9820  +
        ) -> Self {
        9821  +
            /* ServerBuilderGenerator.kt:429 */
        9822  +
            self.empty_string = input.map(|v| v.into());
        9823  +
            self
        9824  +
            /* ServerBuilderGenerator.kt:428 */
        9825  +
        }
        9826  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
 8731   9827   
        /* ServerBuilderGenerator.kt:271 */
 8732         -
        pub fn build(
 8733         -
            self,
 8734         -
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
 8735         -
        {
        9828  +
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
 8736   9829   
            self.build_enforcing_all_constraints()
 8737   9830   
        }
 8738   9831   
        /* ServerBuilderGenerator.kt:283 */
 8739   9832   
        fn build_enforcing_all_constraints(
 8740   9833   
            self,
 8741         -
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
 8742         -
        {
 8743         -
            /* ServerBuilderGenerator.kt:287 */
 8744         -
            Ok(
        9834  +
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
        9835  +
            /* ServerBuilderGenerator.kt:542 */
        9836  +
            crate::input::OmitsNullSerializesEmptyStringInput {
        9837  +
                /* ServerBuilderGenerator.kt:546 */
        9838  +
                null_value: self.null_value,
        9839  +
                /* ServerBuilderGenerator.kt:546 */
        9840  +
                empty_string: self.empty_string,
 8745   9841   
                /* ServerBuilderGenerator.kt:542 */
 8746         -
                crate::input::MalformedTimestampPathHttpDateInput {
 8747         -
                    /* ServerBuilderGenerator.kt:546 */
 8748         -
                    timestamp: self
 8749         -
                        .timestamp
 8750         -
                        /* ServerBuilderGenerator.kt:569 */
 8751         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 8752         -
                    /* ServerBuilderGenerator.kt:542 */
 8753         -
                }, /* ServerBuilderGenerator.kt:287 */
 8754         -
            )
        9842  +
            }
 8755   9843   
            /* ServerBuilderGenerator.kt:283 */
 8756   9844   
        }
 8757   9845   
        /* ServerBuilderGenerator.kt:215 */
 8758   9846   
    }
 8759   9847   
 8760   9848   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8761   9849   
}
 8762         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
 8763         -
pub mod malformed_timestamp_path_default_input {
        9850  +
/// /* ServerBuilderGenerator.kt:171 */See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
        9851  +
pub mod omits_serializing_empty_lists_input {
 8764   9852   
 8765   9853   
    /* RustType.kt:534 */
 8766   9854   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8767   9855   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8768   9856   
    /* RustType.kt:534 */
 8769   9857   
    #[non_exhaustive]
 8770   9858   
    /* ServerBuilderConstraintViolations.kt:75 */
 8771   9859   
    #[allow(clippy::enum_variant_names)]
 8772   9860   
    pub enum ConstraintViolation {
 8773         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
 8774         -
        /* ServerBuilderConstraintViolations.kt:144 */
 8775         -
        MissingTimestamp,
        9861  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`.
        9862  +
        /* RustType.kt:534 */
        9863  +
        #[doc(hidden)]
        9864  +
        /* ServerBuilderConstraintViolations.kt:165 */
        9865  +
        QueryEnumList(crate::model::foo_enum_list::ConstraintViolation),
 8776   9866   
        /* ServerBuilderConstraintViolations.kt:75 */
 8777   9867   
    }
 8778   9868   
    /* ServerBuilderConstraintViolations.kt:116 */
 8779   9869   
    impl ::std::fmt::Display for ConstraintViolation {
 8780   9870   
        /* ServerBuilderConstraintViolations.kt:117 */
 8781   9871   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8782   9872   
            /* ServerBuilderConstraintViolations.kt:118 */
 8783   9873   
            match self {
 8784         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
        9874  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`"),
 8785   9875   
            /* ServerBuilderConstraintViolations.kt:118 */}
 8786   9876   
            /* ServerBuilderConstraintViolations.kt:117 */
 8787   9877   
        }
 8788   9878   
        /* ServerBuilderConstraintViolations.kt:116 */
 8789   9879   
    }
 8790   9880   
    /* ServerBuilderConstraintViolations.kt:83 */
 8791   9881   
    impl ::std::error::Error for ConstraintViolation {}
 8792   9882   
    /* ServerBuilderConstraintViolations.kt:172 */
 8793   9883   
    impl ConstraintViolation {
 8794   9884   
        pub(crate) fn as_validation_exception_field(
 8795   9885   
            self,
 8796   9886   
            path: ::std::string::String,
 8797   9887   
        ) -> crate::model::ValidationExceptionField {
 8798   9888   
            match self {
 8799         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 8800         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 8801         -
                                                path: path + "/timestamp",
 8802         -
                                            },
 8803         -
        }
        9889  +
                ConstraintViolation::QueryEnumList(inner) => {
        9890  +
                    inner.as_validation_exception_field(path + "/queryEnumList")
        9891  +
                }
        9892  +
            }
 8804   9893   
        }
 8805   9894   
    }
 8806   9895   
    /* ServerBuilderGenerator.kt:234 */
 8807   9896   
    impl ::std::convert::From<ConstraintViolation>
 8808   9897   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 8809   9898   
    {
 8810   9899   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 8811   9900   
            let first_validation_exception_field =
 8812   9901   
                constraint_violation.as_validation_exception_field("".to_owned());
 8813   9902   
            let validation_exception = crate::error::ValidationException {
 8814   9903   
                message: format!(
 8815   9904   
                    "1 validation error detected. {}",
 8816   9905   
                    &first_validation_exception_field.message
 8817   9906   
                ),
 8818   9907   
                field_list: Some(vec![first_validation_exception_field]),
 8819   9908   
            };
 8820   9909   
            Self::ConstraintViolation(
 8821   9910   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 8822   9911   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 8823   9912   
                            )
 8824   9913   
        }
 8825   9914   
    }
 8826   9915   
    /* ServerBuilderGenerator.kt:244 */
 8827   9916   
    impl ::std::convert::From<Builder>
 8828         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathDefaultInput>
        9917  +
        for crate::constrained::MaybeConstrained<crate::input::OmitsSerializingEmptyListsInput>
 8829   9918   
    {
 8830   9919   
        fn from(builder: Builder) -> Self {
 8831   9920   
            Self::Unconstrained(builder)
 8832   9921   
        }
 8833   9922   
    }
 8834   9923   
    /* ServerBuilderGenerator.kt:446 */
 8835         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
        9924  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OmitsSerializingEmptyListsInput {
 8836   9925   
        type Error = ConstraintViolation;
 8837   9926   
 8838   9927   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 8839   9928   
            builder.build()
 8840   9929   
        }
 8841         -
    }
 8842         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
 8843         -
    /* RustType.kt:534 */
 8844         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8845         -
    /* ServerBuilderGenerator.kt:211 */
 8846         -
    pub struct Builder {
 8847         -
        /* ServerBuilderGenerator.kt:308 */
 8848         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 8849         -
        /* ServerBuilderGenerator.kt:211 */
 8850         -
    }
 8851         -
    /* ServerBuilderGenerator.kt:215 */
 8852         -
    impl Builder {
        9930  +
    }
        9931  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
        9932  +
    /* RustType.kt:534 */
        9933  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9934  +
    /* ServerBuilderGenerator.kt:211 */
        9935  +
    pub struct Builder {
        9936  +
        /* ServerBuilderGenerator.kt:308 */
        9937  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        9938  +
        /* ServerBuilderGenerator.kt:308 */
        9939  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        9940  +
        /* ServerBuilderGenerator.kt:308 */
        9941  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        9942  +
        /* ServerBuilderGenerator.kt:308 */
        9943  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        9944  +
        /* ServerBuilderGenerator.kt:308 */
        9945  +
        pub(crate) query_timestamp_list:
        9946  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        9947  +
        /* ServerBuilderGenerator.kt:308 */
        9948  +
        pub(crate) query_enum_list: ::std::option::Option<
        9949  +
            crate::constrained::MaybeConstrained<
        9950  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        9951  +
            >,
        9952  +
        >,
        9953  +
        /* ServerBuilderGenerator.kt:308 */
        9954  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        9955  +
        /* ServerBuilderGenerator.kt:211 */
        9956  +
    }
        9957  +
    /* ServerBuilderGenerator.kt:215 */
        9958  +
    impl Builder {
        9959  +
        /* ServerBuilderGenerator.kt:331 */
        9960  +
        #[allow(missing_docs)] // documentation missing in model
        9961  +
                               /* ServerBuilderGenerator.kt:343 */
        9962  +
        pub fn query_string_list(
        9963  +
            mut self,
        9964  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        9965  +
        ) -> Self {
        9966  +
            /* ServerBuilderGenerator.kt:344 */
        9967  +
            self.query_string_list =
        9968  +
                /* ServerBuilderGenerator.kt:376 */input
        9969  +
            /* ServerBuilderGenerator.kt:344 */;
        9970  +
            self
        9971  +
            /* ServerBuilderGenerator.kt:343 */
        9972  +
        }
        9973  +
        /* ServerBuilderGenerator.kt:426 */
        9974  +
        #[allow(missing_docs)] // documentation missing in model
        9975  +
                               /* ServerBuilderGenerator.kt:428 */
        9976  +
        pub(crate) fn set_query_string_list(
        9977  +
            mut self,
        9978  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        9979  +
        ) -> Self {
        9980  +
            /* ServerBuilderGenerator.kt:429 */
        9981  +
            self.query_string_list = input.map(|v| v.into());
        9982  +
            self
        9983  +
            /* ServerBuilderGenerator.kt:428 */
        9984  +
        }
        9985  +
        /* ServerBuilderGenerator.kt:331 */
        9986  +
        #[allow(missing_docs)] // documentation missing in model
        9987  +
                               /* ServerBuilderGenerator.kt:343 */
        9988  +
        pub fn query_integer_list(
        9989  +
            mut self,
        9990  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        9991  +
        ) -> Self {
        9992  +
            /* ServerBuilderGenerator.kt:344 */
        9993  +
            self.query_integer_list =
        9994  +
                /* ServerBuilderGenerator.kt:376 */input
        9995  +
            /* ServerBuilderGenerator.kt:344 */;
        9996  +
            self
        9997  +
            /* ServerBuilderGenerator.kt:343 */
        9998  +
        }
        9999  +
        /* ServerBuilderGenerator.kt:426 */
       10000  +
        #[allow(missing_docs)] // documentation missing in model
       10001  +
                               /* ServerBuilderGenerator.kt:428 */
       10002  +
        pub(crate) fn set_query_integer_list(
       10003  +
            mut self,
       10004  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       10005  +
        ) -> Self {
       10006  +
            /* ServerBuilderGenerator.kt:429 */
       10007  +
            self.query_integer_list = input.map(|v| v.into());
       10008  +
            self
       10009  +
            /* ServerBuilderGenerator.kt:428 */
       10010  +
        }
       10011  +
        /* ServerBuilderGenerator.kt:331 */
       10012  +
        #[allow(missing_docs)] // documentation missing in model
       10013  +
                               /* ServerBuilderGenerator.kt:343 */
       10014  +
        pub fn query_double_list(
       10015  +
            mut self,
       10016  +
            input: ::std::option::Option<::std::vec::Vec<f64>>,
       10017  +
        ) -> Self {
       10018  +
            /* ServerBuilderGenerator.kt:344 */
       10019  +
            self.query_double_list =
       10020  +
                /* ServerBuilderGenerator.kt:376 */input
       10021  +
            /* ServerBuilderGenerator.kt:344 */;
       10022  +
            self
       10023  +
            /* ServerBuilderGenerator.kt:343 */
       10024  +
        }
       10025  +
        /* ServerBuilderGenerator.kt:426 */
       10026  +
        #[allow(missing_docs)] // documentation missing in model
       10027  +
                               /* ServerBuilderGenerator.kt:428 */
       10028  +
        pub(crate) fn set_query_double_list(
       10029  +
            mut self,
       10030  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       10031  +
        ) -> Self {
       10032  +
            /* ServerBuilderGenerator.kt:429 */
       10033  +
            self.query_double_list = input.map(|v| v.into());
       10034  +
            self
       10035  +
            /* ServerBuilderGenerator.kt:428 */
       10036  +
        }
       10037  +
        /* ServerBuilderGenerator.kt:331 */
       10038  +
        #[allow(missing_docs)] // documentation missing in model
       10039  +
                               /* ServerBuilderGenerator.kt:343 */
       10040  +
        pub fn query_boolean_list(
       10041  +
            mut self,
       10042  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
       10043  +
        ) -> Self {
       10044  +
            /* ServerBuilderGenerator.kt:344 */
       10045  +
            self.query_boolean_list =
       10046  +
                /* ServerBuilderGenerator.kt:376 */input
       10047  +
            /* ServerBuilderGenerator.kt:344 */;
       10048  +
            self
       10049  +
            /* ServerBuilderGenerator.kt:343 */
       10050  +
        }
       10051  +
        /* ServerBuilderGenerator.kt:426 */
       10052  +
        #[allow(missing_docs)] // documentation missing in model
       10053  +
                               /* ServerBuilderGenerator.kt:428 */
       10054  +
        pub(crate) fn set_query_boolean_list(
       10055  +
            mut self,
       10056  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       10057  +
        ) -> Self {
       10058  +
            /* ServerBuilderGenerator.kt:429 */
       10059  +
            self.query_boolean_list = input.map(|v| v.into());
       10060  +
            self
       10061  +
            /* ServerBuilderGenerator.kt:428 */
       10062  +
        }
 8853  10063   
        /* ServerBuilderGenerator.kt:331 */
 8854  10064   
        #[allow(missing_docs)] // documentation missing in model
 8855  10065   
                               /* ServerBuilderGenerator.kt:343 */
 8856         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       10066  +
        pub fn query_timestamp_list(
       10067  +
            mut self,
       10068  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       10069  +
        ) -> Self {
 8857  10070   
            /* ServerBuilderGenerator.kt:344 */
 8858         -
            self.timestamp =
 8859         -
                /* ServerBuilderGenerator.kt:345 */Some(
 8860         -
                    /* ServerBuilderGenerator.kt:376 */input
 8861         -
                /* ServerBuilderGenerator.kt:345 */)
       10071  +
            self.query_timestamp_list =
       10072  +
                /* ServerBuilderGenerator.kt:376 */input
 8862  10073   
            /* ServerBuilderGenerator.kt:344 */;
 8863  10074   
            self
 8864  10075   
            /* ServerBuilderGenerator.kt:343 */
 8865  10076   
        }
 8866  10077   
        /* ServerBuilderGenerator.kt:426 */
 8867  10078   
        #[allow(missing_docs)] // documentation missing in model
 8868  10079   
                               /* ServerBuilderGenerator.kt:428 */
 8869         -
        pub(crate) fn set_timestamp(
       10080  +
        pub(crate) fn set_query_timestamp_list(
 8870  10081   
            mut self,
 8871         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       10082  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
 8872  10083   
        ) -> Self {
 8873  10084   
            /* ServerBuilderGenerator.kt:429 */
 8874         -
            self.timestamp = Some(input.into());
       10085  +
            self.query_timestamp_list = input.map(|v| v.into());
 8875  10086   
            self
 8876  10087   
            /* ServerBuilderGenerator.kt:428 */
 8877  10088   
        }
 8878         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
 8879         -
        /// /* ServerBuilderGenerator.kt:260 */
 8880         -
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if a [`ConstraintViolation`] occurs.
 8881         -
        ///
 8882         -
        /* ServerBuilderGenerator.kt:271 */
 8883         -
        pub fn build(
 8884         -
            self,
 8885         -
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
 8886         -
            self.build_enforcing_all_constraints()
 8887         -
        }
 8888         -
        /* ServerBuilderGenerator.kt:283 */
 8889         -
        fn build_enforcing_all_constraints(
 8890         -
            self,
 8891         -
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
 8892         -
            /* ServerBuilderGenerator.kt:287 */
 8893         -
            Ok(
 8894         -
                /* ServerBuilderGenerator.kt:542 */
 8895         -
                crate::input::MalformedTimestampPathDefaultInput {
 8896         -
                    /* ServerBuilderGenerator.kt:546 */
 8897         -
                    timestamp: self
 8898         -
                        .timestamp
 8899         -
                        /* ServerBuilderGenerator.kt:569 */
 8900         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
 8901         -
                    /* ServerBuilderGenerator.kt:542 */
 8902         -
                }, /* ServerBuilderGenerator.kt:287 */
 8903         -
            )
 8904         -
            /* ServerBuilderGenerator.kt:283 */
       10089  +
        /* ServerBuilderGenerator.kt:331 */
       10090  +
        #[allow(missing_docs)] // documentation missing in model
       10091  +
                               /* ServerBuilderGenerator.kt:343 */
       10092  +
        pub fn query_enum_list(
       10093  +
            mut self,
       10094  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       10095  +
        ) -> Self {
       10096  +
            /* ServerBuilderGenerator.kt:344 */
       10097  +
            self.query_enum_list =
       10098  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       10099  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       10100  +
                /* ServerBuilderGenerator.kt:363 */)
       10101  +
            /* ServerBuilderGenerator.kt:344 */;
       10102  +
            self
       10103  +
            /* ServerBuilderGenerator.kt:343 */
 8905  10104   
        }
 8906         -
        /* ServerBuilderGenerator.kt:215 */
 8907         -
    }
 8908         -
 8909         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8910         -
}
 8911         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedStringInput`](crate::input::MalformedStringInput).
 8912         -
pub mod malformed_string_input {
 8913         -
 8914         -
    /* ServerBuilderGenerator.kt:461 */
 8915         -
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
 8916         -
        fn from(builder: Builder) -> Self {
 8917         -
            builder.build()
       10105  +
        /* ServerBuilderGenerator.kt:426 */
       10106  +
        #[allow(missing_docs)] // documentation missing in model
       10107  +
                               /* ServerBuilderGenerator.kt:428 */
       10108  +
        pub(crate) fn set_query_enum_list(
       10109  +
            mut self,
       10110  +
            input: Option<
       10111  +
                impl ::std::convert::Into<
       10112  +
                    crate::constrained::MaybeConstrained<
       10113  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       10114  +
                    >,
       10115  +
                >,
       10116  +
            >,
       10117  +
        ) -> Self {
       10118  +
            /* ServerBuilderGenerator.kt:429 */
       10119  +
            self.query_enum_list = input.map(|v| v.into());
       10120  +
            self
       10121  +
            /* ServerBuilderGenerator.kt:428 */
 8918  10122   
        }
 8919         -
    }
 8920         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
 8921         -
    /* RustType.kt:534 */
 8922         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8923         -
    /* ServerBuilderGenerator.kt:211 */
 8924         -
    pub struct Builder {
 8925         -
        /* ServerBuilderGenerator.kt:308 */
 8926         -
        pub(crate) blob: ::std::option::Option<::std::string::String>,
 8927         -
        /* ServerBuilderGenerator.kt:211 */
 8928         -
    }
 8929         -
    /* ServerBuilderGenerator.kt:215 */
 8930         -
    impl Builder {
 8931  10123   
        /* ServerBuilderGenerator.kt:331 */
 8932  10124   
        #[allow(missing_docs)] // documentation missing in model
 8933  10125   
                               /* ServerBuilderGenerator.kt:343 */
 8934         -
        pub fn blob(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       10126  +
        pub fn query_integer_enum_list(
       10127  +
            mut self,
       10128  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       10129  +
        ) -> Self {
 8935  10130   
            /* ServerBuilderGenerator.kt:344 */
 8936         -
            self.blob =
       10131  +
            self.query_integer_enum_list =
 8937  10132   
                /* ServerBuilderGenerator.kt:376 */input
 8938  10133   
            /* ServerBuilderGenerator.kt:344 */;
 8939  10134   
            self
 8940  10135   
            /* ServerBuilderGenerator.kt:343 */
 8941  10136   
        }
 8942  10137   
        /* ServerBuilderGenerator.kt:426 */
 8943  10138   
        #[allow(missing_docs)] // documentation missing in model
 8944  10139   
                               /* ServerBuilderGenerator.kt:428 */
 8945         -
        pub(crate) fn set_blob(
       10140  +
        pub(crate) fn set_query_integer_enum_list(
 8946  10141   
            mut self,
 8947         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       10142  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
 8948  10143   
        ) -> Self {
 8949  10144   
            /* ServerBuilderGenerator.kt:429 */
 8950         -
            self.blob = input.map(|v| v.into());
       10145  +
            self.query_integer_enum_list = input.map(|v| v.into());
 8951  10146   
            self
 8952  10147   
            /* ServerBuilderGenerator.kt:428 */
 8953  10148   
        }
 8954         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
       10149  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       10150  +
        /// /* ServerBuilderGenerator.kt:260 */
       10151  +
        /// The builder fails to construct a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput) if a [`ConstraintViolation`] occurs.
       10152  +
        ///
 8955  10153   
        /* ServerBuilderGenerator.kt:271 */
 8956         -
        pub fn build(self) -> crate::input::MalformedStringInput {
       10154  +
        pub fn build(
       10155  +
            self,
       10156  +
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
 8957  10157   
            self.build_enforcing_all_constraints()
 8958  10158   
        }
 8959  10159   
        /* ServerBuilderGenerator.kt:283 */
 8960         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedStringInput {
 8961         -
            /* ServerBuilderGenerator.kt:542 */
 8962         -
            crate::input::MalformedStringInput {
 8963         -
                /* ServerBuilderGenerator.kt:546 */
 8964         -
                blob: self.blob,
       10160  +
        fn build_enforcing_all_constraints(
       10161  +
            self,
       10162  +
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
       10163  +
            /* ServerBuilderGenerator.kt:287 */
       10164  +
            Ok(
 8965  10165   
                /* ServerBuilderGenerator.kt:542 */
 8966         -
            }
       10166  +
                crate::input::OmitsSerializingEmptyListsInput {
       10167  +
                    /* ServerBuilderGenerator.kt:546 */
       10168  +
                    query_string_list: self.query_string_list,
       10169  +
                    /* ServerBuilderGenerator.kt:546 */
       10170  +
                    query_integer_list: self.query_integer_list,
       10171  +
                    /* ServerBuilderGenerator.kt:546 */
       10172  +
                    query_double_list: self.query_double_list,
       10173  +
                    /* ServerBuilderGenerator.kt:546 */
       10174  +
                    query_boolean_list: self.query_boolean_list,
       10175  +
                    /* ServerBuilderGenerator.kt:546 */
       10176  +
                    query_timestamp_list: self.query_timestamp_list,
       10177  +
                    /* ServerBuilderGenerator.kt:546 */
       10178  +
                    query_enum_list: self
       10179  +
                        .query_enum_list
       10180  +
                        /* ServerBuilderGenerator.kt:602 */
       10181  +
                        .map(|v| match v {
       10182  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       10183  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       10184  +
                        })
       10185  +
                        /* ServerBuilderGenerator.kt:614 */
       10186  +
                        .map(|res| {
       10187  +
                            res.map(|v| v.into())
       10188  +
                                .map_err(ConstraintViolation::QueryEnumList)
       10189  +
                        })
       10190  +
                        .transpose()?,
       10191  +
                    /* ServerBuilderGenerator.kt:546 */
       10192  +
                    query_integer_enum_list: self.query_integer_enum_list,
       10193  +
                    /* ServerBuilderGenerator.kt:542 */
       10194  +
                }, /* ServerBuilderGenerator.kt:287 */
       10195  +
            )
 8967  10196   
            /* ServerBuilderGenerator.kt:283 */
 8968  10197   
        }
 8969  10198   
        /* ServerBuilderGenerator.kt:215 */
 8970  10199   
    }
 8971  10200   
 8972  10201   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 8973  10202   
}
 8974         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
 8975         -
pub mod malformed_double_input {
 8976         -
 8977         -
    /* RustType.kt:534 */
 8978         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8979         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 8980         -
    /* RustType.kt:534 */
 8981         -
    #[non_exhaustive]
 8982         -
    /* ServerBuilderConstraintViolations.kt:75 */
 8983         -
    #[allow(clippy::enum_variant_names)]
 8984         -
    pub enum ConstraintViolation {
 8985         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
 8986         -
        /* ServerBuilderConstraintViolations.kt:144 */
 8987         -
        MissingDoubleInPath,
 8988         -
        /* ServerBuilderConstraintViolations.kt:75 */
 8989         -
    }
 8990         -
    /* ServerBuilderConstraintViolations.kt:116 */
 8991         -
    impl ::std::fmt::Display for ConstraintViolation {
 8992         -
        /* ServerBuilderConstraintViolations.kt:117 */
 8993         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8994         -
            /* ServerBuilderConstraintViolations.kt:118 */
 8995         -
            match self {
 8996         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
 8997         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 8998         -
            /* ServerBuilderConstraintViolations.kt:117 */
 8999         -
        }
 9000         -
        /* ServerBuilderConstraintViolations.kt:116 */
 9001         -
    }
 9002         -
    /* ServerBuilderConstraintViolations.kt:83 */
 9003         -
    impl ::std::error::Error for ConstraintViolation {}
 9004         -
    /* ServerBuilderConstraintViolations.kt:172 */
 9005         -
    impl ConstraintViolation {
 9006         -
        pub(crate) fn as_validation_exception_field(
 9007         -
            self,
 9008         -
            path: ::std::string::String,
 9009         -
        ) -> crate::model::ValidationExceptionField {
 9010         -
            match self {
 9011         -
            ConstraintViolation::MissingDoubleInPath => crate::model::ValidationExceptionField {
 9012         -
                                                message: format!("Value at '{}/doubleInPath' failed to satisfy constraint: Member must not be null", path),
 9013         -
                                                path: path + "/doubleInPath",
 9014         -
                                            },
 9015         -
        }
 9016         -
        }
 9017         -
    }
 9018         -
    /* ServerBuilderGenerator.kt:234 */
 9019         -
    impl ::std::convert::From<ConstraintViolation>
 9020         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9021         -
    {
 9022         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9023         -
            let first_validation_exception_field =
 9024         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9025         -
            let validation_exception = crate::error::ValidationException {
 9026         -
                message: format!(
 9027         -
                    "1 validation error detected. {}",
 9028         -
                    &first_validation_exception_field.message
 9029         -
                ),
 9030         -
                field_list: Some(vec![first_validation_exception_field]),
 9031         -
            };
 9032         -
            Self::ConstraintViolation(
 9033         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9034         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9035         -
                            )
 9036         -
        }
 9037         -
    }
 9038         -
    /* ServerBuilderGenerator.kt:244 */
 9039         -
    impl ::std::convert::From<Builder>
 9040         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedDoubleInput>
 9041         -
    {
 9042         -
        fn from(builder: Builder) -> Self {
 9043         -
            Self::Unconstrained(builder)
 9044         -
        }
 9045         -
    }
 9046         -
    /* ServerBuilderGenerator.kt:446 */
 9047         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
 9048         -
        type Error = ConstraintViolation;
       10203  +
/// /* ServerBuilderGenerator.kt:171 */See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       10204  +
pub mod query_idempotency_token_auto_fill_input {
 9049  10205   
 9050         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       10206  +
    /* ServerBuilderGenerator.kt:461 */
       10207  +
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
       10208  +
        fn from(builder: Builder) -> Self {
 9051  10209   
            builder.build()
 9052  10210   
        }
 9053  10211   
    }
 9054         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       10212  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
 9055  10213   
    /* RustType.kt:534 */
 9056  10214   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9057  10215   
    /* ServerBuilderGenerator.kt:211 */
 9058  10216   
    pub struct Builder {
 9059  10217   
        /* ServerBuilderGenerator.kt:308 */
 9060         -
        pub(crate) double_in_body: ::std::option::Option<f64>,
 9061         -
        /* ServerBuilderGenerator.kt:308 */
 9062         -
        pub(crate) double_in_path: ::std::option::Option<f64>,
 9063         -
        /* ServerBuilderGenerator.kt:308 */
 9064         -
        pub(crate) double_in_query: ::std::option::Option<f64>,
 9065         -
        /* ServerBuilderGenerator.kt:308 */
 9066         -
        pub(crate) double_in_header: ::std::option::Option<f64>,
       10218  +
        pub(crate) token: ::std::option::Option<::std::string::String>,
 9067  10219   
        /* ServerBuilderGenerator.kt:211 */
 9068  10220   
    }
 9069  10221   
    /* ServerBuilderGenerator.kt:215 */
 9070  10222   
    impl Builder {
 9071  10223   
        /* ServerBuilderGenerator.kt:331 */
 9072  10224   
        #[allow(missing_docs)] // documentation missing in model
 9073  10225   
                               /* ServerBuilderGenerator.kt:343 */
 9074         -
        pub fn double_in_body(mut self, input: ::std::option::Option<f64>) -> Self {
       10226  +
        pub fn token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9075  10227   
            /* ServerBuilderGenerator.kt:344 */
 9076         -
            self.double_in_body =
       10228  +
            self.token =
 9077  10229   
                /* ServerBuilderGenerator.kt:376 */input
 9078  10230   
            /* ServerBuilderGenerator.kt:344 */;
 9079  10231   
            self
 9080  10232   
            /* ServerBuilderGenerator.kt:343 */
 9081  10233   
        }
 9082  10234   
        /* ServerBuilderGenerator.kt:426 */
 9083  10235   
        #[allow(missing_docs)] // documentation missing in model
 9084  10236   
                               /* ServerBuilderGenerator.kt:428 */
 9085         -
        pub(crate) fn set_double_in_body(
       10237  +
        pub(crate) fn set_token(
 9086  10238   
            mut self,
 9087         -
            input: Option<impl ::std::convert::Into<f64>>,
       10239  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9088  10240   
        ) -> Self {
 9089  10241   
            /* ServerBuilderGenerator.kt:429 */
 9090         -
            self.double_in_body = input.map(|v| v.into());
       10242  +
            self.token = input.map(|v| v.into());
 9091  10243   
            self
 9092  10244   
            /* ServerBuilderGenerator.kt:428 */
 9093  10245   
        }
 9094         -
        /* ServerBuilderGenerator.kt:331 */
 9095         -
        #[allow(missing_docs)] // documentation missing in model
 9096         -
                               /* ServerBuilderGenerator.kt:343 */
 9097         -
        pub fn double_in_path(mut self, input: f64) -> Self {
 9098         -
            /* ServerBuilderGenerator.kt:344 */
 9099         -
            self.double_in_path =
 9100         -
                /* ServerBuilderGenerator.kt:345 */Some(
 9101         -
                    /* ServerBuilderGenerator.kt:376 */input
 9102         -
                /* ServerBuilderGenerator.kt:345 */)
 9103         -
            /* ServerBuilderGenerator.kt:344 */;
 9104         -
            self
 9105         -
            /* ServerBuilderGenerator.kt:343 */
       10246  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       10247  +
        /* ServerBuilderGenerator.kt:271 */
       10248  +
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       10249  +
            self.build_enforcing_all_constraints()
 9106  10250   
        }
 9107         -
        /* ServerBuilderGenerator.kt:426 */
 9108         -
        #[allow(missing_docs)] // documentation missing in model
 9109         -
                               /* ServerBuilderGenerator.kt:428 */
 9110         -
        pub(crate) fn set_double_in_path(mut self, input: impl ::std::convert::Into<f64>) -> Self {
 9111         -
            /* ServerBuilderGenerator.kt:429 */
 9112         -
            self.double_in_path = Some(input.into());
 9113         -
            self
 9114         -
            /* ServerBuilderGenerator.kt:428 */
       10251  +
        /* ServerBuilderGenerator.kt:283 */
       10252  +
        fn build_enforcing_all_constraints(
       10253  +
            self,
       10254  +
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       10255  +
            /* ServerBuilderGenerator.kt:542 */
       10256  +
            crate::input::QueryIdempotencyTokenAutoFillInput {
       10257  +
                /* ServerBuilderGenerator.kt:546 */
       10258  +
                token: self.token,
       10259  +
                /* ServerBuilderGenerator.kt:542 */
       10260  +
            }
       10261  +
            /* ServerBuilderGenerator.kt:283 */
       10262  +
        }
       10263  +
        /* ServerBuilderGenerator.kt:215 */
       10264  +
    }
       10265  +
       10266  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10267  +
}
       10268  +
/// /* ServerBuilderGenerator.kt:171 */See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       10269  +
pub mod query_precedence_input {
       10270  +
       10271  +
    /* ServerBuilderGenerator.kt:461 */
       10272  +
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
       10273  +
        fn from(builder: Builder) -> Self {
       10274  +
            builder.build()
 9115  10275   
        }
       10276  +
    }
       10277  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       10278  +
    /* RustType.kt:534 */
       10279  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10280  +
    /* ServerBuilderGenerator.kt:211 */
       10281  +
    pub struct Builder {
       10282  +
        /* ServerBuilderGenerator.kt:308 */
       10283  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       10284  +
        /* ServerBuilderGenerator.kt:308 */
       10285  +
        pub(crate) baz: ::std::option::Option<
       10286  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10287  +
        >,
       10288  +
        /* ServerBuilderGenerator.kt:211 */
       10289  +
    }
       10290  +
    /* ServerBuilderGenerator.kt:215 */
       10291  +
    impl Builder {
 9116  10292   
        /* ServerBuilderGenerator.kt:331 */
 9117  10293   
        #[allow(missing_docs)] // documentation missing in model
 9118  10294   
                               /* ServerBuilderGenerator.kt:343 */
 9119         -
        pub fn double_in_query(mut self, input: ::std::option::Option<f64>) -> Self {
       10295  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9120  10296   
            /* ServerBuilderGenerator.kt:344 */
 9121         -
            self.double_in_query =
       10297  +
            self.foo =
 9122  10298   
                /* ServerBuilderGenerator.kt:376 */input
 9123  10299   
            /* ServerBuilderGenerator.kt:344 */;
 9124  10300   
            self
 9125  10301   
            /* ServerBuilderGenerator.kt:343 */
 9126  10302   
        }
 9127  10303   
        /* ServerBuilderGenerator.kt:426 */
 9128  10304   
        #[allow(missing_docs)] // documentation missing in model
 9129  10305   
                               /* ServerBuilderGenerator.kt:428 */
 9130         -
        pub(crate) fn set_double_in_query(
       10306  +
        pub(crate) fn set_foo(
 9131  10307   
            mut self,
 9132         -
            input: Option<impl ::std::convert::Into<f64>>,
       10308  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9133  10309   
        ) -> Self {
 9134  10310   
            /* ServerBuilderGenerator.kt:429 */
 9135         -
            self.double_in_query = input.map(|v| v.into());
       10311  +
            self.foo = input.map(|v| v.into());
 9136  10312   
            self
 9137  10313   
            /* ServerBuilderGenerator.kt:428 */
 9138  10314   
        }
 9139  10315   
        /* ServerBuilderGenerator.kt:331 */
 9140  10316   
        #[allow(missing_docs)] // documentation missing in model
 9141  10317   
                               /* ServerBuilderGenerator.kt:343 */
 9142         -
        pub fn double_in_header(mut self, input: ::std::option::Option<f64>) -> Self {
       10318  +
        pub fn baz(
       10319  +
            mut self,
       10320  +
            input: ::std::option::Option<
       10321  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10322  +
            >,
       10323  +
        ) -> Self {
 9143  10324   
            /* ServerBuilderGenerator.kt:344 */
 9144         -
            self.double_in_header =
       10325  +
            self.baz =
 9145  10326   
                /* ServerBuilderGenerator.kt:376 */input
 9146  10327   
            /* ServerBuilderGenerator.kt:344 */;
 9147  10328   
            self
 9148  10329   
            /* ServerBuilderGenerator.kt:343 */
 9149  10330   
        }
 9150  10331   
        /* ServerBuilderGenerator.kt:426 */
 9151  10332   
        #[allow(missing_docs)] // documentation missing in model
 9152  10333   
                               /* ServerBuilderGenerator.kt:428 */
 9153         -
        pub(crate) fn set_double_in_header(
       10334  +
        pub(crate) fn set_baz(
 9154  10335   
            mut self,
 9155         -
            input: Option<impl ::std::convert::Into<f64>>,
       10336  +
            input: Option<
       10337  +
                impl ::std::convert::Into<
       10338  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10339  +
                >,
       10340  +
            >,
 9156  10341   
        ) -> Self {
 9157  10342   
            /* ServerBuilderGenerator.kt:429 */
 9158         -
            self.double_in_header = input.map(|v| v.into());
       10343  +
            self.baz = input.map(|v| v.into());
 9159  10344   
            self
 9160  10345   
            /* ServerBuilderGenerator.kt:428 */
 9161  10346   
        }
 9162         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
 9163         -
        /// /* ServerBuilderGenerator.kt:260 */
 9164         -
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if a [`ConstraintViolation`] occurs.
 9165         -
        ///
       10347  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
 9166  10348   
        /* ServerBuilderGenerator.kt:271 */
 9167         -
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
       10349  +
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
 9168  10350   
            self.build_enforcing_all_constraints()
 9169  10351   
        }
 9170  10352   
        /* ServerBuilderGenerator.kt:283 */
 9171         -
        fn build_enforcing_all_constraints(
 9172         -
            self,
 9173         -
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
 9174         -
            /* ServerBuilderGenerator.kt:287 */
 9175         -
            Ok(
       10353  +
        fn build_enforcing_all_constraints(self) -> crate::input::QueryPrecedenceInput {
       10354  +
            /* ServerBuilderGenerator.kt:542 */
       10355  +
            crate::input::QueryPrecedenceInput {
       10356  +
                /* ServerBuilderGenerator.kt:546 */
       10357  +
                foo: self.foo,
       10358  +
                /* ServerBuilderGenerator.kt:546 */
       10359  +
                baz: self.baz,
 9176  10360   
                /* ServerBuilderGenerator.kt:542 */
 9177         -
                crate::input::MalformedDoubleInput {
 9178         -
                    /* ServerBuilderGenerator.kt:546 */
 9179         -
                    double_in_body: self.double_in_body,
 9180         -
                    /* ServerBuilderGenerator.kt:546 */
 9181         -
                    double_in_path: self
 9182         -
                        .double_in_path
 9183         -
                        /* ServerBuilderGenerator.kt:569 */
 9184         -
                        .ok_or(ConstraintViolation::MissingDoubleInPath)?,
 9185         -
                    /* ServerBuilderGenerator.kt:546 */
 9186         -
                    double_in_query: self.double_in_query,
 9187         -
                    /* ServerBuilderGenerator.kt:546 */
 9188         -
                    double_in_header: self.double_in_header,
 9189         -
                    /* ServerBuilderGenerator.kt:542 */
 9190         -
                }, /* ServerBuilderGenerator.kt:287 */
 9191         -
            )
       10361  +
            }
 9192  10362   
            /* ServerBuilderGenerator.kt:283 */
 9193  10363   
        }
 9194  10364   
        /* ServerBuilderGenerator.kt:215 */
 9195  10365   
    }
 9196  10366   
 9197  10367   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 9198  10368   
}
 9199         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
 9200         -
pub mod malformed_float_input {
       10369  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       10370  +
pub mod http_query_params_only_operation_input {
 9201  10371   
 9202         -
    /* RustType.kt:534 */
 9203         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9204         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 9205         -
    /* RustType.kt:534 */
 9206         -
    #[non_exhaustive]
 9207         -
    /* ServerBuilderConstraintViolations.kt:75 */
 9208         -
    #[allow(clippy::enum_variant_names)]
 9209         -
    pub enum ConstraintViolation {
 9210         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`float_in_path` was not provided but it is required when building `MalformedFloatInput`.
 9211         -
        /* ServerBuilderConstraintViolations.kt:144 */
 9212         -
        MissingFloatInPath,
 9213         -
        /* ServerBuilderConstraintViolations.kt:75 */
 9214         -
    }
 9215         -
    /* ServerBuilderConstraintViolations.kt:116 */
 9216         -
    impl ::std::fmt::Display for ConstraintViolation {
 9217         -
        /* ServerBuilderConstraintViolations.kt:117 */
 9218         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9219         -
            /* ServerBuilderConstraintViolations.kt:118 */
 9220         -
            match self {
 9221         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
 9222         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 9223         -
            /* ServerBuilderConstraintViolations.kt:117 */
       10372  +
    /* ServerBuilderGenerator.kt:461 */
       10373  +
    impl ::std::convert::From<Builder> for crate::input::HttpQueryParamsOnlyOperationInput {
       10374  +
        fn from(builder: Builder) -> Self {
       10375  +
            builder.build()
 9224  10376   
        }
 9225         -
        /* ServerBuilderConstraintViolations.kt:116 */
 9226  10377   
    }
 9227         -
    /* ServerBuilderConstraintViolations.kt:83 */
 9228         -
    impl ::std::error::Error for ConstraintViolation {}
 9229         -
    /* ServerBuilderConstraintViolations.kt:172 */
 9230         -
    impl ConstraintViolation {
 9231         -
        pub(crate) fn as_validation_exception_field(
 9232         -
            self,
 9233         -
            path: ::std::string::String,
 9234         -
        ) -> crate::model::ValidationExceptionField {
 9235         -
            match self {
 9236         -
            ConstraintViolation::MissingFloatInPath => crate::model::ValidationExceptionField {
 9237         -
                                                message: format!("Value at '{}/floatInPath' failed to satisfy constraint: Member must not be null", path),
 9238         -
                                                path: path + "/floatInPath",
 9239         -
                                            },
 9240         -
        }
 9241         -
        }
       10378  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       10379  +
    /* RustType.kt:534 */
       10380  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10381  +
    /* ServerBuilderGenerator.kt:211 */
       10382  +
    pub struct Builder {
       10383  +
        /* ServerBuilderGenerator.kt:308 */
       10384  +
        pub(crate) query_map: ::std::option::Option<
       10385  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10386  +
        >,
       10387  +
        /* ServerBuilderGenerator.kt:211 */
 9242  10388   
    }
 9243         -
    /* ServerBuilderGenerator.kt:234 */
 9244         -
    impl ::std::convert::From<ConstraintViolation>
 9245         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9246         -
    {
 9247         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9248         -
            let first_validation_exception_field =
 9249         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9250         -
            let validation_exception = crate::error::ValidationException {
 9251         -
                message: format!(
 9252         -
                    "1 validation error detected. {}",
 9253         -
                    &first_validation_exception_field.message
 9254         -
                ),
 9255         -
                field_list: Some(vec![first_validation_exception_field]),
 9256         -
            };
 9257         -
            Self::ConstraintViolation(
 9258         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9259         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9260         -
                            )
       10389  +
    /* ServerBuilderGenerator.kt:215 */
       10390  +
    impl Builder {
       10391  +
        /* ServerBuilderGenerator.kt:331 */
       10392  +
        #[allow(missing_docs)] // documentation missing in model
       10393  +
                               /* ServerBuilderGenerator.kt:343 */
       10394  +
        pub fn query_map(
       10395  +
            mut self,
       10396  +
            input: ::std::option::Option<
       10397  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10398  +
            >,
       10399  +
        ) -> Self {
       10400  +
            /* ServerBuilderGenerator.kt:344 */
       10401  +
            self.query_map =
       10402  +
                /* ServerBuilderGenerator.kt:376 */input
       10403  +
            /* ServerBuilderGenerator.kt:344 */;
       10404  +
            self
       10405  +
            /* ServerBuilderGenerator.kt:343 */
 9261  10406   
        }
 9262         -
    }
 9263         -
    /* ServerBuilderGenerator.kt:244 */
 9264         -
    impl ::std::convert::From<Builder>
 9265         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedFloatInput>
 9266         -
    {
 9267         -
        fn from(builder: Builder) -> Self {
 9268         -
            Self::Unconstrained(builder)
       10407  +
        /* ServerBuilderGenerator.kt:426 */
       10408  +
        #[allow(missing_docs)] // documentation missing in model
       10409  +
                               /* ServerBuilderGenerator.kt:428 */
       10410  +
        pub(crate) fn set_query_map(
       10411  +
            mut self,
       10412  +
            input: Option<
       10413  +
                impl ::std::convert::Into<
       10414  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10415  +
                >,
       10416  +
            >,
       10417  +
        ) -> Self {
       10418  +
            /* ServerBuilderGenerator.kt:429 */
       10419  +
            self.query_map = input.map(|v| v.into());
       10420  +
            self
       10421  +
            /* ServerBuilderGenerator.kt:428 */
       10422  +
        }
       10423  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       10424  +
        /* ServerBuilderGenerator.kt:271 */
       10425  +
        pub fn build(self) -> crate::input::HttpQueryParamsOnlyOperationInput {
       10426  +
            self.build_enforcing_all_constraints()
 9269  10427   
        }
       10428  +
        /* ServerBuilderGenerator.kt:283 */
       10429  +
        fn build_enforcing_all_constraints(
       10430  +
            self,
       10431  +
        ) -> crate::input::HttpQueryParamsOnlyOperationInput {
       10432  +
            /* ServerBuilderGenerator.kt:542 */
       10433  +
            crate::input::HttpQueryParamsOnlyOperationInput {
       10434  +
                /* ServerBuilderGenerator.kt:546 */
       10435  +
                query_map: self.query_map,
       10436  +
                /* ServerBuilderGenerator.kt:542 */
       10437  +
            }
       10438  +
            /* ServerBuilderGenerator.kt:283 */
       10439  +
        }
       10440  +
        /* ServerBuilderGenerator.kt:215 */
 9270  10441   
    }
 9271         -
    /* ServerBuilderGenerator.kt:446 */
 9272         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
 9273         -
        type Error = ConstraintViolation;
 9274  10442   
 9275         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       10443  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10444  +
}
       10445  +
/// /* ServerBuilderGenerator.kt:171 */See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       10446  +
pub mod query_params_as_string_list_map_input {
       10447  +
       10448  +
    /* ServerBuilderGenerator.kt:461 */
       10449  +
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
       10450  +
        fn from(builder: Builder) -> Self {
 9276  10451   
            builder.build()
 9277  10452   
        }
 9278  10453   
    }
 9279         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       10454  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
 9280  10455   
    /* RustType.kt:534 */
 9281  10456   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9282  10457   
    /* ServerBuilderGenerator.kt:211 */
 9283  10458   
    pub struct Builder {
 9284  10459   
        /* ServerBuilderGenerator.kt:308 */
 9285         -
        pub(crate) float_in_body: ::std::option::Option<f32>,
 9286         -
        /* ServerBuilderGenerator.kt:308 */
 9287         -
        pub(crate) float_in_path: ::std::option::Option<f32>,
 9288         -
        /* ServerBuilderGenerator.kt:308 */
 9289         -
        pub(crate) float_in_query: ::std::option::Option<f32>,
       10460  +
        pub(crate) qux: ::std::option::Option<::std::string::String>,
 9290  10461   
        /* ServerBuilderGenerator.kt:308 */
 9291         -
        pub(crate) float_in_header: ::std::option::Option<f32>,
       10462  +
        pub(crate) foo: ::std::option::Option<
       10463  +
            ::std::collections::HashMap<
       10464  +
                ::std::string::String,
       10465  +
                ::std::vec::Vec<::std::string::String>,
       10466  +
            >,
       10467  +
        >,
 9292  10468   
        /* ServerBuilderGenerator.kt:211 */
 9293  10469   
    }
 9294  10470   
    /* ServerBuilderGenerator.kt:215 */
 9295  10471   
    impl Builder {
 9296  10472   
        /* ServerBuilderGenerator.kt:331 */
 9297  10473   
        #[allow(missing_docs)] // documentation missing in model
 9298  10474   
                               /* ServerBuilderGenerator.kt:343 */
 9299         -
        pub fn float_in_body(mut self, input: ::std::option::Option<f32>) -> Self {
       10475  +
        pub fn qux(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9300  10476   
            /* ServerBuilderGenerator.kt:344 */
 9301         -
            self.float_in_body =
       10477  +
            self.qux =
 9302  10478   
                /* ServerBuilderGenerator.kt:376 */input
 9303  10479   
            /* ServerBuilderGenerator.kt:344 */;
 9304  10480   
            self
 9305  10481   
            /* ServerBuilderGenerator.kt:343 */
 9306  10482   
        }
 9307  10483   
        /* ServerBuilderGenerator.kt:426 */
 9308  10484   
        #[allow(missing_docs)] // documentation missing in model
 9309  10485   
                               /* ServerBuilderGenerator.kt:428 */
 9310         -
        pub(crate) fn set_float_in_body(
       10486  +
        pub(crate) fn set_qux(
 9311  10487   
            mut self,
 9312         -
            input: Option<impl ::std::convert::Into<f32>>,
       10488  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9313  10489   
        ) -> Self {
 9314  10490   
            /* ServerBuilderGenerator.kt:429 */
 9315         -
            self.float_in_body = input.map(|v| v.into());
       10491  +
            self.qux = input.map(|v| v.into());
 9316  10492   
            self
 9317  10493   
            /* ServerBuilderGenerator.kt:428 */
 9318  10494   
        }
 9319  10495   
        /* ServerBuilderGenerator.kt:331 */
 9320  10496   
        #[allow(missing_docs)] // documentation missing in model
 9321  10497   
                               /* ServerBuilderGenerator.kt:343 */
 9322         -
        pub fn float_in_path(mut self, input: f32) -> Self {
       10498  +
        pub fn foo(
       10499  +
            mut self,
       10500  +
            input: ::std::option::Option<
       10501  +
                ::std::collections::HashMap<
       10502  +
                    ::std::string::String,
       10503  +
                    ::std::vec::Vec<::std::string::String>,
       10504  +
                >,
       10505  +
            >,
       10506  +
        ) -> Self {
 9323  10507   
            /* ServerBuilderGenerator.kt:344 */
 9324         -
            self.float_in_path =
 9325         -
                /* ServerBuilderGenerator.kt:345 */Some(
 9326         -
                    /* ServerBuilderGenerator.kt:376 */input
 9327         -
                /* ServerBuilderGenerator.kt:345 */)
       10508  +
            self.foo =
       10509  +
                /* ServerBuilderGenerator.kt:376 */input
 9328  10510   
            /* ServerBuilderGenerator.kt:344 */;
 9329  10511   
            self
 9330  10512   
            /* ServerBuilderGenerator.kt:343 */
 9331  10513   
        }
 9332  10514   
        /* ServerBuilderGenerator.kt:426 */
 9333  10515   
        #[allow(missing_docs)] // documentation missing in model
 9334  10516   
                               /* ServerBuilderGenerator.kt:428 */
 9335         -
        pub(crate) fn set_float_in_path(mut self, input: impl ::std::convert::Into<f32>) -> Self {
       10517  +
        pub(crate) fn set_foo(
       10518  +
            mut self,
       10519  +
            input: Option<
       10520  +
                impl ::std::convert::Into<
       10521  +
                    ::std::collections::HashMap<
       10522  +
                        ::std::string::String,
       10523  +
                        ::std::vec::Vec<::std::string::String>,
       10524  +
                    >,
       10525  +
                >,
       10526  +
            >,
       10527  +
        ) -> Self {
 9336  10528   
            /* ServerBuilderGenerator.kt:429 */
 9337         -
            self.float_in_path = Some(input.into());
       10529  +
            self.foo = input.map(|v| v.into());
 9338  10530   
            self
 9339  10531   
            /* ServerBuilderGenerator.kt:428 */
 9340  10532   
        }
       10533  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       10534  +
        /* ServerBuilderGenerator.kt:271 */
       10535  +
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
       10536  +
            self.build_enforcing_all_constraints()
       10537  +
        }
       10538  +
        /* ServerBuilderGenerator.kt:283 */
       10539  +
        fn build_enforcing_all_constraints(self) -> crate::input::QueryParamsAsStringListMapInput {
       10540  +
            /* ServerBuilderGenerator.kt:542 */
       10541  +
            crate::input::QueryParamsAsStringListMapInput {
       10542  +
                /* ServerBuilderGenerator.kt:546 */
       10543  +
                qux: self.qux,
       10544  +
                /* ServerBuilderGenerator.kt:546 */
       10545  +
                foo: self.foo,
       10546  +
                /* ServerBuilderGenerator.kt:542 */
       10547  +
            }
       10548  +
            /* ServerBuilderGenerator.kt:283 */
       10549  +
        }
       10550  +
        /* ServerBuilderGenerator.kt:215 */
       10551  +
    }
       10552  +
       10553  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10554  +
}
       10555  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       10556  +
pub mod http_prefix_headers_input {
       10557  +
       10558  +
    /* ServerBuilderGenerator.kt:461 */
       10559  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
       10560  +
        fn from(builder: Builder) -> Self {
       10561  +
            builder.build()
       10562  +
        }
       10563  +
    }
       10564  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       10565  +
    /* RustType.kt:534 */
       10566  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10567  +
    /* ServerBuilderGenerator.kt:211 */
       10568  +
    pub struct Builder {
       10569  +
        /* ServerBuilderGenerator.kt:308 */
       10570  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       10571  +
        /* ServerBuilderGenerator.kt:308 */
       10572  +
        pub(crate) foo_map: ::std::option::Option<
       10573  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10574  +
        >,
       10575  +
        /* ServerBuilderGenerator.kt:211 */
       10576  +
    }
       10577  +
    /* ServerBuilderGenerator.kt:215 */
       10578  +
    impl Builder {
 9341  10579   
        /* ServerBuilderGenerator.kt:331 */
 9342  10580   
        #[allow(missing_docs)] // documentation missing in model
 9343  10581   
                               /* ServerBuilderGenerator.kt:343 */
 9344         -
        pub fn float_in_query(mut self, input: ::std::option::Option<f32>) -> Self {
       10582  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9345  10583   
            /* ServerBuilderGenerator.kt:344 */
 9346         -
            self.float_in_query =
       10584  +
            self.foo =
 9347  10585   
                /* ServerBuilderGenerator.kt:376 */input
 9348  10586   
            /* ServerBuilderGenerator.kt:344 */;
 9349  10587   
            self
 9350  10588   
            /* ServerBuilderGenerator.kt:343 */
 9351  10589   
        }
 9352  10590   
        /* ServerBuilderGenerator.kt:426 */
 9353  10591   
        #[allow(missing_docs)] // documentation missing in model
 9354  10592   
                               /* ServerBuilderGenerator.kt:428 */
 9355         -
        pub(crate) fn set_float_in_query(
       10593  +
        pub(crate) fn set_foo(
 9356  10594   
            mut self,
 9357         -
            input: Option<impl ::std::convert::Into<f32>>,
       10595  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9358  10596   
        ) -> Self {
 9359  10597   
            /* ServerBuilderGenerator.kt:429 */
 9360         -
            self.float_in_query = input.map(|v| v.into());
       10598  +
            self.foo = input.map(|v| v.into());
 9361  10599   
            self
 9362  10600   
            /* ServerBuilderGenerator.kt:428 */
 9363  10601   
        }
 9364  10602   
        /* ServerBuilderGenerator.kt:331 */
 9365  10603   
        #[allow(missing_docs)] // documentation missing in model
 9366  10604   
                               /* ServerBuilderGenerator.kt:343 */
 9367         -
        pub fn float_in_header(mut self, input: ::std::option::Option<f32>) -> Self {
       10605  +
        pub fn foo_map(
       10606  +
            mut self,
       10607  +
            input: ::std::option::Option<
       10608  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10609  +
            >,
       10610  +
        ) -> Self {
 9368  10611   
            /* ServerBuilderGenerator.kt:344 */
 9369         -
            self.float_in_header =
       10612  +
            self.foo_map =
 9370  10613   
                /* ServerBuilderGenerator.kt:376 */input
 9371  10614   
            /* ServerBuilderGenerator.kt:344 */;
 9372  10615   
            self
 9373  10616   
            /* ServerBuilderGenerator.kt:343 */
 9374  10617   
        }
 9375  10618   
        /* ServerBuilderGenerator.kt:426 */
 9376  10619   
        #[allow(missing_docs)] // documentation missing in model
 9377  10620   
                               /* ServerBuilderGenerator.kt:428 */
 9378         -
        pub(crate) fn set_float_in_header(
       10621  +
        pub(crate) fn set_foo_map(
 9379  10622   
            mut self,
 9380         -
            input: Option<impl ::std::convert::Into<f32>>,
       10623  +
            input: Option<
       10624  +
                impl ::std::convert::Into<
       10625  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10626  +
                >,
       10627  +
            >,
 9381  10628   
        ) -> Self {
 9382  10629   
            /* ServerBuilderGenerator.kt:429 */
 9383         -
            self.float_in_header = input.map(|v| v.into());
       10630  +
            self.foo_map = input.map(|v| v.into());
 9384  10631   
            self
 9385  10632   
            /* ServerBuilderGenerator.kt:428 */
 9386  10633   
        }
 9387         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
 9388         -
        /// /* ServerBuilderGenerator.kt:260 */
 9389         -
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if a [`ConstraintViolation`] occurs.
 9390         -
        ///
       10634  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
 9391  10635   
        /* ServerBuilderGenerator.kt:271 */
 9392         -
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       10636  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
 9393  10637   
            self.build_enforcing_all_constraints()
 9394  10638   
        }
 9395  10639   
        /* ServerBuilderGenerator.kt:283 */
 9396         -
        fn build_enforcing_all_constraints(
 9397         -
            self,
 9398         -
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
 9399         -
            /* ServerBuilderGenerator.kt:287 */
 9400         -
            Ok(
       10640  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInput {
       10641  +
            /* ServerBuilderGenerator.kt:542 */
       10642  +
            crate::input::HttpPrefixHeadersInput {
       10643  +
                /* ServerBuilderGenerator.kt:546 */
       10644  +
                foo: self.foo,
       10645  +
                /* ServerBuilderGenerator.kt:546 */
       10646  +
                foo_map: self.foo_map,
 9401  10647   
                /* ServerBuilderGenerator.kt:542 */
 9402         -
                crate::input::MalformedFloatInput {
 9403         -
                    /* ServerBuilderGenerator.kt:546 */
 9404         -
                    float_in_body: self.float_in_body,
 9405         -
                    /* ServerBuilderGenerator.kt:546 */
 9406         -
                    float_in_path: self
 9407         -
                        .float_in_path
 9408         -
                        /* ServerBuilderGenerator.kt:569 */
 9409         -
                        .ok_or(ConstraintViolation::MissingFloatInPath)?,
 9410         -
                    /* ServerBuilderGenerator.kt:546 */
 9411         -
                    float_in_query: self.float_in_query,
 9412         -
                    /* ServerBuilderGenerator.kt:546 */
 9413         -
                    float_in_header: self.float_in_header,
 9414         -
                    /* ServerBuilderGenerator.kt:542 */
 9415         -
                }, /* ServerBuilderGenerator.kt:287 */
 9416         -
            )
       10648  +
            }
 9417  10649   
            /* ServerBuilderGenerator.kt:283 */
 9418  10650   
        }
 9419  10651   
        /* ServerBuilderGenerator.kt:215 */
 9420  10652   
    }
 9421  10653   
 9422  10654   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 9423  10655   
}
 9424         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedLongInput`](crate::input::MalformedLongInput).
 9425         -
pub mod malformed_long_input {
       10656  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       10657  +
pub mod http_prefix_headers_in_response_input {
 9426  10658   
 9427         -
    /* RustType.kt:534 */
 9428         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9429         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 9430         -
    /* RustType.kt:534 */
 9431         -
    #[non_exhaustive]
 9432         -
    /* ServerBuilderConstraintViolations.kt:75 */
 9433         -
    #[allow(clippy::enum_variant_names)]
 9434         -
    pub enum ConstraintViolation {
 9435         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`long_in_path` was not provided but it is required when building `MalformedLongInput`.
 9436         -
        /* ServerBuilderConstraintViolations.kt:144 */
 9437         -
        MissingLongInPath,
 9438         -
        /* ServerBuilderConstraintViolations.kt:75 */
 9439         -
    }
 9440         -
    /* ServerBuilderConstraintViolations.kt:116 */
 9441         -
    impl ::std::fmt::Display for ConstraintViolation {
 9442         -
        /* ServerBuilderConstraintViolations.kt:117 */
 9443         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9444         -
            /* ServerBuilderConstraintViolations.kt:118 */
 9445         -
            match self {
 9446         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
 9447         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 9448         -
            /* ServerBuilderConstraintViolations.kt:117 */
 9449         -
        }
 9450         -
        /* ServerBuilderConstraintViolations.kt:116 */
 9451         -
    }
 9452         -
    /* ServerBuilderConstraintViolations.kt:83 */
 9453         -
    impl ::std::error::Error for ConstraintViolation {}
 9454         -
    /* ServerBuilderConstraintViolations.kt:172 */
 9455         -
    impl ConstraintViolation {
 9456         -
        pub(crate) fn as_validation_exception_field(
 9457         -
            self,
 9458         -
            path: ::std::string::String,
 9459         -
        ) -> crate::model::ValidationExceptionField {
 9460         -
            match self {
 9461         -
            ConstraintViolation::MissingLongInPath => crate::model::ValidationExceptionField {
 9462         -
                                                message: format!("Value at '{}/longInPath' failed to satisfy constraint: Member must not be null", path),
 9463         -
                                                path: path + "/longInPath",
 9464         -
                                            },
 9465         -
        }
       10659  +
    /* ServerBuilderGenerator.kt:461 */
       10660  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
       10661  +
        fn from(builder: Builder) -> Self {
       10662  +
            builder.build()
 9466  10663   
        }
 9467  10664   
    }
 9468         -
    /* ServerBuilderGenerator.kt:234 */
 9469         -
    impl ::std::convert::From<ConstraintViolation>
 9470         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9471         -
    {
 9472         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9473         -
            let first_validation_exception_field =
 9474         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9475         -
            let validation_exception = crate::error::ValidationException {
 9476         -
                message: format!(
 9477         -
                    "1 validation error detected. {}",
 9478         -
                    &first_validation_exception_field.message
 9479         -
                ),
 9480         -
                field_list: Some(vec![first_validation_exception_field]),
 9481         -
            };
 9482         -
            Self::ConstraintViolation(
 9483         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9484         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9485         -
                            )
       10665  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       10666  +
    /* RustType.kt:534 */
       10667  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10668  +
    /* ServerBuilderGenerator.kt:211 */
       10669  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       10670  +
    /* ServerBuilderGenerator.kt:215 */
       10671  +
    impl Builder {
       10672  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       10673  +
        /* ServerBuilderGenerator.kt:271 */
       10674  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       10675  +
            self.build_enforcing_all_constraints()
 9486  10676   
        }
 9487         -
    }
 9488         -
    /* ServerBuilderGenerator.kt:244 */
 9489         -
    impl ::std::convert::From<Builder>
 9490         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedLongInput>
 9491         -
    {
 9492         -
        fn from(builder: Builder) -> Self {
 9493         -
            Self::Unconstrained(builder)
       10677  +
        /* ServerBuilderGenerator.kt:283 */
       10678  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       10679  +
            /* ServerBuilderGenerator.kt:542 */
       10680  +
            crate::input::HttpPrefixHeadersInResponseInput {
       10681  +
            /* ServerBuilderGenerator.kt:542 */}
       10682  +
            /* ServerBuilderGenerator.kt:283 */
 9494  10683   
        }
       10684  +
        /* ServerBuilderGenerator.kt:215 */
 9495  10685   
    }
 9496         -
    /* ServerBuilderGenerator.kt:446 */
 9497         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
 9498         -
        type Error = ConstraintViolation;
 9499  10686   
 9500         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       10687  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10688  +
}
       10689  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       10690  +
pub mod http_empty_prefix_headers_input {
       10691  +
       10692  +
    /* ServerBuilderGenerator.kt:461 */
       10693  +
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
       10694  +
        fn from(builder: Builder) -> Self {
 9501  10695   
            builder.build()
 9502  10696   
        }
 9503  10697   
    }
 9504         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
       10698  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
 9505  10699   
    /* RustType.kt:534 */
 9506  10700   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9507  10701   
    /* ServerBuilderGenerator.kt:211 */
 9508  10702   
    pub struct Builder {
 9509  10703   
        /* ServerBuilderGenerator.kt:308 */
 9510         -
        pub(crate) long_in_body: ::std::option::Option<i64>,
 9511         -
        /* ServerBuilderGenerator.kt:308 */
 9512         -
        pub(crate) long_in_path: ::std::option::Option<i64>,
 9513         -
        /* ServerBuilderGenerator.kt:308 */
 9514         -
        pub(crate) long_in_query: ::std::option::Option<i64>,
       10704  +
        pub(crate) prefix_headers: ::std::option::Option<
       10705  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10706  +
        >,
 9515  10707   
        /* ServerBuilderGenerator.kt:308 */
 9516         -
        pub(crate) long_in_header: ::std::option::Option<i64>,
       10708  +
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
 9517  10709   
        /* ServerBuilderGenerator.kt:211 */
 9518  10710   
    }
 9519  10711   
    /* ServerBuilderGenerator.kt:215 */
 9520  10712   
    impl Builder {
 9521  10713   
        /* ServerBuilderGenerator.kt:331 */
 9522  10714   
        #[allow(missing_docs)] // documentation missing in model
 9523  10715   
                               /* ServerBuilderGenerator.kt:343 */
 9524         -
        pub fn long_in_body(mut self, input: ::std::option::Option<i64>) -> Self {
       10716  +
        pub fn prefix_headers(
       10717  +
            mut self,
       10718  +
            input: ::std::option::Option<
       10719  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10720  +
            >,
       10721  +
        ) -> Self {
 9525  10722   
            /* ServerBuilderGenerator.kt:344 */
 9526         -
            self.long_in_body =
       10723  +
            self.prefix_headers =
 9527  10724   
                /* ServerBuilderGenerator.kt:376 */input
 9528  10725   
            /* ServerBuilderGenerator.kt:344 */;
 9529  10726   
            self
 9530  10727   
            /* ServerBuilderGenerator.kt:343 */
 9531  10728   
        }
 9532  10729   
        /* ServerBuilderGenerator.kt:426 */
 9533  10730   
        #[allow(missing_docs)] // documentation missing in model
 9534  10731   
                               /* ServerBuilderGenerator.kt:428 */
 9535         -
        pub(crate) fn set_long_in_body(
       10732  +
        pub(crate) fn set_prefix_headers(
 9536  10733   
            mut self,
 9537         -
            input: Option<impl ::std::convert::Into<i64>>,
       10734  +
            input: Option<
       10735  +
                impl ::std::convert::Into<
       10736  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10737  +
                >,
       10738  +
            >,
 9538  10739   
        ) -> Self {
 9539  10740   
            /* ServerBuilderGenerator.kt:429 */
 9540         -
            self.long_in_body = input.map(|v| v.into());
       10741  +
            self.prefix_headers = input.map(|v| v.into());
 9541  10742   
            self
 9542  10743   
            /* ServerBuilderGenerator.kt:428 */
 9543  10744   
        }
 9544  10745   
        /* ServerBuilderGenerator.kt:331 */
 9545  10746   
        #[allow(missing_docs)] // documentation missing in model
 9546  10747   
                               /* ServerBuilderGenerator.kt:343 */
 9547         -
        pub fn long_in_path(mut self, input: i64) -> Self {
       10748  +
        pub fn specific_header(
       10749  +
            mut self,
       10750  +
            input: ::std::option::Option<::std::string::String>,
       10751  +
        ) -> Self {
 9548  10752   
            /* ServerBuilderGenerator.kt:344 */
 9549         -
            self.long_in_path =
 9550         -
                /* ServerBuilderGenerator.kt:345 */Some(
 9551         -
                    /* ServerBuilderGenerator.kt:376 */input
 9552         -
                /* ServerBuilderGenerator.kt:345 */)
       10753  +
            self.specific_header =
       10754  +
                /* ServerBuilderGenerator.kt:376 */input
 9553  10755   
            /* ServerBuilderGenerator.kt:344 */;
 9554  10756   
            self
 9555  10757   
            /* ServerBuilderGenerator.kt:343 */
 9556  10758   
        }
 9557  10759   
        /* ServerBuilderGenerator.kt:426 */
 9558  10760   
        #[allow(missing_docs)] // documentation missing in model
 9559  10761   
                               /* ServerBuilderGenerator.kt:428 */
 9560         -
        pub(crate) fn set_long_in_path(mut self, input: impl ::std::convert::Into<i64>) -> Self {
       10762  +
        pub(crate) fn set_specific_header(
       10763  +
            mut self,
       10764  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       10765  +
        ) -> Self {
 9561  10766   
            /* ServerBuilderGenerator.kt:429 */
 9562         -
            self.long_in_path = Some(input.into());
       10767  +
            self.specific_header = input.map(|v| v.into());
 9563  10768   
            self
 9564  10769   
            /* ServerBuilderGenerator.kt:428 */
 9565  10770   
        }
       10771  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       10772  +
        /* ServerBuilderGenerator.kt:271 */
       10773  +
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       10774  +
            self.build_enforcing_all_constraints()
       10775  +
        }
       10776  +
        /* ServerBuilderGenerator.kt:283 */
       10777  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       10778  +
            /* ServerBuilderGenerator.kt:542 */
       10779  +
            crate::input::HttpEmptyPrefixHeadersInput {
       10780  +
                /* ServerBuilderGenerator.kt:546 */
       10781  +
                prefix_headers: self.prefix_headers,
       10782  +
                /* ServerBuilderGenerator.kt:546 */
       10783  +
                specific_header: self.specific_header,
       10784  +
                /* ServerBuilderGenerator.kt:542 */
       10785  +
            }
       10786  +
            /* ServerBuilderGenerator.kt:283 */
       10787  +
        }
       10788  +
        /* ServerBuilderGenerator.kt:215 */
       10789  +
    }
       10790  +
       10791  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10792  +
}
       10793  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       10794  +
pub mod http_payload_traits_input {
       10795  +
       10796  +
    /* ServerBuilderGenerator.kt:461 */
       10797  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
       10798  +
        fn from(builder: Builder) -> Self {
       10799  +
            builder.build()
       10800  +
        }
       10801  +
    }
       10802  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       10803  +
    /* RustType.kt:534 */
       10804  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10805  +
    /* ServerBuilderGenerator.kt:211 */
       10806  +
    pub struct Builder {
       10807  +
        /* ServerBuilderGenerator.kt:308 */
       10808  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       10809  +
        /* ServerBuilderGenerator.kt:308 */
       10810  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
       10811  +
        /* ServerBuilderGenerator.kt:211 */
       10812  +
    }
       10813  +
    /* ServerBuilderGenerator.kt:215 */
       10814  +
    impl Builder {
 9566  10815   
        /* ServerBuilderGenerator.kt:331 */
 9567  10816   
        #[allow(missing_docs)] // documentation missing in model
 9568  10817   
                               /* ServerBuilderGenerator.kt:343 */
 9569         -
        pub fn long_in_query(mut self, input: ::std::option::Option<i64>) -> Self {
       10818  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9570  10819   
            /* ServerBuilderGenerator.kt:344 */
 9571         -
            self.long_in_query =
       10820  +
            self.foo =
 9572  10821   
                /* ServerBuilderGenerator.kt:376 */input
 9573  10822   
            /* ServerBuilderGenerator.kt:344 */;
 9574  10823   
            self
 9575  10824   
            /* ServerBuilderGenerator.kt:343 */
 9576  10825   
        }
 9577  10826   
        /* ServerBuilderGenerator.kt:426 */
 9578  10827   
        #[allow(missing_docs)] // documentation missing in model
 9579  10828   
                               /* ServerBuilderGenerator.kt:428 */
 9580         -
        pub(crate) fn set_long_in_query(
       10829  +
        pub(crate) fn set_foo(
 9581  10830   
            mut self,
 9582         -
            input: Option<impl ::std::convert::Into<i64>>,
       10831  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9583  10832   
        ) -> Self {
 9584  10833   
            /* ServerBuilderGenerator.kt:429 */
 9585         -
            self.long_in_query = input.map(|v| v.into());
       10834  +
            self.foo = input.map(|v| v.into());
 9586  10835   
            self
 9587  10836   
            /* ServerBuilderGenerator.kt:428 */
 9588  10837   
        }
 9589  10838   
        /* ServerBuilderGenerator.kt:331 */
 9590  10839   
        #[allow(missing_docs)] // documentation missing in model
 9591  10840   
                               /* ServerBuilderGenerator.kt:343 */
 9592         -
        pub fn long_in_header(mut self, input: ::std::option::Option<i64>) -> Self {
       10841  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
 9593  10842   
            /* ServerBuilderGenerator.kt:344 */
 9594         -
            self.long_in_header =
       10843  +
            self.blob =
 9595  10844   
                /* ServerBuilderGenerator.kt:376 */input
 9596  10845   
            /* ServerBuilderGenerator.kt:344 */;
 9597  10846   
            self
 9598  10847   
            /* ServerBuilderGenerator.kt:343 */
 9599  10848   
        }
 9600  10849   
        /* ServerBuilderGenerator.kt:426 */
 9601  10850   
        #[allow(missing_docs)] // documentation missing in model
 9602  10851   
                               /* ServerBuilderGenerator.kt:428 */
 9603         -
        pub(crate) fn set_long_in_header(
       10852  +
        pub(crate) fn set_blob(
 9604  10853   
            mut self,
 9605         -
            input: Option<impl ::std::convert::Into<i64>>,
       10854  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
 9606  10855   
        ) -> Self {
 9607  10856   
            /* ServerBuilderGenerator.kt:429 */
 9608         -
            self.long_in_header = input.map(|v| v.into());
       10857  +
            self.blob = input.map(|v| v.into());
 9609  10858   
            self
 9610  10859   
            /* ServerBuilderGenerator.kt:428 */
 9611  10860   
        }
 9612         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
 9613         -
        /// /* ServerBuilderGenerator.kt:260 */
 9614         -
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if a [`ConstraintViolation`] occurs.
 9615         -
        ///
       10861  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
 9616  10862   
        /* ServerBuilderGenerator.kt:271 */
 9617         -
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
       10863  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
 9618  10864   
            self.build_enforcing_all_constraints()
 9619  10865   
        }
 9620  10866   
        /* ServerBuilderGenerator.kt:283 */
 9621         -
        fn build_enforcing_all_constraints(
 9622         -
            self,
 9623         -
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
 9624         -
            /* ServerBuilderGenerator.kt:287 */
 9625         -
            Ok(
 9626         -
                /* ServerBuilderGenerator.kt:542 */
 9627         -
                crate::input::MalformedLongInput {
 9628         -
                    /* ServerBuilderGenerator.kt:546 */
 9629         -
                    long_in_body: self.long_in_body,
 9630         -
                    /* ServerBuilderGenerator.kt:546 */
 9631         -
                    long_in_path: self
 9632         -
                        .long_in_path
 9633         -
                        /* ServerBuilderGenerator.kt:569 */
 9634         -
                        .ok_or(ConstraintViolation::MissingLongInPath)?,
 9635         -
                    /* ServerBuilderGenerator.kt:546 */
 9636         -
                    long_in_query: self.long_in_query,
 9637         -
                    /* ServerBuilderGenerator.kt:546 */
 9638         -
                    long_in_header: self.long_in_header,
 9639         -
                    /* ServerBuilderGenerator.kt:542 */
 9640         -
                }, /* ServerBuilderGenerator.kt:287 */
 9641         -
            )
 9642         -
            /* ServerBuilderGenerator.kt:283 */
 9643         -
        }
 9644         -
        /* ServerBuilderGenerator.kt:215 */
 9645         -
    }
 9646         -
 9647         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 9648         -
}
 9649         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedShortInput`](crate::input::MalformedShortInput).
 9650         -
pub mod malformed_short_input {
 9651         -
 9652         -
    /* RustType.kt:534 */
 9653         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9654         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 9655         -
    /* RustType.kt:534 */
 9656         -
    #[non_exhaustive]
 9657         -
    /* ServerBuilderConstraintViolations.kt:75 */
 9658         -
    #[allow(clippy::enum_variant_names)]
 9659         -
    pub enum ConstraintViolation {
 9660         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`short_in_path` was not provided but it is required when building `MalformedShortInput`.
 9661         -
        /* ServerBuilderConstraintViolations.kt:144 */
 9662         -
        MissingShortInPath,
 9663         -
        /* ServerBuilderConstraintViolations.kt:75 */
 9664         -
    }
 9665         -
    /* ServerBuilderConstraintViolations.kt:116 */
 9666         -
    impl ::std::fmt::Display for ConstraintViolation {
 9667         -
        /* ServerBuilderConstraintViolations.kt:117 */
 9668         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9669         -
            /* ServerBuilderConstraintViolations.kt:118 */
 9670         -
            match self {
 9671         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
 9672         -
            /* ServerBuilderConstraintViolations.kt:118 */}
 9673         -
            /* ServerBuilderConstraintViolations.kt:117 */
 9674         -
        }
 9675         -
        /* ServerBuilderConstraintViolations.kt:116 */
 9676         -
    }
 9677         -
    /* ServerBuilderConstraintViolations.kt:83 */
 9678         -
    impl ::std::error::Error for ConstraintViolation {}
 9679         -
    /* ServerBuilderConstraintViolations.kt:172 */
 9680         -
    impl ConstraintViolation {
 9681         -
        pub(crate) fn as_validation_exception_field(
 9682         -
            self,
 9683         -
            path: ::std::string::String,
 9684         -
        ) -> crate::model::ValidationExceptionField {
 9685         -
            match self {
 9686         -
            ConstraintViolation::MissingShortInPath => crate::model::ValidationExceptionField {
 9687         -
                                                message: format!("Value at '{}/shortInPath' failed to satisfy constraint: Member must not be null", path),
 9688         -
                                                path: path + "/shortInPath",
 9689         -
                                            },
 9690         -
        }
 9691         -
        }
 9692         -
    }
 9693         -
    /* ServerBuilderGenerator.kt:234 */
 9694         -
    impl ::std::convert::From<ConstraintViolation>
 9695         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9696         -
    {
 9697         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9698         -
            let first_validation_exception_field =
 9699         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9700         -
            let validation_exception = crate::error::ValidationException {
 9701         -
                message: format!(
 9702         -
                    "1 validation error detected. {}",
 9703         -
                    &first_validation_exception_field.message
 9704         -
                ),
 9705         -
                field_list: Some(vec![first_validation_exception_field]),
 9706         -
            };
 9707         -
            Self::ConstraintViolation(
 9708         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9709         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9710         -
                            )
 9711         -
        }
 9712         -
    }
 9713         -
    /* ServerBuilderGenerator.kt:244 */
 9714         -
    impl ::std::convert::From<Builder>
 9715         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedShortInput>
 9716         -
    {
 9717         -
        fn from(builder: Builder) -> Self {
 9718         -
            Self::Unconstrained(builder)
       10867  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadTraitsInput {
       10868  +
            /* ServerBuilderGenerator.kt:542 */
       10869  +
            crate::input::HttpPayloadTraitsInput {
       10870  +
                /* ServerBuilderGenerator.kt:546 */
       10871  +
                foo: self.foo,
       10872  +
                /* ServerBuilderGenerator.kt:546 */
       10873  +
                blob: self.blob,
       10874  +
                /* ServerBuilderGenerator.kt:542 */
       10875  +
            }
       10876  +
            /* ServerBuilderGenerator.kt:283 */
 9719  10877   
        }
       10878  +
        /* ServerBuilderGenerator.kt:215 */
 9720  10879   
    }
 9721         -
    /* ServerBuilderGenerator.kt:446 */
 9722         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
 9723         -
        type Error = ConstraintViolation;
 9724  10880   
 9725         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       10881  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10882  +
}
       10883  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       10884  +
pub mod http_payload_traits_with_media_type_input {
       10885  +
       10886  +
    /* ServerBuilderGenerator.kt:461 */
       10887  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
       10888  +
        fn from(builder: Builder) -> Self {
 9726  10889   
            builder.build()
 9727  10890   
        }
 9728  10891   
    }
 9729         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
       10892  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
 9730  10893   
    /* RustType.kt:534 */
 9731  10894   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9732  10895   
    /* ServerBuilderGenerator.kt:211 */
 9733  10896   
    pub struct Builder {
 9734  10897   
        /* ServerBuilderGenerator.kt:308 */
 9735         -
        pub(crate) short_in_body: ::std::option::Option<i16>,
 9736         -
        /* ServerBuilderGenerator.kt:308 */
 9737         -
        pub(crate) short_in_path: ::std::option::Option<i16>,
 9738         -
        /* ServerBuilderGenerator.kt:308 */
 9739         -
        pub(crate) short_in_query: ::std::option::Option<i16>,
       10898  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
 9740  10899   
        /* ServerBuilderGenerator.kt:308 */
 9741         -
        pub(crate) short_in_header: ::std::option::Option<i16>,
       10900  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
 9742  10901   
        /* ServerBuilderGenerator.kt:211 */
 9743  10902   
    }
 9744  10903   
    /* ServerBuilderGenerator.kt:215 */
 9745  10904   
    impl Builder {
 9746  10905   
        /* ServerBuilderGenerator.kt:331 */
 9747  10906   
        #[allow(missing_docs)] // documentation missing in model
 9748  10907   
                               /* ServerBuilderGenerator.kt:343 */
 9749         -
        pub fn short_in_body(mut self, input: ::std::option::Option<i16>) -> Self {
       10908  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9750  10909   
            /* ServerBuilderGenerator.kt:344 */
 9751         -
            self.short_in_body =
       10910  +
            self.foo =
 9752  10911   
                /* ServerBuilderGenerator.kt:376 */input
 9753  10912   
            /* ServerBuilderGenerator.kt:344 */;
 9754  10913   
            self
 9755  10914   
            /* ServerBuilderGenerator.kt:343 */
 9756  10915   
        }
 9757  10916   
        /* ServerBuilderGenerator.kt:426 */
 9758  10917   
        #[allow(missing_docs)] // documentation missing in model
 9759  10918   
                               /* ServerBuilderGenerator.kt:428 */
 9760         -
        pub(crate) fn set_short_in_body(
       10919  +
        pub(crate) fn set_foo(
 9761  10920   
            mut self,
 9762         -
            input: Option<impl ::std::convert::Into<i16>>,
       10921  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9763  10922   
        ) -> Self {
 9764  10923   
            /* ServerBuilderGenerator.kt:429 */
 9765         -
            self.short_in_body = input.map(|v| v.into());
 9766         -
            self
 9767         -
            /* ServerBuilderGenerator.kt:428 */
 9768         -
        }
 9769         -
        /* ServerBuilderGenerator.kt:331 */
 9770         -
        #[allow(missing_docs)] // documentation missing in model
 9771         -
                               /* ServerBuilderGenerator.kt:343 */
 9772         -
        pub fn short_in_path(mut self, input: i16) -> Self {
 9773         -
            /* ServerBuilderGenerator.kt:344 */
 9774         -
            self.short_in_path =
 9775         -
                /* ServerBuilderGenerator.kt:345 */Some(
 9776         -
                    /* ServerBuilderGenerator.kt:376 */input
 9777         -
                /* ServerBuilderGenerator.kt:345 */)
 9778         -
            /* ServerBuilderGenerator.kt:344 */;
 9779         -
            self
 9780         -
            /* ServerBuilderGenerator.kt:343 */
 9781         -
        }
 9782         -
        /* ServerBuilderGenerator.kt:426 */
 9783         -
        #[allow(missing_docs)] // documentation missing in model
 9784         -
                               /* ServerBuilderGenerator.kt:428 */
 9785         -
        pub(crate) fn set_short_in_path(mut self, input: impl ::std::convert::Into<i16>) -> Self {
 9786         -
            /* ServerBuilderGenerator.kt:429 */
 9787         -
            self.short_in_path = Some(input.into());
       10924  +
            self.foo = input.map(|v| v.into());
 9788  10925   
            self
 9789  10926   
            /* ServerBuilderGenerator.kt:428 */
 9790  10927   
        }
 9791  10928   
        /* ServerBuilderGenerator.kt:331 */
 9792  10929   
        #[allow(missing_docs)] // documentation missing in model
 9793  10930   
                               /* ServerBuilderGenerator.kt:343 */
 9794         -
        pub fn short_in_query(mut self, input: ::std::option::Option<i16>) -> Self {
       10931  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
 9795  10932   
            /* ServerBuilderGenerator.kt:344 */
 9796         -
            self.short_in_query =
       10933  +
            self.blob =
 9797  10934   
                /* ServerBuilderGenerator.kt:376 */input
 9798  10935   
            /* ServerBuilderGenerator.kt:344 */;
 9799  10936   
            self
 9800  10937   
            /* ServerBuilderGenerator.kt:343 */
 9801  10938   
        }
 9802  10939   
        /* ServerBuilderGenerator.kt:426 */
 9803  10940   
        #[allow(missing_docs)] // documentation missing in model
 9804  10941   
                               /* ServerBuilderGenerator.kt:428 */
 9805         -
        pub(crate) fn set_short_in_query(
       10942  +
        pub(crate) fn set_blob(
 9806  10943   
            mut self,
 9807         -
            input: Option<impl ::std::convert::Into<i16>>,
       10944  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
 9808  10945   
        ) -> Self {
 9809  10946   
            /* ServerBuilderGenerator.kt:429 */
 9810         -
            self.short_in_query = input.map(|v| v.into());
       10947  +
            self.blob = input.map(|v| v.into());
 9811  10948   
            self
 9812  10949   
            /* ServerBuilderGenerator.kt:428 */
 9813  10950   
        }
       10951  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       10952  +
        /* ServerBuilderGenerator.kt:271 */
       10953  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       10954  +
            self.build_enforcing_all_constraints()
       10955  +
        }
       10956  +
        /* ServerBuilderGenerator.kt:283 */
       10957  +
        fn build_enforcing_all_constraints(
       10958  +
            self,
       10959  +
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       10960  +
            /* ServerBuilderGenerator.kt:542 */
       10961  +
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
       10962  +
                /* ServerBuilderGenerator.kt:546 */
       10963  +
                foo: self.foo,
       10964  +
                /* ServerBuilderGenerator.kt:546 */
       10965  +
                blob: self.blob,
       10966  +
                /* ServerBuilderGenerator.kt:542 */
       10967  +
            }
       10968  +
            /* ServerBuilderGenerator.kt:283 */
       10969  +
        }
       10970  +
        /* ServerBuilderGenerator.kt:215 */
       10971  +
    }
       10972  +
       10973  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10974  +
}
       10975  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       10976  +
pub mod http_payload_with_structure_input {
       10977  +
       10978  +
    /* ServerBuilderGenerator.kt:461 */
       10979  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
       10980  +
        fn from(builder: Builder) -> Self {
       10981  +
            builder.build()
       10982  +
        }
       10983  +
    }
       10984  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       10985  +
    /* RustType.kt:534 */
       10986  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10987  +
    /* ServerBuilderGenerator.kt:211 */
       10988  +
    pub struct Builder {
       10989  +
        /* ServerBuilderGenerator.kt:308 */
       10990  +
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
       10991  +
        /* ServerBuilderGenerator.kt:211 */
       10992  +
    }
       10993  +
    /* ServerBuilderGenerator.kt:215 */
       10994  +
    impl Builder {
 9814  10995   
        /* ServerBuilderGenerator.kt:331 */
 9815  10996   
        #[allow(missing_docs)] // documentation missing in model
 9816  10997   
                               /* ServerBuilderGenerator.kt:343 */
 9817         -
        pub fn short_in_header(mut self, input: ::std::option::Option<i16>) -> Self {
       10998  +
        pub fn nested(mut self, input: ::std::option::Option<crate::model::NestedPayload>) -> Self {
 9818  10999   
            /* ServerBuilderGenerator.kt:344 */
 9819         -
            self.short_in_header =
       11000  +
            self.nested =
 9820  11001   
                /* ServerBuilderGenerator.kt:376 */input
 9821  11002   
            /* ServerBuilderGenerator.kt:344 */;
 9822  11003   
            self
 9823  11004   
            /* ServerBuilderGenerator.kt:343 */
 9824  11005   
        }
 9825  11006   
        /* ServerBuilderGenerator.kt:426 */
 9826  11007   
        #[allow(missing_docs)] // documentation missing in model
 9827  11008   
                               /* ServerBuilderGenerator.kt:428 */
 9828         -
        pub(crate) fn set_short_in_header(
       11009  +
        pub(crate) fn set_nested(
 9829  11010   
            mut self,
 9830         -
            input: Option<impl ::std::convert::Into<i16>>,
       11011  +
            input: Option<impl ::std::convert::Into<crate::model::NestedPayload>>,
 9831  11012   
        ) -> Self {
 9832  11013   
            /* ServerBuilderGenerator.kt:429 */
 9833         -
            self.short_in_header = input.map(|v| v.into());
       11014  +
            self.nested = input.map(|v| v.into());
 9834  11015   
            self
 9835  11016   
            /* ServerBuilderGenerator.kt:428 */
 9836  11017   
        }
 9837         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
 9838         -
        /// /* ServerBuilderGenerator.kt:260 */
 9839         -
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if a [`ConstraintViolation`] occurs.
 9840         -
        ///
       11018  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
 9841  11019   
        /* ServerBuilderGenerator.kt:271 */
 9842         -
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
       11020  +
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
 9843  11021   
            self.build_enforcing_all_constraints()
 9844  11022   
        }
 9845  11023   
        /* ServerBuilderGenerator.kt:283 */
 9846         -
        fn build_enforcing_all_constraints(
 9847         -
            self,
 9848         -
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
 9849         -
            /* ServerBuilderGenerator.kt:287 */
 9850         -
            Ok(
       11024  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithStructureInput {
       11025  +
            /* ServerBuilderGenerator.kt:542 */
       11026  +
            crate::input::HttpPayloadWithStructureInput {
       11027  +
                /* ServerBuilderGenerator.kt:546 */
       11028  +
                nested: self.nested,
 9851  11029   
                /* ServerBuilderGenerator.kt:542 */
 9852         -
                crate::input::MalformedShortInput {
 9853         -
                    /* ServerBuilderGenerator.kt:546 */
 9854         -
                    short_in_body: self.short_in_body,
 9855         -
                    /* ServerBuilderGenerator.kt:546 */
 9856         -
                    short_in_path: self
 9857         -
                        .short_in_path
 9858         -
                        /* ServerBuilderGenerator.kt:569 */
 9859         -
                        .ok_or(ConstraintViolation::MissingShortInPath)?,
 9860         -
                    /* ServerBuilderGenerator.kt:546 */
 9861         -
                    short_in_query: self.short_in_query,
 9862         -
                    /* ServerBuilderGenerator.kt:546 */
 9863         -
                    short_in_header: self.short_in_header,
 9864         -
                    /* ServerBuilderGenerator.kt:542 */
 9865         -
                }, /* ServerBuilderGenerator.kt:287 */
 9866         -
            )
       11030  +
            }
 9867  11031   
            /* ServerBuilderGenerator.kt:283 */
 9868  11032   
        }
 9869  11033   
        /* ServerBuilderGenerator.kt:215 */
 9870  11034   
    }
 9871  11035   
 9872  11036   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 9873  11037   
}
 9874         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedByteInput`](crate::input::MalformedByteInput).
 9875         -
pub mod malformed_byte_input {
       11038  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       11039  +
pub mod http_enum_payload_input {
 9876  11040   
 9877  11041   
    /* RustType.kt:534 */
 9878  11042   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9879  11043   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
 9880  11044   
    /* RustType.kt:534 */
 9881  11045   
    #[non_exhaustive]
 9882  11046   
    /* ServerBuilderConstraintViolations.kt:75 */
 9883  11047   
    #[allow(clippy::enum_variant_names)]
 9884  11048   
    pub enum ConstraintViolation {
 9885         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`byte_in_path` was not provided but it is required when building `MalformedByteInput`.
 9886         -
        /* ServerBuilderConstraintViolations.kt:144 */
 9887         -
        MissingByteInPath,
       11049  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`.
       11050  +
        /* RustType.kt:534 */
       11051  +
        #[doc(hidden)]
       11052  +
        /* ServerBuilderConstraintViolations.kt:165 */
       11053  +
        Payload(crate::model::string_enum::ConstraintViolation),
 9888  11054   
        /* ServerBuilderConstraintViolations.kt:75 */
 9889  11055   
    }
 9890  11056   
    /* ServerBuilderConstraintViolations.kt:116 */
 9891  11057   
    impl ::std::fmt::Display for ConstraintViolation {
 9892  11058   
        /* ServerBuilderConstraintViolations.kt:117 */
 9893  11059   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9894  11060   
            /* ServerBuilderConstraintViolations.kt:118 */
 9895  11061   
            match self {
 9896         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
       11062  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Payload(_) => write!(f, "constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`"),
 9897  11063   
            /* ServerBuilderConstraintViolations.kt:118 */}
 9898  11064   
            /* ServerBuilderConstraintViolations.kt:117 */
 9899  11065   
        }
 9900  11066   
        /* ServerBuilderConstraintViolations.kt:116 */
 9901  11067   
    }
 9902  11068   
    /* ServerBuilderConstraintViolations.kt:83 */
 9903  11069   
    impl ::std::error::Error for ConstraintViolation {}
 9904  11070   
    /* ServerBuilderConstraintViolations.kt:172 */
 9905  11071   
    impl ConstraintViolation {
 9906  11072   
        pub(crate) fn as_validation_exception_field(
 9907  11073   
            self,
 9908  11074   
            path: ::std::string::String,
 9909  11075   
        ) -> crate::model::ValidationExceptionField {
 9910  11076   
            match self {
 9911         -
            ConstraintViolation::MissingByteInPath => crate::model::ValidationExceptionField {
 9912         -
                                                message: format!("Value at '{}/byteInPath' failed to satisfy constraint: Member must not be null", path),
 9913         -
                                                path: path + "/byteInPath",
 9914         -
                                            },
 9915         -
        }
       11077  +
                ConstraintViolation::Payload(inner) => {
       11078  +
                    inner.as_validation_exception_field(path + "/payload")
       11079  +
                }
       11080  +
            }
 9916  11081   
        }
 9917  11082   
    }
 9918  11083   
    /* ServerBuilderGenerator.kt:234 */
 9919  11084   
    impl ::std::convert::From<ConstraintViolation>
 9920  11085   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9921  11086   
    {
 9922  11087   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9923  11088   
            let first_validation_exception_field =
 9924  11089   
                constraint_violation.as_validation_exception_field("".to_owned());
 9925  11090   
            let validation_exception = crate::error::ValidationException {
 9926  11091   
                message: format!(
 9927  11092   
                    "1 validation error detected. {}",
 9928  11093   
                    &first_validation_exception_field.message
 9929  11094   
                ),
 9930  11095   
                field_list: Some(vec![first_validation_exception_field]),
 9931  11096   
            };
 9932  11097   
            Self::ConstraintViolation(
 9933  11098   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9934  11099   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9935  11100   
                            )
 9936  11101   
        }
 9937  11102   
    }
 9938  11103   
    /* ServerBuilderGenerator.kt:244 */
 9939  11104   
    impl ::std::convert::From<Builder>
 9940         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedByteInput>
       11105  +
        for crate::constrained::MaybeConstrained<crate::input::HttpEnumPayloadInput>
 9941  11106   
    {
 9942  11107   
        fn from(builder: Builder) -> Self {
 9943  11108   
            Self::Unconstrained(builder)
 9944  11109   
        }
 9945  11110   
    }
 9946  11111   
    /* ServerBuilderGenerator.kt:446 */
 9947         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
       11112  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpEnumPayloadInput {
 9948  11113   
        type Error = ConstraintViolation;
 9949  11114   
 9950  11115   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 9951  11116   
            builder.build()
 9952  11117   
        }
 9953  11118   
    }
 9954         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
       11119  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
 9955  11120   
    /* RustType.kt:534 */
 9956  11121   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9957  11122   
    /* ServerBuilderGenerator.kt:211 */
 9958  11123   
    pub struct Builder {
 9959  11124   
        /* ServerBuilderGenerator.kt:308 */
 9960         -
        pub(crate) byte_in_body: ::std::option::Option<i8>,
 9961         -
        /* ServerBuilderGenerator.kt:308 */
 9962         -
        pub(crate) byte_in_path: ::std::option::Option<i8>,
 9963         -
        /* ServerBuilderGenerator.kt:308 */
 9964         -
        pub(crate) byte_in_query: ::std::option::Option<i8>,
 9965         -
        /* ServerBuilderGenerator.kt:308 */
 9966         -
        pub(crate) byte_in_header: ::std::option::Option<i8>,
       11125  +
        pub(crate) payload:
       11126  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringEnum>>,
 9967  11127   
        /* ServerBuilderGenerator.kt:211 */
 9968  11128   
    }
 9969  11129   
    /* ServerBuilderGenerator.kt:215 */
 9970  11130   
    impl Builder {
 9971  11131   
        /* ServerBuilderGenerator.kt:331 */
 9972  11132   
        #[allow(missing_docs)] // documentation missing in model
 9973  11133   
                               /* ServerBuilderGenerator.kt:343 */
 9974         -
        pub fn byte_in_body(mut self, input: ::std::option::Option<i8>) -> Self {
       11134  +
        pub fn payload(mut self, input: ::std::option::Option<crate::model::StringEnum>) -> Self {
 9975  11135   
            /* ServerBuilderGenerator.kt:344 */
 9976         -
            self.byte_in_body =
 9977         -
                /* ServerBuilderGenerator.kt:376 */input
       11136  +
            self.payload =
       11137  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
 9978  11138   
            /* ServerBuilderGenerator.kt:344 */;
 9979  11139   
            self
 9980  11140   
            /* ServerBuilderGenerator.kt:343 */
 9981  11141   
        }
 9982  11142   
        /* ServerBuilderGenerator.kt:426 */
 9983  11143   
        #[allow(missing_docs)] // documentation missing in model
 9984  11144   
                               /* ServerBuilderGenerator.kt:428 */
 9985         -
        pub(crate) fn set_byte_in_body(
       11145  +
        pub(crate) fn set_payload(
 9986  11146   
            mut self,
 9987         -
            input: Option<impl ::std::convert::Into<i8>>,
       11147  +
            input: Option<
       11148  +
                impl ::std::convert::Into<
       11149  +
                    crate::constrained::MaybeConstrained<crate::model::StringEnum>,
       11150  +
                >,
       11151  +
            >,
 9988  11152   
        ) -> Self {
 9989  11153   
            /* ServerBuilderGenerator.kt:429 */
 9990         -
            self.byte_in_body = input.map(|v| v.into());
       11154  +
            self.payload = input.map(|v| v.into());
 9991  11155   
            self
 9992  11156   
            /* ServerBuilderGenerator.kt:428 */
 9993  11157   
        }
 9994         -
        /* ServerBuilderGenerator.kt:331 */
 9995         -
        #[allow(missing_docs)] // documentation missing in model
 9996         -
                               /* ServerBuilderGenerator.kt:343 */
 9997         -
        pub fn byte_in_path(mut self, input: i8) -> Self {
 9998         -
            /* ServerBuilderGenerator.kt:344 */
 9999         -
            self.byte_in_path =
10000         -
                /* ServerBuilderGenerator.kt:345 */Some(
10001         -
                    /* ServerBuilderGenerator.kt:376 */input
10002         -
                /* ServerBuilderGenerator.kt:345 */)
10003         -
            /* ServerBuilderGenerator.kt:344 */;
10004         -
            self
10005         -
            /* ServerBuilderGenerator.kt:343 */
       11158  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       11159  +
        /// /* ServerBuilderGenerator.kt:260 */
       11160  +
        /// The builder fails to construct a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput) if a [`ConstraintViolation`] occurs.
       11161  +
        ///
       11162  +
        /* ServerBuilderGenerator.kt:271 */
       11163  +
        pub fn build(self) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       11164  +
            self.build_enforcing_all_constraints()
10006  11165   
        }
10007         -
        /* ServerBuilderGenerator.kt:426 */
10008         -
        #[allow(missing_docs)] // documentation missing in model
10009         -
                               /* ServerBuilderGenerator.kt:428 */
10010         -
        pub(crate) fn set_byte_in_path(mut self, input: impl ::std::convert::Into<i8>) -> Self {
10011         -
            /* ServerBuilderGenerator.kt:429 */
10012         -
            self.byte_in_path = Some(input.into());
10013         -
            self
10014         -
            /* ServerBuilderGenerator.kt:428 */
       11166  +
        /* ServerBuilderGenerator.kt:283 */
       11167  +
        fn build_enforcing_all_constraints(
       11168  +
            self,
       11169  +
        ) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       11170  +
            /* ServerBuilderGenerator.kt:287 */
       11171  +
            Ok(
       11172  +
                /* ServerBuilderGenerator.kt:542 */
       11173  +
                crate::input::HttpEnumPayloadInput {
       11174  +
                    /* ServerBuilderGenerator.kt:546 */
       11175  +
                    payload: self
       11176  +
                        .payload
       11177  +
                        /* ServerBuilderGenerator.kt:602 */
       11178  +
                        .map(|v| match v {
       11179  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       11180  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       11181  +
                        })
       11182  +
                        /* ServerBuilderGenerator.kt:614 */
       11183  +
                        .map(|res| res.map_err(ConstraintViolation::Payload))
       11184  +
                        .transpose()?,
       11185  +
                    /* ServerBuilderGenerator.kt:542 */
       11186  +
                }, /* ServerBuilderGenerator.kt:287 */
       11187  +
            )
       11188  +
            /* ServerBuilderGenerator.kt:283 */
       11189  +
        }
       11190  +
        /* ServerBuilderGenerator.kt:215 */
       11191  +
    }
       11192  +
       11193  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11194  +
}
       11195  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       11196  +
pub mod http_string_payload_input {
       11197  +
       11198  +
    /* ServerBuilderGenerator.kt:461 */
       11199  +
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
       11200  +
        fn from(builder: Builder) -> Self {
       11201  +
            builder.build()
10015  11202   
        }
       11203  +
    }
       11204  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       11205  +
    /* RustType.kt:534 */
       11206  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11207  +
    /* ServerBuilderGenerator.kt:211 */
       11208  +
    pub struct Builder {
       11209  +
        /* ServerBuilderGenerator.kt:308 */
       11210  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
       11211  +
        /* ServerBuilderGenerator.kt:211 */
       11212  +
    }
       11213  +
    /* ServerBuilderGenerator.kt:215 */
       11214  +
    impl Builder {
10016  11215   
        /* ServerBuilderGenerator.kt:331 */
10017  11216   
        #[allow(missing_docs)] // documentation missing in model
10018  11217   
                               /* ServerBuilderGenerator.kt:343 */
10019         -
        pub fn byte_in_query(mut self, input: ::std::option::Option<i8>) -> Self {
       11218  +
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
10020  11219   
            /* ServerBuilderGenerator.kt:344 */
10021         -
            self.byte_in_query =
       11220  +
            self.payload =
10022  11221   
                /* ServerBuilderGenerator.kt:376 */input
10023  11222   
            /* ServerBuilderGenerator.kt:344 */;
10024  11223   
            self
10025  11224   
            /* ServerBuilderGenerator.kt:343 */
10026  11225   
        }
10027  11226   
        /* ServerBuilderGenerator.kt:426 */
10028  11227   
        #[allow(missing_docs)] // documentation missing in model
10029  11228   
                               /* ServerBuilderGenerator.kt:428 */
10030         -
        pub(crate) fn set_byte_in_query(
       11229  +
        pub(crate) fn set_payload(
10031  11230   
            mut self,
10032         -
            input: Option<impl ::std::convert::Into<i8>>,
       11231  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
10033  11232   
        ) -> Self {
10034  11233   
            /* ServerBuilderGenerator.kt:429 */
10035         -
            self.byte_in_query = input.map(|v| v.into());
       11234  +
            self.payload = input.map(|v| v.into());
10036  11235   
            self
10037  11236   
            /* ServerBuilderGenerator.kt:428 */
10038  11237   
        }
       11238  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       11239  +
        /* ServerBuilderGenerator.kt:271 */
       11240  +
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
       11241  +
            self.build_enforcing_all_constraints()
       11242  +
        }
       11243  +
        /* ServerBuilderGenerator.kt:283 */
       11244  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpStringPayloadInput {
       11245  +
            /* ServerBuilderGenerator.kt:542 */
       11246  +
            crate::input::HttpStringPayloadInput {
       11247  +
                /* ServerBuilderGenerator.kt:546 */
       11248  +
                payload: self.payload,
       11249  +
                /* ServerBuilderGenerator.kt:542 */
       11250  +
            }
       11251  +
            /* ServerBuilderGenerator.kt:283 */
       11252  +
        }
       11253  +
        /* ServerBuilderGenerator.kt:215 */
       11254  +
    }
       11255  +
       11256  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11257  +
}
       11258  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       11259  +
pub mod http_payload_with_union_input {
       11260  +
       11261  +
    /* ServerBuilderGenerator.kt:461 */
       11262  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
       11263  +
        fn from(builder: Builder) -> Self {
       11264  +
            builder.build()
       11265  +
        }
       11266  +
    }
       11267  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       11268  +
    /* RustType.kt:534 */
       11269  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11270  +
    /* ServerBuilderGenerator.kt:211 */
       11271  +
    pub struct Builder {
       11272  +
        /* ServerBuilderGenerator.kt:308 */
       11273  +
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
       11274  +
        /* ServerBuilderGenerator.kt:211 */
       11275  +
    }
       11276  +
    /* ServerBuilderGenerator.kt:215 */
       11277  +
    impl Builder {
10039  11278   
        /* ServerBuilderGenerator.kt:331 */
10040  11279   
        #[allow(missing_docs)] // documentation missing in model
10041  11280   
                               /* ServerBuilderGenerator.kt:343 */
10042         -
        pub fn byte_in_header(mut self, input: ::std::option::Option<i8>) -> Self {
       11281  +
        pub fn nested(mut self, input: ::std::option::Option<crate::model::UnionPayload>) -> Self {
10043  11282   
            /* ServerBuilderGenerator.kt:344 */
10044         -
            self.byte_in_header =
       11283  +
            self.nested =
10045  11284   
                /* ServerBuilderGenerator.kt:376 */input
10046  11285   
            /* ServerBuilderGenerator.kt:344 */;
10047  11286   
            self
10048  11287   
            /* ServerBuilderGenerator.kt:343 */
10049  11288   
        }
10050  11289   
        /* ServerBuilderGenerator.kt:426 */
10051  11290   
        #[allow(missing_docs)] // documentation missing in model
10052  11291   
                               /* ServerBuilderGenerator.kt:428 */
10053         -
        pub(crate) fn set_byte_in_header(
       11292  +
        pub(crate) fn set_nested(
10054  11293   
            mut self,
10055         -
            input: Option<impl ::std::convert::Into<i8>>,
       11294  +
            input: Option<impl ::std::convert::Into<crate::model::UnionPayload>>,
10056  11295   
        ) -> Self {
10057  11296   
            /* ServerBuilderGenerator.kt:429 */
10058         -
            self.byte_in_header = input.map(|v| v.into());
       11297  +
            self.nested = input.map(|v| v.into());
10059  11298   
            self
10060  11299   
            /* ServerBuilderGenerator.kt:428 */
10061  11300   
        }
10062         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
10063         -
        /// /* ServerBuilderGenerator.kt:260 */
10064         -
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if a [`ConstraintViolation`] occurs.
10065         -
        ///
       11301  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
10066  11302   
        /* ServerBuilderGenerator.kt:271 */
10067         -
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       11303  +
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
10068  11304   
            self.build_enforcing_all_constraints()
10069  11305   
        }
10070  11306   
        /* ServerBuilderGenerator.kt:283 */
10071         -
        fn build_enforcing_all_constraints(
10072         -
            self,
10073         -
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
10074         -
            /* ServerBuilderGenerator.kt:287 */
10075         -
            Ok(
       11307  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithUnionInput {
       11308  +
            /* ServerBuilderGenerator.kt:542 */
       11309  +
            crate::input::HttpPayloadWithUnionInput {
       11310  +
                /* ServerBuilderGenerator.kt:546 */
       11311  +
                nested: self.nested,
10076  11312   
                /* ServerBuilderGenerator.kt:542 */
10077         -
                crate::input::MalformedByteInput {
10078         -
                    /* ServerBuilderGenerator.kt:546 */
10079         -
                    byte_in_body: self.byte_in_body,
10080         -
                    /* ServerBuilderGenerator.kt:546 */
10081         -
                    byte_in_path: self
10082         -
                        .byte_in_path
10083         -
                        /* ServerBuilderGenerator.kt:569 */
10084         -
                        .ok_or(ConstraintViolation::MissingByteInPath)?,
10085         -
                    /* ServerBuilderGenerator.kt:546 */
10086         -
                    byte_in_query: self.byte_in_query,
10087         -
                    /* ServerBuilderGenerator.kt:546 */
10088         -
                    byte_in_header: self.byte_in_header,
10089         -
                    /* ServerBuilderGenerator.kt:542 */
10090         -
                }, /* ServerBuilderGenerator.kt:287 */
10091         -
            )
       11313  +
            }
10092  11314   
            /* ServerBuilderGenerator.kt:283 */
10093  11315   
        }
10094  11316   
        /* ServerBuilderGenerator.kt:215 */
10095  11317   
    }
10096  11318   
10097  11319   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10098  11320   
}
10099         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
10100         -
pub mod malformed_blob_input {
       11321  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       11322  +
pub mod http_response_code_input {
10101  11323   
10102  11324   
    /* ServerBuilderGenerator.kt:461 */
10103         -
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
       11325  +
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
       11326  +
        fn from(builder: Builder) -> Self {
       11327  +
            builder.build()
       11328  +
        }
       11329  +
    }
       11330  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       11331  +
    /* RustType.kt:534 */
       11332  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11333  +
    /* ServerBuilderGenerator.kt:211 */
       11334  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       11335  +
    /* ServerBuilderGenerator.kt:215 */
       11336  +
    impl Builder {
       11337  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       11338  +
        /* ServerBuilderGenerator.kt:271 */
       11339  +
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
       11340  +
            self.build_enforcing_all_constraints()
       11341  +
        }
       11342  +
        /* ServerBuilderGenerator.kt:283 */
       11343  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpResponseCodeInput {
       11344  +
            /* ServerBuilderGenerator.kt:542 */
       11345  +
            crate::input::HttpResponseCodeInput {
       11346  +
            /* ServerBuilderGenerator.kt:542 */}
       11347  +
            /* ServerBuilderGenerator.kt:283 */
       11348  +
        }
       11349  +
        /* ServerBuilderGenerator.kt:215 */
       11350  +
    }
       11351  +
       11352  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11353  +
}
       11354  +
/// /* ServerBuilderGenerator.kt:171 */See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       11355  +
pub mod response_code_required_input {
       11356  +
       11357  +
    /* ServerBuilderGenerator.kt:461 */
       11358  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
       11359  +
        fn from(builder: Builder) -> Self {
       11360  +
            builder.build()
       11361  +
        }
       11362  +
    }
       11363  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       11364  +
    /* RustType.kt:534 */
       11365  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11366  +
    /* ServerBuilderGenerator.kt:211 */
       11367  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       11368  +
    /* ServerBuilderGenerator.kt:215 */
       11369  +
    impl Builder {
       11370  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       11371  +
        /* ServerBuilderGenerator.kt:271 */
       11372  +
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
       11373  +
            self.build_enforcing_all_constraints()
       11374  +
        }
       11375  +
        /* ServerBuilderGenerator.kt:283 */
       11376  +
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeRequiredInput {
       11377  +
            /* ServerBuilderGenerator.kt:542 */
       11378  +
            crate::input::ResponseCodeRequiredInput {
       11379  +
            /* ServerBuilderGenerator.kt:542 */}
       11380  +
            /* ServerBuilderGenerator.kt:283 */
       11381  +
        }
       11382  +
        /* ServerBuilderGenerator.kt:215 */
       11383  +
    }
       11384  +
       11385  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11386  +
}
       11387  +
/// /* ServerBuilderGenerator.kt:171 */See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       11388  +
pub mod response_code_http_fallback_input {
       11389  +
       11390  +
    /* ServerBuilderGenerator.kt:461 */
       11391  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
       11392  +
        fn from(builder: Builder) -> Self {
       11393  +
            builder.build()
       11394  +
        }
       11395  +
    }
       11396  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       11397  +
    /* RustType.kt:534 */
       11398  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11399  +
    /* ServerBuilderGenerator.kt:211 */
       11400  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       11401  +
    /* ServerBuilderGenerator.kt:215 */
       11402  +
    impl Builder {
       11403  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       11404  +
        /* ServerBuilderGenerator.kt:271 */
       11405  +
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
       11406  +
            self.build_enforcing_all_constraints()
       11407  +
        }
       11408  +
        /* ServerBuilderGenerator.kt:283 */
       11409  +
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeHttpFallbackInput {
       11410  +
            /* ServerBuilderGenerator.kt:542 */
       11411  +
            crate::input::ResponseCodeHttpFallbackInput {
       11412  +
            /* ServerBuilderGenerator.kt:542 */}
       11413  +
            /* ServerBuilderGenerator.kt:283 */
       11414  +
        }
       11415  +
        /* ServerBuilderGenerator.kt:215 */
       11416  +
    }
       11417  +
       11418  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11419  +
}
       11420  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       11421  +
pub mod streaming_traits_input {
       11422  +
       11423  +
    /* ServerBuilderGenerator.kt:461 */
       11424  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
10104  11425   
        fn from(builder: Builder) -> Self {
10105  11426   
            builder.build()
10106  11427   
        }
10107         -
    }
10108         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
10109         -
    /* RustType.kt:534 */
10110         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10111         -
    /* ServerBuilderGenerator.kt:211 */
10112         -
    pub struct Builder {
10113         -
        /* ServerBuilderGenerator.kt:308 */
10114         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
10115         -
        /* ServerBuilderGenerator.kt:211 */
10116         -
    }
10117         -
    /* ServerBuilderGenerator.kt:215 */
10118         -
    impl Builder {
       11428  +
    }
       11429  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       11430  +
    /* RustType.kt:534 */
       11431  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       11432  +
    /* ServerBuilderGenerator.kt:211 */
       11433  +
    pub struct Builder {
       11434  +
        /* ServerBuilderGenerator.kt:308 */
       11435  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       11436  +
        /* ServerBuilderGenerator.kt:308 */
       11437  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
       11438  +
        /* ServerBuilderGenerator.kt:211 */
       11439  +
    }
       11440  +
    /* ServerBuilderGenerator.kt:215 */
       11441  +
    impl Builder {
       11442  +
        /* ServerBuilderGenerator.kt:331 */
       11443  +
        #[allow(missing_docs)] // documentation missing in model
       11444  +
                               /* ServerBuilderGenerator.kt:343 */
       11445  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11446  +
            /* ServerBuilderGenerator.kt:344 */
       11447  +
            self.foo =
       11448  +
                /* ServerBuilderGenerator.kt:376 */input
       11449  +
            /* ServerBuilderGenerator.kt:344 */;
       11450  +
            self
       11451  +
            /* ServerBuilderGenerator.kt:343 */
       11452  +
        }
       11453  +
        /* ServerBuilderGenerator.kt:426 */
       11454  +
        #[allow(missing_docs)] // documentation missing in model
       11455  +
                               /* ServerBuilderGenerator.kt:428 */
       11456  +
        pub(crate) fn set_foo(
       11457  +
            mut self,
       11458  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       11459  +
        ) -> Self {
       11460  +
            /* ServerBuilderGenerator.kt:429 */
       11461  +
            self.foo = input.map(|v| v.into());
       11462  +
            self
       11463  +
            /* ServerBuilderGenerator.kt:428 */
       11464  +
        }
10119  11465   
        /* ServerBuilderGenerator.kt:331 */
10120  11466   
        #[allow(missing_docs)] // documentation missing in model
10121  11467   
                               /* ServerBuilderGenerator.kt:343 */
10122         -
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       11468  +
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
10123  11469   
            /* ServerBuilderGenerator.kt:344 */
10124  11470   
            self.blob =
10125         -
                /* ServerBuilderGenerator.kt:376 */input
       11471  +
                /* ServerBuilderGenerator.kt:345 */Some(
       11472  +
                    /* ServerBuilderGenerator.kt:376 */input
       11473  +
                /* ServerBuilderGenerator.kt:345 */)
10126  11474   
            /* ServerBuilderGenerator.kt:344 */;
10127  11475   
            self
10128  11476   
            /* ServerBuilderGenerator.kt:343 */
10129  11477   
        }
10130  11478   
        /* ServerBuilderGenerator.kt:426 */
10131  11479   
        #[allow(missing_docs)] // documentation missing in model
10132  11480   
                               /* ServerBuilderGenerator.kt:428 */
10133  11481   
        pub(crate) fn set_blob(
10134  11482   
            mut self,
10135         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       11483  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
10136  11484   
        ) -> Self {
10137  11485   
            /* ServerBuilderGenerator.kt:429 */
10138         -
            self.blob = input.map(|v| v.into());
       11486  +
            self.blob = Some(input.into());
10139  11487   
            self
10140  11488   
            /* ServerBuilderGenerator.kt:428 */
10141  11489   
        }
10142         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       11490  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
10143  11491   
        /* ServerBuilderGenerator.kt:271 */
10144         -
        pub fn build(self) -> crate::input::MalformedBlobInput {
       11492  +
        pub fn build(self) -> crate::input::StreamingTraitsInput {
10145  11493   
            self.build_enforcing_all_constraints()
10146  11494   
        }
10147  11495   
        /* ServerBuilderGenerator.kt:283 */
10148         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedBlobInput {
       11496  +
        fn build_enforcing_all_constraints(self) -> crate::input::StreamingTraitsInput {
10149  11497   
            /* ServerBuilderGenerator.kt:542 */
10150         -
            crate::input::MalformedBlobInput {
       11498  +
            crate::input::StreamingTraitsInput {
10151  11499   
                /* ServerBuilderGenerator.kt:546 */
10152         -
                blob: self.blob,
       11500  +
                foo: self.foo,
       11501  +
                /* ServerBuilderGenerator.kt:546 */
       11502  +
                blob: self
       11503  +
                    .blob
       11504  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
       11505  +
                    .unwrap_or_default(),
10153  11506   
                /* ServerBuilderGenerator.kt:542 */
10154  11507   
            }
10155  11508   
            /* ServerBuilderGenerator.kt:283 */
10156  11509   
        }
10157  11510   
        /* ServerBuilderGenerator.kt:215 */
10158  11511   
    }
10159  11512   
10160  11513   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10161  11514   
}
10162         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedMapInput`](crate::input::MalformedMapInput).
10163         -
pub mod malformed_map_input {
       11515  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       11516  +
pub mod streaming_traits_require_length_input {
10164  11517   
10165  11518   
    /* ServerBuilderGenerator.kt:461 */
10166         -
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
       11519  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
10167  11520   
        fn from(builder: Builder) -> Self {
10168  11521   
            builder.build()
10169  11522   
        }
10170  11523   
    }
10171         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
       11524  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
10172  11525   
    /* RustType.kt:534 */
10173         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11526  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
10174  11527   
    /* ServerBuilderGenerator.kt:211 */
10175  11528   
    pub struct Builder {
10176  11529   
        /* ServerBuilderGenerator.kt:308 */
10177         -
        pub(crate) body_map: ::std::option::Option<
10178         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
10179         -
        >,
       11530  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       11531  +
        /* ServerBuilderGenerator.kt:308 */
       11532  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
10180  11533   
        /* ServerBuilderGenerator.kt:211 */
10181  11534   
    }
10182  11535   
    /* ServerBuilderGenerator.kt:215 */
10183  11536   
    impl Builder {
10184  11537   
        /* ServerBuilderGenerator.kt:331 */
10185  11538   
        #[allow(missing_docs)] // documentation missing in model
10186  11539   
                               /* ServerBuilderGenerator.kt:343 */
10187         -
        pub fn body_map(
       11540  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11541  +
            /* ServerBuilderGenerator.kt:344 */
       11542  +
            self.foo =
       11543  +
                /* ServerBuilderGenerator.kt:376 */input
       11544  +
            /* ServerBuilderGenerator.kt:344 */;
       11545  +
            self
       11546  +
            /* ServerBuilderGenerator.kt:343 */
       11547  +
        }
       11548  +
        /* ServerBuilderGenerator.kt:426 */
       11549  +
        #[allow(missing_docs)] // documentation missing in model
       11550  +
                               /* ServerBuilderGenerator.kt:428 */
       11551  +
        pub(crate) fn set_foo(
10188  11552   
            mut self,
10189         -
            input: ::std::option::Option<
10190         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
10191         -
            >,
       11553  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
10192  11554   
        ) -> Self {
       11555  +
            /* ServerBuilderGenerator.kt:429 */
       11556  +
            self.foo = input.map(|v| v.into());
       11557  +
            self
       11558  +
            /* ServerBuilderGenerator.kt:428 */
       11559  +
        }
       11560  +
        /* ServerBuilderGenerator.kt:331 */
       11561  +
        #[allow(missing_docs)] // documentation missing in model
       11562  +
                               /* ServerBuilderGenerator.kt:343 */
       11563  +
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
10193  11564   
            /* ServerBuilderGenerator.kt:344 */
10194         -
            self.body_map =
10195         -
                /* ServerBuilderGenerator.kt:376 */input
       11565  +
            self.blob =
       11566  +
                /* ServerBuilderGenerator.kt:345 */Some(
       11567  +
                    /* ServerBuilderGenerator.kt:376 */input
       11568  +
                /* ServerBuilderGenerator.kt:345 */)
10196  11569   
            /* ServerBuilderGenerator.kt:344 */;
10197  11570   
            self
10198  11571   
            /* ServerBuilderGenerator.kt:343 */
10199  11572   
        }
10200  11573   
        /* ServerBuilderGenerator.kt:426 */
10201  11574   
        #[allow(missing_docs)] // documentation missing in model
10202  11575   
                               /* ServerBuilderGenerator.kt:428 */
10203         -
        pub(crate) fn set_body_map(
       11576  +
        pub(crate) fn set_blob(
10204  11577   
            mut self,
10205         -
            input: Option<
10206         -
                impl ::std::convert::Into<
10207         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
10208         -
                >,
10209         -
            >,
       11578  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
10210  11579   
        ) -> Self {
10211  11580   
            /* ServerBuilderGenerator.kt:429 */
10212         -
            self.body_map = input.map(|v| v.into());
       11581  +
            self.blob = Some(input.into());
10213  11582   
            self
10214  11583   
            /* ServerBuilderGenerator.kt:428 */
10215  11584   
        }
10216         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
       11585  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
10217  11586   
        /* ServerBuilderGenerator.kt:271 */
10218         -
        pub fn build(self) -> crate::input::MalformedMapInput {
       11587  +
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
10219  11588   
            self.build_enforcing_all_constraints()
10220  11589   
        }
10221  11590   
        /* ServerBuilderGenerator.kt:283 */
10222         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedMapInput {
       11591  +
        fn build_enforcing_all_constraints(
       11592  +
            self,
       11593  +
        ) -> crate::input::StreamingTraitsRequireLengthInput {
10223  11594   
            /* ServerBuilderGenerator.kt:542 */
10224         -
            crate::input::MalformedMapInput {
       11595  +
            crate::input::StreamingTraitsRequireLengthInput {
10225  11596   
                /* ServerBuilderGenerator.kt:546 */
10226         -
                body_map: self.body_map,
       11597  +
                foo: self.foo,
       11598  +
                /* ServerBuilderGenerator.kt:546 */
       11599  +
                blob: self
       11600  +
                    .blob
       11601  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
       11602  +
                    .unwrap_or_default(),
10227  11603   
                /* ServerBuilderGenerator.kt:542 */
10228  11604   
            }
10229  11605   
            /* ServerBuilderGenerator.kt:283 */
10230  11606   
        }
10231  11607   
        /* ServerBuilderGenerator.kt:215 */
10232  11608   
    }
10233  11609   
10234  11610   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10235  11611   
}
10236         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedListInput`](crate::input::MalformedListInput).
10237         -
pub mod malformed_list_input {
       11612  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       11613  +
pub mod streaming_traits_with_media_type_input {
10238  11614   
10239  11615   
    /* ServerBuilderGenerator.kt:461 */
10240         -
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
       11616  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
10241  11617   
        fn from(builder: Builder) -> Self {
10242  11618   
            builder.build()
10243  11619   
        }
10244  11620   
    }
10245         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedListInput`](crate::input::MalformedListInput).
       11621  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
10246  11622   
    /* RustType.kt:534 */
10247         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11623  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
10248  11624   
    /* ServerBuilderGenerator.kt:211 */
10249  11625   
    pub struct Builder {
10250  11626   
        /* ServerBuilderGenerator.kt:308 */
10251         -
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       11627  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       11628  +
        /* ServerBuilderGenerator.kt:308 */
       11629  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
10252  11630   
        /* ServerBuilderGenerator.kt:211 */
10253  11631   
    }
10254  11632   
    /* ServerBuilderGenerator.kt:215 */
10255  11633   
    impl Builder {
10256  11634   
        /* ServerBuilderGenerator.kt:331 */
10257  11635   
        #[allow(missing_docs)] // documentation missing in model
10258  11636   
                               /* ServerBuilderGenerator.kt:343 */
10259         -
        pub fn body_list(
       11637  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11638  +
            /* ServerBuilderGenerator.kt:344 */
       11639  +
            self.foo =
       11640  +
                /* ServerBuilderGenerator.kt:376 */input
       11641  +
            /* ServerBuilderGenerator.kt:344 */;
       11642  +
            self
       11643  +
            /* ServerBuilderGenerator.kt:343 */
       11644  +
        }
       11645  +
        /* ServerBuilderGenerator.kt:426 */
       11646  +
        #[allow(missing_docs)] // documentation missing in model
       11647  +
                               /* ServerBuilderGenerator.kt:428 */
       11648  +
        pub(crate) fn set_foo(
10260  11649   
            mut self,
10261         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       11650  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
10262  11651   
        ) -> Self {
       11652  +
            /* ServerBuilderGenerator.kt:429 */
       11653  +
            self.foo = input.map(|v| v.into());
       11654  +
            self
       11655  +
            /* ServerBuilderGenerator.kt:428 */
       11656  +
        }
       11657  +
        /* ServerBuilderGenerator.kt:331 */
       11658  +
        #[allow(missing_docs)] // documentation missing in model
       11659  +
                               /* ServerBuilderGenerator.kt:343 */
       11660  +
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
10263  11661   
            /* ServerBuilderGenerator.kt:344 */
10264         -
            self.body_list =
10265         -
                /* ServerBuilderGenerator.kt:376 */input
       11662  +
            self.blob =
       11663  +
                /* ServerBuilderGenerator.kt:345 */Some(
       11664  +
                    /* ServerBuilderGenerator.kt:376 */input
       11665  +
                /* ServerBuilderGenerator.kt:345 */)
10266  11666   
            /* ServerBuilderGenerator.kt:344 */;
10267  11667   
            self
10268  11668   
            /* ServerBuilderGenerator.kt:343 */
10269  11669   
        }
10270  11670   
        /* ServerBuilderGenerator.kt:426 */
10271  11671   
        #[allow(missing_docs)] // documentation missing in model
10272  11672   
                               /* ServerBuilderGenerator.kt:428 */
10273         -
        pub(crate) fn set_body_list(
       11673  +
        pub(crate) fn set_blob(
10274  11674   
            mut self,
10275         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       11675  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
10276  11676   
        ) -> Self {
10277  11677   
            /* ServerBuilderGenerator.kt:429 */
10278         -
            self.body_list = input.map(|v| v.into());
       11678  +
            self.blob = Some(input.into());
10279  11679   
            self
10280  11680   
            /* ServerBuilderGenerator.kt:428 */
10281  11681   
        }
10282         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
       11682  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
10283  11683   
        /* ServerBuilderGenerator.kt:271 */
10284         -
        pub fn build(self) -> crate::input::MalformedListInput {
       11684  +
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
10285  11685   
            self.build_enforcing_all_constraints()
10286  11686   
        }
10287  11687   
        /* ServerBuilderGenerator.kt:283 */
10288         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedListInput {
       11688  +
        fn build_enforcing_all_constraints(
       11689  +
            self,
       11690  +
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
10289  11691   
            /* ServerBuilderGenerator.kt:542 */
10290         -
            crate::input::MalformedListInput {
       11692  +
            crate::input::StreamingTraitsWithMediaTypeInput {
10291  11693   
                /* ServerBuilderGenerator.kt:546 */
10292         -
                body_list: self.body_list,
       11694  +
                foo: self.foo,
       11695  +
                /* ServerBuilderGenerator.kt:546 */
       11696  +
                blob: self
       11697  +
                    .blob
       11698  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
       11699  +
                    .unwrap_or_default(),
10293  11700   
                /* ServerBuilderGenerator.kt:542 */
10294  11701   
            }
10295  11702   
            /* ServerBuilderGenerator.kt:283 */
10296  11703   
        }
10297  11704   
        /* ServerBuilderGenerator.kt:215 */
10298  11705   
    }
10299  11706   
10300  11707   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10301  11708   
}
10302         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
10303         -
pub mod malformed_boolean_input {
       11709  +
/// /* ServerBuilderGenerator.kt:171 */See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       11710  +
pub mod greeting_with_errors_input {
10304  11711   
10305         -
    /* RustType.kt:534 */
10306         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10307         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
10308         -
    /* RustType.kt:534 */
10309         -
    #[non_exhaustive]
10310         -
    /* ServerBuilderConstraintViolations.kt:75 */
10311         -
    #[allow(clippy::enum_variant_names)]
10312         -
    pub enum ConstraintViolation {
10313         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
10314         -
        /* ServerBuilderConstraintViolations.kt:144 */
10315         -
        MissingBooleanInPath,
10316         -
        /* ServerBuilderConstraintViolations.kt:75 */
10317         -
    }
10318         -
    /* ServerBuilderConstraintViolations.kt:116 */
10319         -
    impl ::std::fmt::Display for ConstraintViolation {
10320         -
        /* ServerBuilderConstraintViolations.kt:117 */
10321         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10322         -
            /* ServerBuilderConstraintViolations.kt:118 */
10323         -
            match self {
10324         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
10325         -
            /* ServerBuilderConstraintViolations.kt:118 */}
10326         -
            /* ServerBuilderConstraintViolations.kt:117 */
10327         -
        }
10328         -
        /* ServerBuilderConstraintViolations.kt:116 */
10329         -
    }
10330         -
    /* ServerBuilderConstraintViolations.kt:83 */
10331         -
    impl ::std::error::Error for ConstraintViolation {}
10332         -
    /* ServerBuilderConstraintViolations.kt:172 */
10333         -
    impl ConstraintViolation {
10334         -
        pub(crate) fn as_validation_exception_field(
10335         -
            self,
10336         -
            path: ::std::string::String,
10337         -
        ) -> crate::model::ValidationExceptionField {
10338         -
            match self {
10339         -
            ConstraintViolation::MissingBooleanInPath => crate::model::ValidationExceptionField {
10340         -
                                                message: format!("Value at '{}/booleanInPath' failed to satisfy constraint: Member must not be null", path),
10341         -
                                                path: path + "/booleanInPath",
10342         -
                                            },
10343         -
        }
       11712  +
    /* ServerBuilderGenerator.kt:461 */
       11713  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
       11714  +
        fn from(builder: Builder) -> Self {
       11715  +
            builder.build()
10344  11716   
        }
10345  11717   
    }
10346         -
    /* ServerBuilderGenerator.kt:234 */
10347         -
    impl ::std::convert::From<ConstraintViolation>
10348         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10349         -
    {
10350         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
10351         -
            let first_validation_exception_field =
10352         -
                constraint_violation.as_validation_exception_field("".to_owned());
10353         -
            let validation_exception = crate::error::ValidationException {
10354         -
                message: format!(
10355         -
                    "1 validation error detected. {}",
10356         -
                    &first_validation_exception_field.message
10357         -
                ),
10358         -
                field_list: Some(vec![first_validation_exception_field]),
10359         -
            };
10360         -
            Self::ConstraintViolation(
10361         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10362         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10363         -
                            )
       11718  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       11719  +
    /* RustType.kt:534 */
       11720  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11721  +
    /* ServerBuilderGenerator.kt:211 */
       11722  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       11723  +
    /* ServerBuilderGenerator.kt:215 */
       11724  +
    impl Builder {
       11725  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       11726  +
        /* ServerBuilderGenerator.kt:271 */
       11727  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
       11728  +
            self.build_enforcing_all_constraints()
10364  11729   
        }
10365         -
    }
10366         -
    /* ServerBuilderGenerator.kt:244 */
10367         -
    impl ::std::convert::From<Builder>
10368         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedBooleanInput>
10369         -
    {
10370         -
        fn from(builder: Builder) -> Self {
10371         -
            Self::Unconstrained(builder)
       11730  +
        /* ServerBuilderGenerator.kt:283 */
       11731  +
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
       11732  +
            /* ServerBuilderGenerator.kt:542 */
       11733  +
            crate::input::GreetingWithErrorsInput {
       11734  +
            /* ServerBuilderGenerator.kt:542 */}
       11735  +
            /* ServerBuilderGenerator.kt:283 */
10372  11736   
        }
       11737  +
        /* ServerBuilderGenerator.kt:215 */
10373  11738   
    }
10374         -
    /* ServerBuilderGenerator.kt:446 */
10375         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
10376         -
        type Error = ConstraintViolation;
10377  11739   
10378         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11740  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11741  +
}
       11742  +
/// /* ServerBuilderGenerator.kt:171 */See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       11743  +
pub mod simple_scalar_properties_input {
       11744  +
       11745  +
    /* ServerBuilderGenerator.kt:461 */
       11746  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
       11747  +
        fn from(builder: Builder) -> Self {
10379  11748   
            builder.build()
10380  11749   
        }
10381  11750   
    }
10382         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       11751  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
10383  11752   
    /* RustType.kt:534 */
10384  11753   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10385  11754   
    /* ServerBuilderGenerator.kt:211 */
10386  11755   
    pub struct Builder {
10387  11756   
        /* ServerBuilderGenerator.kt:308 */
10388         -
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
       11757  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
10389  11758   
        /* ServerBuilderGenerator.kt:308 */
10390         -
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
       11759  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
10391  11760   
        /* ServerBuilderGenerator.kt:308 */
10392         -
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
       11761  +
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
10393  11762   
        /* ServerBuilderGenerator.kt:308 */
10394         -
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
       11763  +
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
       11764  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) byte_value: ::std::option::Option<i8>,
       11765  +
        /* ServerBuilderGenerator.kt:308 */
       11766  +
        pub(crate) short_value: ::std::option::Option<i16>,
       11767  +
        /* ServerBuilderGenerator.kt:308 */
       11768  +
        pub(crate) integer_value: ::std::option::Option<i32>,
       11769  +
        /* ServerBuilderGenerator.kt:308 */
       11770  +
        pub(crate) long_value: ::std::option::Option<i64>,
       11771  +
        /* ServerBuilderGenerator.kt:308 */
       11772  +
        pub(crate) float_value: ::std::option::Option<f32>,
       11773  +
        /* ServerBuilderGenerator.kt:308 */
       11774  +
        pub(crate) double_value: ::std::option::Option<f64>,
10395  11775   
        /* ServerBuilderGenerator.kt:211 */
10396  11776   
    }
10397  11777   
    /* ServerBuilderGenerator.kt:215 */
10398  11778   
    impl Builder {
10399  11779   
        /* ServerBuilderGenerator.kt:331 */
10400  11780   
        #[allow(missing_docs)] // documentation missing in model
10401  11781   
                               /* ServerBuilderGenerator.kt:343 */
10402         -
        pub fn boolean_in_body(mut self, input: ::std::option::Option<bool>) -> Self {
       11782  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
10403  11783   
            /* ServerBuilderGenerator.kt:344 */
10404         -
            self.boolean_in_body =
       11784  +
            self.foo =
10405  11785   
                /* ServerBuilderGenerator.kt:376 */input
10406  11786   
            /* ServerBuilderGenerator.kt:344 */;
10407  11787   
            self
10408  11788   
            /* ServerBuilderGenerator.kt:343 */
10409  11789   
        }
10410  11790   
        /* ServerBuilderGenerator.kt:426 */
10411  11791   
        #[allow(missing_docs)] // documentation missing in model
10412  11792   
                               /* ServerBuilderGenerator.kt:428 */
10413         -
        pub(crate) fn set_boolean_in_body(
       11793  +
        pub(crate) fn set_foo(
10414  11794   
            mut self,
10415         -
            input: Option<impl ::std::convert::Into<bool>>,
       11795  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
10416  11796   
        ) -> Self {
10417  11797   
            /* ServerBuilderGenerator.kt:429 */
10418         -
            self.boolean_in_body = input.map(|v| v.into());
       11798  +
            self.foo = input.map(|v| v.into());
10419  11799   
            self
10420  11800   
            /* ServerBuilderGenerator.kt:428 */
10421  11801   
        }
10422  11802   
        /* ServerBuilderGenerator.kt:331 */
10423  11803   
        #[allow(missing_docs)] // documentation missing in model
10424  11804   
                               /* ServerBuilderGenerator.kt:343 */
10425         -
        pub fn boolean_in_path(mut self, input: bool) -> Self {
       11805  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
10426  11806   
            /* ServerBuilderGenerator.kt:344 */
10427         -
            self.boolean_in_path =
10428         -
                /* ServerBuilderGenerator.kt:345 */Some(
10429         -
                    /* ServerBuilderGenerator.kt:376 */input
10430         -
                /* ServerBuilderGenerator.kt:345 */)
       11807  +
            self.string_value =
       11808  +
                /* ServerBuilderGenerator.kt:376 */input
10431  11809   
            /* ServerBuilderGenerator.kt:344 */;
10432  11810   
            self
10433  11811   
            /* ServerBuilderGenerator.kt:343 */
10434  11812   
        }
10435  11813   
        /* ServerBuilderGenerator.kt:426 */
10436  11814   
        #[allow(missing_docs)] // documentation missing in model
10437  11815   
                               /* ServerBuilderGenerator.kt:428 */
10438         -
        pub(crate) fn set_boolean_in_path(
       11816  +
        pub(crate) fn set_string_value(
10439  11817   
            mut self,
10440         -
            input: impl ::std::convert::Into<bool>,
       11818  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
10441  11819   
        ) -> Self {
10442  11820   
            /* ServerBuilderGenerator.kt:429 */
10443         -
            self.boolean_in_path = Some(input.into());
       11821  +
            self.string_value = input.map(|v| v.into());
10444  11822   
            self
10445  11823   
            /* ServerBuilderGenerator.kt:428 */
10446  11824   
        }
10447  11825   
        /* ServerBuilderGenerator.kt:331 */
10448  11826   
        #[allow(missing_docs)] // documentation missing in model
10449  11827   
                               /* ServerBuilderGenerator.kt:343 */
10450         -
        pub fn boolean_in_query(mut self, input: ::std::option::Option<bool>) -> Self {
       11828  +
        pub fn true_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
10451  11829   
            /* ServerBuilderGenerator.kt:344 */
10452         -
            self.boolean_in_query =
       11830  +
            self.true_boolean_value =
10453  11831   
                /* ServerBuilderGenerator.kt:376 */input
10454  11832   
            /* ServerBuilderGenerator.kt:344 */;
10455  11833   
            self
10456  11834   
            /* ServerBuilderGenerator.kt:343 */
10457  11835   
        }
10458  11836   
        /* ServerBuilderGenerator.kt:426 */
10459  11837   
        #[allow(missing_docs)] // documentation missing in model
10460  11838   
                               /* ServerBuilderGenerator.kt:428 */
10461         -
        pub(crate) fn set_boolean_in_query(
       11839  +
        pub(crate) fn set_true_boolean_value(
10462  11840   
            mut self,
10463  11841   
            input: Option<impl ::std::convert::Into<bool>>,
10464  11842   
        ) -> Self {
10465  11843   
            /* ServerBuilderGenerator.kt:429 */
10466         -
            self.boolean_in_query = input.map(|v| v.into());
       11844  +
            self.true_boolean_value = input.map(|v| v.into());
10467  11845   
            self
10468  11846   
            /* ServerBuilderGenerator.kt:428 */
10469  11847   
        }
10470  11848   
        /* ServerBuilderGenerator.kt:331 */
10471  11849   
        #[allow(missing_docs)] // documentation missing in model
10472  11850   
                               /* ServerBuilderGenerator.kt:343 */
10473         -
        pub fn boolean_in_header(mut self, input: ::std::option::Option<bool>) -> Self {
       11851  +
        pub fn false_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
10474  11852   
            /* ServerBuilderGenerator.kt:344 */
10475         -
            self.boolean_in_header =
       11853  +
            self.false_boolean_value =
10476  11854   
                /* ServerBuilderGenerator.kt:376 */input
10477  11855   
            /* ServerBuilderGenerator.kt:344 */;
10478  11856   
            self
10479  11857   
            /* ServerBuilderGenerator.kt:343 */
10480  11858   
        }
10481  11859   
        /* ServerBuilderGenerator.kt:426 */
10482  11860   
        #[allow(missing_docs)] // documentation missing in model
10483  11861   
                               /* ServerBuilderGenerator.kt:428 */
10484         -
        pub(crate) fn set_boolean_in_header(
       11862  +
        pub(crate) fn set_false_boolean_value(
10485  11863   
            mut self,
10486  11864   
            input: Option<impl ::std::convert::Into<bool>>,
10487  11865   
        ) -> Self {
10488  11866   
            /* ServerBuilderGenerator.kt:429 */
10489         -
            self.boolean_in_header = input.map(|v| v.into());
       11867  +
            self.false_boolean_value = input.map(|v| v.into());
10490  11868   
            self
10491  11869   
            /* ServerBuilderGenerator.kt:428 */
10492  11870   
        }
10493         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
10494         -
        /// /* ServerBuilderGenerator.kt:260 */
10495         -
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if a [`ConstraintViolation`] occurs.
10496         -
        ///
10497         -
        /* ServerBuilderGenerator.kt:271 */
10498         -
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
10499         -
            self.build_enforcing_all_constraints()
       11871  +
        /* ServerBuilderGenerator.kt:331 */
       11872  +
        #[allow(missing_docs)] // documentation missing in model
       11873  +
                               /* ServerBuilderGenerator.kt:343 */
       11874  +
        pub fn byte_value(mut self, input: ::std::option::Option<i8>) -> Self {
       11875  +
            /* ServerBuilderGenerator.kt:344 */
       11876  +
            self.byte_value =
       11877  +
                /* ServerBuilderGenerator.kt:376 */input
       11878  +
            /* ServerBuilderGenerator.kt:344 */;
       11879  +
            self
       11880  +
            /* ServerBuilderGenerator.kt:343 */
10500  11881   
        }
10501         -
        /* ServerBuilderGenerator.kt:283 */
10502         -
        fn build_enforcing_all_constraints(
10503         -
            self,
10504         -
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
10505         -
            /* ServerBuilderGenerator.kt:287 */
10506         -
            Ok(
10507         -
                /* ServerBuilderGenerator.kt:542 */
10508         -
                crate::input::MalformedBooleanInput {
10509         -
                    /* ServerBuilderGenerator.kt:546 */
10510         -
                    boolean_in_body: self.boolean_in_body,
10511         -
                    /* ServerBuilderGenerator.kt:546 */
10512         -
                    boolean_in_path: self
10513         -
                        .boolean_in_path
10514         -
                        /* ServerBuilderGenerator.kt:569 */
10515         -
                        .ok_or(ConstraintViolation::MissingBooleanInPath)?,
10516         -
                    /* ServerBuilderGenerator.kt:546 */
10517         -
                    boolean_in_query: self.boolean_in_query,
10518         -
                    /* ServerBuilderGenerator.kt:546 */
10519         -
                    boolean_in_header: self.boolean_in_header,
10520         -
                    /* ServerBuilderGenerator.kt:542 */
10521         -
                }, /* ServerBuilderGenerator.kt:287 */
10522         -
            )
10523         -
            /* ServerBuilderGenerator.kt:283 */
       11882  +
        /* ServerBuilderGenerator.kt:426 */
       11883  +
        #[allow(missing_docs)] // documentation missing in model
       11884  +
                               /* ServerBuilderGenerator.kt:428 */
       11885  +
        pub(crate) fn set_byte_value(
       11886  +
            mut self,
       11887  +
            input: Option<impl ::std::convert::Into<i8>>,
       11888  +
        ) -> Self {
       11889  +
            /* ServerBuilderGenerator.kt:429 */
       11890  +
            self.byte_value = input.map(|v| v.into());
       11891  +
            self
       11892  +
            /* ServerBuilderGenerator.kt:428 */
10524  11893   
        }
10525         -
        /* ServerBuilderGenerator.kt:215 */
10526         -
    }
10527         -
10528         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10529         -
}
10530         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
10531         -
pub mod malformed_union_input {
10532         -
10533         -
    /* ServerBuilderGenerator.kt:461 */
10534         -
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
10535         -
        fn from(builder: Builder) -> Self {
10536         -
            builder.build()
       11894  +
        /* ServerBuilderGenerator.kt:331 */
       11895  +
        #[allow(missing_docs)] // documentation missing in model
       11896  +
                               /* ServerBuilderGenerator.kt:343 */
       11897  +
        pub fn short_value(mut self, input: ::std::option::Option<i16>) -> Self {
       11898  +
            /* ServerBuilderGenerator.kt:344 */
       11899  +
            self.short_value =
       11900  +
                /* ServerBuilderGenerator.kt:376 */input
       11901  +
            /* ServerBuilderGenerator.kt:344 */;
       11902  +
            self
       11903  +
            /* ServerBuilderGenerator.kt:343 */
       11904  +
        }
       11905  +
        /* ServerBuilderGenerator.kt:426 */
       11906  +
        #[allow(missing_docs)] // documentation missing in model
       11907  +
                               /* ServerBuilderGenerator.kt:428 */
       11908  +
        pub(crate) fn set_short_value(
       11909  +
            mut self,
       11910  +
            input: Option<impl ::std::convert::Into<i16>>,
       11911  +
        ) -> Self {
       11912  +
            /* ServerBuilderGenerator.kt:429 */
       11913  +
            self.short_value = input.map(|v| v.into());
       11914  +
            self
       11915  +
            /* ServerBuilderGenerator.kt:428 */
       11916  +
        }
       11917  +
        /* ServerBuilderGenerator.kt:331 */
       11918  +
        #[allow(missing_docs)] // documentation missing in model
       11919  +
                               /* ServerBuilderGenerator.kt:343 */
       11920  +
        pub fn integer_value(mut self, input: ::std::option::Option<i32>) -> Self {
       11921  +
            /* ServerBuilderGenerator.kt:344 */
       11922  +
            self.integer_value =
       11923  +
                /* ServerBuilderGenerator.kt:376 */input
       11924  +
            /* ServerBuilderGenerator.kt:344 */;
       11925  +
            self
       11926  +
            /* ServerBuilderGenerator.kt:343 */
       11927  +
        }
       11928  +
        /* ServerBuilderGenerator.kt:426 */
       11929  +
        #[allow(missing_docs)] // documentation missing in model
       11930  +
                               /* ServerBuilderGenerator.kt:428 */
       11931  +
        pub(crate) fn set_integer_value(
       11932  +
            mut self,
       11933  +
            input: Option<impl ::std::convert::Into<i32>>,
       11934  +
        ) -> Self {
       11935  +
            /* ServerBuilderGenerator.kt:429 */
       11936  +
            self.integer_value = input.map(|v| v.into());
       11937  +
            self
       11938  +
            /* ServerBuilderGenerator.kt:428 */
       11939  +
        }
       11940  +
        /* ServerBuilderGenerator.kt:331 */
       11941  +
        #[allow(missing_docs)] // documentation missing in model
       11942  +
                               /* ServerBuilderGenerator.kt:343 */
       11943  +
        pub fn long_value(mut self, input: ::std::option::Option<i64>) -> Self {
       11944  +
            /* ServerBuilderGenerator.kt:344 */
       11945  +
            self.long_value =
       11946  +
                /* ServerBuilderGenerator.kt:376 */input
       11947  +
            /* ServerBuilderGenerator.kt:344 */;
       11948  +
            self
       11949  +
            /* ServerBuilderGenerator.kt:343 */
       11950  +
        }
       11951  +
        /* ServerBuilderGenerator.kt:426 */
       11952  +
        #[allow(missing_docs)] // documentation missing in model
       11953  +
                               /* ServerBuilderGenerator.kt:428 */
       11954  +
        pub(crate) fn set_long_value(
       11955  +
            mut self,
       11956  +
            input: Option<impl ::std::convert::Into<i64>>,
       11957  +
        ) -> Self {
       11958  +
            /* ServerBuilderGenerator.kt:429 */
       11959  +
            self.long_value = input.map(|v| v.into());
       11960  +
            self
       11961  +
            /* ServerBuilderGenerator.kt:428 */
       11962  +
        }
       11963  +
        /* ServerBuilderGenerator.kt:331 */
       11964  +
        #[allow(missing_docs)] // documentation missing in model
       11965  +
                               /* ServerBuilderGenerator.kt:343 */
       11966  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
       11967  +
            /* ServerBuilderGenerator.kt:344 */
       11968  +
            self.float_value =
       11969  +
                /* ServerBuilderGenerator.kt:376 */input
       11970  +
            /* ServerBuilderGenerator.kt:344 */;
       11971  +
            self
       11972  +
            /* ServerBuilderGenerator.kt:343 */
       11973  +
        }
       11974  +
        /* ServerBuilderGenerator.kt:426 */
       11975  +
        #[allow(missing_docs)] // documentation missing in model
       11976  +
                               /* ServerBuilderGenerator.kt:428 */
       11977  +
        pub(crate) fn set_float_value(
       11978  +
            mut self,
       11979  +
            input: Option<impl ::std::convert::Into<f32>>,
       11980  +
        ) -> Self {
       11981  +
            /* ServerBuilderGenerator.kt:429 */
       11982  +
            self.float_value = input.map(|v| v.into());
       11983  +
            self
       11984  +
            /* ServerBuilderGenerator.kt:428 */
10537  11985   
        }
10538         -
    }
10539         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
10540         -
    /* RustType.kt:534 */
10541         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10542         -
    /* ServerBuilderGenerator.kt:211 */
10543         -
    pub struct Builder {
10544         -
        /* ServerBuilderGenerator.kt:308 */
10545         -
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
10546         -
        /* ServerBuilderGenerator.kt:211 */
10547         -
    }
10548         -
    /* ServerBuilderGenerator.kt:215 */
10549         -
    impl Builder {
10550  11986   
        /* ServerBuilderGenerator.kt:331 */
10551  11987   
        #[allow(missing_docs)] // documentation missing in model
10552  11988   
                               /* ServerBuilderGenerator.kt:343 */
10553         -
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
       11989  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
10554  11990   
            /* ServerBuilderGenerator.kt:344 */
10555         -
            self.union =
       11991  +
            self.double_value =
10556  11992   
                /* ServerBuilderGenerator.kt:376 */input
10557  11993   
            /* ServerBuilderGenerator.kt:344 */;
10558  11994   
            self
10559  11995   
            /* ServerBuilderGenerator.kt:343 */
10560  11996   
        }
10561  11997   
        /* ServerBuilderGenerator.kt:426 */
10562  11998   
        #[allow(missing_docs)] // documentation missing in model
10563  11999   
                               /* ServerBuilderGenerator.kt:428 */
10564         -
        pub(crate) fn set_union(
       12000  +
        pub(crate) fn set_double_value(
10565  12001   
            mut self,
10566         -
            input: Option<impl ::std::convert::Into<crate::model::SimpleUnion>>,
       12002  +
            input: Option<impl ::std::convert::Into<f64>>,
10567  12003   
        ) -> Self {
10568  12004   
            /* ServerBuilderGenerator.kt:429 */
10569         -
            self.union = input.map(|v| v.into());
       12005  +
            self.double_value = input.map(|v| v.into());
10570  12006   
            self
10571  12007   
            /* ServerBuilderGenerator.kt:428 */
10572  12008   
        }
10573         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       12009  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
10574  12010   
        /* ServerBuilderGenerator.kt:271 */
10575         -
        pub fn build(self) -> crate::input::MalformedUnionInput {
       12011  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
10576  12012   
            self.build_enforcing_all_constraints()
10577  12013   
        }
10578  12014   
        /* ServerBuilderGenerator.kt:283 */
10579         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedUnionInput {
       12015  +
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
10580  12016   
            /* ServerBuilderGenerator.kt:542 */
10581         -
            crate::input::MalformedUnionInput {
       12017  +
            crate::input::SimpleScalarPropertiesInput {
10582  12018   
                /* ServerBuilderGenerator.kt:546 */
10583         -
                union: self.union,
       12019  +
                foo: self.foo,
       12020  +
                /* ServerBuilderGenerator.kt:546 */
       12021  +
                string_value: self.string_value,
       12022  +
                /* ServerBuilderGenerator.kt:546 */
       12023  +
                true_boolean_value: self.true_boolean_value,
       12024  +
                /* ServerBuilderGenerator.kt:546 */
       12025  +
                false_boolean_value: self.false_boolean_value,
       12026  +
                /* ServerBuilderGenerator.kt:546 */
       12027  +
                byte_value: self.byte_value,
       12028  +
                /* ServerBuilderGenerator.kt:546 */
       12029  +
                short_value: self.short_value,
       12030  +
                /* ServerBuilderGenerator.kt:546 */
       12031  +
                integer_value: self.integer_value,
       12032  +
                /* ServerBuilderGenerator.kt:546 */
       12033  +
                long_value: self.long_value,
       12034  +
                /* ServerBuilderGenerator.kt:546 */
       12035  +
                float_value: self.float_value,
       12036  +
                /* ServerBuilderGenerator.kt:546 */
       12037  +
                double_value: self.double_value,
10584  12038   
                /* ServerBuilderGenerator.kt:542 */
10585  12039   
            }
10586  12040   
            /* ServerBuilderGenerator.kt:283 */
10587  12041   
        }
10588  12042   
        /* ServerBuilderGenerator.kt:215 */
10589  12043   
    }
10590  12044   
10591  12045   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10592  12046   
}
10593         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
10594         -
pub mod malformed_integer_input {
       12047  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       12048  +
pub mod json_timestamps_input {
10595  12049   
10596         -
    /* RustType.kt:534 */
10597         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10598         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
10599         -
    /* RustType.kt:534 */
10600         -
    #[non_exhaustive]
10601         -
    /* ServerBuilderConstraintViolations.kt:75 */
10602         -
    #[allow(clippy::enum_variant_names)]
10603         -
    pub enum ConstraintViolation {
10604         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
10605         -
        /* ServerBuilderConstraintViolations.kt:144 */
10606         -
        MissingIntegerInPath,
10607         -
        /* ServerBuilderConstraintViolations.kt:75 */
10608         -
    }
10609         -
    /* ServerBuilderConstraintViolations.kt:116 */
10610         -
    impl ::std::fmt::Display for ConstraintViolation {
10611         -
        /* ServerBuilderConstraintViolations.kt:117 */
10612         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10613         -
            /* ServerBuilderConstraintViolations.kt:118 */
10614         -
            match self {
10615         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
10616         -
            /* ServerBuilderConstraintViolations.kt:118 */}
10617         -
            /* ServerBuilderConstraintViolations.kt:117 */
10618         -
        }
10619         -
        /* ServerBuilderConstraintViolations.kt:116 */
10620         -
    }
10621         -
    /* ServerBuilderConstraintViolations.kt:83 */
10622         -
    impl ::std::error::Error for ConstraintViolation {}
10623         -
    /* ServerBuilderConstraintViolations.kt:172 */
10624         -
    impl ConstraintViolation {
10625         -
        pub(crate) fn as_validation_exception_field(
10626         -
            self,
10627         -
            path: ::std::string::String,
10628         -
        ) -> crate::model::ValidationExceptionField {
10629         -
            match self {
10630         -
            ConstraintViolation::MissingIntegerInPath => crate::model::ValidationExceptionField {
10631         -
                                                message: format!("Value at '{}/integerInPath' failed to satisfy constraint: Member must not be null", path),
10632         -
                                                path: path + "/integerInPath",
10633         -
                                            },
10634         -
        }
10635         -
        }
10636         -
    }
10637         -
    /* ServerBuilderGenerator.kt:234 */
10638         -
    impl ::std::convert::From<ConstraintViolation>
10639         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10640         -
    {
10641         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
10642         -
            let first_validation_exception_field =
10643         -
                constraint_violation.as_validation_exception_field("".to_owned());
10644         -
            let validation_exception = crate::error::ValidationException {
10645         -
                message: format!(
10646         -
                    "1 validation error detected. {}",
10647         -
                    &first_validation_exception_field.message
10648         -
                ),
10649         -
                field_list: Some(vec![first_validation_exception_field]),
10650         -
            };
10651         -
            Self::ConstraintViolation(
10652         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10653         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10654         -
                            )
10655         -
        }
10656         -
    }
10657         -
    /* ServerBuilderGenerator.kt:244 */
10658         -
    impl ::std::convert::From<Builder>
10659         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedIntegerInput>
10660         -
    {
       12050  +
    /* ServerBuilderGenerator.kt:461 */
       12051  +
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
10661  12052   
        fn from(builder: Builder) -> Self {
10662         -
            Self::Unconstrained(builder)
10663         -
        }
10664         -
    }
10665         -
    /* ServerBuilderGenerator.kt:446 */
10666         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
10667         -
        type Error = ConstraintViolation;
10668         -
10669         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10670  12053   
            builder.build()
10671  12054   
        }
10672  12055   
    }
10673         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       12056  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
10674  12057   
    /* RustType.kt:534 */
10675  12058   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10676  12059   
    /* ServerBuilderGenerator.kt:211 */
10677  12060   
    pub struct Builder {
10678  12061   
        /* ServerBuilderGenerator.kt:308 */
10679         -
        pub(crate) integer_in_body: ::std::option::Option<i32>,
       12062  +
        pub(crate) normal: ::std::option::Option<::aws_smithy_types::DateTime>,
10680  12063   
        /* ServerBuilderGenerator.kt:308 */
10681         -
        pub(crate) integer_in_path: ::std::option::Option<i32>,
       12064  +
        pub(crate) date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
10682  12065   
        /* ServerBuilderGenerator.kt:308 */
10683         -
        pub(crate) integer_in_query: ::std::option::Option<i32>,
       12066  +
        pub(crate) date_time_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
10684  12067   
        /* ServerBuilderGenerator.kt:308 */
10685         -
        pub(crate) integer_in_header: ::std::option::Option<i32>,
       12068  +
        pub(crate) epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
       12069  +
        /* ServerBuilderGenerator.kt:308 */
       12070  +
        pub(crate) epoch_seconds_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
       12071  +
        /* ServerBuilderGenerator.kt:308 */
       12072  +
        pub(crate) http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       12073  +
        /* ServerBuilderGenerator.kt:308 */
       12074  +
        pub(crate) http_date_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
10686  12075   
        /* ServerBuilderGenerator.kt:211 */
10687  12076   
    }
10688  12077   
    /* ServerBuilderGenerator.kt:215 */
10689  12078   
    impl Builder {
10690  12079   
        /* ServerBuilderGenerator.kt:331 */
10691  12080   
        #[allow(missing_docs)] // documentation missing in model
10692  12081   
                               /* ServerBuilderGenerator.kt:343 */
10693         -
        pub fn integer_in_body(mut self, input: ::std::option::Option<i32>) -> Self {
       12082  +
        pub fn normal(
       12083  +
            mut self,
       12084  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12085  +
        ) -> Self {
10694  12086   
            /* ServerBuilderGenerator.kt:344 */
10695         -
            self.integer_in_body =
       12087  +
            self.normal =
10696  12088   
                /* ServerBuilderGenerator.kt:376 */input
10697  12089   
            /* ServerBuilderGenerator.kt:344 */;
10698  12090   
            self
10699  12091   
            /* ServerBuilderGenerator.kt:343 */
10700  12092   
        }
10701  12093   
        /* ServerBuilderGenerator.kt:426 */
10702  12094   
        #[allow(missing_docs)] // documentation missing in model
10703  12095   
                               /* ServerBuilderGenerator.kt:428 */
10704         -
        pub(crate) fn set_integer_in_body(
       12096  +
        pub(crate) fn set_normal(
10705  12097   
            mut self,
10706         -
            input: Option<impl ::std::convert::Into<i32>>,
       12098  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
10707  12099   
        ) -> Self {
10708  12100   
            /* ServerBuilderGenerator.kt:429 */
10709         -
            self.integer_in_body = input.map(|v| v.into());
       12101  +
            self.normal = input.map(|v| v.into());
10710  12102   
            self
10711  12103   
            /* ServerBuilderGenerator.kt:428 */
10712  12104   
        }
10713  12105   
        /* ServerBuilderGenerator.kt:331 */
10714  12106   
        #[allow(missing_docs)] // documentation missing in model
10715  12107   
                               /* ServerBuilderGenerator.kt:343 */
10716         -
        pub fn integer_in_path(mut self, input: i32) -> Self {
       12108  +
        pub fn date_time(
       12109  +
            mut self,
       12110  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12111  +
        ) -> Self {
10717  12112   
            /* ServerBuilderGenerator.kt:344 */
10718         -
            self.integer_in_path =
10719         -
                /* ServerBuilderGenerator.kt:345 */Some(
10720         -
                    /* ServerBuilderGenerator.kt:376 */input
10721         -
                /* ServerBuilderGenerator.kt:345 */)
       12113  +
            self.date_time =
       12114  +
                /* ServerBuilderGenerator.kt:376 */input
10722  12115   
            /* ServerBuilderGenerator.kt:344 */;
10723  12116   
            self
10724  12117   
            /* ServerBuilderGenerator.kt:343 */
10725  12118   
        }
10726  12119   
        /* ServerBuilderGenerator.kt:426 */
10727  12120   
        #[allow(missing_docs)] // documentation missing in model
10728  12121   
                               /* ServerBuilderGenerator.kt:428 */
10729         -
        pub(crate) fn set_integer_in_path(mut self, input: impl ::std::convert::Into<i32>) -> Self {
       12122  +
        pub(crate) fn set_date_time(
       12123  +
            mut self,
       12124  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       12125  +
        ) -> Self {
10730  12126   
            /* ServerBuilderGenerator.kt:429 */
10731         -
            self.integer_in_path = Some(input.into());
       12127  +
            self.date_time = input.map(|v| v.into());
10732  12128   
            self
10733  12129   
            /* ServerBuilderGenerator.kt:428 */
10734  12130   
        }
10735  12131   
        /* ServerBuilderGenerator.kt:331 */
10736  12132   
        #[allow(missing_docs)] // documentation missing in model
10737  12133   
                               /* ServerBuilderGenerator.kt:343 */
10738         -
        pub fn integer_in_query(mut self, input: ::std::option::Option<i32>) -> Self {
       12134  +
        pub fn date_time_on_target(
       12135  +
            mut self,
       12136  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12137  +
        ) -> Self {
10739  12138   
            /* ServerBuilderGenerator.kt:344 */
10740         -
            self.integer_in_query =
       12139  +
            self.date_time_on_target =
10741  12140   
                /* ServerBuilderGenerator.kt:376 */input
10742  12141   
            /* ServerBuilderGenerator.kt:344 */;
10743  12142   
            self
10744  12143   
            /* ServerBuilderGenerator.kt:343 */
10745  12144   
        }
10746  12145   
        /* ServerBuilderGenerator.kt:426 */
10747  12146   
        #[allow(missing_docs)] // documentation missing in model
10748  12147   
                               /* ServerBuilderGenerator.kt:428 */
10749         -
        pub(crate) fn set_integer_in_query(
       12148  +
        pub(crate) fn set_date_time_on_target(
10750  12149   
            mut self,
10751         -
            input: Option<impl ::std::convert::Into<i32>>,
       12150  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
10752  12151   
        ) -> Self {
10753  12152   
            /* ServerBuilderGenerator.kt:429 */
10754         -
            self.integer_in_query = input.map(|v| v.into());
       12153  +
            self.date_time_on_target = input.map(|v| v.into());
10755  12154   
            self
10756  12155   
            /* ServerBuilderGenerator.kt:428 */
10757  12156   
        }
10758  12157   
        /* ServerBuilderGenerator.kt:331 */
10759  12158   
        #[allow(missing_docs)] // documentation missing in model
10760  12159   
                               /* ServerBuilderGenerator.kt:343 */
10761         -
        pub fn integer_in_header(mut self, input: ::std::option::Option<i32>) -> Self {
       12160  +
        pub fn epoch_seconds(
       12161  +
            mut self,
       12162  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12163  +
        ) -> Self {
10762  12164   
            /* ServerBuilderGenerator.kt:344 */
10763         -
            self.integer_in_header =
       12165  +
            self.epoch_seconds =
10764  12166   
                /* ServerBuilderGenerator.kt:376 */input
10765  12167   
            /* ServerBuilderGenerator.kt:344 */;
10766  12168   
            self
10767  12169   
            /* ServerBuilderGenerator.kt:343 */
10768  12170   
        }
10769  12171   
        /* ServerBuilderGenerator.kt:426 */
10770  12172   
        #[allow(missing_docs)] // documentation missing in model
10771  12173   
                               /* ServerBuilderGenerator.kt:428 */
10772         -
        pub(crate) fn set_integer_in_header(
       12174  +
        pub(crate) fn set_epoch_seconds(
10773  12175   
            mut self,
10774         -
            input: Option<impl ::std::convert::Into<i32>>,
       12176  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
10775  12177   
        ) -> Self {
10776  12178   
            /* ServerBuilderGenerator.kt:429 */
10777         -
            self.integer_in_header = input.map(|v| v.into());
       12179  +
            self.epoch_seconds = input.map(|v| v.into());
10778  12180   
            self
10779  12181   
            /* ServerBuilderGenerator.kt:428 */
10780  12182   
        }
10781         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
10782         -
        /// /* ServerBuilderGenerator.kt:260 */
10783         -
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if a [`ConstraintViolation`] occurs.
10784         -
        ///
10785         -
        /* ServerBuilderGenerator.kt:271 */
10786         -
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
10787         -
            self.build_enforcing_all_constraints()
10788         -
        }
10789         -
        /* ServerBuilderGenerator.kt:283 */
10790         -
        fn build_enforcing_all_constraints(
10791         -
            self,
10792         -
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
10793         -
            /* ServerBuilderGenerator.kt:287 */
10794         -
            Ok(
10795         -
                /* ServerBuilderGenerator.kt:542 */
10796         -
                crate::input::MalformedIntegerInput {
10797         -
                    /* ServerBuilderGenerator.kt:546 */
10798         -
                    integer_in_body: self.integer_in_body,
10799         -
                    /* ServerBuilderGenerator.kt:546 */
10800         -
                    integer_in_path: self
10801         -
                        .integer_in_path
10802         -
                        /* ServerBuilderGenerator.kt:569 */
10803         -
                        .ok_or(ConstraintViolation::MissingIntegerInPath)?,
10804         -
                    /* ServerBuilderGenerator.kt:546 */
10805         -
                    integer_in_query: self.integer_in_query,
10806         -
                    /* ServerBuilderGenerator.kt:546 */
10807         -
                    integer_in_header: self.integer_in_header,
10808         -
                    /* ServerBuilderGenerator.kt:542 */
10809         -
                }, /* ServerBuilderGenerator.kt:287 */
10810         -
            )
10811         -
            /* ServerBuilderGenerator.kt:283 */
10812         -
        }
10813         -
        /* ServerBuilderGenerator.kt:215 */
10814         -
    }
10815         -
10816         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10817         -
}
10818         -
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
10819         -
pub mod malformed_request_body_input {
10820         -
10821         -
    /* ServerBuilderGenerator.kt:461 */
10822         -
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
10823         -
        fn from(builder: Builder) -> Self {
10824         -
            builder.build()
10825         -
        }
10826         -
    }
10827         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
10828         -
    /* RustType.kt:534 */
10829         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10830         -
    /* ServerBuilderGenerator.kt:211 */
10831         -
    pub struct Builder {
10832         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) int: ::std::option::Option<i32>,
10833         -
        /* ServerBuilderGenerator.kt:308 */
10834         -
        pub(crate) float: ::std::option::Option<f32>,
10835         -
        /* ServerBuilderGenerator.kt:211 */
10836         -
    }
10837         -
    /* ServerBuilderGenerator.kt:215 */
10838         -
    impl Builder {
10839  12183   
        /* ServerBuilderGenerator.kt:331 */
10840  12184   
        #[allow(missing_docs)] // documentation missing in model
10841  12185   
                               /* ServerBuilderGenerator.kt:343 */
10842         -
        pub fn int(mut self, input: ::std::option::Option<i32>) -> Self {
       12186  +
        pub fn epoch_seconds_on_target(
       12187  +
            mut self,
       12188  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12189  +
        ) -> Self {
10843  12190   
            /* ServerBuilderGenerator.kt:344 */
10844         -
            self.int =
       12191  +
            self.epoch_seconds_on_target =
10845  12192   
                /* ServerBuilderGenerator.kt:376 */input
10846  12193   
            /* ServerBuilderGenerator.kt:344 */;
10847  12194   
            self
10848  12195   
            /* ServerBuilderGenerator.kt:343 */
10849  12196   
        }
10850  12197   
        /* ServerBuilderGenerator.kt:426 */
10851  12198   
        #[allow(missing_docs)] // documentation missing in model
10852  12199   
                               /* ServerBuilderGenerator.kt:428 */
10853         -
        pub(crate) fn set_int(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
       12200  +
        pub(crate) fn set_epoch_seconds_on_target(
       12201  +
            mut self,
       12202  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       12203  +
        ) -> Self {
10854  12204   
            /* ServerBuilderGenerator.kt:429 */
10855         -
            self.int = input.map(|v| v.into());
       12205  +
            self.epoch_seconds_on_target = input.map(|v| v.into());
10856  12206   
            self
10857  12207   
            /* ServerBuilderGenerator.kt:428 */
10858  12208   
        }
10859  12209   
        /* ServerBuilderGenerator.kt:331 */
10860  12210   
        #[allow(missing_docs)] // documentation missing in model
10861  12211   
                               /* ServerBuilderGenerator.kt:343 */
10862         -
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
       12212  +
        pub fn http_date(
       12213  +
            mut self,
       12214  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12215  +
        ) -> Self {
10863  12216   
            /* ServerBuilderGenerator.kt:344 */
10864         -
            self.float =
       12217  +
            self.http_date =
10865  12218   
                /* ServerBuilderGenerator.kt:376 */input
10866  12219   
            /* ServerBuilderGenerator.kt:344 */;
10867  12220   
            self
10868  12221   
            /* ServerBuilderGenerator.kt:343 */
10869  12222   
        }
10870  12223   
        /* ServerBuilderGenerator.kt:426 */
10871  12224   
        #[allow(missing_docs)] // documentation missing in model
10872  12225   
                               /* ServerBuilderGenerator.kt:428 */
10873         -
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
       12226  +
        pub(crate) fn set_http_date(
       12227  +
            mut self,
       12228  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       12229  +
        ) -> Self {
10874  12230   
            /* ServerBuilderGenerator.kt:429 */
10875         -
            self.float = input.map(|v| v.into());
       12231  +
            self.http_date = input.map(|v| v.into());
10876  12232   
            self
10877  12233   
            /* ServerBuilderGenerator.kt:428 */
10878  12234   
        }
10879         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
10880         -
        /* ServerBuilderGenerator.kt:271 */
10881         -
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
10882         -
            self.build_enforcing_all_constraints()
10883         -
        }
10884         -
        /* ServerBuilderGenerator.kt:283 */
10885         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedRequestBodyInput {
10886         -
            /* ServerBuilderGenerator.kt:542 */
10887         -
            crate::input::MalformedRequestBodyInput {
10888         -
                /* ServerBuilderGenerator.kt:546 */
10889         -
                int: self.int,
10890         -
                /* ServerBuilderGenerator.kt:546 */
10891         -
                float: self.float,
10892         -
                /* ServerBuilderGenerator.kt:542 */
10893         -
            }
10894         -
            /* ServerBuilderGenerator.kt:283 */
10895         -
        }
10896         -
        /* ServerBuilderGenerator.kt:215 */
10897         -
    }
10898         -
10899         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10900         -
}
10901         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
10902         -
pub mod http_checksum_required_input {
10903         -
10904         -
    /* ServerBuilderGenerator.kt:461 */
10905         -
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
10906         -
        fn from(builder: Builder) -> Self {
10907         -
            builder.build()
10908         -
        }
10909         -
    }
10910         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
10911         -
    /* RustType.kt:534 */
10912         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10913         -
    /* ServerBuilderGenerator.kt:211 */
10914         -
    pub struct Builder {
10915         -
        /* ServerBuilderGenerator.kt:308 */
10916         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
10917         -
        /* ServerBuilderGenerator.kt:211 */
10918         -
    }
10919         -
    /* ServerBuilderGenerator.kt:215 */
10920         -
    impl Builder {
10921  12235   
        /* ServerBuilderGenerator.kt:331 */
10922  12236   
        #[allow(missing_docs)] // documentation missing in model
10923  12237   
                               /* ServerBuilderGenerator.kt:343 */
10924         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12238  +
        pub fn http_date_on_target(
       12239  +
            mut self,
       12240  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       12241  +
        ) -> Self {
10925  12242   
            /* ServerBuilderGenerator.kt:344 */
10926         -
            self.foo =
       12243  +
            self.http_date_on_target =
10927  12244   
                /* ServerBuilderGenerator.kt:376 */input
10928  12245   
            /* ServerBuilderGenerator.kt:344 */;
10929  12246   
            self
10930  12247   
            /* ServerBuilderGenerator.kt:343 */
10931  12248   
        }
10932  12249   
        /* ServerBuilderGenerator.kt:426 */
10933  12250   
        #[allow(missing_docs)] // documentation missing in model
10934  12251   
                               /* ServerBuilderGenerator.kt:428 */
10935         -
        pub(crate) fn set_foo(
       12252  +
        pub(crate) fn set_http_date_on_target(
10936  12253   
            mut self,
10937         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       12254  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
10938  12255   
        ) -> Self {
10939  12256   
            /* ServerBuilderGenerator.kt:429 */
10940         -
            self.foo = input.map(|v| v.into());
       12257  +
            self.http_date_on_target = input.map(|v| v.into());
10941  12258   
            self
10942  12259   
            /* ServerBuilderGenerator.kt:428 */
10943  12260   
        }
10944         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       12261  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
10945  12262   
        /* ServerBuilderGenerator.kt:271 */
10946         -
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       12263  +
        pub fn build(self) -> crate::input::JsonTimestampsInput {
10947  12264   
            self.build_enforcing_all_constraints()
10948  12265   
        }
10949  12266   
        /* ServerBuilderGenerator.kt:283 */
10950         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpChecksumRequiredInput {
       12267  +
        fn build_enforcing_all_constraints(self) -> crate::input::JsonTimestampsInput {
10951  12268   
            /* ServerBuilderGenerator.kt:542 */
10952         -
            crate::input::HttpChecksumRequiredInput {
       12269  +
            crate::input::JsonTimestampsInput {
10953  12270   
                /* ServerBuilderGenerator.kt:546 */
10954         -
                foo: self.foo,
       12271  +
                normal: self.normal,
       12272  +
                /* ServerBuilderGenerator.kt:546 */
       12273  +
                date_time: self.date_time,
       12274  +
                /* ServerBuilderGenerator.kt:546 */
       12275  +
                date_time_on_target: self.date_time_on_target,
       12276  +
                /* ServerBuilderGenerator.kt:546 */
       12277  +
                epoch_seconds: self.epoch_seconds,
       12278  +
                /* ServerBuilderGenerator.kt:546 */
       12279  +
                epoch_seconds_on_target: self.epoch_seconds_on_target,
       12280  +
                /* ServerBuilderGenerator.kt:546 */
       12281  +
                http_date: self.http_date,
       12282  +
                /* ServerBuilderGenerator.kt:546 */
       12283  +
                http_date_on_target: self.http_date_on_target,
10955  12284   
                /* ServerBuilderGenerator.kt:542 */
10956  12285   
            }
10957  12286   
            /* ServerBuilderGenerator.kt:283 */
10958  12287   
        }
10959  12288   
        /* ServerBuilderGenerator.kt:215 */
10960  12289   
    }
10961  12290   
10962  12291   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10963  12292   
}
10964         -
/// /* ServerBuilderGenerator.kt:171 */See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
10965         -
pub mod host_with_path_operation_input {
10966         -
10967         -
    /* ServerBuilderGenerator.kt:461 */
10968         -
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
10969         -
        fn from(builder: Builder) -> Self {
10970         -
            builder.build()
10971         -
        }
10972         -
    }
10973         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
10974         -
    /* RustType.kt:534 */
10975         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10976         -
    /* ServerBuilderGenerator.kt:211 */
10977         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
10978         -
    /* ServerBuilderGenerator.kt:215 */
10979         -
    impl Builder {
10980         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
10981         -
        /* ServerBuilderGenerator.kt:271 */
10982         -
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
10983         -
            self.build_enforcing_all_constraints()
10984         -
        }
10985         -
        /* ServerBuilderGenerator.kt:283 */
10986         -
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
10987         -
            /* ServerBuilderGenerator.kt:542 */
10988         -
            crate::input::HostWithPathOperationInput {
10989         -
            /* ServerBuilderGenerator.kt:542 */}
10990         -
            /* ServerBuilderGenerator.kt:283 */
10991         -
        }
10992         -
        /* ServerBuilderGenerator.kt:215 */
10993         -
    }
10994         -
10995         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
10996         -
}
10997         -
/// /* ServerBuilderGenerator.kt:171 */See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
10998         -
pub mod endpoint_with_host_label_operation_input {
       12293  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       12294  +
pub mod json_enums_input {
10999  12295   
11000  12296   
    /* RustType.kt:534 */
11001  12297   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11002  12298   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
11003  12299   
    /* RustType.kt:534 */
11004  12300   
    #[non_exhaustive]
11005  12301   
    /* ServerBuilderConstraintViolations.kt:75 */
11006  12302   
    #[allow(clippy::enum_variant_names)]
11007  12303   
    pub enum ConstraintViolation {
11008         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
11009         -
        /* ServerBuilderConstraintViolations.kt:144 */
11010         -
        MissingLabel,
       12304  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
       12305  +
        /* RustType.kt:534 */
       12306  +
        #[doc(hidden)]
       12307  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12308  +
        FooEnum1(crate::model::foo_enum::ConstraintViolation),
       12309  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
       12310  +
        /* RustType.kt:534 */
       12311  +
        #[doc(hidden)]
       12312  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12313  +
        FooEnum2(crate::model::foo_enum::ConstraintViolation),
       12314  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
       12315  +
        /* RustType.kt:534 */
       12316  +
        #[doc(hidden)]
       12317  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12318  +
        FooEnum3(crate::model::foo_enum::ConstraintViolation),
       12319  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
       12320  +
        /* RustType.kt:534 */
       12321  +
        #[doc(hidden)]
       12322  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12323  +
        FooEnumList(crate::model::foo_enum_list::ConstraintViolation),
       12324  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
       12325  +
        /* RustType.kt:534 */
       12326  +
        #[doc(hidden)]
       12327  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12328  +
        FooEnumSet(crate::model::foo_enum_set::ConstraintViolation),
       12329  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
       12330  +
        /* RustType.kt:534 */
       12331  +
        #[doc(hidden)]
       12332  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12333  +
        FooEnumMap(crate::model::foo_enum_map::ConstraintViolation),
11011  12334   
        /* ServerBuilderConstraintViolations.kt:75 */
11012  12335   
    }
11013  12336   
    /* ServerBuilderConstraintViolations.kt:116 */
11014  12337   
    impl ::std::fmt::Display for ConstraintViolation {
11015  12338   
        /* ServerBuilderConstraintViolations.kt:117 */
11016  12339   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11017  12340   
            /* ServerBuilderConstraintViolations.kt:118 */
11018  12341   
            match self {
11019         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
       12342  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
       12343  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
       12344  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
       12345  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
       12346  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
       12347  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
11020  12348   
            /* ServerBuilderConstraintViolations.kt:118 */}
11021  12349   
            /* ServerBuilderConstraintViolations.kt:117 */
11022  12350   
        }
11023  12351   
        /* ServerBuilderConstraintViolations.kt:116 */
11024  12352   
    }
11025  12353   
    /* ServerBuilderConstraintViolations.kt:83 */
11026  12354   
    impl ::std::error::Error for ConstraintViolation {}
11027  12355   
    /* ServerBuilderConstraintViolations.kt:172 */
11028  12356   
    impl ConstraintViolation {
11029  12357   
        pub(crate) fn as_validation_exception_field(
11030  12358   
            self,
11031  12359   
            path: ::std::string::String,
11032  12360   
        ) -> crate::model::ValidationExceptionField {
11033  12361   
            match self {
11034         -
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
11035         -
                    message: format!(
11036         -
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
11037         -
                        path
11038         -
                    ),
11039         -
                    path: path + "/label",
11040         -
                },
       12362  +
                ConstraintViolation::FooEnum1(inner) => {
       12363  +
                    inner.as_validation_exception_field(path + "/fooEnum1")
       12364  +
                }
       12365  +
                ConstraintViolation::FooEnum2(inner) => {
       12366  +
                    inner.as_validation_exception_field(path + "/fooEnum2")
       12367  +
                }
       12368  +
                ConstraintViolation::FooEnum3(inner) => {
       12369  +
                    inner.as_validation_exception_field(path + "/fooEnum3")
       12370  +
                }
       12371  +
                ConstraintViolation::FooEnumList(inner) => {
       12372  +
                    inner.as_validation_exception_field(path + "/fooEnumList")
       12373  +
                }
       12374  +
                ConstraintViolation::FooEnumSet(inner) => {
       12375  +
                    inner.as_validation_exception_field(path + "/fooEnumSet")
       12376  +
                }
       12377  +
                ConstraintViolation::FooEnumMap(inner) => {
       12378  +
                    inner.as_validation_exception_field(path + "/fooEnumMap")
       12379  +
                }
11041  12380   
            }
11042  12381   
        }
11043  12382   
    }
11044  12383   
    /* ServerBuilderGenerator.kt:234 */
11045  12384   
    impl ::std::convert::From<ConstraintViolation>
11046  12385   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11047  12386   
    {
11048  12387   
        fn from(constraint_violation: ConstraintViolation) -> Self {
11049  12388   
            let first_validation_exception_field =
11050  12389   
                constraint_violation.as_validation_exception_field("".to_owned());
11051  12390   
            let validation_exception = crate::error::ValidationException {
11052  12391   
                message: format!(
11053  12392   
                    "1 validation error detected. {}",
11054  12393   
                    &first_validation_exception_field.message
11055  12394   
                ),
11056  12395   
                field_list: Some(vec![first_validation_exception_field]),
11057  12396   
            };
11058  12397   
            Self::ConstraintViolation(
11059  12398   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11060  12399   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11061  12400   
                            )
11062  12401   
        }
11063  12402   
    }
11064  12403   
    /* ServerBuilderGenerator.kt:244 */
11065  12404   
    impl ::std::convert::From<Builder>
11066         -
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
       12405  +
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
11067  12406   
    {
11068  12407   
        fn from(builder: Builder) -> Self {
11069  12408   
            Self::Unconstrained(builder)
11070  12409   
        }
11071  12410   
    }
11072  12411   
    /* ServerBuilderGenerator.kt:446 */
11073         -
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
       12412  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
11074  12413   
        type Error = ConstraintViolation;
11075  12414   
11076  12415   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
11077  12416   
            builder.build()
11078  12417   
        }
11079  12418   
    }
11080         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       12419  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
11081  12420   
    /* RustType.kt:534 */
11082  12421   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11083  12422   
    /* ServerBuilderGenerator.kt:211 */
11084  12423   
    pub struct Builder {
11085  12424   
        /* ServerBuilderGenerator.kt:308 */
11086         -
        pub(crate) label: ::std::option::Option<::std::string::String>,
       12425  +
        pub(crate) foo_enum1:
       12426  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       12427  +
        /* ServerBuilderGenerator.kt:308 */
       12428  +
        pub(crate) foo_enum2:
       12429  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       12430  +
        /* ServerBuilderGenerator.kt:308 */
       12431  +
        pub(crate) foo_enum3:
       12432  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       12433  +
        /* ServerBuilderGenerator.kt:308 */
       12434  +
        pub(crate) foo_enum_list: ::std::option::Option<
       12435  +
            crate::constrained::MaybeConstrained<
       12436  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       12437  +
            >,
       12438  +
        >,
       12439  +
        /* ServerBuilderGenerator.kt:308 */
       12440  +
        pub(crate) foo_enum_set:
       12441  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
       12442  +
        /* ServerBuilderGenerator.kt:308 */
       12443  +
        pub(crate) foo_enum_map: ::std::option::Option<
       12444  +
            crate::constrained::MaybeConstrained<
       12445  +
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
       12446  +
            >,
       12447  +
        >,
11087  12448   
        /* ServerBuilderGenerator.kt:211 */
11088  12449   
    }
11089  12450   
    /* ServerBuilderGenerator.kt:215 */
11090  12451   
    impl Builder {
11091  12452   
        /* ServerBuilderGenerator.kt:331 */
11092  12453   
        #[allow(missing_docs)] // documentation missing in model
11093  12454   
                               /* ServerBuilderGenerator.kt:343 */
11094         -
        pub fn label(mut self, input: ::std::string::String) -> Self {
       12455  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       12456  +
            /* ServerBuilderGenerator.kt:344 */
       12457  +
            self.foo_enum1 =
       12458  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       12459  +
            /* ServerBuilderGenerator.kt:344 */;
       12460  +
            self
       12461  +
            /* ServerBuilderGenerator.kt:343 */
       12462  +
        }
       12463  +
        /* ServerBuilderGenerator.kt:426 */
       12464  +
        #[allow(missing_docs)] // documentation missing in model
       12465  +
                               /* ServerBuilderGenerator.kt:428 */
       12466  +
        pub(crate) fn set_foo_enum1(
       12467  +
            mut self,
       12468  +
            input: Option<
       12469  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       12470  +
            >,
       12471  +
        ) -> Self {
       12472  +
            /* ServerBuilderGenerator.kt:429 */
       12473  +
            self.foo_enum1 = input.map(|v| v.into());
       12474  +
            self
       12475  +
            /* ServerBuilderGenerator.kt:428 */
       12476  +
        }
       12477  +
        /* ServerBuilderGenerator.kt:331 */
       12478  +
        #[allow(missing_docs)] // documentation missing in model
       12479  +
                               /* ServerBuilderGenerator.kt:343 */
       12480  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
11095  12481   
            /* ServerBuilderGenerator.kt:344 */
11096         -
            self.label =
11097         -
                /* ServerBuilderGenerator.kt:345 */Some(
11098         -
                    /* ServerBuilderGenerator.kt:376 */input
11099         -
                /* ServerBuilderGenerator.kt:345 */)
       12482  +
            self.foo_enum2 =
       12483  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
11100  12484   
            /* ServerBuilderGenerator.kt:344 */;
11101  12485   
            self
11102  12486   
            /* ServerBuilderGenerator.kt:343 */
11103  12487   
        }
11104  12488   
        /* ServerBuilderGenerator.kt:426 */
11105  12489   
        #[allow(missing_docs)] // documentation missing in model
11106  12490   
                               /* ServerBuilderGenerator.kt:428 */
11107         -
        pub(crate) fn set_label(
       12491  +
        pub(crate) fn set_foo_enum2(
11108  12492   
            mut self,
11109         -
            input: impl ::std::convert::Into<::std::string::String>,
       12493  +
            input: Option<
       12494  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       12495  +
            >,
11110  12496   
        ) -> Self {
11111  12497   
            /* ServerBuilderGenerator.kt:429 */
11112         -
            self.label = Some(input.into());
       12498  +
            self.foo_enum2 = input.map(|v| v.into());
11113  12499   
            self
11114  12500   
            /* ServerBuilderGenerator.kt:428 */
11115  12501   
        }
11116         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
11117         -
        /// /* ServerBuilderGenerator.kt:260 */
11118         -
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
11119         -
        ///
11120         -
        /* ServerBuilderGenerator.kt:271 */
11121         -
        pub fn build(
11122         -
            self,
11123         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
11124         -
        {
11125         -
            self.build_enforcing_all_constraints()
11126         -
        }
11127         -
        /* ServerBuilderGenerator.kt:283 */
11128         -
        fn build_enforcing_all_constraints(
11129         -
            self,
11130         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
11131         -
        {
11132         -
            /* ServerBuilderGenerator.kt:287 */
11133         -
            Ok(
11134         -
                /* ServerBuilderGenerator.kt:542 */
11135         -
                crate::input::EndpointWithHostLabelOperationInput {
11136         -
                    /* ServerBuilderGenerator.kt:546 */
11137         -
                    label: self
11138         -
                        .label
11139         -
                        /* ServerBuilderGenerator.kt:569 */
11140         -
                        .ok_or(ConstraintViolation::MissingLabel)?,
11141         -
                    /* ServerBuilderGenerator.kt:542 */
11142         -
                }, /* ServerBuilderGenerator.kt:287 */
11143         -
            )
11144         -
            /* ServerBuilderGenerator.kt:283 */
11145         -
        }
11146         -
        /* ServerBuilderGenerator.kt:215 */
11147         -
    }
11148         -
11149         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11150         -
}
11151         -
/// /* ServerBuilderGenerator.kt:171 */See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
11152         -
pub mod endpoint_operation_input {
11153         -
11154         -
    /* ServerBuilderGenerator.kt:461 */
11155         -
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
11156         -
        fn from(builder: Builder) -> Self {
11157         -
            builder.build()
11158         -
        }
11159         -
    }
11160         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
11161         -
    /* RustType.kt:534 */
11162         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11163         -
    /* ServerBuilderGenerator.kt:211 */
11164         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
11165         -
    /* ServerBuilderGenerator.kt:215 */
11166         -
    impl Builder {
11167         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
11168         -
        /* ServerBuilderGenerator.kt:271 */
11169         -
        pub fn build(self) -> crate::input::EndpointOperationInput {
11170         -
            self.build_enforcing_all_constraints()
11171         -
        }
11172         -
        /* ServerBuilderGenerator.kt:283 */
11173         -
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
11174         -
            /* ServerBuilderGenerator.kt:542 */
11175         -
            crate::input::EndpointOperationInput {
11176         -
            /* ServerBuilderGenerator.kt:542 */}
11177         -
            /* ServerBuilderGenerator.kt:283 */
       12502  +
        /* ServerBuilderGenerator.kt:331 */
       12503  +
        #[allow(missing_docs)] // documentation missing in model
       12504  +
                               /* ServerBuilderGenerator.kt:343 */
       12505  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       12506  +
            /* ServerBuilderGenerator.kt:344 */
       12507  +
            self.foo_enum3 =
       12508  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       12509  +
            /* ServerBuilderGenerator.kt:344 */;
       12510  +
            self
       12511  +
            /* ServerBuilderGenerator.kt:343 */
11178  12512   
        }
11179         -
        /* ServerBuilderGenerator.kt:215 */
11180         -
    }
11181         -
11182         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11183         -
}
11184         -
/// /* ServerBuilderGenerator.kt:171 */See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
11185         -
pub mod post_union_with_json_name_input {
11186         -
11187         -
    /* ServerBuilderGenerator.kt:461 */
11188         -
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
11189         -
        fn from(builder: Builder) -> Self {
11190         -
            builder.build()
       12513  +
        /* ServerBuilderGenerator.kt:426 */
       12514  +
        #[allow(missing_docs)] // documentation missing in model
       12515  +
                               /* ServerBuilderGenerator.kt:428 */
       12516  +
        pub(crate) fn set_foo_enum3(
       12517  +
            mut self,
       12518  +
            input: Option<
       12519  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       12520  +
            >,
       12521  +
        ) -> Self {
       12522  +
            /* ServerBuilderGenerator.kt:429 */
       12523  +
            self.foo_enum3 = input.map(|v| v.into());
       12524  +
            self
       12525  +
            /* ServerBuilderGenerator.kt:428 */
11191  12526   
        }
11192         -
    }
11193         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
11194         -
    /* RustType.kt:534 */
11195         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11196         -
    /* ServerBuilderGenerator.kt:211 */
11197         -
    pub struct Builder {
11198         -
        /* ServerBuilderGenerator.kt:308 */
11199         -
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
11200         -
        /* ServerBuilderGenerator.kt:211 */
11201         -
    }
11202         -
    /* ServerBuilderGenerator.kt:215 */
11203         -
    impl Builder {
11204  12527   
        /* ServerBuilderGenerator.kt:331 */
11205  12528   
        #[allow(missing_docs)] // documentation missing in model
11206  12529   
                               /* ServerBuilderGenerator.kt:343 */
11207         -
        pub fn value(
       12530  +
        pub fn foo_enum_list(
11208  12531   
            mut self,
11209         -
            input: ::std::option::Option<crate::model::UnionWithJsonName>,
       12532  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
11210  12533   
        ) -> Self {
11211  12534   
            /* ServerBuilderGenerator.kt:344 */
11212         -
            self.value =
11213         -
                /* ServerBuilderGenerator.kt:376 */input
       12535  +
            self.foo_enum_list =
       12536  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       12537  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       12538  +
                /* ServerBuilderGenerator.kt:363 */)
11214  12539   
            /* ServerBuilderGenerator.kt:344 */;
11215  12540   
            self
11216  12541   
            /* ServerBuilderGenerator.kt:343 */
11217  12542   
        }
11218  12543   
        /* ServerBuilderGenerator.kt:426 */
11219  12544   
        #[allow(missing_docs)] // documentation missing in model
11220  12545   
                               /* ServerBuilderGenerator.kt:428 */
11221         -
        pub(crate) fn set_value(
       12546  +
        pub(crate) fn set_foo_enum_list(
11222  12547   
            mut self,
11223         -
            input: Option<impl ::std::convert::Into<crate::model::UnionWithJsonName>>,
       12548  +
            input: Option<
       12549  +
                impl ::std::convert::Into<
       12550  +
                    crate::constrained::MaybeConstrained<
       12551  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       12552  +
                    >,
       12553  +
                >,
       12554  +
            >,
11224  12555   
        ) -> Self {
11225  12556   
            /* ServerBuilderGenerator.kt:429 */
11226         -
            self.value = input.map(|v| v.into());
       12557  +
            self.foo_enum_list = input.map(|v| v.into());
11227  12558   
            self
11228  12559   
            /* ServerBuilderGenerator.kt:428 */
11229  12560   
        }
11230         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
11231         -
        /* ServerBuilderGenerator.kt:271 */
11232         -
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
11233         -
            self.build_enforcing_all_constraints()
11234         -
        }
11235         -
        /* ServerBuilderGenerator.kt:283 */
11236         -
        fn build_enforcing_all_constraints(self) -> crate::input::PostUnionWithJsonNameInput {
11237         -
            /* ServerBuilderGenerator.kt:542 */
11238         -
            crate::input::PostUnionWithJsonNameInput {
11239         -
                /* ServerBuilderGenerator.kt:546 */
11240         -
                value: self.value,
11241         -
                /* ServerBuilderGenerator.kt:542 */
11242         -
            }
11243         -
            /* ServerBuilderGenerator.kt:283 */
       12561  +
        /* ServerBuilderGenerator.kt:331 */
       12562  +
        #[allow(missing_docs)] // documentation missing in model
       12563  +
                               /* ServerBuilderGenerator.kt:343 */
       12564  +
        pub fn foo_enum_set(
       12565  +
            mut self,
       12566  +
            input: ::std::option::Option<crate::model::FooEnumSet>,
       12567  +
        ) -> Self {
       12568  +
            /* ServerBuilderGenerator.kt:344 */
       12569  +
            self.foo_enum_set =
       12570  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       12571  +
            /* ServerBuilderGenerator.kt:344 */;
       12572  +
            self
       12573  +
            /* ServerBuilderGenerator.kt:343 */
11244  12574   
        }
11245         -
        /* ServerBuilderGenerator.kt:215 */
11246         -
    }
11247         -
11248         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11249         -
}
11250         -
/// /* ServerBuilderGenerator.kt:171 */See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
11251         -
pub mod post_player_action_input {
11252         -
11253         -
    /* ServerBuilderGenerator.kt:461 */
11254         -
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
11255         -
        fn from(builder: Builder) -> Self {
11256         -
            builder.build()
       12575  +
        /* ServerBuilderGenerator.kt:426 */
       12576  +
        #[allow(missing_docs)] // documentation missing in model
       12577  +
                               /* ServerBuilderGenerator.kt:428 */
       12578  +
        pub(crate) fn set_foo_enum_set(
       12579  +
            mut self,
       12580  +
            input: Option<
       12581  +
                impl ::std::convert::Into<
       12582  +
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
       12583  +
                >,
       12584  +
            >,
       12585  +
        ) -> Self {
       12586  +
            /* ServerBuilderGenerator.kt:429 */
       12587  +
            self.foo_enum_set = input.map(|v| v.into());
       12588  +
            self
       12589  +
            /* ServerBuilderGenerator.kt:428 */
11257  12590   
        }
11258         -
    }
11259         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
11260         -
    /* RustType.kt:534 */
11261         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11262         -
    /* ServerBuilderGenerator.kt:211 */
11263         -
    pub struct Builder {
11264         -
        /* ServerBuilderGenerator.kt:308 */
11265         -
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
11266         -
        /* ServerBuilderGenerator.kt:211 */
11267         -
    }
11268         -
    /* ServerBuilderGenerator.kt:215 */
11269         -
    impl Builder {
11270  12591   
        /* ServerBuilderGenerator.kt:331 */
11271  12592   
        #[allow(missing_docs)] // documentation missing in model
11272  12593   
                               /* ServerBuilderGenerator.kt:343 */
11273         -
        pub fn action(mut self, input: ::std::option::Option<crate::model::PlayerAction>) -> Self {
       12594  +
        pub fn foo_enum_map(
       12595  +
            mut self,
       12596  +
            input: ::std::option::Option<
       12597  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
       12598  +
            >,
       12599  +
        ) -> Self {
11274  12600   
            /* ServerBuilderGenerator.kt:344 */
11275         -
            self.action =
11276         -
                /* ServerBuilderGenerator.kt:376 */input
       12601  +
            self.foo_enum_map =
       12602  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       12603  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       12604  +
                /* ServerBuilderGenerator.kt:363 */)
11277  12605   
            /* ServerBuilderGenerator.kt:344 */;
11278  12606   
            self
11279  12607   
            /* ServerBuilderGenerator.kt:343 */
11280  12608   
        }
11281  12609   
        /* ServerBuilderGenerator.kt:426 */
11282  12610   
        #[allow(missing_docs)] // documentation missing in model
11283  12611   
                               /* ServerBuilderGenerator.kt:428 */
11284         -
        pub(crate) fn set_action(
       12612  +
        pub(crate) fn set_foo_enum_map(
11285  12613   
            mut self,
11286         -
            input: Option<impl ::std::convert::Into<crate::model::PlayerAction>>,
       12614  +
            input: Option<
       12615  +
                impl ::std::convert::Into<
       12616  +
                    crate::constrained::MaybeConstrained<
       12617  +
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
       12618  +
                    >,
       12619  +
                >,
       12620  +
            >,
11287  12621   
        ) -> Self {
11288  12622   
            /* ServerBuilderGenerator.kt:429 */
11289         -
            self.action = input.map(|v| v.into());
       12623  +
            self.foo_enum_map = input.map(|v| v.into());
11290  12624   
            self
11291  12625   
            /* ServerBuilderGenerator.kt:428 */
11292  12626   
        }
11293         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       12627  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       12628  +
        /// /* ServerBuilderGenerator.kt:260 */
       12629  +
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
       12630  +
        ///
       12631  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
11294  12632   
        /* ServerBuilderGenerator.kt:271 */
11295         -
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       12633  +
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
11296  12634   
            self.build_enforcing_all_constraints()
11297  12635   
        }
11298  12636   
        /* ServerBuilderGenerator.kt:283 */
11299         -
        fn build_enforcing_all_constraints(self) -> crate::input::PostPlayerActionInput {
11300         -
            /* ServerBuilderGenerator.kt:542 */
11301         -
            crate::input::PostPlayerActionInput {
11302         -
                /* ServerBuilderGenerator.kt:546 */
11303         -
                action: self.action,
       12637  +
        fn build_enforcing_all_constraints(
       12638  +
            self,
       12639  +
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
       12640  +
            /* ServerBuilderGenerator.kt:287 */
       12641  +
            Ok(
11304  12642   
                /* ServerBuilderGenerator.kt:542 */
11305         -
            }
       12643  +
                crate::input::JsonEnumsInput {
       12644  +
                    /* ServerBuilderGenerator.kt:546 */
       12645  +
                    foo_enum1: self
       12646  +
                        .foo_enum1
       12647  +
                        /* ServerBuilderGenerator.kt:602 */
       12648  +
                        .map(|v| match v {
       12649  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12650  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12651  +
                        })
       12652  +
                        /* ServerBuilderGenerator.kt:614 */
       12653  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnum1))
       12654  +
                        .transpose()?,
       12655  +
                    /* ServerBuilderGenerator.kt:546 */
       12656  +
                    foo_enum2: self
       12657  +
                        .foo_enum2
       12658  +
                        /* ServerBuilderGenerator.kt:602 */
       12659  +
                        .map(|v| match v {
       12660  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12661  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12662  +
                        })
       12663  +
                        /* ServerBuilderGenerator.kt:614 */
       12664  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnum2))
       12665  +
                        .transpose()?,
       12666  +
                    /* ServerBuilderGenerator.kt:546 */
       12667  +
                    foo_enum3: self
       12668  +
                        .foo_enum3
       12669  +
                        /* ServerBuilderGenerator.kt:602 */
       12670  +
                        .map(|v| match v {
       12671  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12672  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12673  +
                        })
       12674  +
                        /* ServerBuilderGenerator.kt:614 */
       12675  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnum3))
       12676  +
                        .transpose()?,
       12677  +
                    /* ServerBuilderGenerator.kt:546 */
       12678  +
                    foo_enum_list: self
       12679  +
                        .foo_enum_list
       12680  +
                        /* ServerBuilderGenerator.kt:602 */
       12681  +
                        .map(|v| match v {
       12682  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12683  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12684  +
                        })
       12685  +
                        /* ServerBuilderGenerator.kt:614 */
       12686  +
                        .map(|res| {
       12687  +
                            res.map(|v| v.into())
       12688  +
                                .map_err(ConstraintViolation::FooEnumList)
       12689  +
                        })
       12690  +
                        .transpose()?,
       12691  +
                    /* ServerBuilderGenerator.kt:546 */
       12692  +
                    foo_enum_set: self
       12693  +
                        .foo_enum_set
       12694  +
                        /* ServerBuilderGenerator.kt:602 */
       12695  +
                        .map(|v| match v {
       12696  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12697  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12698  +
                        })
       12699  +
                        /* ServerBuilderGenerator.kt:614 */
       12700  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
       12701  +
                        .transpose()?,
       12702  +
                    /* ServerBuilderGenerator.kt:546 */
       12703  +
                    foo_enum_map: self
       12704  +
                        .foo_enum_map
       12705  +
                        /* ServerBuilderGenerator.kt:602 */
       12706  +
                        .map(|v| match v {
       12707  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12708  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12709  +
                        })
       12710  +
                        /* ServerBuilderGenerator.kt:614 */
       12711  +
                        .map(|res| {
       12712  +
                            res.map(|v| v.into())
       12713  +
                                .map_err(ConstraintViolation::FooEnumMap)
       12714  +
                        })
       12715  +
                        .transpose()?,
       12716  +
                    /* ServerBuilderGenerator.kt:542 */
       12717  +
                }, /* ServerBuilderGenerator.kt:287 */
       12718  +
            )
11306  12719   
            /* ServerBuilderGenerator.kt:283 */
11307  12720   
        }
11308  12721   
        /* ServerBuilderGenerator.kt:215 */
11309  12722   
    }
11310  12723   
11311  12724   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11312  12725   
}
11313         -
/// /* ServerBuilderGenerator.kt:171 */See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
11314         -
pub mod json_unions_input {
       12726  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       12727  +
pub mod json_int_enums_input {
11315  12728   
11316  12729   
    /* RustType.kt:534 */
11317  12730   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11318  12731   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
11319  12732   
    /* RustType.kt:534 */
11320  12733   
    #[non_exhaustive]
11321  12734   
    /* ServerBuilderConstraintViolations.kt:75 */
11322  12735   
    #[allow(clippy::enum_variant_names)]
11323  12736   
    pub enum ConstraintViolation {
11324         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
       12737  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`.
11325  12738   
        /* RustType.kt:534 */
11326  12739   
        #[doc(hidden)]
11327  12740   
        /* ServerBuilderConstraintViolations.kt:165 */
11328         -
        Contents(crate::model::my_union::ConstraintViolation),
       12741  +
        IntegerEnumSet(crate::model::integer_enum_set::ConstraintViolation),
11329  12742   
        /* ServerBuilderConstraintViolations.kt:75 */
11330  12743   
    }
11331  12744   
    /* ServerBuilderConstraintViolations.kt:116 */
11332  12745   
    impl ::std::fmt::Display for ConstraintViolation {
11333  12746   
        /* ServerBuilderConstraintViolations.kt:117 */
11334  12747   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11335  12748   
            /* ServerBuilderConstraintViolations.kt:118 */
11336  12749   
            match self {
11337         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
       12750  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::IntegerEnumSet(_) => write!(f, "constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`"),
11338  12751   
            /* ServerBuilderConstraintViolations.kt:118 */}
11339  12752   
            /* ServerBuilderConstraintViolations.kt:117 */
11340  12753   
        }
11341  12754   
        /* ServerBuilderConstraintViolations.kt:116 */
11342  12755   
    }
11343  12756   
    /* ServerBuilderConstraintViolations.kt:83 */
11344  12757   
    impl ::std::error::Error for ConstraintViolation {}
11345  12758   
    /* ServerBuilderConstraintViolations.kt:172 */
11346  12759   
    impl ConstraintViolation {
11347  12760   
        pub(crate) fn as_validation_exception_field(
11348  12761   
            self,
11349  12762   
            path: ::std::string::String,
11350  12763   
        ) -> crate::model::ValidationExceptionField {
11351  12764   
            match self {
11352         -
                ConstraintViolation::Contents(inner) => {
11353         -
                    inner.as_validation_exception_field(path + "/contents")
       12765  +
                ConstraintViolation::IntegerEnumSet(inner) => {
       12766  +
                    inner.as_validation_exception_field(path + "/integerEnumSet")
11354  12767   
                }
11355  12768   
            }
11356  12769   
        }
11357  12770   
    }
11358  12771   
    /* ServerBuilderGenerator.kt:234 */
11359  12772   
    impl ::std::convert::From<ConstraintViolation>
11360  12773   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11361  12774   
    {
11362  12775   
        fn from(constraint_violation: ConstraintViolation) -> Self {
11363  12776   
            let first_validation_exception_field =
11364  12777   
                constraint_violation.as_validation_exception_field("".to_owned());
11365  12778   
            let validation_exception = crate::error::ValidationException {
11366  12779   
                message: format!(
11367  12780   
                    "1 validation error detected. {}",
11368  12781   
                    &first_validation_exception_field.message
11369  12782   
                ),
11370  12783   
                field_list: Some(vec![first_validation_exception_field]),
11371  12784   
            };
11372  12785   
            Self::ConstraintViolation(
11373  12786   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11374  12787   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11375  12788   
                            )
11376  12789   
        }
11377  12790   
    }
11378  12791   
    /* ServerBuilderGenerator.kt:244 */
11379  12792   
    impl ::std::convert::From<Builder>
11380         -
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
       12793  +
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
11381  12794   
    {
11382  12795   
        fn from(builder: Builder) -> Self {
11383  12796   
            Self::Unconstrained(builder)
11384  12797   
        }
11385  12798   
    }
11386  12799   
    /* ServerBuilderGenerator.kt:446 */
11387         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
       12800  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
11388  12801   
        type Error = ConstraintViolation;
11389  12802   
11390  12803   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
11391  12804   
            builder.build()
11392  12805   
        }
11393  12806   
    }
11394         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       12807  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
11395  12808   
    /* RustType.kt:534 */
11396  12809   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11397  12810   
    /* ServerBuilderGenerator.kt:211 */
11398  12811   
    pub struct Builder {
11399  12812   
        /* ServerBuilderGenerator.kt:308 */
11400         -
        pub(crate) contents:
11401         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
       12813  +
        pub(crate) integer_enum1: ::std::option::Option<i32>,
       12814  +
        /* ServerBuilderGenerator.kt:308 */
       12815  +
        pub(crate) integer_enum2: ::std::option::Option<i32>,
       12816  +
        /* ServerBuilderGenerator.kt:308 */
       12817  +
        pub(crate) integer_enum3: ::std::option::Option<i32>,
       12818  +
        /* ServerBuilderGenerator.kt:308 */
       12819  +
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       12820  +
        /* ServerBuilderGenerator.kt:308 */
       12821  +
        pub(crate) integer_enum_set: ::std::option::Option<
       12822  +
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
       12823  +
        >,
       12824  +
        /* ServerBuilderGenerator.kt:308 */
       12825  +
        pub(crate) integer_enum_map:
       12826  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
11402  12827   
        /* ServerBuilderGenerator.kt:211 */
11403  12828   
    }
11404  12829   
    /* ServerBuilderGenerator.kt:215 */
11405  12830   
    impl Builder {
11406         -
        /// /* ServerBuilderGenerator.kt:331 */A union with a representative set of types for members.
11407         -
        /* ServerBuilderGenerator.kt:343 */
11408         -
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
       12831  +
        /* ServerBuilderGenerator.kt:331 */
       12832  +
        #[allow(missing_docs)] // documentation missing in model
       12833  +
                               /* ServerBuilderGenerator.kt:343 */
       12834  +
        pub fn integer_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
11409  12835   
            /* ServerBuilderGenerator.kt:344 */
11410         -
            self.contents =
11411         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       12836  +
            self.integer_enum1 =
       12837  +
                /* ServerBuilderGenerator.kt:376 */input
11412  12838   
            /* ServerBuilderGenerator.kt:344 */;
11413  12839   
            self
11414  12840   
            /* ServerBuilderGenerator.kt:343 */
11415  12841   
        }
11416         -
        /// /* ServerBuilderGenerator.kt:426 */A union with a representative set of types for members.
11417         -
        /* ServerBuilderGenerator.kt:428 */
11418         -
        pub(crate) fn set_contents(
       12842  +
        /* ServerBuilderGenerator.kt:426 */
       12843  +
        #[allow(missing_docs)] // documentation missing in model
       12844  +
                               /* ServerBuilderGenerator.kt:428 */
       12845  +
        pub(crate) fn set_integer_enum1(
11419  12846   
            mut self,
11420         -
            input: Option<
11421         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
11422         -
            >,
       12847  +
            input: Option<impl ::std::convert::Into<i32>>,
11423  12848   
        ) -> Self {
11424  12849   
            /* ServerBuilderGenerator.kt:429 */
11425         -
            self.contents = input.map(|v| v.into());
       12850  +
            self.integer_enum1 = input.map(|v| v.into());
11426  12851   
            self
11427  12852   
            /* ServerBuilderGenerator.kt:428 */
11428  12853   
        }
11429         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
11430         -
        /// /* ServerBuilderGenerator.kt:260 */
11431         -
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
11432         -
        ///
11433         -
        /* ServerBuilderGenerator.kt:271 */
11434         -
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
11435         -
            self.build_enforcing_all_constraints()
11436         -
        }
11437         -
        /* ServerBuilderGenerator.kt:283 */
11438         -
        fn build_enforcing_all_constraints(
11439         -
            self,
11440         -
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
11441         -
            /* ServerBuilderGenerator.kt:287 */
11442         -
            Ok(
11443         -
                /* ServerBuilderGenerator.kt:542 */
11444         -
                crate::input::JsonUnionsInput {
11445         -
                    /* ServerBuilderGenerator.kt:546 */
11446         -
                    contents: self
11447         -
                        .contents
11448         -
                        /* ServerBuilderGenerator.kt:602 */
11449         -
                        .map(|v| match v {
11450         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
11451         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
11452         -
                        })
11453         -
                        /* ServerBuilderGenerator.kt:614 */
11454         -
                        .map(|res| res.map_err(ConstraintViolation::Contents))
11455         -
                        .transpose()?,
11456         -
                    /* ServerBuilderGenerator.kt:542 */
11457         -
                }, /* ServerBuilderGenerator.kt:287 */
11458         -
            )
11459         -
            /* ServerBuilderGenerator.kt:283 */
11460         -
        }
11461         -
        /* ServerBuilderGenerator.kt:215 */
11462         -
    }
11463         -
11464         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11465         -
}
11466         -
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
11467         -
pub mod document_type_as_map_value_input {
11468         -
11469         -
    /* ServerBuilderGenerator.kt:461 */
11470         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
11471         -
        fn from(builder: Builder) -> Self {
11472         -
            builder.build()
11473         -
        }
11474         -
    }
11475         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
11476         -
    /* RustType.kt:534 */
11477         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11478         -
    /* ServerBuilderGenerator.kt:211 */
11479         -
    pub struct Builder {
11480         -
        /* ServerBuilderGenerator.kt:308 */
11481         -
        pub(crate) doc_valued_map: ::std::option::Option<
11482         -
            ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
11483         -
        >,
11484         -
        /* ServerBuilderGenerator.kt:211 */
11485         -
    }
11486         -
    /* ServerBuilderGenerator.kt:215 */
11487         -
    impl Builder {
11488  12854   
        /* ServerBuilderGenerator.kt:331 */
11489  12855   
        #[allow(missing_docs)] // documentation missing in model
11490  12856   
                               /* ServerBuilderGenerator.kt:343 */
11491         -
        pub fn doc_valued_map(
11492         -
            mut self,
11493         -
            input: ::std::option::Option<
11494         -
                ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
11495         -
            >,
11496         -
        ) -> Self {
       12857  +
        pub fn integer_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
11497  12858   
            /* ServerBuilderGenerator.kt:344 */
11498         -
            self.doc_valued_map =
       12859  +
            self.integer_enum2 =
11499  12860   
                /* ServerBuilderGenerator.kt:376 */input
11500  12861   
            /* ServerBuilderGenerator.kt:344 */;
11501  12862   
            self
11502  12863   
            /* ServerBuilderGenerator.kt:343 */
11503  12864   
        }
11504  12865   
        /* ServerBuilderGenerator.kt:426 */
11505  12866   
        #[allow(missing_docs)] // documentation missing in model
11506  12867   
                               /* ServerBuilderGenerator.kt:428 */
11507         -
        pub(crate) fn set_doc_valued_map(
       12868  +
        pub(crate) fn set_integer_enum2(
11508  12869   
            mut self,
11509         -
            input: Option<
11510         -
                impl ::std::convert::Into<
11511         -
                    ::std::collections::HashMap<
11512         -
                        ::std::string::String,
11513         -
                        ::aws_smithy_types::Document,
11514         -
                    >,
11515         -
                >,
11516         -
            >,
       12870  +
            input: Option<impl ::std::convert::Into<i32>>,
11517  12871   
        ) -> Self {
11518  12872   
            /* ServerBuilderGenerator.kt:429 */
11519         -
            self.doc_valued_map = input.map(|v| v.into());
       12873  +
            self.integer_enum2 = input.map(|v| v.into());
11520  12874   
            self
11521  12875   
            /* ServerBuilderGenerator.kt:428 */
11522  12876   
        }
11523         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
11524         -
        /* ServerBuilderGenerator.kt:271 */
11525         -
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
11526         -
            self.build_enforcing_all_constraints()
11527         -
        }
11528         -
        /* ServerBuilderGenerator.kt:283 */
11529         -
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsMapValueInput {
11530         -
            /* ServerBuilderGenerator.kt:542 */
11531         -
            crate::input::DocumentTypeAsMapValueInput {
11532         -
                /* ServerBuilderGenerator.kt:546 */
11533         -
                doc_valued_map: self.doc_valued_map,
11534         -
                /* ServerBuilderGenerator.kt:542 */
11535         -
            }
11536         -
            /* ServerBuilderGenerator.kt:283 */
11537         -
        }
11538         -
        /* ServerBuilderGenerator.kt:215 */
11539         -
    }
11540         -
11541         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11542         -
}
11543         -
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
11544         -
pub mod document_type_as_payload_input {
11545         -
11546         -
    /* ServerBuilderGenerator.kt:461 */
11547         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
11548         -
        fn from(builder: Builder) -> Self {
11549         -
            builder.build()
       12877  +
        /* ServerBuilderGenerator.kt:331 */
       12878  +
        #[allow(missing_docs)] // documentation missing in model
       12879  +
                               /* ServerBuilderGenerator.kt:343 */
       12880  +
        pub fn integer_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
       12881  +
            /* ServerBuilderGenerator.kt:344 */
       12882  +
            self.integer_enum3 =
       12883  +
                /* ServerBuilderGenerator.kt:376 */input
       12884  +
            /* ServerBuilderGenerator.kt:344 */;
       12885  +
            self
       12886  +
            /* ServerBuilderGenerator.kt:343 */
       12887  +
        }
       12888  +
        /* ServerBuilderGenerator.kt:426 */
       12889  +
        #[allow(missing_docs)] // documentation missing in model
       12890  +
                               /* ServerBuilderGenerator.kt:428 */
       12891  +
        pub(crate) fn set_integer_enum3(
       12892  +
            mut self,
       12893  +
            input: Option<impl ::std::convert::Into<i32>>,
       12894  +
        ) -> Self {
       12895  +
            /* ServerBuilderGenerator.kt:429 */
       12896  +
            self.integer_enum3 = input.map(|v| v.into());
       12897  +
            self
       12898  +
            /* ServerBuilderGenerator.kt:428 */
11550  12899   
        }
11551         -
    }
11552         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
11553         -
    /* RustType.kt:534 */
11554         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11555         -
    /* ServerBuilderGenerator.kt:211 */
11556         -
    pub struct Builder {
11557         -
        /* ServerBuilderGenerator.kt:308 */
11558         -
        pub(crate) document_value: ::std::option::Option<::aws_smithy_types::Document>,
11559         -
        /* ServerBuilderGenerator.kt:211 */
11560         -
    }
11561         -
    /* ServerBuilderGenerator.kt:215 */
11562         -
    impl Builder {
11563  12900   
        /* ServerBuilderGenerator.kt:331 */
11564  12901   
        #[allow(missing_docs)] // documentation missing in model
11565  12902   
                               /* ServerBuilderGenerator.kt:343 */
11566         -
        pub fn document_value(
       12903  +
        pub fn integer_enum_list(
11567  12904   
            mut self,
11568         -
            input: ::std::option::Option<::aws_smithy_types::Document>,
       12905  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
11569  12906   
        ) -> Self {
11570  12907   
            /* ServerBuilderGenerator.kt:344 */
11571         -
            self.document_value =
       12908  +
            self.integer_enum_list =
11572  12909   
                /* ServerBuilderGenerator.kt:376 */input
11573  12910   
            /* ServerBuilderGenerator.kt:344 */;
11574  12911   
            self
11575  12912   
            /* ServerBuilderGenerator.kt:343 */
11576  12913   
        }
11577  12914   
        /* ServerBuilderGenerator.kt:426 */
11578  12915   
        #[allow(missing_docs)] // documentation missing in model
11579  12916   
                               /* ServerBuilderGenerator.kt:428 */
11580         -
        pub(crate) fn set_document_value(
       12917  +
        pub(crate) fn set_integer_enum_list(
11581  12918   
            mut self,
11582         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
       12919  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
11583  12920   
        ) -> Self {
11584  12921   
            /* ServerBuilderGenerator.kt:429 */
11585         -
            self.document_value = input.map(|v| v.into());
       12922  +
            self.integer_enum_list = input.map(|v| v.into());
11586  12923   
            self
11587  12924   
            /* ServerBuilderGenerator.kt:428 */
11588  12925   
        }
11589         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
11590         -
        /* ServerBuilderGenerator.kt:271 */
11591         -
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
11592         -
            self.build_enforcing_all_constraints()
11593         -
        }
11594         -
        /* ServerBuilderGenerator.kt:283 */
11595         -
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsPayloadInput {
11596         -
            /* ServerBuilderGenerator.kt:542 */
11597         -
            crate::input::DocumentTypeAsPayloadInput {
11598         -
                /* ServerBuilderGenerator.kt:546 */
11599         -
                document_value: self.document_value,
11600         -
                /* ServerBuilderGenerator.kt:542 */
11601         -
            }
11602         -
            /* ServerBuilderGenerator.kt:283 */
11603         -
        }
11604         -
        /* ServerBuilderGenerator.kt:215 */
11605         -
    }
11606         -
11607         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11608         -
}
11609         -
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
11610         -
pub mod document_type_input {
11611         -
11612         -
    /* ServerBuilderGenerator.kt:461 */
11613         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
11614         -
        fn from(builder: Builder) -> Self {
11615         -
            builder.build()
11616         -
        }
11617         -
    }
11618         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
11619         -
    /* RustType.kt:534 */
11620         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11621         -
    /* ServerBuilderGenerator.kt:211 */
11622         -
    pub struct Builder {
11623         -
        /* ServerBuilderGenerator.kt:308 */
11624         -
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
11625         -
        /* ServerBuilderGenerator.kt:308 */
11626         -
        pub(crate) document_value: ::std::option::Option<::aws_smithy_types::Document>,
11627         -
        /* ServerBuilderGenerator.kt:211 */
11628         -
    }
11629         -
    /* ServerBuilderGenerator.kt:215 */
11630         -
    impl Builder {
11631  12926   
        /* ServerBuilderGenerator.kt:331 */
11632  12927   
        #[allow(missing_docs)] // documentation missing in model
11633  12928   
                               /* ServerBuilderGenerator.kt:343 */
11634         -
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12929  +
        pub fn integer_enum_set(
       12930  +
            mut self,
       12931  +
            input: ::std::option::Option<crate::model::IntegerEnumSet>,
       12932  +
        ) -> Self {
11635  12933   
            /* ServerBuilderGenerator.kt:344 */
11636         -
            self.string_value =
11637         -
                /* ServerBuilderGenerator.kt:376 */input
       12934  +
            self.integer_enum_set =
       12935  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
11638  12936   
            /* ServerBuilderGenerator.kt:344 */;
11639  12937   
            self
11640  12938   
            /* ServerBuilderGenerator.kt:343 */
11641  12939   
        }
11642  12940   
        /* ServerBuilderGenerator.kt:426 */
11643  12941   
        #[allow(missing_docs)] // documentation missing in model
11644  12942   
                               /* ServerBuilderGenerator.kt:428 */
11645         -
        pub(crate) fn set_string_value(
       12943  +
        pub(crate) fn set_integer_enum_set(
11646  12944   
            mut self,
11647         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       12945  +
            input: Option<
       12946  +
                impl ::std::convert::Into<
       12947  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
       12948  +
                >,
       12949  +
            >,
11648  12950   
        ) -> Self {
11649  12951   
            /* ServerBuilderGenerator.kt:429 */
11650         -
            self.string_value = input.map(|v| v.into());
       12952  +
            self.integer_enum_set = input.map(|v| v.into());
11651  12953   
            self
11652  12954   
            /* ServerBuilderGenerator.kt:428 */
11653  12955   
        }
11654  12956   
        /* ServerBuilderGenerator.kt:331 */
11655  12957   
        #[allow(missing_docs)] // documentation missing in model
11656  12958   
                               /* ServerBuilderGenerator.kt:343 */
11657         -
        pub fn document_value(
       12959  +
        pub fn integer_enum_map(
11658  12960   
            mut self,
11659         -
            input: ::std::option::Option<::aws_smithy_types::Document>,
       12961  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
11660  12962   
        ) -> Self {
11661  12963   
            /* ServerBuilderGenerator.kt:344 */
11662         -
            self.document_value =
       12964  +
            self.integer_enum_map =
11663  12965   
                /* ServerBuilderGenerator.kt:376 */input
11664  12966   
            /* ServerBuilderGenerator.kt:344 */;
11665  12967   
            self
11666  12968   
            /* ServerBuilderGenerator.kt:343 */
11667  12969   
        }
11668  12970   
        /* ServerBuilderGenerator.kt:426 */
11669  12971   
        #[allow(missing_docs)] // documentation missing in model
11670  12972   
                               /* ServerBuilderGenerator.kt:428 */
11671         -
        pub(crate) fn set_document_value(
       12973  +
        pub(crate) fn set_integer_enum_map(
11672  12974   
            mut self,
11673         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
       12975  +
            input: Option<
       12976  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
       12977  +
            >,
11674  12978   
        ) -> Self {
11675  12979   
            /* ServerBuilderGenerator.kt:429 */
11676         -
            self.document_value = input.map(|v| v.into());
       12980  +
            self.integer_enum_map = input.map(|v| v.into());
11677  12981   
            self
11678  12982   
            /* ServerBuilderGenerator.kt:428 */
11679  12983   
        }
11680         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       12984  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       12985  +
        /// /* ServerBuilderGenerator.kt:260 */
       12986  +
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
       12987  +
        ///
11681  12988   
        /* ServerBuilderGenerator.kt:271 */
11682         -
        pub fn build(self) -> crate::input::DocumentTypeInput {
       12989  +
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
11683  12990   
            self.build_enforcing_all_constraints()
11684  12991   
        }
11685  12992   
        /* ServerBuilderGenerator.kt:283 */
11686         -
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeInput {
11687         -
            /* ServerBuilderGenerator.kt:542 */
11688         -
            crate::input::DocumentTypeInput {
11689         -
                /* ServerBuilderGenerator.kt:546 */
11690         -
                string_value: self.string_value,
11691         -
                /* ServerBuilderGenerator.kt:546 */
11692         -
                document_value: self.document_value,
       12993  +
        fn build_enforcing_all_constraints(
       12994  +
            self,
       12995  +
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
       12996  +
            /* ServerBuilderGenerator.kt:287 */
       12997  +
            Ok(
11693  12998   
                /* ServerBuilderGenerator.kt:542 */
11694         -
            }
       12999  +
                crate::input::JsonIntEnumsInput {
       13000  +
                    /* ServerBuilderGenerator.kt:546 */
       13001  +
                    integer_enum1: self.integer_enum1,
       13002  +
                    /* ServerBuilderGenerator.kt:546 */
       13003  +
                    integer_enum2: self.integer_enum2,
       13004  +
                    /* ServerBuilderGenerator.kt:546 */
       13005  +
                    integer_enum3: self.integer_enum3,
       13006  +
                    /* ServerBuilderGenerator.kt:546 */
       13007  +
                    integer_enum_list: self.integer_enum_list,
       13008  +
                    /* ServerBuilderGenerator.kt:546 */
       13009  +
                    integer_enum_set: self
       13010  +
                        .integer_enum_set
       13011  +
                        /* ServerBuilderGenerator.kt:602 */
       13012  +
                        .map(|v| match v {
       13013  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13014  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13015  +
                        })
       13016  +
                        /* ServerBuilderGenerator.kt:614 */
       13017  +
                        .map(|res| res.map_err(ConstraintViolation::IntegerEnumSet))
       13018  +
                        .transpose()?,
       13019  +
                    /* ServerBuilderGenerator.kt:546 */
       13020  +
                    integer_enum_map: self.integer_enum_map,
       13021  +
                    /* ServerBuilderGenerator.kt:542 */
       13022  +
                }, /* ServerBuilderGenerator.kt:287 */
       13023  +
            )
11695  13024   
            /* ServerBuilderGenerator.kt:283 */
11696  13025   
        }
11697  13026   
        /* ServerBuilderGenerator.kt:215 */
11698  13027   
    }
11699  13028   
11700  13029   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11701  13030   
}
11702         -
/// /* ServerBuilderGenerator.kt:171 */See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
11703         -
pub mod json_blobs_input {
       13031  +
/// /* ServerBuilderGenerator.kt:171 */See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       13032  +
pub mod recursive_shapes_input {
11704  13033   
11705  13034   
    /* ServerBuilderGenerator.kt:461 */
11706         -
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
       13035  +
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
11707  13036   
        fn from(builder: Builder) -> Self {
11708  13037   
            builder.build()
11709  13038   
        }
11710  13039   
    }
11711         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       13040  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
11712  13041   
    /* RustType.kt:534 */
11713  13042   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11714  13043   
    /* ServerBuilderGenerator.kt:211 */
11715  13044   
    pub struct Builder {
11716  13045   
        /* ServerBuilderGenerator.kt:308 */
11717         -
        pub(crate) data: ::std::option::Option<::aws_smithy_types::Blob>,
       13046  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
11718  13047   
        /* ServerBuilderGenerator.kt:211 */
11719  13048   
    }
11720  13049   
    /* ServerBuilderGenerator.kt:215 */
11721  13050   
    impl Builder {
11722  13051   
        /* ServerBuilderGenerator.kt:331 */
11723  13052   
        #[allow(missing_docs)] // documentation missing in model
11724  13053   
                               /* ServerBuilderGenerator.kt:343 */
11725         -
        pub fn data(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       13054  +
        pub fn nested(
       13055  +
            mut self,
       13056  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       13057  +
        ) -> Self {
11726  13058   
            /* ServerBuilderGenerator.kt:344 */
11727         -
            self.data =
       13059  +
            self.nested =
11728  13060   
                /* ServerBuilderGenerator.kt:376 */input
11729  13061   
            /* ServerBuilderGenerator.kt:344 */;
11730  13062   
            self
11731  13063   
            /* ServerBuilderGenerator.kt:343 */
11732  13064   
        }
11733  13065   
        /* ServerBuilderGenerator.kt:426 */
11734  13066   
        #[allow(missing_docs)] // documentation missing in model
11735  13067   
                               /* ServerBuilderGenerator.kt:428 */
11736         -
        pub(crate) fn set_data(
       13068  +
        pub(crate) fn set_nested(
11737  13069   
            mut self,
11738         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       13070  +
            input: Option<
       13071  +
                impl ::std::convert::Into<crate::model::RecursiveShapesInputOutputNested1>,
       13072  +
            >,
11739  13073   
        ) -> Self {
11740  13074   
            /* ServerBuilderGenerator.kt:429 */
11741         -
            self.data = input.map(|v| v.into());
       13075  +
            self.nested = input.map(|v| v.into());
11742  13076   
            self
11743  13077   
            /* ServerBuilderGenerator.kt:428 */
11744  13078   
        }
11745         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       13079  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
11746  13080   
        /* ServerBuilderGenerator.kt:271 */
11747         -
        pub fn build(self) -> crate::input::JsonBlobsInput {
       13081  +
        pub fn build(self) -> crate::input::RecursiveShapesInput {
11748  13082   
            self.build_enforcing_all_constraints()
11749  13083   
        }
11750  13084   
        /* ServerBuilderGenerator.kt:283 */
11751         -
        fn build_enforcing_all_constraints(self) -> crate::input::JsonBlobsInput {
       13085  +
        fn build_enforcing_all_constraints(self) -> crate::input::RecursiveShapesInput {
11752  13086   
            /* ServerBuilderGenerator.kt:542 */
11753         -
            crate::input::JsonBlobsInput {
       13087  +
            crate::input::RecursiveShapesInput {
11754  13088   
                /* ServerBuilderGenerator.kt:546 */
11755         -
                data: self.data,
       13089  +
                nested: self.nested,
11756  13090   
                /* ServerBuilderGenerator.kt:542 */
11757  13091   
            }
11758  13092   
            /* ServerBuilderGenerator.kt:283 */
11759  13093   
        }
11760  13094   
        /* ServerBuilderGenerator.kt:215 */
11761  13095   
    }
11762  13096   
11763  13097   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
11764  13098   
}
11765         -
/// /* ServerBuilderGenerator.kt:171 */See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
11766         -
pub mod sparse_json_maps_input {
       13099  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonListsInput`](crate::input::JsonListsInput).
       13100  +
pub mod json_lists_input {
11767  13101   
11768  13102   
    /* RustType.kt:534 */
11769  13103   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11770  13104   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
11771  13105   
    /* RustType.kt:534 */
11772  13106   
    #[non_exhaustive]
11773  13107   
    /* ServerBuilderConstraintViolations.kt:75 */
11774  13108   
    #[allow(clippy::enum_variant_names)]
11775  13109   
    pub enum ConstraintViolation {
11776         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`.
       13110  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `string_set` when building `JsonListsInput`.
11777  13111   
        /* RustType.kt:534 */
11778  13112   
        #[doc(hidden)]
11779  13113   
        /* ServerBuilderConstraintViolations.kt:165 */
11780         -
        SparseSetMap(crate::model::sparse_set_map::ConstraintViolation),
       13114  +
        StringSet(crate::model::string_set::ConstraintViolation),
       13115  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `enum_list` when building `JsonListsInput`.
       13116  +
        /* RustType.kt:534 */
       13117  +
        #[doc(hidden)]
       13118  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13119  +
        EnumList(crate::model::foo_enum_list::ConstraintViolation),
11781  13120   
        /* ServerBuilderConstraintViolations.kt:75 */
11782  13121   
    }
11783  13122   
    /* ServerBuilderConstraintViolations.kt:116 */
11784  13123   
    impl ::std::fmt::Display for ConstraintViolation {
11785  13124   
        /* ServerBuilderConstraintViolations.kt:117 */
11786  13125   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11787  13126   
            /* ServerBuilderConstraintViolations.kt:118 */
11788  13127   
            match self {
11789         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::SparseSetMap(_) => write!(f, "constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`"),
       13128  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::StringSet(_) => write!(f, "constraint violation occurred building member `string_set` when building `JsonListsInput`"),
       13129  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::EnumList(_) => write!(f, "constraint violation occurred building member `enum_list` when building `JsonListsInput`"),
11790  13130   
            /* ServerBuilderConstraintViolations.kt:118 */}
11791  13131   
            /* ServerBuilderConstraintViolations.kt:117 */
11792  13132   
        }
11793  13133   
        /* ServerBuilderConstraintViolations.kt:116 */
11794  13134   
    }
11795  13135   
    /* ServerBuilderConstraintViolations.kt:83 */
11796  13136   
    impl ::std::error::Error for ConstraintViolation {}
11797  13137   
    /* ServerBuilderConstraintViolations.kt:172 */
11798  13138   
    impl ConstraintViolation {
11799  13139   
        pub(crate) fn as_validation_exception_field(
11800  13140   
            self,
11801  13141   
            path: ::std::string::String,
11802  13142   
        ) -> crate::model::ValidationExceptionField {
11803  13143   
            match self {
11804         -
                ConstraintViolation::SparseSetMap(inner) => {
11805         -
                    inner.as_validation_exception_field(path + "/sparseSetMap")
       13144  +
                ConstraintViolation::StringSet(inner) => {
       13145  +
                    inner.as_validation_exception_field(path + "/stringSet")
       13146  +
                }
       13147  +
                ConstraintViolation::EnumList(inner) => {
       13148  +
                    inner.as_validation_exception_field(path + "/enumList")
11806  13149   
                }
11807  13150   
            }
11808  13151   
        }
11809  13152   
    }
11810  13153   
    /* ServerBuilderGenerator.kt:234 */
11811  13154   
    impl ::std::convert::From<ConstraintViolation>
11812  13155   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11813  13156   
    {
11814  13157   
        fn from(constraint_violation: ConstraintViolation) -> Self {
11815  13158   
            let first_validation_exception_field =
11816  13159   
                constraint_violation.as_validation_exception_field("".to_owned());
11817  13160   
            let validation_exception = crate::error::ValidationException {
11818  13161   
                message: format!(
11819  13162   
                    "1 validation error detected. {}",
11820  13163   
                    &first_validation_exception_field.message
11821  13164   
                ),
11822  13165   
                field_list: Some(vec![first_validation_exception_field]),
11823  13166   
            };
11824  13167   
            Self::ConstraintViolation(
11825  13168   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11826  13169   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11827  13170   
                            )
11828  13171   
        }
11829  13172   
    }
11830  13173   
    /* ServerBuilderGenerator.kt:244 */
11831  13174   
    impl ::std::convert::From<Builder>
11832         -
        for crate::constrained::MaybeConstrained<crate::input::SparseJsonMapsInput>
       13175  +
        for crate::constrained::MaybeConstrained<crate::input::JsonListsInput>
11833  13176   
    {
11834  13177   
        fn from(builder: Builder) -> Self {
11835  13178   
            Self::Unconstrained(builder)
11836  13179   
        }
11837  13180   
    }
11838  13181   
    /* ServerBuilderGenerator.kt:446 */
11839         -
    impl ::std::convert::TryFrom<Builder> for crate::input::SparseJsonMapsInput {
       13182  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonListsInput {
11840  13183   
        type Error = ConstraintViolation;
11841  13184   
11842  13185   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
11843  13186   
            builder.build()
11844  13187   
        }
11845  13188   
    }
11846         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       13189  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonListsInput`](crate::input::JsonListsInput).
11847  13190   
    /* RustType.kt:534 */
11848  13191   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11849  13192   
    /* ServerBuilderGenerator.kt:211 */
11850  13193   
    pub struct Builder {
11851  13194   
        /* ServerBuilderGenerator.kt:308 */
11852         -
        pub(crate) sparse_struct_map: ::std::option::Option<
11853         -
            ::std::collections::HashMap<
11854         -
                ::std::string::String,
11855         -
                ::std::option::Option<crate::model::GreetingStruct>,
11856         -
            >,
11857         -
        >,
       13195  +
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
11858  13196   
        /* ServerBuilderGenerator.kt:308 */
11859         -
        pub(crate) sparse_number_map: ::std::option::Option<
11860         -
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
11861         -
        >,
       13197  +
        pub(crate) string_set:
       13198  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
11862  13199   
        /* ServerBuilderGenerator.kt:308 */
11863         -
        pub(crate) sparse_boolean_map: ::std::option::Option<
11864         -
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
11865         -
        >,
       13200  +
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
11866  13201   
        /* ServerBuilderGenerator.kt:308 */
11867         -
        pub(crate) sparse_string_map: ::std::option::Option<
11868         -
            ::std::collections::HashMap<
11869         -
                ::std::string::String,
11870         -
                ::std::option::Option<::std::string::String>,
11871         -
            >,
11872         -
        >,
       13202  +
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
11873  13203   
        /* ServerBuilderGenerator.kt:308 */
11874         -
        pub(crate) sparse_set_map: ::std::option::Option<
       13204  +
        pub(crate) timestamp_list:
       13205  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       13206  +
        /* ServerBuilderGenerator.kt:308 */
       13207  +
        pub(crate) enum_list: ::std::option::Option<
11875  13208   
            crate::constrained::MaybeConstrained<
11876         -
                crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       13209  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
11877  13210   
            >,
11878  13211   
        >,
       13212  +
        /* ServerBuilderGenerator.kt:308 */
       13213  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       13214  +
        /* ServerBuilderGenerator.kt:308 */
       13215  +
        pub(crate) nested_string_list:
       13216  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       13217  +
        /* ServerBuilderGenerator.kt:308 */
       13218  +
        pub(crate) structure_list:
       13219  +
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
11879  13220   
        /* ServerBuilderGenerator.kt:211 */
11880  13221   
    }
11881  13222   
    /* ServerBuilderGenerator.kt:215 */
11882  13223   
    impl Builder {
11883  13224   
        /* ServerBuilderGenerator.kt:331 */
11884  13225   
        #[allow(missing_docs)] // documentation missing in model
11885  13226   
                               /* ServerBuilderGenerator.kt:343 */
11886         -
        pub fn sparse_struct_map(
       13227  +
        pub fn string_list(
11887  13228   
            mut self,
11888         -
            input: ::std::option::Option<
11889         -
                ::std::collections::HashMap<
11890         -
                    ::std::string::String,
11891         -
                    ::std::option::Option<crate::model::GreetingStruct>,
11892         -
                >,
11893         -
            >,
       13229  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
11894  13230   
        ) -> Self {
11895  13231   
            /* ServerBuilderGenerator.kt:344 */
11896         -
            self.sparse_struct_map =
       13232  +
            self.string_list =
11897  13233   
                /* ServerBuilderGenerator.kt:376 */input
11898  13234   
            /* ServerBuilderGenerator.kt:344 */;
11899  13235   
            self
11900  13236   
            /* ServerBuilderGenerator.kt:343 */
11901  13237   
        }
11902  13238   
        /* ServerBuilderGenerator.kt:426 */
11903  13239   
        #[allow(missing_docs)] // documentation missing in model
11904  13240   
                               /* ServerBuilderGenerator.kt:428 */
11905         -
        pub(crate) fn set_sparse_struct_map(
       13241  +
        pub(crate) fn set_string_list(
       13242  +
            mut self,
       13243  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       13244  +
        ) -> Self {
       13245  +
            /* ServerBuilderGenerator.kt:429 */
       13246  +
            self.string_list = input.map(|v| v.into());
       13247  +
            self
       13248  +
            /* ServerBuilderGenerator.kt:428 */
       13249  +
        }
       13250  +
        /* ServerBuilderGenerator.kt:331 */
       13251  +
        #[allow(missing_docs)] // documentation missing in model
       13252  +
                               /* ServerBuilderGenerator.kt:343 */
       13253  +
        pub fn string_set(mut self, input: ::std::option::Option<crate::model::StringSet>) -> Self {
       13254  +
            /* ServerBuilderGenerator.kt:344 */
       13255  +
            self.string_set =
       13256  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       13257  +
            /* ServerBuilderGenerator.kt:344 */;
       13258  +
            self
       13259  +
            /* ServerBuilderGenerator.kt:343 */
       13260  +
        }
       13261  +
        /* ServerBuilderGenerator.kt:426 */
       13262  +
        #[allow(missing_docs)] // documentation missing in model
       13263  +
                               /* ServerBuilderGenerator.kt:428 */
       13264  +
        pub(crate) fn set_string_set(
11906  13265   
            mut self,
11907  13266   
            input: Option<
11908         -
                impl ::std::convert::Into<
11909         -
                    ::std::collections::HashMap<
11910         -
                        ::std::string::String,
11911         -
                        ::std::option::Option<crate::model::GreetingStruct>,
11912         -
                    >,
11913         -
                >,
       13267  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
11914  13268   
            >,
11915  13269   
        ) -> Self {
11916  13270   
            /* ServerBuilderGenerator.kt:429 */
11917         -
            self.sparse_struct_map = input.map(|v| v.into());
       13271  +
            self.string_set = input.map(|v| v.into());
11918  13272   
            self
11919  13273   
            /* ServerBuilderGenerator.kt:428 */
11920  13274   
        }
11921  13275   
        /* ServerBuilderGenerator.kt:331 */
11922  13276   
        #[allow(missing_docs)] // documentation missing in model
11923  13277   
                               /* ServerBuilderGenerator.kt:343 */
11924         -
        pub fn sparse_number_map(
       13278  +
        pub fn integer_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       13279  +
            /* ServerBuilderGenerator.kt:344 */
       13280  +
            self.integer_list =
       13281  +
                /* ServerBuilderGenerator.kt:376 */input
       13282  +
            /* ServerBuilderGenerator.kt:344 */;
       13283  +
            self
       13284  +
            /* ServerBuilderGenerator.kt:343 */
       13285  +
        }
       13286  +
        /* ServerBuilderGenerator.kt:426 */
       13287  +
        #[allow(missing_docs)] // documentation missing in model
       13288  +
                               /* ServerBuilderGenerator.kt:428 */
       13289  +
        pub(crate) fn set_integer_list(
11925  13290   
            mut self,
11926         -
            input: ::std::option::Option<
11927         -
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
11928         -
            >,
       13291  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
11929  13292   
        ) -> Self {
       13293  +
            /* ServerBuilderGenerator.kt:429 */
       13294  +
            self.integer_list = input.map(|v| v.into());
       13295  +
            self
       13296  +
            /* ServerBuilderGenerator.kt:428 */
       13297  +
        }
       13298  +
        /* ServerBuilderGenerator.kt:331 */
       13299  +
        #[allow(missing_docs)] // documentation missing in model
       13300  +
                               /* ServerBuilderGenerator.kt:343 */
       13301  +
        pub fn boolean_list(mut self, input: ::std::option::Option<::std::vec::Vec<bool>>) -> Self {
11930  13302   
            /* ServerBuilderGenerator.kt:344 */
11931         -
            self.sparse_number_map =
       13303  +
            self.boolean_list =
11932  13304   
                /* ServerBuilderGenerator.kt:376 */input
11933  13305   
            /* ServerBuilderGenerator.kt:344 */;
11934  13306   
            self
11935  13307   
            /* ServerBuilderGenerator.kt:343 */
11936  13308   
        }
11937  13309   
        /* ServerBuilderGenerator.kt:426 */
11938  13310   
        #[allow(missing_docs)] // documentation missing in model
11939  13311   
                               /* ServerBuilderGenerator.kt:428 */
11940         -
        pub(crate) fn set_sparse_number_map(
       13312  +
        pub(crate) fn set_boolean_list(
       13313  +
            mut self,
       13314  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       13315  +
        ) -> Self {
       13316  +
            /* ServerBuilderGenerator.kt:429 */
       13317  +
            self.boolean_list = input.map(|v| v.into());
       13318  +
            self
       13319  +
            /* ServerBuilderGenerator.kt:428 */
       13320  +
        }
       13321  +
        /* ServerBuilderGenerator.kt:331 */
       13322  +
        #[allow(missing_docs)] // documentation missing in model
       13323  +
                               /* ServerBuilderGenerator.kt:343 */
       13324  +
        pub fn timestamp_list(
       13325  +
            mut self,
       13326  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       13327  +
        ) -> Self {
       13328  +
            /* ServerBuilderGenerator.kt:344 */
       13329  +
            self.timestamp_list =
       13330  +
                /* ServerBuilderGenerator.kt:376 */input
       13331  +
            /* ServerBuilderGenerator.kt:344 */;
       13332  +
            self
       13333  +
            /* ServerBuilderGenerator.kt:343 */
       13334  +
        }
       13335  +
        /* ServerBuilderGenerator.kt:426 */
       13336  +
        #[allow(missing_docs)] // documentation missing in model
       13337  +
                               /* ServerBuilderGenerator.kt:428 */
       13338  +
        pub(crate) fn set_timestamp_list(
       13339  +
            mut self,
       13340  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
       13341  +
        ) -> Self {
       13342  +
            /* ServerBuilderGenerator.kt:429 */
       13343  +
            self.timestamp_list = input.map(|v| v.into());
       13344  +
            self
       13345  +
            /* ServerBuilderGenerator.kt:428 */
       13346  +
        }
       13347  +
        /* ServerBuilderGenerator.kt:331 */
       13348  +
        #[allow(missing_docs)] // documentation missing in model
       13349  +
                               /* ServerBuilderGenerator.kt:343 */
       13350  +
        pub fn enum_list(
       13351  +
            mut self,
       13352  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       13353  +
        ) -> Self {
       13354  +
            /* ServerBuilderGenerator.kt:344 */
       13355  +
            self.enum_list =
       13356  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       13357  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       13358  +
                /* ServerBuilderGenerator.kt:363 */)
       13359  +
            /* ServerBuilderGenerator.kt:344 */;
       13360  +
            self
       13361  +
            /* ServerBuilderGenerator.kt:343 */
       13362  +
        }
       13363  +
        /* ServerBuilderGenerator.kt:426 */
       13364  +
        #[allow(missing_docs)] // documentation missing in model
       13365  +
                               /* ServerBuilderGenerator.kt:428 */
       13366  +
        pub(crate) fn set_enum_list(
11941  13367   
            mut self,
11942  13368   
            input: Option<
11943  13369   
                impl ::std::convert::Into<
11944         -
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       13370  +
                    crate::constrained::MaybeConstrained<
       13371  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       13372  +
                    >,
11945  13373   
                >,
11946  13374   
            >,
11947  13375   
        ) -> Self {
11948  13376   
            /* ServerBuilderGenerator.kt:429 */
11949         -
            self.sparse_number_map = input.map(|v| v.into());
       13377  +
            self.enum_list = input.map(|v| v.into());
11950  13378   
            self
11951  13379   
            /* ServerBuilderGenerator.kt:428 */
11952  13380   
        }
11953  13381   
        /* ServerBuilderGenerator.kt:331 */
11954  13382   
        #[allow(missing_docs)] // documentation missing in model
11955  13383   
                               /* ServerBuilderGenerator.kt:343 */
11956         -
        pub fn sparse_boolean_map(
       13384  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       13385  +
            /* ServerBuilderGenerator.kt:344 */
       13386  +
            self.int_enum_list =
       13387  +
                /* ServerBuilderGenerator.kt:376 */input
       13388  +
            /* ServerBuilderGenerator.kt:344 */;
       13389  +
            self
       13390  +
            /* ServerBuilderGenerator.kt:343 */
       13391  +
        }
       13392  +
        /* ServerBuilderGenerator.kt:426 */
       13393  +
        #[allow(missing_docs)] // documentation missing in model
       13394  +
                               /* ServerBuilderGenerator.kt:428 */
       13395  +
        pub(crate) fn set_int_enum_list(
11957  13396   
            mut self,
11958         -
            input: ::std::option::Option<
11959         -
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       13397  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       13398  +
        ) -> Self {
       13399  +
            /* ServerBuilderGenerator.kt:429 */
       13400  +
            self.int_enum_list = input.map(|v| v.into());
       13401  +
            self
       13402  +
            /* ServerBuilderGenerator.kt:428 */
       13403  +
        }
       13404  +
        /// /* ServerBuilderGenerator.kt:331 */A list of lists of strings.
       13405  +
        /* ServerBuilderGenerator.kt:343 */
       13406  +
        pub fn nested_string_list(
       13407  +
            mut self,
       13408  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       13409  +
        ) -> Self {
       13410  +
            /* ServerBuilderGenerator.kt:344 */
       13411  +
            self.nested_string_list =
       13412  +
                /* ServerBuilderGenerator.kt:376 */input
       13413  +
            /* ServerBuilderGenerator.kt:344 */;
       13414  +
            self
       13415  +
            /* ServerBuilderGenerator.kt:343 */
       13416  +
        }
       13417  +
        /// /* ServerBuilderGenerator.kt:426 */A list of lists of strings.
       13418  +
        /* ServerBuilderGenerator.kt:428 */
       13419  +
        pub(crate) fn set_nested_string_list(
       13420  +
            mut self,
       13421  +
            input: Option<
       13422  +
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
11960  13423   
            >,
       13424  +
        ) -> Self {
       13425  +
            /* ServerBuilderGenerator.kt:429 */
       13426  +
            self.nested_string_list = input.map(|v| v.into());
       13427  +
            self
       13428  +
            /* ServerBuilderGenerator.kt:428 */
       13429  +
        }
       13430  +
        /* ServerBuilderGenerator.kt:331 */
       13431  +
        #[allow(missing_docs)] // documentation missing in model
       13432  +
                               /* ServerBuilderGenerator.kt:343 */
       13433  +
        pub fn structure_list(
       13434  +
            mut self,
       13435  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
11961  13436   
        ) -> Self {
11962  13437   
            /* ServerBuilderGenerator.kt:344 */
11963         -
            self.sparse_boolean_map =
       13438  +
            self.structure_list =
11964  13439   
                /* ServerBuilderGenerator.kt:376 */input
11965  13440   
            /* ServerBuilderGenerator.kt:344 */;
11966  13441   
            self
11967  13442   
            /* ServerBuilderGenerator.kt:343 */
11968  13443   
        }
11969         -
        /* ServerBuilderGenerator.kt:426 */
11970         -
        #[allow(missing_docs)] // documentation missing in model
11971         -
                               /* ServerBuilderGenerator.kt:428 */
11972         -
        pub(crate) fn set_sparse_boolean_map(
11973         -
            mut self,
11974         -
            input: Option<
11975         -
                impl ::std::convert::Into<
11976         -
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
11977         -
                >,
11978         -
            >,
11979         -
        ) -> Self {
11980         -
            /* ServerBuilderGenerator.kt:429 */
11981         -
            self.sparse_boolean_map = input.map(|v| v.into());
11982         -
            self
11983         -
            /* ServerBuilderGenerator.kt:428 */
       13444  +
        /* ServerBuilderGenerator.kt:426 */
       13445  +
        #[allow(missing_docs)] // documentation missing in model
       13446  +
                               /* ServerBuilderGenerator.kt:428 */
       13447  +
        pub(crate) fn set_structure_list(
       13448  +
            mut self,
       13449  +
            input: Option<
       13450  +
                impl ::std::convert::Into<::std::vec::Vec<crate::model::StructureListMember>>,
       13451  +
            >,
       13452  +
        ) -> Self {
       13453  +
            /* ServerBuilderGenerator.kt:429 */
       13454  +
            self.structure_list = input.map(|v| v.into());
       13455  +
            self
       13456  +
            /* ServerBuilderGenerator.kt:428 */
       13457  +
        }
       13458  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
       13459  +
        /// /* ServerBuilderGenerator.kt:260 */
       13460  +
        /// The builder fails to construct a [`JsonListsInput`](crate::input::JsonListsInput) if a [`ConstraintViolation`] occurs.
       13461  +
        ///
       13462  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       13463  +
        /* ServerBuilderGenerator.kt:271 */
       13464  +
        pub fn build(self) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       13465  +
            self.build_enforcing_all_constraints()
       13466  +
        }
       13467  +
        /* ServerBuilderGenerator.kt:283 */
       13468  +
        fn build_enforcing_all_constraints(
       13469  +
            self,
       13470  +
        ) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       13471  +
            /* ServerBuilderGenerator.kt:287 */
       13472  +
            Ok(
       13473  +
                /* ServerBuilderGenerator.kt:542 */
       13474  +
                crate::input::JsonListsInput {
       13475  +
                    /* ServerBuilderGenerator.kt:546 */
       13476  +
                    string_list: self.string_list,
       13477  +
                    /* ServerBuilderGenerator.kt:546 */
       13478  +
                    string_set: self
       13479  +
                        .string_set
       13480  +
                        /* ServerBuilderGenerator.kt:602 */
       13481  +
                        .map(|v| match v {
       13482  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13483  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13484  +
                        })
       13485  +
                        /* ServerBuilderGenerator.kt:614 */
       13486  +
                        .map(|res| res.map_err(ConstraintViolation::StringSet))
       13487  +
                        .transpose()?,
       13488  +
                    /* ServerBuilderGenerator.kt:546 */
       13489  +
                    integer_list: self.integer_list,
       13490  +
                    /* ServerBuilderGenerator.kt:546 */
       13491  +
                    boolean_list: self.boolean_list,
       13492  +
                    /* ServerBuilderGenerator.kt:546 */
       13493  +
                    timestamp_list: self.timestamp_list,
       13494  +
                    /* ServerBuilderGenerator.kt:546 */
       13495  +
                    enum_list: self
       13496  +
                        .enum_list
       13497  +
                        /* ServerBuilderGenerator.kt:602 */
       13498  +
                        .map(|v| match v {
       13499  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13500  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13501  +
                        })
       13502  +
                        /* ServerBuilderGenerator.kt:614 */
       13503  +
                        .map(|res| res.map(|v| v.into()).map_err(ConstraintViolation::EnumList))
       13504  +
                        .transpose()?,
       13505  +
                    /* ServerBuilderGenerator.kt:546 */
       13506  +
                    int_enum_list: self.int_enum_list,
       13507  +
                    /* ServerBuilderGenerator.kt:546 */
       13508  +
                    nested_string_list: self.nested_string_list,
       13509  +
                    /* ServerBuilderGenerator.kt:546 */
       13510  +
                    structure_list: self.structure_list,
       13511  +
                    /* ServerBuilderGenerator.kt:542 */
       13512  +
                }, /* ServerBuilderGenerator.kt:287 */
       13513  +
            )
       13514  +
            /* ServerBuilderGenerator.kt:283 */
       13515  +
        }
       13516  +
        /* ServerBuilderGenerator.kt:215 */
       13517  +
    }
       13518  +
       13519  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       13520  +
}
       13521  +
/// /* ServerBuilderGenerator.kt:171 */See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       13522  +
pub mod sparse_json_lists_input {
       13523  +
       13524  +
    /* ServerBuilderGenerator.kt:461 */
       13525  +
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
       13526  +
        fn from(builder: Builder) -> Self {
       13527  +
            builder.build()
11984  13528   
        }
       13529  +
    }
       13530  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       13531  +
    /* RustType.kt:534 */
       13532  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       13533  +
    /* ServerBuilderGenerator.kt:211 */
       13534  +
    pub struct Builder {
       13535  +
        /* ServerBuilderGenerator.kt:308 */
       13536  +
        pub(crate) sparse_string_list:
       13537  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
       13538  +
        /* ServerBuilderGenerator.kt:308 */
       13539  +
        pub(crate) sparse_short_list:
       13540  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
       13541  +
        /* ServerBuilderGenerator.kt:211 */
       13542  +
    }
       13543  +
    /* ServerBuilderGenerator.kt:215 */
       13544  +
    impl Builder {
11985  13545   
        /* ServerBuilderGenerator.kt:331 */
11986  13546   
        #[allow(missing_docs)] // documentation missing in model
11987  13547   
                               /* ServerBuilderGenerator.kt:343 */
11988         -
        pub fn sparse_string_map(
       13548  +
        pub fn sparse_string_list(
11989  13549   
            mut self,
11990  13550   
            input: ::std::option::Option<
11991         -
                ::std::collections::HashMap<
11992         -
                    ::std::string::String,
11993         -
                    ::std::option::Option<::std::string::String>,
11994         -
                >,
       13551  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
11995  13552   
            >,
11996  13553   
        ) -> Self {
11997  13554   
            /* ServerBuilderGenerator.kt:344 */
11998         -
            self.sparse_string_map =
       13555  +
            self.sparse_string_list =
11999  13556   
                /* ServerBuilderGenerator.kt:376 */input
12000  13557   
            /* ServerBuilderGenerator.kt:344 */;
12001  13558   
            self
12002  13559   
            /* ServerBuilderGenerator.kt:343 */
12003  13560   
        }
12004  13561   
        /* ServerBuilderGenerator.kt:426 */
12005  13562   
        #[allow(missing_docs)] // documentation missing in model
12006  13563   
                               /* ServerBuilderGenerator.kt:428 */
12007         -
        pub(crate) fn set_sparse_string_map(
       13564  +
        pub(crate) fn set_sparse_string_list(
12008  13565   
            mut self,
12009  13566   
            input: Option<
12010         -
                impl ::std::convert::Into<
12011         -
                    ::std::collections::HashMap<
12012         -
                        ::std::string::String,
12013         -
                        ::std::option::Option<::std::string::String>,
12014         -
                    >,
12015         -
                >,
       13567  +
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
12016  13568   
            >,
12017  13569   
        ) -> Self {
12018  13570   
            /* ServerBuilderGenerator.kt:429 */
12019         -
            self.sparse_string_map = input.map(|v| v.into());
       13571  +
            self.sparse_string_list = input.map(|v| v.into());
12020  13572   
            self
12021  13573   
            /* ServerBuilderGenerator.kt:428 */
12022  13574   
        }
12023  13575   
        /* ServerBuilderGenerator.kt:331 */
12024  13576   
        #[allow(missing_docs)] // documentation missing in model
12025  13577   
                               /* ServerBuilderGenerator.kt:343 */
12026         -
        pub fn sparse_set_map(
       13578  +
        pub fn sparse_short_list(
12027  13579   
            mut self,
12028         -
            input: ::std::option::Option<
12029         -
                ::std::collections::HashMap<
12030         -
                    ::std::string::String,
12031         -
                    ::std::option::Option<crate::model::StringSet>,
12032         -
                >,
12033         -
            >,
       13580  +
            input: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
12034  13581   
        ) -> Self {
12035  13582   
            /* ServerBuilderGenerator.kt:344 */
12036         -
            self.sparse_set_map =
12037         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
12038         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
12039         -
                /* ServerBuilderGenerator.kt:363 */)
       13583  +
            self.sparse_short_list =
       13584  +
                /* ServerBuilderGenerator.kt:376 */input
12040  13585   
            /* ServerBuilderGenerator.kt:344 */;
12041  13586   
            self
12042  13587   
            /* ServerBuilderGenerator.kt:343 */
12043  13588   
        }
12044  13589   
        /* ServerBuilderGenerator.kt:426 */
12045  13590   
        #[allow(missing_docs)] // documentation missing in model
12046  13591   
                               /* ServerBuilderGenerator.kt:428 */
12047         -
        pub(crate) fn set_sparse_set_map(
       13592  +
        pub(crate) fn set_sparse_short_list(
12048  13593   
            mut self,
12049         -
            input: Option<
12050         -
                impl ::std::convert::Into<
12051         -
                    crate::constrained::MaybeConstrained<
12052         -
                        crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
12053         -
                    >,
12054         -
                >,
12055         -
            >,
       13594  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<i16>>>>,
12056  13595   
        ) -> Self {
12057  13596   
            /* ServerBuilderGenerator.kt:429 */
12058         -
            self.sparse_set_map = input.map(|v| v.into());
       13597  +
            self.sparse_short_list = input.map(|v| v.into());
12059  13598   
            self
12060  13599   
            /* ServerBuilderGenerator.kt:428 */
12061  13600   
        }
12062         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
12063         -
        /// /* ServerBuilderGenerator.kt:260 */
12064         -
        /// The builder fails to construct a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput) if a [`ConstraintViolation`] occurs.
12065         -
        ///
       13601  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
12066  13602   
        /* ServerBuilderGenerator.kt:271 */
12067         -
        pub fn build(self) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
       13603  +
        pub fn build(self) -> crate::input::SparseJsonListsInput {
12068  13604   
            self.build_enforcing_all_constraints()
12069  13605   
        }
12070  13606   
        /* ServerBuilderGenerator.kt:283 */
12071         -
        fn build_enforcing_all_constraints(
12072         -
            self,
12073         -
        ) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
12074         -
            /* ServerBuilderGenerator.kt:287 */
12075         -
            Ok(
       13607  +
        fn build_enforcing_all_constraints(self) -> crate::input::SparseJsonListsInput {
       13608  +
            /* ServerBuilderGenerator.kt:542 */
       13609  +
            crate::input::SparseJsonListsInput {
       13610  +
                /* ServerBuilderGenerator.kt:546 */
       13611  +
                sparse_string_list: self.sparse_string_list,
       13612  +
                /* ServerBuilderGenerator.kt:546 */
       13613  +
                sparse_short_list: self.sparse_short_list,
12076  13614   
                /* ServerBuilderGenerator.kt:542 */
12077         -
                crate::input::SparseJsonMapsInput {
12078         -
                    /* ServerBuilderGenerator.kt:546 */
12079         -
                    sparse_struct_map: self.sparse_struct_map,
12080         -
                    /* ServerBuilderGenerator.kt:546 */
12081         -
                    sparse_number_map: self.sparse_number_map,
12082         -
                    /* ServerBuilderGenerator.kt:546 */
12083         -
                    sparse_boolean_map: self.sparse_boolean_map,
12084         -
                    /* ServerBuilderGenerator.kt:546 */
12085         -
                    sparse_string_map: self.sparse_string_map,
12086         -
                    /* ServerBuilderGenerator.kt:546 */
12087         -
                    sparse_set_map: self
12088         -
                        .sparse_set_map
12089         -
                        /* ServerBuilderGenerator.kt:602 */
12090         -
                        .map(|v| match v {
12091         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
12092         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
12093         -
                        })
12094         -
                        /* ServerBuilderGenerator.kt:614 */
12095         -
                        .map(|res| {
12096         -
                            res.map(|v| v.into())
12097         -
                                .map_err(ConstraintViolation::SparseSetMap)
12098         -
                        })
12099         -
                        .transpose()?,
12100         -
                    /* ServerBuilderGenerator.kt:542 */
12101         -
                }, /* ServerBuilderGenerator.kt:287 */
12102         -
            )
       13615  +
            }
12103  13616   
            /* ServerBuilderGenerator.kt:283 */
12104  13617   
        }
12105  13618   
        /* ServerBuilderGenerator.kt:215 */
12106  13619   
    }
12107  13620   
12108  13621   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
12109  13622   
}
12110  13623   
/// /* ServerBuilderGenerator.kt:171 */See [`JsonMapsInput`](crate::input::JsonMapsInput).
12111  13624   
pub mod json_maps_input {
12112  13625   
@@ -12382,13895 +20024,21424 @@
12402  13915   
                    dense_string_map: self.dense_string_map,
12403  13916   
                    /* ServerBuilderGenerator.kt:546 */
12404  13917   
                    dense_set_map: self
12405  13918   
                        .dense_set_map
12406  13919   
                        /* ServerBuilderGenerator.kt:602 */
12407  13920   
                        .map(|v| match v {
12408  13921   
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
12409  13922   
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
12410  13923   
                        })
12411  13924   
                        /* ServerBuilderGenerator.kt:614 */
12412         -
                        .map(|res| {
12413         -
                            res.map(|v| v.into())
12414         -
                                .map_err(ConstraintViolation::DenseSetMap)
12415         -
                        })
12416         -
                        .transpose()?,
12417         -
                    /* ServerBuilderGenerator.kt:542 */
12418         -
                }, /* ServerBuilderGenerator.kt:287 */
12419         -
            )
12420         -
            /* ServerBuilderGenerator.kt:283 */
12421         -
        }
12422         -
        /* ServerBuilderGenerator.kt:215 */
12423         -
    }
12424         -
12425         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
12426         -
}
12427         -
/// /* ServerBuilderGenerator.kt:171 */See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
12428         -
pub mod sparse_json_lists_input {
12429         -
12430         -
    /* ServerBuilderGenerator.kt:461 */
12431         -
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
12432         -
        fn from(builder: Builder) -> Self {
12433         -
            builder.build()
12434         -
        }
12435         -
    }
12436         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
12437         -
    /* RustType.kt:534 */
12438         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12439         -
    /* ServerBuilderGenerator.kt:211 */
12440         -
    pub struct Builder {
12441         -
        /* ServerBuilderGenerator.kt:308 */
12442         -
        pub(crate) sparse_string_list:
12443         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
12444         -
        /* ServerBuilderGenerator.kt:308 */
12445         -
        pub(crate) sparse_short_list:
12446         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
12447         -
        /* ServerBuilderGenerator.kt:211 */
12448         -
    }
12449         -
    /* ServerBuilderGenerator.kt:215 */
12450         -
    impl Builder {
12451         -
        /* ServerBuilderGenerator.kt:331 */
12452         -
        #[allow(missing_docs)] // documentation missing in model
12453         -
                               /* ServerBuilderGenerator.kt:343 */
12454         -
        pub fn sparse_string_list(
12455         -
            mut self,
12456         -
            input: ::std::option::Option<
12457         -
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
12458         -
            >,
12459         -
        ) -> Self {
12460         -
            /* ServerBuilderGenerator.kt:344 */
12461         -
            self.sparse_string_list =
12462         -
                /* ServerBuilderGenerator.kt:376 */input
12463         -
            /* ServerBuilderGenerator.kt:344 */;
12464         -
            self
12465         -
            /* ServerBuilderGenerator.kt:343 */
12466         -
        }
12467         -
        /* ServerBuilderGenerator.kt:426 */
12468         -
        #[allow(missing_docs)] // documentation missing in model
12469         -
                               /* ServerBuilderGenerator.kt:428 */
12470         -
        pub(crate) fn set_sparse_string_list(
12471         -
            mut self,
12472         -
            input: Option<
12473         -
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
12474         -
            >,
12475         -
        ) -> Self {
12476         -
            /* ServerBuilderGenerator.kt:429 */
12477         -
            self.sparse_string_list = input.map(|v| v.into());
12478         -
            self
12479         -
            /* ServerBuilderGenerator.kt:428 */
12480         -
        }
12481         -
        /* ServerBuilderGenerator.kt:331 */
12482         -
        #[allow(missing_docs)] // documentation missing in model
12483         -
                               /* ServerBuilderGenerator.kt:343 */
12484         -
        pub fn sparse_short_list(
12485         -
            mut self,
12486         -
            input: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
12487         -
        ) -> Self {
12488         -
            /* ServerBuilderGenerator.kt:344 */
12489         -
            self.sparse_short_list =
12490         -
                /* ServerBuilderGenerator.kt:376 */input
12491         -
            /* ServerBuilderGenerator.kt:344 */;
12492         -
            self
12493         -
            /* ServerBuilderGenerator.kt:343 */
12494         -
        }
12495         -
        /* ServerBuilderGenerator.kt:426 */
12496         -
        #[allow(missing_docs)] // documentation missing in model
12497         -
                               /* ServerBuilderGenerator.kt:428 */
12498         -
        pub(crate) fn set_sparse_short_list(
12499         -
            mut self,
12500         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<i16>>>>,
12501         -
        ) -> Self {
12502         -
            /* ServerBuilderGenerator.kt:429 */
12503         -
            self.sparse_short_list = input.map(|v| v.into());
12504         -
            self
12505         -
            /* ServerBuilderGenerator.kt:428 */
12506         -
        }
12507         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
12508         -
        /* ServerBuilderGenerator.kt:271 */
12509         -
        pub fn build(self) -> crate::input::SparseJsonListsInput {
12510         -
            self.build_enforcing_all_constraints()
12511         -
        }
12512         -
        /* ServerBuilderGenerator.kt:283 */
12513         -
        fn build_enforcing_all_constraints(self) -> crate::input::SparseJsonListsInput {
12514         -
            /* ServerBuilderGenerator.kt:542 */
12515         -
            crate::input::SparseJsonListsInput {
12516         -
                /* ServerBuilderGenerator.kt:546 */
12517         -
                sparse_string_list: self.sparse_string_list,
12518         -
                /* ServerBuilderGenerator.kt:546 */
12519         -
                sparse_short_list: self.sparse_short_list,
12520         -
                /* ServerBuilderGenerator.kt:542 */
12521         -
            }
       13925  +
                        .map(|res| {
       13926  +
                            res.map(|v| v.into())
       13927  +
                                .map_err(ConstraintViolation::DenseSetMap)
       13928  +
                        })
       13929  +
                        .transpose()?,
       13930  +
                    /* ServerBuilderGenerator.kt:542 */
       13931  +
                }, /* ServerBuilderGenerator.kt:287 */
       13932  +
            )
12522  13933   
            /* ServerBuilderGenerator.kt:283 */
12523  13934   
        }
12524  13935   
        /* ServerBuilderGenerator.kt:215 */
12525  13936   
    }
12526  13937   
12527  13938   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
12528  13939   
}
12529         -
/// /* ServerBuilderGenerator.kt:171 */See [`JsonListsInput`](crate::input::JsonListsInput).
12530         -
pub mod json_lists_input {
       13940  +
/// /* ServerBuilderGenerator.kt:171 */See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       13941  +
pub mod sparse_json_maps_input {
12531  13942   
12532  13943   
    /* RustType.kt:534 */
12533  13944   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12534  13945   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
12535  13946   
    /* RustType.kt:534 */
12536  13947   
    #[non_exhaustive]
12537  13948   
    /* ServerBuilderConstraintViolations.kt:75 */
12538  13949   
    #[allow(clippy::enum_variant_names)]
12539  13950   
    pub enum ConstraintViolation {
12540         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `string_set` when building `JsonListsInput`.
12541         -
        /* RustType.kt:534 */
12542         -
        #[doc(hidden)]
12543         -
        /* ServerBuilderConstraintViolations.kt:165 */
12544         -
        StringSet(crate::model::string_set::ConstraintViolation),
12545         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `enum_list` when building `JsonListsInput`.
       13951  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`.
12546  13952   
        /* RustType.kt:534 */
12547  13953   
        #[doc(hidden)]
12548  13954   
        /* ServerBuilderConstraintViolations.kt:165 */
12549         -
        EnumList(crate::model::foo_enum_list::ConstraintViolation),
       13955  +
        SparseSetMap(crate::model::sparse_set_map::ConstraintViolation),
12550  13956   
        /* ServerBuilderConstraintViolations.kt:75 */
12551  13957   
    }
12552  13958   
    /* ServerBuilderConstraintViolations.kt:116 */
12553  13959   
    impl ::std::fmt::Display for ConstraintViolation {
12554  13960   
        /* ServerBuilderConstraintViolations.kt:117 */
12555  13961   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12556  13962   
            /* ServerBuilderConstraintViolations.kt:118 */
12557  13963   
            match self {
12558         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::StringSet(_) => write!(f, "constraint violation occurred building member `string_set` when building `JsonListsInput`"),
12559         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::EnumList(_) => write!(f, "constraint violation occurred building member `enum_list` when building `JsonListsInput`"),
       13964  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::SparseSetMap(_) => write!(f, "constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`"),
12560  13965   
            /* ServerBuilderConstraintViolations.kt:118 */}
12561  13966   
            /* ServerBuilderConstraintViolations.kt:117 */
12562  13967   
        }
12563  13968   
        /* ServerBuilderConstraintViolations.kt:116 */
12564  13969   
    }
12565  13970   
    /* ServerBuilderConstraintViolations.kt:83 */
12566  13971   
    impl ::std::error::Error for ConstraintViolation {}
12567  13972   
    /* ServerBuilderConstraintViolations.kt:172 */
12568  13973   
    impl ConstraintViolation {
12569  13974   
        pub(crate) fn as_validation_exception_field(
12570  13975   
            self,
12571  13976   
            path: ::std::string::String,
12572  13977   
        ) -> crate::model::ValidationExceptionField {
12573  13978   
            match self {
12574         -
                ConstraintViolation::StringSet(inner) => {
12575         -
                    inner.as_validation_exception_field(path + "/stringSet")
12576         -
                }
12577         -
                ConstraintViolation::EnumList(inner) => {
12578         -
                    inner.as_validation_exception_field(path + "/enumList")
       13979  +
                ConstraintViolation::SparseSetMap(inner) => {
       13980  +
                    inner.as_validation_exception_field(path + "/sparseSetMap")
12579  13981   
                }
12580  13982   
            }
12581  13983   
        }
12582  13984   
    }
12583  13985   
    /* ServerBuilderGenerator.kt:234 */
12584  13986   
    impl ::std::convert::From<ConstraintViolation>
12585  13987   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
12586  13988   
    {
12587  13989   
        fn from(constraint_violation: ConstraintViolation) -> Self {
12588  13990   
            let first_validation_exception_field =
12589  13991   
                constraint_violation.as_validation_exception_field("".to_owned());
12590  13992   
            let validation_exception = crate::error::ValidationException {
12591  13993   
                message: format!(
12592  13994   
                    "1 validation error detected. {}",
12593  13995   
                    &first_validation_exception_field.message
12594  13996   
                ),
12595  13997   
                field_list: Some(vec![first_validation_exception_field]),
12596  13998   
            };
12597  13999   
            Self::ConstraintViolation(
12598  14000   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
12599  14001   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
12600  14002   
                            )
12601  14003   
        }
12602  14004   
    }
12603  14005   
    /* ServerBuilderGenerator.kt:244 */
12604  14006   
    impl ::std::convert::From<Builder>
12605         -
        for crate::constrained::MaybeConstrained<crate::input::JsonListsInput>
       14007  +
        for crate::constrained::MaybeConstrained<crate::input::SparseJsonMapsInput>
12606  14008   
    {
12607  14009   
        fn from(builder: Builder) -> Self {
12608  14010   
            Self::Unconstrained(builder)
12609  14011   
        }
12610  14012   
    }
12611  14013   
    /* ServerBuilderGenerator.kt:446 */
12612         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonListsInput {
       14014  +
    impl ::std::convert::TryFrom<Builder> for crate::input::SparseJsonMapsInput {
12613  14015   
        type Error = ConstraintViolation;
12614  14016   
12615  14017   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
12616  14018   
            builder.build()
12617  14019   
        }
12618  14020   
    }
12619         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonListsInput`](crate::input::JsonListsInput).
       14021  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
12620  14022   
    /* RustType.kt:534 */
12621  14023   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12622  14024   
    /* ServerBuilderGenerator.kt:211 */
12623  14025   
    pub struct Builder {
12624  14026   
        /* ServerBuilderGenerator.kt:308 */
12625         -
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
12626         -
        /* ServerBuilderGenerator.kt:308 */
12627         -
        pub(crate) string_set:
12628         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       14027  +
        pub(crate) sparse_struct_map: ::std::option::Option<
       14028  +
            ::std::collections::HashMap<
       14029  +
                ::std::string::String,
       14030  +
                ::std::option::Option<crate::model::GreetingStruct>,
       14031  +
            >,
       14032  +
        >,
12629  14033   
        /* ServerBuilderGenerator.kt:308 */
12630         -
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14034  +
        pub(crate) sparse_number_map: ::std::option::Option<
       14035  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       14036  +
        >,
12631  14037   
        /* ServerBuilderGenerator.kt:308 */
12632         -
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       14038  +
        pub(crate) sparse_boolean_map: ::std::option::Option<
       14039  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       14040  +
        >,
12633  14041   
        /* ServerBuilderGenerator.kt:308 */
12634         -
        pub(crate) timestamp_list:
12635         -
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       14042  +
        pub(crate) sparse_string_map: ::std::option::Option<
       14043  +
            ::std::collections::HashMap<
       14044  +
                ::std::string::String,
       14045  +
                ::std::option::Option<::std::string::String>,
       14046  +
            >,
       14047  +
        >,
12636  14048   
        /* ServerBuilderGenerator.kt:308 */
12637         -
        pub(crate) enum_list: ::std::option::Option<
       14049  +
        pub(crate) sparse_set_map: ::std::option::Option<
12638  14050   
            crate::constrained::MaybeConstrained<
12639         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       14051  +
                crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
12640  14052   
            >,
12641  14053   
        >,
12642         -
        /* ServerBuilderGenerator.kt:308 */
12643         -
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
12644         -
        /* ServerBuilderGenerator.kt:308 */
12645         -
        pub(crate) nested_string_list:
12646         -
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
12647         -
        /* ServerBuilderGenerator.kt:308 */
12648         -
        pub(crate) structure_list:
12649         -
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
12650  14054   
        /* ServerBuilderGenerator.kt:211 */
12651  14055   
    }
12652  14056   
    /* ServerBuilderGenerator.kt:215 */
12653  14057   
    impl Builder {
12654  14058   
        /* ServerBuilderGenerator.kt:331 */
12655  14059   
        #[allow(missing_docs)] // documentation missing in model
12656  14060   
                               /* ServerBuilderGenerator.kt:343 */
12657         -
        pub fn string_list(
       14061  +
        pub fn sparse_struct_map(
12658  14062   
            mut self,
12659         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       14063  +
            input: ::std::option::Option<
       14064  +
                ::std::collections::HashMap<
       14065  +
                    ::std::string::String,
       14066  +
                    ::std::option::Option<crate::model::GreetingStruct>,
       14067  +
                >,
       14068  +
            >,
12660  14069   
        ) -> Self {
12661  14070   
            /* ServerBuilderGenerator.kt:344 */
12662         -
            self.string_list =
       14071  +
            self.sparse_struct_map =
12663  14072   
                /* ServerBuilderGenerator.kt:376 */input
12664  14073   
            /* ServerBuilderGenerator.kt:344 */;
12665  14074   
            self
12666  14075   
            /* ServerBuilderGenerator.kt:343 */
12667  14076   
        }
12668  14077   
        /* ServerBuilderGenerator.kt:426 */
12669  14078   
        #[allow(missing_docs)] // documentation missing in model
12670  14079   
                               /* ServerBuilderGenerator.kt:428 */
12671         -
        pub(crate) fn set_string_list(
12672         -
            mut self,
12673         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
12674         -
        ) -> Self {
12675         -
            /* ServerBuilderGenerator.kt:429 */
12676         -
            self.string_list = input.map(|v| v.into());
12677         -
            self
12678         -
            /* ServerBuilderGenerator.kt:428 */
12679         -
        }
12680         -
        /* ServerBuilderGenerator.kt:331 */
12681         -
        #[allow(missing_docs)] // documentation missing in model
12682         -
                               /* ServerBuilderGenerator.kt:343 */
12683         -
        pub fn string_set(mut self, input: ::std::option::Option<crate::model::StringSet>) -> Self {
12684         -
            /* ServerBuilderGenerator.kt:344 */
12685         -
            self.string_set =
12686         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
12687         -
            /* ServerBuilderGenerator.kt:344 */;
12688         -
            self
12689         -
            /* ServerBuilderGenerator.kt:343 */
12690         -
        }
12691         -
        /* ServerBuilderGenerator.kt:426 */
12692         -
        #[allow(missing_docs)] // documentation missing in model
12693         -
                               /* ServerBuilderGenerator.kt:428 */
12694         -
        pub(crate) fn set_string_set(
       14080  +
        pub(crate) fn set_sparse_struct_map(
12695  14081   
            mut self,
12696  14082   
            input: Option<
12697         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       14083  +
                impl ::std::convert::Into<
       14084  +
                    ::std::collections::HashMap<
       14085  +
                        ::std::string::String,
       14086  +
                        ::std::option::Option<crate::model::GreetingStruct>,
       14087  +
                    >,
       14088  +
                >,
12698  14089   
            >,
12699  14090   
        ) -> Self {
12700  14091   
            /* ServerBuilderGenerator.kt:429 */
12701         -
            self.string_set = input.map(|v| v.into());
       14092  +
            self.sparse_struct_map = input.map(|v| v.into());
12702  14093   
            self
12703  14094   
            /* ServerBuilderGenerator.kt:428 */
12704  14095   
        }
12705  14096   
        /* ServerBuilderGenerator.kt:331 */
12706  14097   
        #[allow(missing_docs)] // documentation missing in model
12707  14098   
                               /* ServerBuilderGenerator.kt:343 */
12708         -
        pub fn integer_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
12709         -
            /* ServerBuilderGenerator.kt:344 */
12710         -
            self.integer_list =
12711         -
                /* ServerBuilderGenerator.kt:376 */input
12712         -
            /* ServerBuilderGenerator.kt:344 */;
12713         -
            self
12714         -
            /* ServerBuilderGenerator.kt:343 */
12715         -
        }
12716         -
        /* ServerBuilderGenerator.kt:426 */
12717         -
        #[allow(missing_docs)] // documentation missing in model
12718         -
                               /* ServerBuilderGenerator.kt:428 */
12719         -
        pub(crate) fn set_integer_list(
       14099  +
        pub fn sparse_number_map(
12720  14100   
            mut self,
12721         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       14101  +
            input: ::std::option::Option<
       14102  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       14103  +
            >,
12722  14104   
        ) -> Self {
12723         -
            /* ServerBuilderGenerator.kt:429 */
12724         -
            self.integer_list = input.map(|v| v.into());
12725         -
            self
12726         -
            /* ServerBuilderGenerator.kt:428 */
12727         -
        }
12728         -
        /* ServerBuilderGenerator.kt:331 */
12729         -
        #[allow(missing_docs)] // documentation missing in model
12730         -
                               /* ServerBuilderGenerator.kt:343 */
12731         -
        pub fn boolean_list(mut self, input: ::std::option::Option<::std::vec::Vec<bool>>) -> Self {
12732  14105   
            /* ServerBuilderGenerator.kt:344 */
12733         -
            self.boolean_list =
       14106  +
            self.sparse_number_map =
12734  14107   
                /* ServerBuilderGenerator.kt:376 */input
12735  14108   
            /* ServerBuilderGenerator.kt:344 */;
12736  14109   
            self
12737  14110   
            /* ServerBuilderGenerator.kt:343 */
12738  14111   
        }
12739  14112   
        /* ServerBuilderGenerator.kt:426 */
12740  14113   
        #[allow(missing_docs)] // documentation missing in model
12741  14114   
                               /* ServerBuilderGenerator.kt:428 */
12742         -
        pub(crate) fn set_boolean_list(
       14115  +
        pub(crate) fn set_sparse_number_map(
12743  14116   
            mut self,
12744         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       14117  +
            input: Option<
       14118  +
                impl ::std::convert::Into<
       14119  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       14120  +
                >,
       14121  +
            >,
12745  14122   
        ) -> Self {
12746  14123   
            /* ServerBuilderGenerator.kt:429 */
12747         -
            self.boolean_list = input.map(|v| v.into());
       14124  +
            self.sparse_number_map = input.map(|v| v.into());
12748  14125   
            self
12749  14126   
            /* ServerBuilderGenerator.kt:428 */
12750  14127   
        }
12751  14128   
        /* ServerBuilderGenerator.kt:331 */
12752  14129   
        #[allow(missing_docs)] // documentation missing in model
12753  14130   
                               /* ServerBuilderGenerator.kt:343 */
12754         -
        pub fn timestamp_list(
       14131  +
        pub fn sparse_boolean_map(
12755  14132   
            mut self,
12756         -
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       14133  +
            input: ::std::option::Option<
       14134  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       14135  +
            >,
12757  14136   
        ) -> Self {
12758  14137   
            /* ServerBuilderGenerator.kt:344 */
12759         -
            self.timestamp_list =
       14138  +
            self.sparse_boolean_map =
12760  14139   
                /* ServerBuilderGenerator.kt:376 */input
12761  14140   
            /* ServerBuilderGenerator.kt:344 */;
12762  14141   
            self
12763  14142   
            /* ServerBuilderGenerator.kt:343 */
12764  14143   
        }
12765  14144   
        /* ServerBuilderGenerator.kt:426 */
12766  14145   
        #[allow(missing_docs)] // documentation missing in model
12767  14146   
                               /* ServerBuilderGenerator.kt:428 */
12768         -
        pub(crate) fn set_timestamp_list(
12769         -
            mut self,
12770         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
12771         -
        ) -> Self {
12772         -
            /* ServerBuilderGenerator.kt:429 */
12773         -
            self.timestamp_list = input.map(|v| v.into());
12774         -
            self
12775         -
            /* ServerBuilderGenerator.kt:428 */
12776         -
        }
12777         -
        /* ServerBuilderGenerator.kt:331 */
12778         -
        #[allow(missing_docs)] // documentation missing in model
12779         -
                               /* ServerBuilderGenerator.kt:343 */
12780         -
        pub fn enum_list(
12781         -
            mut self,
12782         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
12783         -
        ) -> Self {
12784         -
            /* ServerBuilderGenerator.kt:344 */
12785         -
            self.enum_list =
12786         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
12787         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
12788         -
                /* ServerBuilderGenerator.kt:363 */)
12789         -
            /* ServerBuilderGenerator.kt:344 */;
12790         -
            self
12791         -
            /* ServerBuilderGenerator.kt:343 */
12792         -
        }
12793         -
        /* ServerBuilderGenerator.kt:426 */
12794         -
        #[allow(missing_docs)] // documentation missing in model
12795         -
                               /* ServerBuilderGenerator.kt:428 */
12796         -
        pub(crate) fn set_enum_list(
       14147  +
        pub(crate) fn set_sparse_boolean_map(
12797  14148   
            mut self,
12798  14149   
            input: Option<
12799  14150   
                impl ::std::convert::Into<
12800         -
                    crate::constrained::MaybeConstrained<
12801         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
12802         -
                    >,
       14151  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
12803  14152   
                >,
12804  14153   
            >,
12805  14154   
        ) -> Self {
12806  14155   
            /* ServerBuilderGenerator.kt:429 */
12807         -
            self.enum_list = input.map(|v| v.into());
       14156  +
            self.sparse_boolean_map = input.map(|v| v.into());
12808  14157   
            self
12809  14158   
            /* ServerBuilderGenerator.kt:428 */
12810  14159   
        }
12811  14160   
        /* ServerBuilderGenerator.kt:331 */
12812  14161   
        #[allow(missing_docs)] // documentation missing in model
12813  14162   
                               /* ServerBuilderGenerator.kt:343 */
12814         -
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       14163  +
        pub fn sparse_string_map(
       14164  +
            mut self,
       14165  +
            input: ::std::option::Option<
       14166  +
                ::std::collections::HashMap<
       14167  +
                    ::std::string::String,
       14168  +
                    ::std::option::Option<::std::string::String>,
       14169  +
                >,
       14170  +
            >,
       14171  +
        ) -> Self {
12815  14172   
            /* ServerBuilderGenerator.kt:344 */
12816         -
            self.int_enum_list =
       14173  +
            self.sparse_string_map =
12817  14174   
                /* ServerBuilderGenerator.kt:376 */input
12818  14175   
            /* ServerBuilderGenerator.kt:344 */;
12819  14176   
            self
12820  14177   
            /* ServerBuilderGenerator.kt:343 */
12821  14178   
        }
12822  14179   
        /* ServerBuilderGenerator.kt:426 */
12823  14180   
        #[allow(missing_docs)] // documentation missing in model
12824  14181   
                               /* ServerBuilderGenerator.kt:428 */
12825         -
        pub(crate) fn set_int_enum_list(
12826         -
            mut self,
12827         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
12828         -
        ) -> Self {
12829         -
            /* ServerBuilderGenerator.kt:429 */
12830         -
            self.int_enum_list = input.map(|v| v.into());
12831         -
            self
12832         -
            /* ServerBuilderGenerator.kt:428 */
12833         -
        }
12834         -
        /// /* ServerBuilderGenerator.kt:331 */A list of lists of strings.
12835         -
        /* ServerBuilderGenerator.kt:343 */
12836         -
        pub fn nested_string_list(
12837         -
            mut self,
12838         -
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
12839         -
        ) -> Self {
12840         -
            /* ServerBuilderGenerator.kt:344 */
12841         -
            self.nested_string_list =
12842         -
                /* ServerBuilderGenerator.kt:376 */input
12843         -
            /* ServerBuilderGenerator.kt:344 */;
12844         -
            self
12845         -
            /* ServerBuilderGenerator.kt:343 */
12846         -
        }
12847         -
        /// /* ServerBuilderGenerator.kt:426 */A list of lists of strings.
12848         -
        /* ServerBuilderGenerator.kt:428 */
12849         -
        pub(crate) fn set_nested_string_list(
       14182  +
        pub(crate) fn set_sparse_string_map(
12850  14183   
            mut self,
12851  14184   
            input: Option<
12852         -
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       14185  +
                impl ::std::convert::Into<
       14186  +
                    ::std::collections::HashMap<
       14187  +
                        ::std::string::String,
       14188  +
                        ::std::option::Option<::std::string::String>,
       14189  +
                    >,
       14190  +
                >,
12853  14191   
            >,
12854  14192   
        ) -> Self {
12855  14193   
            /* ServerBuilderGenerator.kt:429 */
12856         -
            self.nested_string_list = input.map(|v| v.into());
       14194  +
            self.sparse_string_map = input.map(|v| v.into());
12857  14195   
            self
12858  14196   
            /* ServerBuilderGenerator.kt:428 */
12859  14197   
        }
12860  14198   
        /* ServerBuilderGenerator.kt:331 */
12861  14199   
        #[allow(missing_docs)] // documentation missing in model
12862  14200   
                               /* ServerBuilderGenerator.kt:343 */
12863         -
        pub fn structure_list(
       14201  +
        pub fn sparse_set_map(
12864  14202   
            mut self,
12865         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
       14203  +
            input: ::std::option::Option<
       14204  +
                ::std::collections::HashMap<
       14205  +
                    ::std::string::String,
       14206  +
                    ::std::option::Option<crate::model::StringSet>,
       14207  +
                >,
       14208  +
            >,
12866  14209   
        ) -> Self {
12867  14210   
            /* ServerBuilderGenerator.kt:344 */
12868         -
            self.structure_list =
12869         -
                /* ServerBuilderGenerator.kt:376 */input
       14211  +
            self.sparse_set_map =
       14212  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       14213  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       14214  +
                /* ServerBuilderGenerator.kt:363 */)
12870  14215   
            /* ServerBuilderGenerator.kt:344 */;
12871  14216   
            self
12872  14217   
            /* ServerBuilderGenerator.kt:343 */
12873  14218   
        }
12874  14219   
        /* ServerBuilderGenerator.kt:426 */
12875  14220   
        #[allow(missing_docs)] // documentation missing in model
12876  14221   
                               /* ServerBuilderGenerator.kt:428 */
12877         -
        pub(crate) fn set_structure_list(
       14222  +
        pub(crate) fn set_sparse_set_map(
12878  14223   
            mut self,
12879  14224   
            input: Option<
12880         -
                impl ::std::convert::Into<::std::vec::Vec<crate::model::StructureListMember>>,
       14225  +
                impl ::std::convert::Into<
       14226  +
                    crate::constrained::MaybeConstrained<
       14227  +
                        crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       14228  +
                    >,
       14229  +
                >,
12881  14230   
            >,
12882  14231   
        ) -> Self {
12883  14232   
            /* ServerBuilderGenerator.kt:429 */
12884         -
            self.structure_list = input.map(|v| v.into());
       14233  +
            self.sparse_set_map = input.map(|v| v.into());
12885  14234   
            self
12886  14235   
            /* ServerBuilderGenerator.kt:428 */
12887  14236   
        }
12888         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
       14237  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
12889  14238   
        /// /* ServerBuilderGenerator.kt:260 */
12890         -
        /// The builder fails to construct a [`JsonListsInput`](crate::input::JsonListsInput) if a [`ConstraintViolation`] occurs.
       14239  +
        /// The builder fails to construct a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput) if a [`ConstraintViolation`] occurs.
12891  14240   
        ///
12892         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
12893  14241   
        /* ServerBuilderGenerator.kt:271 */
12894         -
        pub fn build(self) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       14242  +
        pub fn build(self) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
12895  14243   
            self.build_enforcing_all_constraints()
12896  14244   
        }
12897  14245   
        /* ServerBuilderGenerator.kt:283 */
12898  14246   
        fn build_enforcing_all_constraints(
12899  14247   
            self,
12900         -
        ) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       14248  +
        ) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
12901  14249   
            /* ServerBuilderGenerator.kt:287 */
12902  14250   
            Ok(
12903  14251   
                /* ServerBuilderGenerator.kt:542 */
12904         -
                crate::input::JsonListsInput {
12905         -
                    /* ServerBuilderGenerator.kt:546 */
12906         -
                    string_list: self.string_list,
       14252  +
                crate::input::SparseJsonMapsInput {
12907  14253   
                    /* ServerBuilderGenerator.kt:546 */
12908         -
                    string_set: self
12909         -
                        .string_set
12910         -
                        /* ServerBuilderGenerator.kt:602 */
12911         -
                        .map(|v| match v {
12912         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
12913         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
12914         -
                        })
12915         -
                        /* ServerBuilderGenerator.kt:614 */
12916         -
                        .map(|res| res.map_err(ConstraintViolation::StringSet))
12917         -
                        .transpose()?,
       14254  +
                    sparse_struct_map: self.sparse_struct_map,
12918  14255   
                    /* ServerBuilderGenerator.kt:546 */
12919         -
                    integer_list: self.integer_list,
       14256  +
                    sparse_number_map: self.sparse_number_map,
12920  14257   
                    /* ServerBuilderGenerator.kt:546 */
12921         -
                    boolean_list: self.boolean_list,
       14258  +
                    sparse_boolean_map: self.sparse_boolean_map,
12922  14259   
                    /* ServerBuilderGenerator.kt:546 */
12923         -
                    timestamp_list: self.timestamp_list,
       14260  +
                    sparse_string_map: self.sparse_string_map,
12924  14261   
                    /* ServerBuilderGenerator.kt:546 */
12925         -
                    enum_list: self
12926         -
                        .enum_list
       14262  +
                    sparse_set_map: self
       14263  +
                        .sparse_set_map
12927  14264   
                        /* ServerBuilderGenerator.kt:602 */
12928  14265   
                        .map(|v| match v {
12929  14266   
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
12930  14267   
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
12931  14268   
                        })
12932  14269   
                        /* ServerBuilderGenerator.kt:614 */
12933         -
                        .map(|res| res.map(|v| v.into()).map_err(ConstraintViolation::EnumList))
       14270  +
                        .map(|res| {
       14271  +
                            res.map(|v| v.into())
       14272  +
                                .map_err(ConstraintViolation::SparseSetMap)
       14273  +
                        })
12934  14274   
                        .transpose()?,
12935         -
                    /* ServerBuilderGenerator.kt:546 */
12936         -
                    int_enum_list: self.int_enum_list,
12937         -
                    /* ServerBuilderGenerator.kt:546 */
12938         -
                    nested_string_list: self.nested_string_list,
12939         -
                    /* ServerBuilderGenerator.kt:546 */
12940         -
                    structure_list: self.structure_list,
12941  14275   
                    /* ServerBuilderGenerator.kt:542 */
12942  14276   
                }, /* ServerBuilderGenerator.kt:287 */
12943  14277   
            )
12944  14278   
            /* ServerBuilderGenerator.kt:283 */
12945  14279   
        }
12946  14280   
        /* ServerBuilderGenerator.kt:215 */
12947  14281   
    }
12948  14282   
12949  14283   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
12950  14284   
}
12951         -
/// /* ServerBuilderGenerator.kt:171 */See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
12952         -
pub mod recursive_shapes_input {
       14285  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       14286  +
pub mod json_blobs_input {
12953  14287   
12954  14288   
    /* ServerBuilderGenerator.kt:461 */
12955         -
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
       14289  +
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
12956  14290   
        fn from(builder: Builder) -> Self {
12957  14291   
            builder.build()
12958  14292   
        }
12959  14293   
    }
12960         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       14294  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
12961  14295   
    /* RustType.kt:534 */
12962  14296   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12963  14297   
    /* ServerBuilderGenerator.kt:211 */
12964  14298   
    pub struct Builder {
12965  14299   
        /* ServerBuilderGenerator.kt:308 */
12966         -
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       14300  +
        pub(crate) data: ::std::option::Option<::aws_smithy_types::Blob>,
12967  14301   
        /* ServerBuilderGenerator.kt:211 */
12968  14302   
    }
12969  14303   
    /* ServerBuilderGenerator.kt:215 */
12970  14304   
    impl Builder {
12971  14305   
        /* ServerBuilderGenerator.kt:331 */
12972  14306   
        #[allow(missing_docs)] // documentation missing in model
12973  14307   
                               /* ServerBuilderGenerator.kt:343 */
12974         -
        pub fn nested(
12975         -
            mut self,
12976         -
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
12977         -
        ) -> Self {
       14308  +
        pub fn data(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
12978  14309   
            /* ServerBuilderGenerator.kt:344 */
12979         -
            self.nested =
       14310  +
            self.data =
12980  14311   
                /* ServerBuilderGenerator.kt:376 */input
12981  14312   
            /* ServerBuilderGenerator.kt:344 */;
12982  14313   
            self
12983  14314   
            /* ServerBuilderGenerator.kt:343 */
12984  14315   
        }
12985  14316   
        /* ServerBuilderGenerator.kt:426 */
12986  14317   
        #[allow(missing_docs)] // documentation missing in model
12987  14318   
                               /* ServerBuilderGenerator.kt:428 */
12988         -
        pub(crate) fn set_nested(
       14319  +
        pub(crate) fn set_data(
12989  14320   
            mut self,
12990         -
            input: Option<
12991         -
                impl ::std::convert::Into<crate::model::RecursiveShapesInputOutputNested1>,
12992         -
            >,
       14321  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
12993  14322   
        ) -> Self {
12994  14323   
            /* ServerBuilderGenerator.kt:429 */
12995         -
            self.nested = input.map(|v| v.into());
       14324  +
            self.data = input.map(|v| v.into());
12996  14325   
            self
12997  14326   
            /* ServerBuilderGenerator.kt:428 */
12998  14327   
        }
12999         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       14328  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
13000  14329   
        /* ServerBuilderGenerator.kt:271 */
13001         -
        pub fn build(self) -> crate::input::RecursiveShapesInput {
       14330  +
        pub fn build(self) -> crate::input::JsonBlobsInput {
13002  14331   
            self.build_enforcing_all_constraints()
13003  14332   
        }
13004  14333   
        /* ServerBuilderGenerator.kt:283 */
13005         -
        fn build_enforcing_all_constraints(self) -> crate::input::RecursiveShapesInput {
       14334  +
        fn build_enforcing_all_constraints(self) -> crate::input::JsonBlobsInput {
13006  14335   
            /* ServerBuilderGenerator.kt:542 */
13007         -
            crate::input::RecursiveShapesInput {
       14336  +
            crate::input::JsonBlobsInput {
13008  14337   
                /* ServerBuilderGenerator.kt:546 */
13009         -
                nested: self.nested,
13010         -
                /* ServerBuilderGenerator.kt:542 */
13011         -
            }
13012         -
            /* ServerBuilderGenerator.kt:283 */
13013         -
        }
13014         -
        /* ServerBuilderGenerator.kt:215 */
13015         -
    }
13016         -
13017         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
13018         -
}
13019         -
/// /* ServerBuilderGenerator.kt:171 */See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
13020         -
pub mod json_int_enums_input {
13021         -
13022         -
    /* RustType.kt:534 */
13023         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
13024         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
13025         -
    /* RustType.kt:534 */
13026         -
    #[non_exhaustive]
13027         -
    /* ServerBuilderConstraintViolations.kt:75 */
13028         -
    #[allow(clippy::enum_variant_names)]
13029         -
    pub enum ConstraintViolation {
13030         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`.
13031         -
        /* RustType.kt:534 */
13032         -
        #[doc(hidden)]
13033         -
        /* ServerBuilderConstraintViolations.kt:165 */
13034         -
        IntegerEnumSet(crate::model::integer_enum_set::ConstraintViolation),
13035         -
        /* ServerBuilderConstraintViolations.kt:75 */
13036         -
    }
13037         -
    /* ServerBuilderConstraintViolations.kt:116 */
13038         -
    impl ::std::fmt::Display for ConstraintViolation {
13039         -
        /* ServerBuilderConstraintViolations.kt:117 */
13040         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13041         -
            /* ServerBuilderConstraintViolations.kt:118 */
13042         -
            match self {
13043         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::IntegerEnumSet(_) => write!(f, "constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`"),
13044         -
            /* ServerBuilderConstraintViolations.kt:118 */}
13045         -
            /* ServerBuilderConstraintViolations.kt:117 */
13046         -
        }
13047         -
        /* ServerBuilderConstraintViolations.kt:116 */
13048         -
    }
13049         -
    /* ServerBuilderConstraintViolations.kt:83 */
13050         -
    impl ::std::error::Error for ConstraintViolation {}
13051         -
    /* ServerBuilderConstraintViolations.kt:172 */
13052         -
    impl ConstraintViolation {
13053         -
        pub(crate) fn as_validation_exception_field(
13054         -
            self,
13055         -
            path: ::std::string::String,
13056         -
        ) -> crate::model::ValidationExceptionField {
13057         -
            match self {
13058         -
                ConstraintViolation::IntegerEnumSet(inner) => {
13059         -
                    inner.as_validation_exception_field(path + "/integerEnumSet")
13060         -
                }
13061         -
            }
13062         -
        }
13063         -
    }
13064         -
    /* ServerBuilderGenerator.kt:234 */
13065         -
    impl ::std::convert::From<ConstraintViolation>
13066         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
13067         -
    {
13068         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
13069         -
            let first_validation_exception_field =
13070         -
                constraint_violation.as_validation_exception_field("".to_owned());
13071         -
            let validation_exception = crate::error::ValidationException {
13072         -
                message: format!(
13073         -
                    "1 validation error detected. {}",
13074         -
                    &first_validation_exception_field.message
13075         -
                ),
13076         -
                field_list: Some(vec![first_validation_exception_field]),
13077         -
            };
13078         -
            Self::ConstraintViolation(
13079         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
13080         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
13081         -
                            )
13082         -
        }
13083         -
    }
13084         -
    /* ServerBuilderGenerator.kt:244 */
13085         -
    impl ::std::convert::From<Builder>
13086         -
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
13087         -
    {
13088         -
        fn from(builder: Builder) -> Self {
13089         -
            Self::Unconstrained(builder)
13090         -
        }
13091         -
    }
13092         -
    /* ServerBuilderGenerator.kt:446 */
13093         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
13094         -
        type Error = ConstraintViolation;
13095         -
13096         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
13097         -
            builder.build()
13098         -
        }
13099         -
    }
13100         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
13101         -
    /* RustType.kt:534 */
13102         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13103         -
    /* ServerBuilderGenerator.kt:211 */
13104         -
    pub struct Builder {
13105         -
        /* ServerBuilderGenerator.kt:308 */
13106         -
        pub(crate) integer_enum1: ::std::option::Option<i32>,
13107         -
        /* ServerBuilderGenerator.kt:308 */
13108         -
        pub(crate) integer_enum2: ::std::option::Option<i32>,
13109         -
        /* ServerBuilderGenerator.kt:308 */
13110         -
        pub(crate) integer_enum3: ::std::option::Option<i32>,
13111         -
        /* ServerBuilderGenerator.kt:308 */
13112         -
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
13113         -
        /* ServerBuilderGenerator.kt:308 */
13114         -
        pub(crate) integer_enum_set: ::std::option::Option<
13115         -
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
13116         -
        >,
13117         -
        /* ServerBuilderGenerator.kt:308 */
13118         -
        pub(crate) integer_enum_map:
13119         -
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
13120         -
        /* ServerBuilderGenerator.kt:211 */
13121         -
    }
13122         -
    /* ServerBuilderGenerator.kt:215 */
13123         -
    impl Builder {
13124         -
        /* ServerBuilderGenerator.kt:331 */
13125         -
        #[allow(missing_docs)] // documentation missing in model
13126         -
                               /* ServerBuilderGenerator.kt:343 */
13127         -
        pub fn integer_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
13128         -
            /* ServerBuilderGenerator.kt:344 */
13129         -
            self.integer_enum1 =
13130         -
                /* ServerBuilderGenerator.kt:376 */input
13131         -
            /* ServerBuilderGenerator.kt:344 */;
13132         -
            self
13133         -
            /* ServerBuilderGenerator.kt:343 */
13134         -
        }
13135         -
        /* ServerBuilderGenerator.kt:426 */
13136         -
        #[allow(missing_docs)] // documentation missing in model
13137         -
                               /* ServerBuilderGenerator.kt:428 */
13138         -
        pub(crate) fn set_integer_enum1(
13139         -
            mut self,
13140         -
            input: Option<impl ::std::convert::Into<i32>>,
13141         -
        ) -> Self {
13142         -
            /* ServerBuilderGenerator.kt:429 */
13143         -
            self.integer_enum1 = input.map(|v| v.into());
13144         -
            self
13145         -
            /* ServerBuilderGenerator.kt:428 */
13146         -
        }
13147         -
        /* ServerBuilderGenerator.kt:331 */
13148         -
        #[allow(missing_docs)] // documentation missing in model
13149         -
                               /* ServerBuilderGenerator.kt:343 */
13150         -
        pub fn integer_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
13151         -
            /* ServerBuilderGenerator.kt:344 */
13152         -
            self.integer_enum2 =
13153         -
                /* ServerBuilderGenerator.kt:376 */input
13154         -
            /* ServerBuilderGenerator.kt:344 */;
13155         -
            self
13156         -
            /* ServerBuilderGenerator.kt:343 */
13157         -
        }
13158         -
        /* ServerBuilderGenerator.kt:426 */
13159         -
        #[allow(missing_docs)] // documentation missing in model
13160         -
                               /* ServerBuilderGenerator.kt:428 */
13161         -
        pub(crate) fn set_integer_enum2(
13162         -
            mut self,
13163         -
            input: Option<impl ::std::convert::Into<i32>>,
13164         -
        ) -> Self {
13165         -
            /* ServerBuilderGenerator.kt:429 */
13166         -
            self.integer_enum2 = input.map(|v| v.into());
13167         -
            self
13168         -
            /* ServerBuilderGenerator.kt:428 */
       14338  +
                data: self.data,
       14339  +
                /* ServerBuilderGenerator.kt:542 */
       14340  +
            }
       14341  +
            /* ServerBuilderGenerator.kt:283 */
       14342  +
        }
       14343  +
        /* ServerBuilderGenerator.kt:215 */
       14344  +
    }
       14345  +
       14346  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14347  +
}
       14348  +
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       14349  +
pub mod document_type_input {
       14350  +
       14351  +
    /* ServerBuilderGenerator.kt:461 */
       14352  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
       14353  +
        fn from(builder: Builder) -> Self {
       14354  +
            builder.build()
13169  14355   
        }
       14356  +
    }
       14357  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       14358  +
    /* RustType.kt:534 */
       14359  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14360  +
    /* ServerBuilderGenerator.kt:211 */
       14361  +
    pub struct Builder {
       14362  +
        /* ServerBuilderGenerator.kt:308 */
       14363  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       14364  +
        /* ServerBuilderGenerator.kt:308 */
       14365  +
        pub(crate) document_value: ::std::option::Option<::aws_smithy_types::Document>,
       14366  +
        /* ServerBuilderGenerator.kt:211 */
       14367  +
    }
       14368  +
    /* ServerBuilderGenerator.kt:215 */
       14369  +
    impl Builder {
13170  14370   
        /* ServerBuilderGenerator.kt:331 */
13171  14371   
        #[allow(missing_docs)] // documentation missing in model
13172  14372   
                               /* ServerBuilderGenerator.kt:343 */
13173         -
        pub fn integer_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
       14373  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
13174  14374   
            /* ServerBuilderGenerator.kt:344 */
13175         -
            self.integer_enum3 =
       14375  +
            self.string_value =
13176  14376   
                /* ServerBuilderGenerator.kt:376 */input
13177  14377   
            /* ServerBuilderGenerator.kt:344 */;
13178  14378   
            self
13179  14379   
            /* ServerBuilderGenerator.kt:343 */
13180  14380   
        }
13181  14381   
        /* ServerBuilderGenerator.kt:426 */
13182  14382   
        #[allow(missing_docs)] // documentation missing in model
13183  14383   
                               /* ServerBuilderGenerator.kt:428 */
13184         -
        pub(crate) fn set_integer_enum3(
       14384  +
        pub(crate) fn set_string_value(
13185  14385   
            mut self,
13186         -
            input: Option<impl ::std::convert::Into<i32>>,
       14386  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
13187  14387   
        ) -> Self {
13188  14388   
            /* ServerBuilderGenerator.kt:429 */
13189         -
            self.integer_enum3 = input.map(|v| v.into());
       14389  +
            self.string_value = input.map(|v| v.into());
13190  14390   
            self
13191  14391   
            /* ServerBuilderGenerator.kt:428 */
13192  14392   
        }
13193  14393   
        /* ServerBuilderGenerator.kt:331 */
13194  14394   
        #[allow(missing_docs)] // documentation missing in model
13195  14395   
                               /* ServerBuilderGenerator.kt:343 */
13196         -
        pub fn integer_enum_list(
       14396  +
        pub fn document_value(
13197  14397   
            mut self,
13198         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       14398  +
            input: ::std::option::Option<::aws_smithy_types::Document>,
13199  14399   
        ) -> Self {
13200  14400   
            /* ServerBuilderGenerator.kt:344 */
13201         -
            self.integer_enum_list =
       14401  +
            self.document_value =
13202  14402   
                /* ServerBuilderGenerator.kt:376 */input
13203  14403   
            /* ServerBuilderGenerator.kt:344 */;
13204  14404   
            self
13205  14405   
            /* ServerBuilderGenerator.kt:343 */
13206  14406   
        }
13207  14407   
        /* ServerBuilderGenerator.kt:426 */
13208  14408   
        #[allow(missing_docs)] // documentation missing in model
13209  14409   
                               /* ServerBuilderGenerator.kt:428 */
13210         -
        pub(crate) fn set_integer_enum_list(
       14410  +
        pub(crate) fn set_document_value(
13211  14411   
            mut self,
13212         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       14412  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
13213  14413   
        ) -> Self {
13214  14414   
            /* ServerBuilderGenerator.kt:429 */
13215         -
            self.integer_enum_list = input.map(|v| v.into());
       14415  +
            self.document_value = input.map(|v| v.into());
13216  14416   
            self
13217  14417   
            /* ServerBuilderGenerator.kt:428 */
13218  14418   
        }
       14419  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       14420  +
        /* ServerBuilderGenerator.kt:271 */
       14421  +
        pub fn build(self) -> crate::input::DocumentTypeInput {
       14422  +
            self.build_enforcing_all_constraints()
       14423  +
        }
       14424  +
        /* ServerBuilderGenerator.kt:283 */
       14425  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeInput {
       14426  +
            /* ServerBuilderGenerator.kt:542 */
       14427  +
            crate::input::DocumentTypeInput {
       14428  +
                /* ServerBuilderGenerator.kt:546 */
       14429  +
                string_value: self.string_value,
       14430  +
                /* ServerBuilderGenerator.kt:546 */
       14431  +
                document_value: self.document_value,
       14432  +
                /* ServerBuilderGenerator.kt:542 */
       14433  +
            }
       14434  +
            /* ServerBuilderGenerator.kt:283 */
       14435  +
        }
       14436  +
        /* ServerBuilderGenerator.kt:215 */
       14437  +
    }
       14438  +
       14439  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14440  +
}
       14441  +
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       14442  +
pub mod document_type_as_payload_input {
       14443  +
       14444  +
    /* ServerBuilderGenerator.kt:461 */
       14445  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
       14446  +
        fn from(builder: Builder) -> Self {
       14447  +
            builder.build()
       14448  +
        }
       14449  +
    }
       14450  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       14451  +
    /* RustType.kt:534 */
       14452  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14453  +
    /* ServerBuilderGenerator.kt:211 */
       14454  +
    pub struct Builder {
       14455  +
        /* ServerBuilderGenerator.kt:308 */
       14456  +
        pub(crate) document_value: ::std::option::Option<::aws_smithy_types::Document>,
       14457  +
        /* ServerBuilderGenerator.kt:211 */
       14458  +
    }
       14459  +
    /* ServerBuilderGenerator.kt:215 */
       14460  +
    impl Builder {
13219  14461   
        /* ServerBuilderGenerator.kt:331 */
13220  14462   
        #[allow(missing_docs)] // documentation missing in model
13221  14463   
                               /* ServerBuilderGenerator.kt:343 */
13222         -
        pub fn integer_enum_set(
       14464  +
        pub fn document_value(
13223  14465   
            mut self,
13224         -
            input: ::std::option::Option<crate::model::IntegerEnumSet>,
       14466  +
            input: ::std::option::Option<::aws_smithy_types::Document>,
13225  14467   
        ) -> Self {
13226  14468   
            /* ServerBuilderGenerator.kt:344 */
13227         -
            self.integer_enum_set =
13228         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       14469  +
            self.document_value =
       14470  +
                /* ServerBuilderGenerator.kt:376 */input
13229  14471   
            /* ServerBuilderGenerator.kt:344 */;
13230  14472   
            self
13231  14473   
            /* ServerBuilderGenerator.kt:343 */
13232  14474   
        }
13233  14475   
        /* ServerBuilderGenerator.kt:426 */
13234  14476   
        #[allow(missing_docs)] // documentation missing in model
13235  14477   
                               /* ServerBuilderGenerator.kt:428 */
13236         -
        pub(crate) fn set_integer_enum_set(
       14478  +
        pub(crate) fn set_document_value(
13237  14479   
            mut self,
13238         -
            input: Option<
13239         -
                impl ::std::convert::Into<
13240         -
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
13241         -
                >,
13242         -
            >,
       14480  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
13243  14481   
        ) -> Self {
13244  14482   
            /* ServerBuilderGenerator.kt:429 */
13245         -
            self.integer_enum_set = input.map(|v| v.into());
       14483  +
            self.document_value = input.map(|v| v.into());
13246  14484   
            self
13247  14485   
            /* ServerBuilderGenerator.kt:428 */
13248  14486   
        }
       14487  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       14488  +
        /* ServerBuilderGenerator.kt:271 */
       14489  +
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
       14490  +
            self.build_enforcing_all_constraints()
       14491  +
        }
       14492  +
        /* ServerBuilderGenerator.kt:283 */
       14493  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsPayloadInput {
       14494  +
            /* ServerBuilderGenerator.kt:542 */
       14495  +
            crate::input::DocumentTypeAsPayloadInput {
       14496  +
                /* ServerBuilderGenerator.kt:546 */
       14497  +
                document_value: self.document_value,
       14498  +
                /* ServerBuilderGenerator.kt:542 */
       14499  +
            }
       14500  +
            /* ServerBuilderGenerator.kt:283 */
       14501  +
        }
       14502  +
        /* ServerBuilderGenerator.kt:215 */
       14503  +
    }
       14504  +
       14505  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14506  +
}
       14507  +
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       14508  +
pub mod document_type_as_map_value_input {
       14509  +
       14510  +
    /* ServerBuilderGenerator.kt:461 */
       14511  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
       14512  +
        fn from(builder: Builder) -> Self {
       14513  +
            builder.build()
       14514  +
        }
       14515  +
    }
       14516  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       14517  +
    /* RustType.kt:534 */
       14518  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14519  +
    /* ServerBuilderGenerator.kt:211 */
       14520  +
    pub struct Builder {
       14521  +
        /* ServerBuilderGenerator.kt:308 */
       14522  +
        pub(crate) doc_valued_map: ::std::option::Option<
       14523  +
            ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
       14524  +
        >,
       14525  +
        /* ServerBuilderGenerator.kt:211 */
       14526  +
    }
       14527  +
    /* ServerBuilderGenerator.kt:215 */
       14528  +
    impl Builder {
13249  14529   
        /* ServerBuilderGenerator.kt:331 */
13250  14530   
        #[allow(missing_docs)] // documentation missing in model
13251  14531   
                               /* ServerBuilderGenerator.kt:343 */
13252         -
        pub fn integer_enum_map(
       14532  +
        pub fn doc_valued_map(
13253  14533   
            mut self,
13254         -
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       14534  +
            input: ::std::option::Option<
       14535  +
                ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
       14536  +
            >,
13255  14537   
        ) -> Self {
13256  14538   
            /* ServerBuilderGenerator.kt:344 */
13257         -
            self.integer_enum_map =
       14539  +
            self.doc_valued_map =
13258  14540   
                /* ServerBuilderGenerator.kt:376 */input
13259  14541   
            /* ServerBuilderGenerator.kt:344 */;
13260  14542   
            self
13261  14543   
            /* ServerBuilderGenerator.kt:343 */
13262  14544   
        }
13263  14545   
        /* ServerBuilderGenerator.kt:426 */
13264  14546   
        #[allow(missing_docs)] // documentation missing in model
13265  14547   
                               /* ServerBuilderGenerator.kt:428 */
13266         -
        pub(crate) fn set_integer_enum_map(
       14548  +
        pub(crate) fn set_doc_valued_map(
13267  14549   
            mut self,
13268  14550   
            input: Option<
13269         -
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
       14551  +
                impl ::std::convert::Into<
       14552  +
                    ::std::collections::HashMap<
       14553  +
                        ::std::string::String,
       14554  +
                        ::aws_smithy_types::Document,
       14555  +
                    >,
       14556  +
                >,
13270  14557   
            >,
13271  14558   
        ) -> Self {
13272  14559   
            /* ServerBuilderGenerator.kt:429 */
13273         -
            self.integer_enum_map = input.map(|v| v.into());
       14560  +
            self.doc_valued_map = input.map(|v| v.into());
13274  14561   
            self
13275  14562   
            /* ServerBuilderGenerator.kt:428 */
13276  14563   
        }
13277         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
13278         -
        /// /* ServerBuilderGenerator.kt:260 */
13279         -
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
13280         -
        ///
       14564  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13281  14565   
        /* ServerBuilderGenerator.kt:271 */
13282         -
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
       14566  +
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
13283  14567   
            self.build_enforcing_all_constraints()
13284  14568   
        }
13285  14569   
        /* ServerBuilderGenerator.kt:283 */
13286         -
        fn build_enforcing_all_constraints(
13287         -
            self,
13288         -
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
13289         -
            /* ServerBuilderGenerator.kt:287 */
13290         -
            Ok(
13291         -
                /* ServerBuilderGenerator.kt:542 */
13292         -
                crate::input::JsonIntEnumsInput {
13293         -
                    /* ServerBuilderGenerator.kt:546 */
13294         -
                    integer_enum1: self.integer_enum1,
13295         -
                    /* ServerBuilderGenerator.kt:546 */
13296         -
                    integer_enum2: self.integer_enum2,
13297         -
                    /* ServerBuilderGenerator.kt:546 */
13298         -
                    integer_enum3: self.integer_enum3,
13299         -
                    /* ServerBuilderGenerator.kt:546 */
13300         -
                    integer_enum_list: self.integer_enum_list,
13301         -
                    /* ServerBuilderGenerator.kt:546 */
13302         -
                    integer_enum_set: self
13303         -
                        .integer_enum_set
13304         -
                        /* ServerBuilderGenerator.kt:602 */
13305         -
                        .map(|v| match v {
13306         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13307         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13308         -
                        })
13309         -
                        /* ServerBuilderGenerator.kt:614 */
13310         -
                        .map(|res| res.map_err(ConstraintViolation::IntegerEnumSet))
13311         -
                        .transpose()?,
13312         -
                    /* ServerBuilderGenerator.kt:546 */
13313         -
                    integer_enum_map: self.integer_enum_map,
13314         -
                    /* ServerBuilderGenerator.kt:542 */
13315         -
                }, /* ServerBuilderGenerator.kt:287 */
13316         -
            )
13317         -
            /* ServerBuilderGenerator.kt:283 */
13318         -
        }
13319         -
        /* ServerBuilderGenerator.kt:215 */
13320         -
    }
13321         -
13322         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
13323         -
}
13324         -
/// /* ServerBuilderGenerator.kt:171 */See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
13325         -
pub mod json_enums_input {
13326         -
13327         -
    /* RustType.kt:534 */
13328         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
13329         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
13330         -
    /* RustType.kt:534 */
13331         -
    #[non_exhaustive]
13332         -
    /* ServerBuilderConstraintViolations.kt:75 */
13333         -
    #[allow(clippy::enum_variant_names)]
13334         -
    pub enum ConstraintViolation {
13335         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
13336         -
        /* RustType.kt:534 */
13337         -
        #[doc(hidden)]
13338         -
        /* ServerBuilderConstraintViolations.kt:165 */
13339         -
        FooEnum1(crate::model::foo_enum::ConstraintViolation),
13340         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
13341         -
        /* RustType.kt:534 */
13342         -
        #[doc(hidden)]
13343         -
        /* ServerBuilderConstraintViolations.kt:165 */
13344         -
        FooEnum2(crate::model::foo_enum::ConstraintViolation),
13345         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
13346         -
        /* RustType.kt:534 */
13347         -
        #[doc(hidden)]
13348         -
        /* ServerBuilderConstraintViolations.kt:165 */
13349         -
        FooEnum3(crate::model::foo_enum::ConstraintViolation),
13350         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
13351         -
        /* RustType.kt:534 */
13352         -
        #[doc(hidden)]
13353         -
        /* ServerBuilderConstraintViolations.kt:165 */
13354         -
        FooEnumList(crate::model::foo_enum_list::ConstraintViolation),
13355         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
13356         -
        /* RustType.kt:534 */
13357         -
        #[doc(hidden)]
13358         -
        /* ServerBuilderConstraintViolations.kt:165 */
13359         -
        FooEnumSet(crate::model::foo_enum_set::ConstraintViolation),
13360         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
       14570  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsMapValueInput {
       14571  +
            /* ServerBuilderGenerator.kt:542 */
       14572  +
            crate::input::DocumentTypeAsMapValueInput {
       14573  +
                /* ServerBuilderGenerator.kt:546 */
       14574  +
                doc_valued_map: self.doc_valued_map,
       14575  +
                /* ServerBuilderGenerator.kt:542 */
       14576  +
            }
       14577  +
            /* ServerBuilderGenerator.kt:283 */
       14578  +
        }
       14579  +
        /* ServerBuilderGenerator.kt:215 */
       14580  +
    }
       14581  +
       14582  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14583  +
}
       14584  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       14585  +
pub mod json_unions_input {
       14586  +
       14587  +
    /* RustType.kt:534 */
       14588  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       14589  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       14590  +
    /* RustType.kt:534 */
       14591  +
    #[non_exhaustive]
       14592  +
    /* ServerBuilderConstraintViolations.kt:75 */
       14593  +
    #[allow(clippy::enum_variant_names)]
       14594  +
    pub enum ConstraintViolation {
       14595  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
13361  14596   
        /* RustType.kt:534 */
13362  14597   
        #[doc(hidden)]
13363  14598   
        /* ServerBuilderConstraintViolations.kt:165 */
13364         -
        FooEnumMap(crate::model::foo_enum_map::ConstraintViolation),
       14599  +
        Contents(crate::model::my_union::ConstraintViolation),
13365  14600   
        /* ServerBuilderConstraintViolations.kt:75 */
13366  14601   
    }
13367  14602   
    /* ServerBuilderConstraintViolations.kt:116 */
13368  14603   
    impl ::std::fmt::Display for ConstraintViolation {
13369  14604   
        /* ServerBuilderConstraintViolations.kt:117 */
13370  14605   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13371  14606   
            /* ServerBuilderConstraintViolations.kt:118 */
13372  14607   
            match self {
13373         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
13374         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
13375         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
13376         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
13377         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
13378         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
       14608  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
13379  14609   
            /* ServerBuilderConstraintViolations.kt:118 */}
13380  14610   
            /* ServerBuilderConstraintViolations.kt:117 */
13381  14611   
        }
13382  14612   
        /* ServerBuilderConstraintViolations.kt:116 */
13383  14613   
    }
13384  14614   
    /* ServerBuilderConstraintViolations.kt:83 */
13385  14615   
    impl ::std::error::Error for ConstraintViolation {}
13386  14616   
    /* ServerBuilderConstraintViolations.kt:172 */
13387  14617   
    impl ConstraintViolation {
13388  14618   
        pub(crate) fn as_validation_exception_field(
13389  14619   
            self,
13390  14620   
            path: ::std::string::String,
13391  14621   
        ) -> crate::model::ValidationExceptionField {
13392  14622   
            match self {
13393         -
                ConstraintViolation::FooEnum1(inner) => {
13394         -
                    inner.as_validation_exception_field(path + "/fooEnum1")
13395         -
                }
13396         -
                ConstraintViolation::FooEnum2(inner) => {
13397         -
                    inner.as_validation_exception_field(path + "/fooEnum2")
13398         -
                }
13399         -
                ConstraintViolation::FooEnum3(inner) => {
13400         -
                    inner.as_validation_exception_field(path + "/fooEnum3")
13401         -
                }
13402         -
                ConstraintViolation::FooEnumList(inner) => {
13403         -
                    inner.as_validation_exception_field(path + "/fooEnumList")
13404         -
                }
13405         -
                ConstraintViolation::FooEnumSet(inner) => {
13406         -
                    inner.as_validation_exception_field(path + "/fooEnumSet")
13407         -
                }
13408         -
                ConstraintViolation::FooEnumMap(inner) => {
13409         -
                    inner.as_validation_exception_field(path + "/fooEnumMap")
       14623  +
                ConstraintViolation::Contents(inner) => {
       14624  +
                    inner.as_validation_exception_field(path + "/contents")
13410  14625   
                }
13411  14626   
            }
13412  14627   
        }
13413  14628   
    }
13414  14629   
    /* ServerBuilderGenerator.kt:234 */
13415  14630   
    impl ::std::convert::From<ConstraintViolation>
13416  14631   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
13417  14632   
    {
13418  14633   
        fn from(constraint_violation: ConstraintViolation) -> Self {
13419  14634   
            let first_validation_exception_field =
13420  14635   
                constraint_violation.as_validation_exception_field("".to_owned());
13421  14636   
            let validation_exception = crate::error::ValidationException {
13422  14637   
                message: format!(
13423  14638   
                    "1 validation error detected. {}",
13424  14639   
                    &first_validation_exception_field.message
13425  14640   
                ),
13426  14641   
                field_list: Some(vec![first_validation_exception_field]),
13427  14642   
            };
13428  14643   
            Self::ConstraintViolation(
13429  14644   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
13430  14645   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
13431  14646   
                            )
13432  14647   
        }
13433  14648   
    }
13434  14649   
    /* ServerBuilderGenerator.kt:244 */
13435  14650   
    impl ::std::convert::From<Builder>
13436         -
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
       14651  +
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
13437  14652   
    {
13438  14653   
        fn from(builder: Builder) -> Self {
13439  14654   
            Self::Unconstrained(builder)
13440  14655   
        }
13441  14656   
    }
13442  14657   
    /* ServerBuilderGenerator.kt:446 */
13443         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
       14658  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
13444  14659   
        type Error = ConstraintViolation;
13445  14660   
13446  14661   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
13447  14662   
            builder.build()
13448  14663   
        }
13449  14664   
    }
13450         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       14665  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
13451  14666   
    /* RustType.kt:534 */
13452  14667   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13453  14668   
    /* ServerBuilderGenerator.kt:211 */
13454  14669   
    pub struct Builder {
13455  14670   
        /* ServerBuilderGenerator.kt:308 */
13456         -
        pub(crate) foo_enum1:
13457         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13458         -
        /* ServerBuilderGenerator.kt:308 */
13459         -
        pub(crate) foo_enum2:
13460         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13461         -
        /* ServerBuilderGenerator.kt:308 */
13462         -
        pub(crate) foo_enum3:
13463         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13464         -
        /* ServerBuilderGenerator.kt:308 */
13465         -
        pub(crate) foo_enum_list: ::std::option::Option<
13466         -
            crate::constrained::MaybeConstrained<
13467         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
13468         -
            >,
13469         -
        >,
13470         -
        /* ServerBuilderGenerator.kt:308 */
13471         -
        pub(crate) foo_enum_set:
13472         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
13473         -
        /* ServerBuilderGenerator.kt:308 */
13474         -
        pub(crate) foo_enum_map: ::std::option::Option<
13475         -
            crate::constrained::MaybeConstrained<
13476         -
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
13477         -
            >,
13478         -
        >,
       14671  +
        pub(crate) contents:
       14672  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
13479  14673   
        /* ServerBuilderGenerator.kt:211 */
13480  14674   
    }
13481  14675   
    /* ServerBuilderGenerator.kt:215 */
13482  14676   
    impl Builder {
13483         -
        /* ServerBuilderGenerator.kt:331 */
13484         -
        #[allow(missing_docs)] // documentation missing in model
13485         -
                               /* ServerBuilderGenerator.kt:343 */
13486         -
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
13487         -
            /* ServerBuilderGenerator.kt:344 */
13488         -
            self.foo_enum1 =
13489         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
13490         -
            /* ServerBuilderGenerator.kt:344 */;
13491         -
            self
13492         -
            /* ServerBuilderGenerator.kt:343 */
13493         -
        }
13494         -
        /* ServerBuilderGenerator.kt:426 */
13495         -
        #[allow(missing_docs)] // documentation missing in model
13496         -
                               /* ServerBuilderGenerator.kt:428 */
13497         -
        pub(crate) fn set_foo_enum1(
13498         -
            mut self,
13499         -
            input: Option<
13500         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13501         -
            >,
13502         -
        ) -> Self {
13503         -
            /* ServerBuilderGenerator.kt:429 */
13504         -
            self.foo_enum1 = input.map(|v| v.into());
13505         -
            self
13506         -
            /* ServerBuilderGenerator.kt:428 */
13507         -
        }
13508         -
        /* ServerBuilderGenerator.kt:331 */
13509         -
        #[allow(missing_docs)] // documentation missing in model
13510         -
                               /* ServerBuilderGenerator.kt:343 */
13511         -
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
13512         -
            /* ServerBuilderGenerator.kt:344 */
13513         -
            self.foo_enum2 =
13514         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
13515         -
            /* ServerBuilderGenerator.kt:344 */;
13516         -
            self
13517         -
            /* ServerBuilderGenerator.kt:343 */
13518         -
        }
13519         -
        /* ServerBuilderGenerator.kt:426 */
13520         -
        #[allow(missing_docs)] // documentation missing in model
13521         -
                               /* ServerBuilderGenerator.kt:428 */
13522         -
        pub(crate) fn set_foo_enum2(
13523         -
            mut self,
13524         -
            input: Option<
13525         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13526         -
            >,
13527         -
        ) -> Self {
13528         -
            /* ServerBuilderGenerator.kt:429 */
13529         -
            self.foo_enum2 = input.map(|v| v.into());
13530         -
            self
13531         -
            /* ServerBuilderGenerator.kt:428 */
13532         -
        }
13533         -
        /* ServerBuilderGenerator.kt:331 */
13534         -
        #[allow(missing_docs)] // documentation missing in model
13535         -
                               /* ServerBuilderGenerator.kt:343 */
13536         -
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
13537         -
            /* ServerBuilderGenerator.kt:344 */
13538         -
            self.foo_enum3 =
13539         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
13540         -
            /* ServerBuilderGenerator.kt:344 */;
13541         -
            self
13542         -
            /* ServerBuilderGenerator.kt:343 */
13543         -
        }
13544         -
        /* ServerBuilderGenerator.kt:426 */
13545         -
        #[allow(missing_docs)] // documentation missing in model
13546         -
                               /* ServerBuilderGenerator.kt:428 */
13547         -
        pub(crate) fn set_foo_enum3(
13548         -
            mut self,
13549         -
            input: Option<
13550         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13551         -
            >,
13552         -
        ) -> Self {
13553         -
            /* ServerBuilderGenerator.kt:429 */
13554         -
            self.foo_enum3 = input.map(|v| v.into());
13555         -
            self
13556         -
            /* ServerBuilderGenerator.kt:428 */
13557         -
        }
13558         -
        /* ServerBuilderGenerator.kt:331 */
13559         -
        #[allow(missing_docs)] // documentation missing in model
13560         -
                               /* ServerBuilderGenerator.kt:343 */
13561         -
        pub fn foo_enum_list(
13562         -
            mut self,
13563         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
13564         -
        ) -> Self {
13565         -
            /* ServerBuilderGenerator.kt:344 */
13566         -
            self.foo_enum_list =
13567         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
13568         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
13569         -
                /* ServerBuilderGenerator.kt:363 */)
13570         -
            /* ServerBuilderGenerator.kt:344 */;
13571         -
            self
13572         -
            /* ServerBuilderGenerator.kt:343 */
13573         -
        }
13574         -
        /* ServerBuilderGenerator.kt:426 */
13575         -
        #[allow(missing_docs)] // documentation missing in model
13576         -
                               /* ServerBuilderGenerator.kt:428 */
13577         -
        pub(crate) fn set_foo_enum_list(
13578         -
            mut self,
13579         -
            input: Option<
13580         -
                impl ::std::convert::Into<
13581         -
                    crate::constrained::MaybeConstrained<
13582         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
13583         -
                    >,
13584         -
                >,
13585         -
            >,
13586         -
        ) -> Self {
13587         -
            /* ServerBuilderGenerator.kt:429 */
13588         -
            self.foo_enum_list = input.map(|v| v.into());
13589         -
            self
13590         -
            /* ServerBuilderGenerator.kt:428 */
13591         -
        }
13592         -
        /* ServerBuilderGenerator.kt:331 */
13593         -
        #[allow(missing_docs)] // documentation missing in model
13594         -
                               /* ServerBuilderGenerator.kt:343 */
13595         -
        pub fn foo_enum_set(
13596         -
            mut self,
13597         -
            input: ::std::option::Option<crate::model::FooEnumSet>,
13598         -
        ) -> Self {
       14677  +
        /// /* ServerBuilderGenerator.kt:331 */A union with a representative set of types for members.
       14678  +
        /* ServerBuilderGenerator.kt:343 */
       14679  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
13599  14680   
            /* ServerBuilderGenerator.kt:344 */
13600         -
            self.foo_enum_set =
       14681  +
            self.contents =
13601  14682   
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
13602  14683   
            /* ServerBuilderGenerator.kt:344 */;
13603  14684   
            self
13604  14685   
            /* ServerBuilderGenerator.kt:343 */
13605  14686   
        }
13606         -
        /* ServerBuilderGenerator.kt:426 */
13607         -
        #[allow(missing_docs)] // documentation missing in model
13608         -
                               /* ServerBuilderGenerator.kt:428 */
13609         -
        pub(crate) fn set_foo_enum_set(
13610         -
            mut self,
13611         -
            input: Option<
13612         -
                impl ::std::convert::Into<
13613         -
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
13614         -
                >,
13615         -
            >,
13616         -
        ) -> Self {
13617         -
            /* ServerBuilderGenerator.kt:429 */
13618         -
            self.foo_enum_set = input.map(|v| v.into());
13619         -
            self
13620         -
            /* ServerBuilderGenerator.kt:428 */
13621         -
        }
13622         -
        /* ServerBuilderGenerator.kt:331 */
13623         -
        #[allow(missing_docs)] // documentation missing in model
13624         -
                               /* ServerBuilderGenerator.kt:343 */
13625         -
        pub fn foo_enum_map(
13626         -
            mut self,
13627         -
            input: ::std::option::Option<
13628         -
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
13629         -
            >,
13630         -
        ) -> Self {
13631         -
            /* ServerBuilderGenerator.kt:344 */
13632         -
            self.foo_enum_map =
13633         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
13634         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
13635         -
                /* ServerBuilderGenerator.kt:363 */)
13636         -
            /* ServerBuilderGenerator.kt:344 */;
13637         -
            self
13638         -
            /* ServerBuilderGenerator.kt:343 */
13639         -
        }
13640         -
        /* ServerBuilderGenerator.kt:426 */
13641         -
        #[allow(missing_docs)] // documentation missing in model
13642         -
                               /* ServerBuilderGenerator.kt:428 */
13643         -
        pub(crate) fn set_foo_enum_map(
       14687  +
        /// /* ServerBuilderGenerator.kt:426 */A union with a representative set of types for members.
       14688  +
        /* ServerBuilderGenerator.kt:428 */
       14689  +
        pub(crate) fn set_contents(
13644  14690   
            mut self,
13645  14691   
            input: Option<
13646         -
                impl ::std::convert::Into<
13647         -
                    crate::constrained::MaybeConstrained<
13648         -
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
13649         -
                    >,
13650         -
                >,
       14692  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
13651  14693   
            >,
13652  14694   
        ) -> Self {
13653  14695   
            /* ServerBuilderGenerator.kt:429 */
13654         -
            self.foo_enum_map = input.map(|v| v.into());
       14696  +
            self.contents = input.map(|v| v.into());
13655  14697   
            self
13656  14698   
            /* ServerBuilderGenerator.kt:428 */
13657  14699   
        }
13658         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       14700  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
13659  14701   
        /// /* ServerBuilderGenerator.kt:260 */
13660         -
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
       14702  +
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
13661  14703   
        ///
13662         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
13663  14704   
        /* ServerBuilderGenerator.kt:271 */
13664         -
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
       14705  +
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
13665  14706   
            self.build_enforcing_all_constraints()
13666  14707   
        }
13667  14708   
        /* ServerBuilderGenerator.kt:283 */
13668  14709   
        fn build_enforcing_all_constraints(
13669  14710   
            self,
13670         -
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
       14711  +
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
13671  14712   
            /* ServerBuilderGenerator.kt:287 */
13672  14713   
            Ok(
13673  14714   
                /* ServerBuilderGenerator.kt:542 */
13674         -
                crate::input::JsonEnumsInput {
13675         -
                    /* ServerBuilderGenerator.kt:546 */
13676         -
                    foo_enum1: self
13677         -
                        .foo_enum1
13678         -
                        /* ServerBuilderGenerator.kt:602 */
13679         -
                        .map(|v| match v {
13680         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13681         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13682         -
                        })
13683         -
                        /* ServerBuilderGenerator.kt:614 */
13684         -
                        .map(|res| res.map_err(ConstraintViolation::FooEnum1))
13685         -
                        .transpose()?,
13686         -
                    /* ServerBuilderGenerator.kt:546 */
13687         -
                    foo_enum2: self
13688         -
                        .foo_enum2
13689         -
                        /* ServerBuilderGenerator.kt:602 */
13690         -
                        .map(|v| match v {
13691         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13692         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13693         -
                        })
13694         -
                        /* ServerBuilderGenerator.kt:614 */
13695         -
                        .map(|res| res.map_err(ConstraintViolation::FooEnum2))
13696         -
                        .transpose()?,
13697         -
                    /* ServerBuilderGenerator.kt:546 */
13698         -
                    foo_enum3: self
13699         -
                        .foo_enum3
13700         -
                        /* ServerBuilderGenerator.kt:602 */
13701         -
                        .map(|v| match v {
13702         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13703         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13704         -
                        })
13705         -
                        /* ServerBuilderGenerator.kt:614 */
13706         -
                        .map(|res| res.map_err(ConstraintViolation::FooEnum3))
13707         -
                        .transpose()?,
13708         -
                    /* ServerBuilderGenerator.kt:546 */
13709         -
                    foo_enum_list: self
13710         -
                        .foo_enum_list
13711         -
                        /* ServerBuilderGenerator.kt:602 */
13712         -
                        .map(|v| match v {
13713         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13714         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13715         -
                        })
13716         -
                        /* ServerBuilderGenerator.kt:614 */
13717         -
                        .map(|res| {
13718         -
                            res.map(|v| v.into())
13719         -
                                .map_err(ConstraintViolation::FooEnumList)
13720         -
                        })
13721         -
                        .transpose()?,
13722         -
                    /* ServerBuilderGenerator.kt:546 */
13723         -
                    foo_enum_set: self
13724         -
                        .foo_enum_set
13725         -
                        /* ServerBuilderGenerator.kt:602 */
13726         -
                        .map(|v| match v {
13727         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13728         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13729         -
                        })
13730         -
                        /* ServerBuilderGenerator.kt:614 */
13731         -
                        .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
13732         -
                        .transpose()?,
       14715  +
                crate::input::JsonUnionsInput {
13733  14716   
                    /* ServerBuilderGenerator.kt:546 */
13734         -
                    foo_enum_map: self
13735         -
                        .foo_enum_map
       14717  +
                    contents: self
       14718  +
                        .contents
13736  14719   
                        /* ServerBuilderGenerator.kt:602 */
13737  14720   
                        .map(|v| match v {
13738  14721   
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13739  14722   
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13740  14723   
                        })
13741  14724   
                        /* ServerBuilderGenerator.kt:614 */
13742         -
                        .map(|res| {
13743         -
                            res.map(|v| v.into())
13744         -
                                .map_err(ConstraintViolation::FooEnumMap)
13745         -
                        })
       14725  +
                        .map(|res| res.map_err(ConstraintViolation::Contents))
13746  14726   
                        .transpose()?,
13747  14727   
                    /* ServerBuilderGenerator.kt:542 */
13748  14728   
                }, /* ServerBuilderGenerator.kt:287 */
13749  14729   
            )
13750  14730   
            /* ServerBuilderGenerator.kt:283 */
13751  14731   
        }
13752  14732   
        /* ServerBuilderGenerator.kt:215 */
13753  14733   
    }
13754  14734   
13755  14735   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
13756  14736   
}
13757         -
/// /* ServerBuilderGenerator.kt:171 */See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
13758         -
pub mod json_timestamps_input {
       14737  +
/// /* ServerBuilderGenerator.kt:171 */See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       14738  +
pub mod post_player_action_input {
13759  14739   
13760  14740   
    /* ServerBuilderGenerator.kt:461 */
13761         -
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
       14741  +
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
13762  14742   
        fn from(builder: Builder) -> Self {
13763  14743   
            builder.build()
13764  14744   
        }
13765  14745   
    }
13766         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       14746  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
13767  14747   
    /* RustType.kt:534 */
13768  14748   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13769  14749   
    /* ServerBuilderGenerator.kt:211 */
13770  14750   
    pub struct Builder {
13771  14751   
        /* ServerBuilderGenerator.kt:308 */
13772         -
        pub(crate) normal: ::std::option::Option<::aws_smithy_types::DateTime>,
13773         -
        /* ServerBuilderGenerator.kt:308 */
13774         -
        pub(crate) date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
13775         -
        /* ServerBuilderGenerator.kt:308 */
13776         -
        pub(crate) date_time_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
13777         -
        /* ServerBuilderGenerator.kt:308 */
13778         -
        pub(crate) epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
13779         -
        /* ServerBuilderGenerator.kt:308 */
13780         -
        pub(crate) epoch_seconds_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
13781         -
        /* ServerBuilderGenerator.kt:308 */
13782         -
        pub(crate) http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
13783         -
        /* ServerBuilderGenerator.kt:308 */
13784         -
        pub(crate) http_date_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
       14752  +
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
13785  14753   
        /* ServerBuilderGenerator.kt:211 */
13786  14754   
    }
13787  14755   
    /* ServerBuilderGenerator.kt:215 */
13788  14756   
    impl Builder {
13789  14757   
        /* ServerBuilderGenerator.kt:331 */
13790  14758   
        #[allow(missing_docs)] // documentation missing in model
13791  14759   
                               /* ServerBuilderGenerator.kt:343 */
13792         -
        pub fn normal(
13793         -
            mut self,
13794         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
13795         -
        ) -> Self {
       14760  +
        pub fn action(mut self, input: ::std::option::Option<crate::model::PlayerAction>) -> Self {
13796  14761   
            /* ServerBuilderGenerator.kt:344 */
13797         -
            self.normal =
       14762  +
            self.action =
13798  14763   
                /* ServerBuilderGenerator.kt:376 */input
13799  14764   
            /* ServerBuilderGenerator.kt:344 */;
13800  14765   
            self
13801  14766   
            /* ServerBuilderGenerator.kt:343 */
13802  14767   
        }
13803  14768   
        /* ServerBuilderGenerator.kt:426 */
13804  14769   
        #[allow(missing_docs)] // documentation missing in model
13805  14770   
                               /* ServerBuilderGenerator.kt:428 */
13806         -
        pub(crate) fn set_normal(
       14771  +
        pub(crate) fn set_action(
13807  14772   
            mut self,
13808         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       14773  +
            input: Option<impl ::std::convert::Into<crate::model::PlayerAction>>,
13809  14774   
        ) -> Self {
13810  14775   
            /* ServerBuilderGenerator.kt:429 */
13811         -
            self.normal = input.map(|v| v.into());
       14776  +
            self.action = input.map(|v| v.into());
13812  14777   
            self
13813  14778   
            /* ServerBuilderGenerator.kt:428 */
13814  14779   
        }
13815         -
        /* ServerBuilderGenerator.kt:331 */
13816         -
        #[allow(missing_docs)] // documentation missing in model
13817         -
                               /* ServerBuilderGenerator.kt:343 */
13818         -
        pub fn date_time(
13819         -
            mut self,
13820         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
13821         -
        ) -> Self {
13822         -
            /* ServerBuilderGenerator.kt:344 */
13823         -
            self.date_time =
13824         -
                /* ServerBuilderGenerator.kt:376 */input
13825         -
            /* ServerBuilderGenerator.kt:344 */;
13826         -
            self
13827         -
            /* ServerBuilderGenerator.kt:343 */
       14780  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       14781  +
        /* ServerBuilderGenerator.kt:271 */
       14782  +
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       14783  +
            self.build_enforcing_all_constraints()
13828  14784   
        }
13829         -
        /* ServerBuilderGenerator.kt:426 */
13830         -
        #[allow(missing_docs)] // documentation missing in model
13831         -
                               /* ServerBuilderGenerator.kt:428 */
13832         -
        pub(crate) fn set_date_time(
13833         -
            mut self,
13834         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
13835         -
        ) -> Self {
13836         -
            /* ServerBuilderGenerator.kt:429 */
13837         -
            self.date_time = input.map(|v| v.into());
13838         -
            self
13839         -
            /* ServerBuilderGenerator.kt:428 */
       14785  +
        /* ServerBuilderGenerator.kt:283 */
       14786  +
        fn build_enforcing_all_constraints(self) -> crate::input::PostPlayerActionInput {
       14787  +
            /* ServerBuilderGenerator.kt:542 */
       14788  +
            crate::input::PostPlayerActionInput {
       14789  +
                /* ServerBuilderGenerator.kt:546 */
       14790  +
                action: self.action,
       14791  +
                /* ServerBuilderGenerator.kt:542 */
       14792  +
            }
       14793  +
            /* ServerBuilderGenerator.kt:283 */
       14794  +
        }
       14795  +
        /* ServerBuilderGenerator.kt:215 */
       14796  +
    }
       14797  +
       14798  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14799  +
}
       14800  +
/// /* ServerBuilderGenerator.kt:171 */See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       14801  +
pub mod post_union_with_json_name_input {
       14802  +
       14803  +
    /* ServerBuilderGenerator.kt:461 */
       14804  +
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
       14805  +
        fn from(builder: Builder) -> Self {
       14806  +
            builder.build()
13840  14807   
        }
       14808  +
    }
       14809  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       14810  +
    /* RustType.kt:534 */
       14811  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14812  +
    /* ServerBuilderGenerator.kt:211 */
       14813  +
    pub struct Builder {
       14814  +
        /* ServerBuilderGenerator.kt:308 */
       14815  +
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
       14816  +
        /* ServerBuilderGenerator.kt:211 */
       14817  +
    }
       14818  +
    /* ServerBuilderGenerator.kt:215 */
       14819  +
    impl Builder {
13841  14820   
        /* ServerBuilderGenerator.kt:331 */
13842  14821   
        #[allow(missing_docs)] // documentation missing in model
13843  14822   
                               /* ServerBuilderGenerator.kt:343 */
13844         -
        pub fn date_time_on_target(
       14823  +
        pub fn value(
13845  14824   
            mut self,
13846         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       14825  +
            input: ::std::option::Option<crate::model::UnionWithJsonName>,
13847  14826   
        ) -> Self {
13848  14827   
            /* ServerBuilderGenerator.kt:344 */
13849         -
            self.date_time_on_target =
       14828  +
            self.value =
13850  14829   
                /* ServerBuilderGenerator.kt:376 */input
13851  14830   
            /* ServerBuilderGenerator.kt:344 */;
13852  14831   
            self
13853  14832   
            /* ServerBuilderGenerator.kt:343 */
13854  14833   
        }
13855  14834   
        /* ServerBuilderGenerator.kt:426 */
13856  14835   
        #[allow(missing_docs)] // documentation missing in model
13857  14836   
                               /* ServerBuilderGenerator.kt:428 */
13858         -
        pub(crate) fn set_date_time_on_target(
       14837  +
        pub(crate) fn set_value(
13859  14838   
            mut self,
13860         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       14839  +
            input: Option<impl ::std::convert::Into<crate::model::UnionWithJsonName>>,
13861  14840   
        ) -> Self {
13862  14841   
            /* ServerBuilderGenerator.kt:429 */
13863         -
            self.date_time_on_target = input.map(|v| v.into());
       14842  +
            self.value = input.map(|v| v.into());
13864  14843   
            self
13865  14844   
            /* ServerBuilderGenerator.kt:428 */
13866  14845   
        }
13867         -
        /* ServerBuilderGenerator.kt:331 */
13868         -
        #[allow(missing_docs)] // documentation missing in model
13869         -
                               /* ServerBuilderGenerator.kt:343 */
13870         -
        pub fn epoch_seconds(
13871         -
            mut self,
13872         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
13873         -
        ) -> Self {
13874         -
            /* ServerBuilderGenerator.kt:344 */
13875         -
            self.epoch_seconds =
13876         -
                /* ServerBuilderGenerator.kt:376 */input
13877         -
            /* ServerBuilderGenerator.kt:344 */;
13878         -
            self
13879         -
            /* ServerBuilderGenerator.kt:343 */
       14846  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       14847  +
        /* ServerBuilderGenerator.kt:271 */
       14848  +
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
       14849  +
            self.build_enforcing_all_constraints()
13880  14850   
        }
13881         -
        /* ServerBuilderGenerator.kt:426 */
13882         -
        #[allow(missing_docs)] // documentation missing in model
13883         -
                               /* ServerBuilderGenerator.kt:428 */
13884         -
        pub(crate) fn set_epoch_seconds(
13885         -
            mut self,
13886         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
13887         -
        ) -> Self {
13888         -
            /* ServerBuilderGenerator.kt:429 */
13889         -
            self.epoch_seconds = input.map(|v| v.into());
13890         -
            self
13891         -
            /* ServerBuilderGenerator.kt:428 */
       14851  +
        /* ServerBuilderGenerator.kt:283 */
       14852  +
        fn build_enforcing_all_constraints(self) -> crate::input::PostUnionWithJsonNameInput {
       14853  +
            /* ServerBuilderGenerator.kt:542 */
       14854  +
            crate::input::PostUnionWithJsonNameInput {
       14855  +
                /* ServerBuilderGenerator.kt:546 */
       14856  +
                value: self.value,
       14857  +
                /* ServerBuilderGenerator.kt:542 */
       14858  +
            }
       14859  +
            /* ServerBuilderGenerator.kt:283 */
       14860  +
        }
       14861  +
        /* ServerBuilderGenerator.kt:215 */
       14862  +
    }
       14863  +
       14864  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14865  +
}
       14866  +
/// /* ServerBuilderGenerator.kt:171 */See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       14867  +
pub mod endpoint_operation_input {
       14868  +
       14869  +
    /* ServerBuilderGenerator.kt:461 */
       14870  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
       14871  +
        fn from(builder: Builder) -> Self {
       14872  +
            builder.build()
       14873  +
        }
       14874  +
    }
       14875  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       14876  +
    /* RustType.kt:534 */
       14877  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14878  +
    /* ServerBuilderGenerator.kt:211 */
       14879  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       14880  +
    /* ServerBuilderGenerator.kt:215 */
       14881  +
    impl Builder {
       14882  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       14883  +
        /* ServerBuilderGenerator.kt:271 */
       14884  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
       14885  +
            self.build_enforcing_all_constraints()
       14886  +
        }
       14887  +
        /* ServerBuilderGenerator.kt:283 */
       14888  +
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
       14889  +
            /* ServerBuilderGenerator.kt:542 */
       14890  +
            crate::input::EndpointOperationInput {
       14891  +
            /* ServerBuilderGenerator.kt:542 */}
       14892  +
            /* ServerBuilderGenerator.kt:283 */
13892  14893   
        }
13893         -
        /* ServerBuilderGenerator.kt:331 */
13894         -
        #[allow(missing_docs)] // documentation missing in model
13895         -
                               /* ServerBuilderGenerator.kt:343 */
13896         -
        pub fn epoch_seconds_on_target(
13897         -
            mut self,
13898         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
13899         -
        ) -> Self {
13900         -
            /* ServerBuilderGenerator.kt:344 */
13901         -
            self.epoch_seconds_on_target =
13902         -
                /* ServerBuilderGenerator.kt:376 */input
13903         -
            /* ServerBuilderGenerator.kt:344 */;
13904         -
            self
13905         -
            /* ServerBuilderGenerator.kt:343 */
       14894  +
        /* ServerBuilderGenerator.kt:215 */
       14895  +
    }
       14896  +
       14897  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14898  +
}
       14899  +
/// /* ServerBuilderGenerator.kt:171 */See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       14900  +
pub mod endpoint_with_host_label_operation_input {
       14901  +
       14902  +
    /* RustType.kt:534 */
       14903  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       14904  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       14905  +
    /* RustType.kt:534 */
       14906  +
    #[non_exhaustive]
       14907  +
    /* ServerBuilderConstraintViolations.kt:75 */
       14908  +
    #[allow(clippy::enum_variant_names)]
       14909  +
    pub enum ConstraintViolation {
       14910  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
       14911  +
        /* ServerBuilderConstraintViolations.kt:144 */
       14912  +
        MissingLabel,
       14913  +
        /* ServerBuilderConstraintViolations.kt:75 */
       14914  +
    }
       14915  +
    /* ServerBuilderConstraintViolations.kt:116 */
       14916  +
    impl ::std::fmt::Display for ConstraintViolation {
       14917  +
        /* ServerBuilderConstraintViolations.kt:117 */
       14918  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       14919  +
            /* ServerBuilderConstraintViolations.kt:118 */
       14920  +
            match self {
       14921  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
       14922  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       14923  +
            /* ServerBuilderConstraintViolations.kt:117 */
13906  14924   
        }
13907         -
        /* ServerBuilderGenerator.kt:426 */
13908         -
        #[allow(missing_docs)] // documentation missing in model
13909         -
                               /* ServerBuilderGenerator.kt:428 */
13910         -
        pub(crate) fn set_epoch_seconds_on_target(
13911         -
            mut self,
13912         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
13913         -
        ) -> Self {
13914         -
            /* ServerBuilderGenerator.kt:429 */
13915         -
            self.epoch_seconds_on_target = input.map(|v| v.into());
13916         -
            self
13917         -
            /* ServerBuilderGenerator.kt:428 */
       14925  +
        /* ServerBuilderConstraintViolations.kt:116 */
       14926  +
    }
       14927  +
    /* ServerBuilderConstraintViolations.kt:83 */
       14928  +
    impl ::std::error::Error for ConstraintViolation {}
       14929  +
    /* ServerBuilderConstraintViolations.kt:172 */
       14930  +
    impl ConstraintViolation {
       14931  +
        pub(crate) fn as_validation_exception_field(
       14932  +
            self,
       14933  +
            path: ::std::string::String,
       14934  +
        ) -> crate::model::ValidationExceptionField {
       14935  +
            match self {
       14936  +
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
       14937  +
                    message: format!(
       14938  +
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
       14939  +
                        path
       14940  +
                    ),
       14941  +
                    path: path + "/label",
       14942  +
                },
       14943  +
            }
13918  14944   
        }
13919         -
        /* ServerBuilderGenerator.kt:331 */
13920         -
        #[allow(missing_docs)] // documentation missing in model
13921         -
                               /* ServerBuilderGenerator.kt:343 */
13922         -
        pub fn http_date(
13923         -
            mut self,
13924         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
13925         -
        ) -> Self {
13926         -
            /* ServerBuilderGenerator.kt:344 */
13927         -
            self.http_date =
13928         -
                /* ServerBuilderGenerator.kt:376 */input
13929         -
            /* ServerBuilderGenerator.kt:344 */;
13930         -
            self
13931         -
            /* ServerBuilderGenerator.kt:343 */
       14945  +
    }
       14946  +
    /* ServerBuilderGenerator.kt:234 */
       14947  +
    impl ::std::convert::From<ConstraintViolation>
       14948  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       14949  +
    {
       14950  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       14951  +
            let first_validation_exception_field =
       14952  +
                constraint_violation.as_validation_exception_field("".to_owned());
       14953  +
            let validation_exception = crate::error::ValidationException {
       14954  +
                message: format!(
       14955  +
                    "1 validation error detected. {}",
       14956  +
                    &first_validation_exception_field.message
       14957  +
                ),
       14958  +
                field_list: Some(vec![first_validation_exception_field]),
       14959  +
            };
       14960  +
            Self::ConstraintViolation(
       14961  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       14962  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       14963  +
                            )
13932  14964   
        }
13933         -
        /* ServerBuilderGenerator.kt:426 */
13934         -
        #[allow(missing_docs)] // documentation missing in model
13935         -
                               /* ServerBuilderGenerator.kt:428 */
13936         -
        pub(crate) fn set_http_date(
13937         -
            mut self,
13938         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
13939         -
        ) -> Self {
13940         -
            /* ServerBuilderGenerator.kt:429 */
13941         -
            self.http_date = input.map(|v| v.into());
13942         -
            self
13943         -
            /* ServerBuilderGenerator.kt:428 */
       14965  +
    }
       14966  +
    /* ServerBuilderGenerator.kt:244 */
       14967  +
    impl ::std::convert::From<Builder>
       14968  +
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
       14969  +
    {
       14970  +
        fn from(builder: Builder) -> Self {
       14971  +
            Self::Unconstrained(builder)
       14972  +
        }
       14973  +
    }
       14974  +
    /* ServerBuilderGenerator.kt:446 */
       14975  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
       14976  +
        type Error = ConstraintViolation;
       14977  +
       14978  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       14979  +
            builder.build()
13944  14980   
        }
       14981  +
    }
       14982  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       14983  +
    /* RustType.kt:534 */
       14984  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14985  +
    /* ServerBuilderGenerator.kt:211 */
       14986  +
    pub struct Builder {
       14987  +
        /* ServerBuilderGenerator.kt:308 */
       14988  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
       14989  +
        /* ServerBuilderGenerator.kt:211 */
       14990  +
    }
       14991  +
    /* ServerBuilderGenerator.kt:215 */
       14992  +
    impl Builder {
13945  14993   
        /* ServerBuilderGenerator.kt:331 */
13946  14994   
        #[allow(missing_docs)] // documentation missing in model
13947  14995   
                               /* ServerBuilderGenerator.kt:343 */
13948         -
        pub fn http_date_on_target(
13949         -
            mut self,
13950         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
13951         -
        ) -> Self {
       14996  +
        pub fn label(mut self, input: ::std::string::String) -> Self {
13952  14997   
            /* ServerBuilderGenerator.kt:344 */
13953         -
            self.http_date_on_target =
13954         -
                /* ServerBuilderGenerator.kt:376 */input
       14998  +
            self.label =
       14999  +
                /* ServerBuilderGenerator.kt:345 */Some(
       15000  +
                    /* ServerBuilderGenerator.kt:376 */input
       15001  +
                /* ServerBuilderGenerator.kt:345 */)
13955  15002   
            /* ServerBuilderGenerator.kt:344 */;
13956  15003   
            self
13957  15004   
            /* ServerBuilderGenerator.kt:343 */
13958  15005   
        }
13959  15006   
        /* ServerBuilderGenerator.kt:426 */
13960  15007   
        #[allow(missing_docs)] // documentation missing in model
13961  15008   
                               /* ServerBuilderGenerator.kt:428 */
13962         -
        pub(crate) fn set_http_date_on_target(
       15009  +
        pub(crate) fn set_label(
13963  15010   
            mut self,
13964         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       15011  +
            input: impl ::std::convert::Into<::std::string::String>,
13965  15012   
        ) -> Self {
13966  15013   
            /* ServerBuilderGenerator.kt:429 */
13967         -
            self.http_date_on_target = input.map(|v| v.into());
       15014  +
            self.label = Some(input.into());
13968  15015   
            self
13969  15016   
            /* ServerBuilderGenerator.kt:428 */
13970  15017   
        }
13971         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       15018  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       15019  +
        /// /* ServerBuilderGenerator.kt:260 */
       15020  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
       15021  +
        ///
13972  15022   
        /* ServerBuilderGenerator.kt:271 */
13973         -
        pub fn build(self) -> crate::input::JsonTimestampsInput {
       15023  +
        pub fn build(
       15024  +
            self,
       15025  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       15026  +
        {
13974  15027   
            self.build_enforcing_all_constraints()
13975  15028   
        }
13976  15029   
        /* ServerBuilderGenerator.kt:283 */
13977         -
        fn build_enforcing_all_constraints(self) -> crate::input::JsonTimestampsInput {
13978         -
            /* ServerBuilderGenerator.kt:542 */
13979         -
            crate::input::JsonTimestampsInput {
13980         -
                /* ServerBuilderGenerator.kt:546 */
13981         -
                normal: self.normal,
13982         -
                /* ServerBuilderGenerator.kt:546 */
13983         -
                date_time: self.date_time,
13984         -
                /* ServerBuilderGenerator.kt:546 */
13985         -
                date_time_on_target: self.date_time_on_target,
13986         -
                /* ServerBuilderGenerator.kt:546 */
13987         -
                epoch_seconds: self.epoch_seconds,
13988         -
                /* ServerBuilderGenerator.kt:546 */
13989         -
                epoch_seconds_on_target: self.epoch_seconds_on_target,
13990         -
                /* ServerBuilderGenerator.kt:546 */
13991         -
                http_date: self.http_date,
13992         -
                /* ServerBuilderGenerator.kt:546 */
13993         -
                http_date_on_target: self.http_date_on_target,
       15030  +
        fn build_enforcing_all_constraints(
       15031  +
            self,
       15032  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       15033  +
        {
       15034  +
            /* ServerBuilderGenerator.kt:287 */
       15035  +
            Ok(
13994  15036   
                /* ServerBuilderGenerator.kt:542 */
13995         -
            }
       15037  +
                crate::input::EndpointWithHostLabelOperationInput {
       15038  +
                    /* ServerBuilderGenerator.kt:546 */
       15039  +
                    label: self
       15040  +
                        .label
       15041  +
                        /* ServerBuilderGenerator.kt:569 */
       15042  +
                        .ok_or(ConstraintViolation::MissingLabel)?,
       15043  +
                    /* ServerBuilderGenerator.kt:542 */
       15044  +
                }, /* ServerBuilderGenerator.kt:287 */
       15045  +
            )
13996  15046   
            /* ServerBuilderGenerator.kt:283 */
13997  15047   
        }
13998  15048   
        /* ServerBuilderGenerator.kt:215 */
13999  15049   
    }
14000  15050   
14001  15051   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14002  15052   
}
14003         -
/// /* ServerBuilderGenerator.kt:171 */See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
14004         -
pub mod simple_scalar_properties_input {
       15053  +
/// /* ServerBuilderGenerator.kt:171 */See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       15054  +
pub mod host_with_path_operation_input {
14005  15055   
14006  15056   
    /* ServerBuilderGenerator.kt:461 */
14007         -
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
       15057  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
14008  15058   
        fn from(builder: Builder) -> Self {
14009  15059   
            builder.build()
14010  15060   
        }
14011  15061   
    }
14012         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       15062  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
14013  15063   
    /* RustType.kt:534 */
14014  15064   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14015  15065   
    /* ServerBuilderGenerator.kt:211 */
14016         -
    pub struct Builder {
14017         -
        /* ServerBuilderGenerator.kt:308 */
14018         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
14019         -
        /* ServerBuilderGenerator.kt:308 */
14020         -
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
14021         -
        /* ServerBuilderGenerator.kt:308 */
14022         -
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
14023         -
        /* ServerBuilderGenerator.kt:308 */
14024         -
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
14025         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) byte_value: ::std::option::Option<i8>,
14026         -
        /* ServerBuilderGenerator.kt:308 */
14027         -
        pub(crate) short_value: ::std::option::Option<i16>,
14028         -
        /* ServerBuilderGenerator.kt:308 */
14029         -
        pub(crate) integer_value: ::std::option::Option<i32>,
14030         -
        /* ServerBuilderGenerator.kt:308 */
14031         -
        pub(crate) long_value: ::std::option::Option<i64>,
14032         -
        /* ServerBuilderGenerator.kt:308 */
14033         -
        pub(crate) float_value: ::std::option::Option<f32>,
       15066  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       15067  +
    /* ServerBuilderGenerator.kt:215 */
       15068  +
    impl Builder {
       15069  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       15070  +
        /* ServerBuilderGenerator.kt:271 */
       15071  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
       15072  +
            self.build_enforcing_all_constraints()
       15073  +
        }
       15074  +
        /* ServerBuilderGenerator.kt:283 */
       15075  +
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
       15076  +
            /* ServerBuilderGenerator.kt:542 */
       15077  +
            crate::input::HostWithPathOperationInput {
       15078  +
            /* ServerBuilderGenerator.kt:542 */}
       15079  +
            /* ServerBuilderGenerator.kt:283 */
       15080  +
        }
       15081  +
        /* ServerBuilderGenerator.kt:215 */
       15082  +
    }
       15083  +
       15084  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15085  +
}
       15086  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       15087  +
pub mod http_checksum_required_input {
       15088  +
       15089  +
    /* ServerBuilderGenerator.kt:461 */
       15090  +
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
       15091  +
        fn from(builder: Builder) -> Self {
       15092  +
            builder.build()
       15093  +
        }
       15094  +
    }
       15095  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       15096  +
    /* RustType.kt:534 */
       15097  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15098  +
    /* ServerBuilderGenerator.kt:211 */
       15099  +
    pub struct Builder {
14034  15100   
        /* ServerBuilderGenerator.kt:308 */
14035         -
        pub(crate) double_value: ::std::option::Option<f64>,
       15101  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
14036  15102   
        /* ServerBuilderGenerator.kt:211 */
14037  15103   
    }
14038  15104   
    /* ServerBuilderGenerator.kt:215 */
14039  15105   
    impl Builder {
14040  15106   
        /* ServerBuilderGenerator.kt:331 */
14041  15107   
        #[allow(missing_docs)] // documentation missing in model
14042  15108   
                               /* ServerBuilderGenerator.kt:343 */
14043  15109   
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
14044  15110   
            /* ServerBuilderGenerator.kt:344 */
14045  15111   
            self.foo =
14046  15112   
                /* ServerBuilderGenerator.kt:376 */input
14047  15113   
            /* ServerBuilderGenerator.kt:344 */;
14048  15114   
            self
14049  15115   
            /* ServerBuilderGenerator.kt:343 */
14050  15116   
        }
14051  15117   
        /* ServerBuilderGenerator.kt:426 */
14052  15118   
        #[allow(missing_docs)] // documentation missing in model
14053  15119   
                               /* ServerBuilderGenerator.kt:428 */
14054  15120   
        pub(crate) fn set_foo(
14055  15121   
            mut self,
14056  15122   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
14057  15123   
        ) -> Self {
14058  15124   
            /* ServerBuilderGenerator.kt:429 */
14059  15125   
            self.foo = input.map(|v| v.into());
14060  15126   
            self
14061  15127   
            /* ServerBuilderGenerator.kt:428 */
14062  15128   
        }
14063         -
        /* ServerBuilderGenerator.kt:331 */
14064         -
        #[allow(missing_docs)] // documentation missing in model
14065         -
                               /* ServerBuilderGenerator.kt:343 */
14066         -
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
14067         -
            /* ServerBuilderGenerator.kt:344 */
14068         -
            self.string_value =
14069         -
                /* ServerBuilderGenerator.kt:376 */input
14070         -
            /* ServerBuilderGenerator.kt:344 */;
14071         -
            self
14072         -
            /* ServerBuilderGenerator.kt:343 */
       15129  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       15130  +
        /* ServerBuilderGenerator.kt:271 */
       15131  +
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       15132  +
            self.build_enforcing_all_constraints()
14073  15133   
        }
14074         -
        /* ServerBuilderGenerator.kt:426 */
14075         -
        #[allow(missing_docs)] // documentation missing in model
14076         -
                               /* ServerBuilderGenerator.kt:428 */
14077         -
        pub(crate) fn set_string_value(
14078         -
            mut self,
14079         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
14080         -
        ) -> Self {
14081         -
            /* ServerBuilderGenerator.kt:429 */
14082         -
            self.string_value = input.map(|v| v.into());
14083         -
            self
14084         -
            /* ServerBuilderGenerator.kt:428 */
       15134  +
        /* ServerBuilderGenerator.kt:283 */
       15135  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpChecksumRequiredInput {
       15136  +
            /* ServerBuilderGenerator.kt:542 */
       15137  +
            crate::input::HttpChecksumRequiredInput {
       15138  +
                /* ServerBuilderGenerator.kt:546 */
       15139  +
                foo: self.foo,
       15140  +
                /* ServerBuilderGenerator.kt:542 */
       15141  +
            }
       15142  +
            /* ServerBuilderGenerator.kt:283 */
       15143  +
        }
       15144  +
        /* ServerBuilderGenerator.kt:215 */
       15145  +
    }
       15146  +
       15147  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15148  +
}
       15149  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       15150  +
pub mod malformed_request_body_input {
       15151  +
       15152  +
    /* ServerBuilderGenerator.kt:461 */
       15153  +
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
       15154  +
        fn from(builder: Builder) -> Self {
       15155  +
            builder.build()
14085  15156   
        }
       15157  +
    }
       15158  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       15159  +
    /* RustType.kt:534 */
       15160  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15161  +
    /* ServerBuilderGenerator.kt:211 */
       15162  +
    pub struct Builder {
       15163  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) int: ::std::option::Option<i32>,
       15164  +
        /* ServerBuilderGenerator.kt:308 */
       15165  +
        pub(crate) float: ::std::option::Option<f32>,
       15166  +
        /* ServerBuilderGenerator.kt:211 */
       15167  +
    }
       15168  +
    /* ServerBuilderGenerator.kt:215 */
       15169  +
    impl Builder {
14086  15170   
        /* ServerBuilderGenerator.kt:331 */
14087  15171   
        #[allow(missing_docs)] // documentation missing in model
14088  15172   
                               /* ServerBuilderGenerator.kt:343 */
14089         -
        pub fn true_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
       15173  +
        pub fn int(mut self, input: ::std::option::Option<i32>) -> Self {
14090  15174   
            /* ServerBuilderGenerator.kt:344 */
14091         -
            self.true_boolean_value =
       15175  +
            self.int =
14092  15176   
                /* ServerBuilderGenerator.kt:376 */input
14093  15177   
            /* ServerBuilderGenerator.kt:344 */;
14094  15178   
            self
14095  15179   
            /* ServerBuilderGenerator.kt:343 */
14096  15180   
        }
14097  15181   
        /* ServerBuilderGenerator.kt:426 */
14098  15182   
        #[allow(missing_docs)] // documentation missing in model
14099  15183   
                               /* ServerBuilderGenerator.kt:428 */
14100         -
        pub(crate) fn set_true_boolean_value(
14101         -
            mut self,
14102         -
            input: Option<impl ::std::convert::Into<bool>>,
14103         -
        ) -> Self {
       15184  +
        pub(crate) fn set_int(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
14104  15185   
            /* ServerBuilderGenerator.kt:429 */
14105         -
            self.true_boolean_value = input.map(|v| v.into());
       15186  +
            self.int = input.map(|v| v.into());
14106  15187   
            self
14107  15188   
            /* ServerBuilderGenerator.kt:428 */
14108  15189   
        }
14109  15190   
        /* ServerBuilderGenerator.kt:331 */
14110  15191   
        #[allow(missing_docs)] // documentation missing in model
14111  15192   
                               /* ServerBuilderGenerator.kt:343 */
14112         -
        pub fn false_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
       15193  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
14113  15194   
            /* ServerBuilderGenerator.kt:344 */
14114         -
            self.false_boolean_value =
       15195  +
            self.float =
14115  15196   
                /* ServerBuilderGenerator.kt:376 */input
14116  15197   
            /* ServerBuilderGenerator.kt:344 */;
14117  15198   
            self
14118  15199   
            /* ServerBuilderGenerator.kt:343 */
14119  15200   
        }
14120  15201   
        /* ServerBuilderGenerator.kt:426 */
14121  15202   
        #[allow(missing_docs)] // documentation missing in model
14122  15203   
                               /* ServerBuilderGenerator.kt:428 */
14123         -
        pub(crate) fn set_false_boolean_value(
14124         -
            mut self,
14125         -
            input: Option<impl ::std::convert::Into<bool>>,
14126         -
        ) -> Self {
       15204  +
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
14127  15205   
            /* ServerBuilderGenerator.kt:429 */
14128         -
            self.false_boolean_value = input.map(|v| v.into());
       15206  +
            self.float = input.map(|v| v.into());
14129  15207   
            self
14130  15208   
            /* ServerBuilderGenerator.kt:428 */
14131  15209   
        }
14132         -
        /* ServerBuilderGenerator.kt:331 */
14133         -
        #[allow(missing_docs)] // documentation missing in model
14134         -
                               /* ServerBuilderGenerator.kt:343 */
14135         -
        pub fn byte_value(mut self, input: ::std::option::Option<i8>) -> Self {
14136         -
            /* ServerBuilderGenerator.kt:344 */
14137         -
            self.byte_value =
14138         -
                /* ServerBuilderGenerator.kt:376 */input
14139         -
            /* ServerBuilderGenerator.kt:344 */;
14140         -
            self
14141         -
            /* ServerBuilderGenerator.kt:343 */
       15210  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       15211  +
        /* ServerBuilderGenerator.kt:271 */
       15212  +
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
       15213  +
            self.build_enforcing_all_constraints()
14142  15214   
        }
14143         -
        /* ServerBuilderGenerator.kt:426 */
14144         -
        #[allow(missing_docs)] // documentation missing in model
14145         -
                               /* ServerBuilderGenerator.kt:428 */
14146         -
        pub(crate) fn set_byte_value(
14147         -
            mut self,
14148         -
            input: Option<impl ::std::convert::Into<i8>>,
14149         -
        ) -> Self {
14150         -
            /* ServerBuilderGenerator.kt:429 */
14151         -
            self.byte_value = input.map(|v| v.into());
14152         -
            self
14153         -
            /* ServerBuilderGenerator.kt:428 */
       15215  +
        /* ServerBuilderGenerator.kt:283 */
       15216  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedRequestBodyInput {
       15217  +
            /* ServerBuilderGenerator.kt:542 */
       15218  +
            crate::input::MalformedRequestBodyInput {
       15219  +
                /* ServerBuilderGenerator.kt:546 */
       15220  +
                int: self.int,
       15221  +
                /* ServerBuilderGenerator.kt:546 */
       15222  +
                float: self.float,
       15223  +
                /* ServerBuilderGenerator.kt:542 */
       15224  +
            }
       15225  +
            /* ServerBuilderGenerator.kt:283 */
14154  15226   
        }
14155         -
        /* ServerBuilderGenerator.kt:331 */
14156         -
        #[allow(missing_docs)] // documentation missing in model
14157         -
                               /* ServerBuilderGenerator.kt:343 */
14158         -
        pub fn short_value(mut self, input: ::std::option::Option<i16>) -> Self {
14159         -
            /* ServerBuilderGenerator.kt:344 */
14160         -
            self.short_value =
14161         -
                /* ServerBuilderGenerator.kt:376 */input
14162         -
            /* ServerBuilderGenerator.kt:344 */;
14163         -
            self
14164         -
            /* ServerBuilderGenerator.kt:343 */
       15227  +
        /* ServerBuilderGenerator.kt:215 */
       15228  +
    }
       15229  +
       15230  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15231  +
}
       15232  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       15233  +
pub mod malformed_integer_input {
       15234  +
       15235  +
    /* RustType.kt:534 */
       15236  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       15237  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       15238  +
    /* RustType.kt:534 */
       15239  +
    #[non_exhaustive]
       15240  +
    /* ServerBuilderConstraintViolations.kt:75 */
       15241  +
    #[allow(clippy::enum_variant_names)]
       15242  +
    pub enum ConstraintViolation {
       15243  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
       15244  +
        /* ServerBuilderConstraintViolations.kt:144 */
       15245  +
        MissingIntegerInPath,
       15246  +
        /* ServerBuilderConstraintViolations.kt:75 */
       15247  +
    }
       15248  +
    /* ServerBuilderConstraintViolations.kt:116 */
       15249  +
    impl ::std::fmt::Display for ConstraintViolation {
       15250  +
        /* ServerBuilderConstraintViolations.kt:117 */
       15251  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       15252  +
            /* ServerBuilderConstraintViolations.kt:118 */
       15253  +
            match self {
       15254  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
       15255  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       15256  +
            /* ServerBuilderConstraintViolations.kt:117 */
14165  15257   
        }
14166         -
        /* ServerBuilderGenerator.kt:426 */
14167         -
        #[allow(missing_docs)] // documentation missing in model
14168         -
                               /* ServerBuilderGenerator.kt:428 */
14169         -
        pub(crate) fn set_short_value(
14170         -
            mut self,
14171         -
            input: Option<impl ::std::convert::Into<i16>>,
14172         -
        ) -> Self {
14173         -
            /* ServerBuilderGenerator.kt:429 */
14174         -
            self.short_value = input.map(|v| v.into());
14175         -
            self
14176         -
            /* ServerBuilderGenerator.kt:428 */
       15258  +
        /* ServerBuilderConstraintViolations.kt:116 */
       15259  +
    }
       15260  +
    /* ServerBuilderConstraintViolations.kt:83 */
       15261  +
    impl ::std::error::Error for ConstraintViolation {}
       15262  +
    /* ServerBuilderConstraintViolations.kt:172 */
       15263  +
    impl ConstraintViolation {
       15264  +
        pub(crate) fn as_validation_exception_field(
       15265  +
            self,
       15266  +
            path: ::std::string::String,
       15267  +
        ) -> crate::model::ValidationExceptionField {
       15268  +
            match self {
       15269  +
            ConstraintViolation::MissingIntegerInPath => crate::model::ValidationExceptionField {
       15270  +
                                                message: format!("Value at '{}/integerInPath' failed to satisfy constraint: Member must not be null", path),
       15271  +
                                                path: path + "/integerInPath",
       15272  +
                                            },
       15273  +
        }
       15274  +
        }
       15275  +
    }
       15276  +
    /* ServerBuilderGenerator.kt:234 */
       15277  +
    impl ::std::convert::From<ConstraintViolation>
       15278  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       15279  +
    {
       15280  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       15281  +
            let first_validation_exception_field =
       15282  +
                constraint_violation.as_validation_exception_field("".to_owned());
       15283  +
            let validation_exception = crate::error::ValidationException {
       15284  +
                message: format!(
       15285  +
                    "1 validation error detected. {}",
       15286  +
                    &first_validation_exception_field.message
       15287  +
                ),
       15288  +
                field_list: Some(vec![first_validation_exception_field]),
       15289  +
            };
       15290  +
            Self::ConstraintViolation(
       15291  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       15292  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       15293  +
                            )
       15294  +
        }
       15295  +
    }
       15296  +
    /* ServerBuilderGenerator.kt:244 */
       15297  +
    impl ::std::convert::From<Builder>
       15298  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedIntegerInput>
       15299  +
    {
       15300  +
        fn from(builder: Builder) -> Self {
       15301  +
            Self::Unconstrained(builder)
       15302  +
        }
       15303  +
    }
       15304  +
    /* ServerBuilderGenerator.kt:446 */
       15305  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
       15306  +
        type Error = ConstraintViolation;
       15307  +
       15308  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       15309  +
            builder.build()
14177  15310   
        }
       15311  +
    }
       15312  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       15313  +
    /* RustType.kt:534 */
       15314  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15315  +
    /* ServerBuilderGenerator.kt:211 */
       15316  +
    pub struct Builder {
       15317  +
        /* ServerBuilderGenerator.kt:308 */
       15318  +
        pub(crate) integer_in_body: ::std::option::Option<i32>,
       15319  +
        /* ServerBuilderGenerator.kt:308 */
       15320  +
        pub(crate) integer_in_path: ::std::option::Option<i32>,
       15321  +
        /* ServerBuilderGenerator.kt:308 */
       15322  +
        pub(crate) integer_in_query: ::std::option::Option<i32>,
       15323  +
        /* ServerBuilderGenerator.kt:308 */
       15324  +
        pub(crate) integer_in_header: ::std::option::Option<i32>,
       15325  +
        /* ServerBuilderGenerator.kt:211 */
       15326  +
    }
       15327  +
    /* ServerBuilderGenerator.kt:215 */
       15328  +
    impl Builder {
14178  15329   
        /* ServerBuilderGenerator.kt:331 */
14179  15330   
        #[allow(missing_docs)] // documentation missing in model
14180  15331   
                               /* ServerBuilderGenerator.kt:343 */
14181         -
        pub fn integer_value(mut self, input: ::std::option::Option<i32>) -> Self {
       15332  +
        pub fn integer_in_body(mut self, input: ::std::option::Option<i32>) -> Self {
14182  15333   
            /* ServerBuilderGenerator.kt:344 */
14183         -
            self.integer_value =
       15334  +
            self.integer_in_body =
14184  15335   
                /* ServerBuilderGenerator.kt:376 */input
14185  15336   
            /* ServerBuilderGenerator.kt:344 */;
14186  15337   
            self
14187  15338   
            /* ServerBuilderGenerator.kt:343 */
14188  15339   
        }
14189  15340   
        /* ServerBuilderGenerator.kt:426 */
14190  15341   
        #[allow(missing_docs)] // documentation missing in model
14191  15342   
                               /* ServerBuilderGenerator.kt:428 */
14192         -
        pub(crate) fn set_integer_value(
       15343  +
        pub(crate) fn set_integer_in_body(
14193  15344   
            mut self,
14194  15345   
            input: Option<impl ::std::convert::Into<i32>>,
14195  15346   
        ) -> Self {
14196  15347   
            /* ServerBuilderGenerator.kt:429 */
14197         -
            self.integer_value = input.map(|v| v.into());
       15348  +
            self.integer_in_body = input.map(|v| v.into());
14198  15349   
            self
14199  15350   
            /* ServerBuilderGenerator.kt:428 */
14200  15351   
        }
14201  15352   
        /* ServerBuilderGenerator.kt:331 */
14202  15353   
        #[allow(missing_docs)] // documentation missing in model
14203  15354   
                               /* ServerBuilderGenerator.kt:343 */
14204         -
        pub fn long_value(mut self, input: ::std::option::Option<i64>) -> Self {
       15355  +
        pub fn integer_in_path(mut self, input: i32) -> Self {
14205  15356   
            /* ServerBuilderGenerator.kt:344 */
14206         -
            self.long_value =
14207         -
                /* ServerBuilderGenerator.kt:376 */input
       15357  +
            self.integer_in_path =
       15358  +
                /* ServerBuilderGenerator.kt:345 */Some(
       15359  +
                    /* ServerBuilderGenerator.kt:376 */input
       15360  +
                /* ServerBuilderGenerator.kt:345 */)
14208  15361   
            /* ServerBuilderGenerator.kt:344 */;
14209  15362   
            self
14210  15363   
            /* ServerBuilderGenerator.kt:343 */
14211  15364   
        }
14212  15365   
        /* ServerBuilderGenerator.kt:426 */
14213  15366   
        #[allow(missing_docs)] // documentation missing in model
14214  15367   
                               /* ServerBuilderGenerator.kt:428 */
14215         -
        pub(crate) fn set_long_value(
14216         -
            mut self,
14217         -
            input: Option<impl ::std::convert::Into<i64>>,
14218         -
        ) -> Self {
       15368  +
        pub(crate) fn set_integer_in_path(mut self, input: impl ::std::convert::Into<i32>) -> Self {
14219  15369   
            /* ServerBuilderGenerator.kt:429 */
14220         -
            self.long_value = input.map(|v| v.into());
       15370  +
            self.integer_in_path = Some(input.into());
14221  15371   
            self
14222  15372   
            /* ServerBuilderGenerator.kt:428 */
14223  15373   
        }
14224  15374   
        /* ServerBuilderGenerator.kt:331 */
14225  15375   
        #[allow(missing_docs)] // documentation missing in model
14226  15376   
                               /* ServerBuilderGenerator.kt:343 */
14227         -
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
       15377  +
        pub fn integer_in_query(mut self, input: ::std::option::Option<i32>) -> Self {
14228  15378   
            /* ServerBuilderGenerator.kt:344 */
14229         -
            self.float_value =
       15379  +
            self.integer_in_query =
14230  15380   
                /* ServerBuilderGenerator.kt:376 */input
14231  15381   
            /* ServerBuilderGenerator.kt:344 */;
14232  15382   
            self
14233  15383   
            /* ServerBuilderGenerator.kt:343 */
14234  15384   
        }
14235  15385   
        /* ServerBuilderGenerator.kt:426 */
14236  15386   
        #[allow(missing_docs)] // documentation missing in model
14237  15387   
                               /* ServerBuilderGenerator.kt:428 */
14238         -
        pub(crate) fn set_float_value(
       15388  +
        pub(crate) fn set_integer_in_query(
14239  15389   
            mut self,
14240         -
            input: Option<impl ::std::convert::Into<f32>>,
       15390  +
            input: Option<impl ::std::convert::Into<i32>>,
14241  15391   
        ) -> Self {
14242  15392   
            /* ServerBuilderGenerator.kt:429 */
14243         -
            self.float_value = input.map(|v| v.into());
       15393  +
            self.integer_in_query = input.map(|v| v.into());
14244  15394   
            self
14245  15395   
            /* ServerBuilderGenerator.kt:428 */
14246  15396   
        }
14247  15397   
        /* ServerBuilderGenerator.kt:331 */
14248  15398   
        #[allow(missing_docs)] // documentation missing in model
14249  15399   
                               /* ServerBuilderGenerator.kt:343 */
14250         -
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
       15400  +
        pub fn integer_in_header(mut self, input: ::std::option::Option<i32>) -> Self {
14251  15401   
            /* ServerBuilderGenerator.kt:344 */
14252         -
            self.double_value =
       15402  +
            self.integer_in_header =
14253  15403   
                /* ServerBuilderGenerator.kt:376 */input
14254  15404   
            /* ServerBuilderGenerator.kt:344 */;
14255  15405   
            self
14256  15406   
            /* ServerBuilderGenerator.kt:343 */
14257  15407   
        }
14258  15408   
        /* ServerBuilderGenerator.kt:426 */
14259  15409   
        #[allow(missing_docs)] // documentation missing in model
14260  15410   
                               /* ServerBuilderGenerator.kt:428 */
14261         -
        pub(crate) fn set_double_value(
       15411  +
        pub(crate) fn set_integer_in_header(
14262  15412   
            mut self,
14263         -
            input: Option<impl ::std::convert::Into<f64>>,
       15413  +
            input: Option<impl ::std::convert::Into<i32>>,
14264  15414   
        ) -> Self {
14265  15415   
            /* ServerBuilderGenerator.kt:429 */
14266         -
            self.double_value = input.map(|v| v.into());
       15416  +
            self.integer_in_header = input.map(|v| v.into());
14267  15417   
            self
14268  15418   
            /* ServerBuilderGenerator.kt:428 */
14269  15419   
        }
14270         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       15420  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       15421  +
        /// /* ServerBuilderGenerator.kt:260 */
       15422  +
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if a [`ConstraintViolation`] occurs.
       15423  +
        ///
14271  15424   
        /* ServerBuilderGenerator.kt:271 */
14272         -
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
       15425  +
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
14273  15426   
            self.build_enforcing_all_constraints()
14274  15427   
        }
14275  15428   
        /* ServerBuilderGenerator.kt:283 */
14276         -
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
14277         -
            /* ServerBuilderGenerator.kt:542 */
14278         -
            crate::input::SimpleScalarPropertiesInput {
14279         -
                /* ServerBuilderGenerator.kt:546 */
14280         -
                foo: self.foo,
14281         -
                /* ServerBuilderGenerator.kt:546 */
14282         -
                string_value: self.string_value,
14283         -
                /* ServerBuilderGenerator.kt:546 */
14284         -
                true_boolean_value: self.true_boolean_value,
14285         -
                /* ServerBuilderGenerator.kt:546 */
14286         -
                false_boolean_value: self.false_boolean_value,
14287         -
                /* ServerBuilderGenerator.kt:546 */
14288         -
                byte_value: self.byte_value,
14289         -
                /* ServerBuilderGenerator.kt:546 */
14290         -
                short_value: self.short_value,
14291         -
                /* ServerBuilderGenerator.kt:546 */
14292         -
                integer_value: self.integer_value,
14293         -
                /* ServerBuilderGenerator.kt:546 */
14294         -
                long_value: self.long_value,
14295         -
                /* ServerBuilderGenerator.kt:546 */
14296         -
                float_value: self.float_value,
14297         -
                /* ServerBuilderGenerator.kt:546 */
14298         -
                double_value: self.double_value,
       15429  +
        fn build_enforcing_all_constraints(
       15430  +
            self,
       15431  +
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       15432  +
            /* ServerBuilderGenerator.kt:287 */
       15433  +
            Ok(
14299  15434   
                /* ServerBuilderGenerator.kt:542 */
14300         -
            }
       15435  +
                crate::input::MalformedIntegerInput {
       15436  +
                    /* ServerBuilderGenerator.kt:546 */
       15437  +
                    integer_in_body: self.integer_in_body,
       15438  +
                    /* ServerBuilderGenerator.kt:546 */
       15439  +
                    integer_in_path: self
       15440  +
                        .integer_in_path
       15441  +
                        /* ServerBuilderGenerator.kt:569 */
       15442  +
                        .ok_or(ConstraintViolation::MissingIntegerInPath)?,
       15443  +
                    /* ServerBuilderGenerator.kt:546 */
       15444  +
                    integer_in_query: self.integer_in_query,
       15445  +
                    /* ServerBuilderGenerator.kt:546 */
       15446  +
                    integer_in_header: self.integer_in_header,
       15447  +
                    /* ServerBuilderGenerator.kt:542 */
       15448  +
                }, /* ServerBuilderGenerator.kt:287 */
       15449  +
            )
14301  15450   
            /* ServerBuilderGenerator.kt:283 */
14302  15451   
        }
14303  15452   
        /* ServerBuilderGenerator.kt:215 */
14304  15453   
    }
14305  15454   
14306  15455   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14307  15456   
}
14308         -
/// /* ServerBuilderGenerator.kt:171 */See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
14309         -
pub mod greeting_with_errors_input {
       15457  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       15458  +
pub mod malformed_union_input {
14310  15459   
14311  15460   
    /* ServerBuilderGenerator.kt:461 */
14312         -
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
       15461  +
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
14313  15462   
        fn from(builder: Builder) -> Self {
14314  15463   
            builder.build()
14315  15464   
        }
14316  15465   
    }
14317         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       15466  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
14318  15467   
    /* RustType.kt:534 */
14319  15468   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14320  15469   
    /* ServerBuilderGenerator.kt:211 */
14321         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
14322         -
    /* ServerBuilderGenerator.kt:215 */
14323         -
    impl Builder {
14324         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
14325         -
        /* ServerBuilderGenerator.kt:271 */
14326         -
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
14327         -
            self.build_enforcing_all_constraints()
14328         -
        }
14329         -
        /* ServerBuilderGenerator.kt:283 */
14330         -
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
14331         -
            /* ServerBuilderGenerator.kt:542 */
14332         -
            crate::input::GreetingWithErrorsInput {
14333         -
            /* ServerBuilderGenerator.kt:542 */}
14334         -
            /* ServerBuilderGenerator.kt:283 */
14335         -
        }
14336         -
        /* ServerBuilderGenerator.kt:215 */
14337         -
    }
14338         -
14339         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14340         -
}
14341         -
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
14342         -
pub mod streaming_traits_with_media_type_input {
14343         -
14344         -
    /* ServerBuilderGenerator.kt:461 */
14345         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
14346         -
        fn from(builder: Builder) -> Self {
14347         -
            builder.build()
14348         -
        }
14349         -
    }
14350         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
14351         -
    /* RustType.kt:534 */
14352         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
14353         -
    /* ServerBuilderGenerator.kt:211 */
14354  15470   
    pub struct Builder {
14355  15471   
        /* ServerBuilderGenerator.kt:308 */
14356         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
14357         -
        /* ServerBuilderGenerator.kt:308 */
14358         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
       15472  +
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
14359  15473   
        /* ServerBuilderGenerator.kt:211 */
14360  15474   
    }
14361  15475   
    /* ServerBuilderGenerator.kt:215 */
14362  15476   
    impl Builder {
14363  15477   
        /* ServerBuilderGenerator.kt:331 */
14364  15478   
        #[allow(missing_docs)] // documentation missing in model
14365  15479   
                               /* ServerBuilderGenerator.kt:343 */
14366         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15480  +
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
14367  15481   
            /* ServerBuilderGenerator.kt:344 */
14368         -
            self.foo =
       15482  +
            self.union =
14369  15483   
                /* ServerBuilderGenerator.kt:376 */input
14370  15484   
            /* ServerBuilderGenerator.kt:344 */;
14371  15485   
            self
14372  15486   
            /* ServerBuilderGenerator.kt:343 */
14373  15487   
        }
14374  15488   
        /* ServerBuilderGenerator.kt:426 */
14375  15489   
        #[allow(missing_docs)] // documentation missing in model
14376  15490   
                               /* ServerBuilderGenerator.kt:428 */
14377         -
        pub(crate) fn set_foo(
14378         -
            mut self,
14379         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
14380         -
        ) -> Self {
14381         -
            /* ServerBuilderGenerator.kt:429 */
14382         -
            self.foo = input.map(|v| v.into());
14383         -
            self
14384         -
            /* ServerBuilderGenerator.kt:428 */
14385         -
        }
14386         -
        /* ServerBuilderGenerator.kt:331 */
14387         -
        #[allow(missing_docs)] // documentation missing in model
14388         -
                               /* ServerBuilderGenerator.kt:343 */
14389         -
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
14390         -
            /* ServerBuilderGenerator.kt:344 */
14391         -
            self.blob =
14392         -
                /* ServerBuilderGenerator.kt:345 */Some(
14393         -
                    /* ServerBuilderGenerator.kt:376 */input
14394         -
                /* ServerBuilderGenerator.kt:345 */)
14395         -
            /* ServerBuilderGenerator.kt:344 */;
14396         -
            self
14397         -
            /* ServerBuilderGenerator.kt:343 */
14398         -
        }
14399         -
        /* ServerBuilderGenerator.kt:426 */
14400         -
        #[allow(missing_docs)] // documentation missing in model
14401         -
                               /* ServerBuilderGenerator.kt:428 */
14402         -
        pub(crate) fn set_blob(
       15491  +
        pub(crate) fn set_union(
14403  15492   
            mut self,
14404         -
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
       15493  +
            input: Option<impl ::std::convert::Into<crate::model::SimpleUnion>>,
14405  15494   
        ) -> Self {
14406  15495   
            /* ServerBuilderGenerator.kt:429 */
14407         -
            self.blob = Some(input.into());
       15496  +
            self.union = input.map(|v| v.into());
14408  15497   
            self
14409  15498   
            /* ServerBuilderGenerator.kt:428 */
14410  15499   
        }
14411         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       15500  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
14412  15501   
        /* ServerBuilderGenerator.kt:271 */
14413         -
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
       15502  +
        pub fn build(self) -> crate::input::MalformedUnionInput {
14414  15503   
            self.build_enforcing_all_constraints()
14415  15504   
        }
14416  15505   
        /* ServerBuilderGenerator.kt:283 */
14417         -
        fn build_enforcing_all_constraints(
14418         -
            self,
14419         -
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
       15506  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedUnionInput {
14420  15507   
            /* ServerBuilderGenerator.kt:542 */
14421         -
            crate::input::StreamingTraitsWithMediaTypeInput {
14422         -
                /* ServerBuilderGenerator.kt:546 */
14423         -
                foo: self.foo,
       15508  +
            crate::input::MalformedUnionInput {
14424  15509   
                /* ServerBuilderGenerator.kt:546 */
14425         -
                blob: self
14426         -
                    .blob
14427         -
                    /* ServerBuilderGeneratorCommon.kt:95 */
14428         -
                    .unwrap_or_default(),
       15510  +
                union: self.union,
14429  15511   
                /* ServerBuilderGenerator.kt:542 */
14430  15512   
            }
14431  15513   
            /* ServerBuilderGenerator.kt:283 */
14432  15514   
        }
14433         -
        /* ServerBuilderGenerator.kt:215 */
       15515  +
        /* ServerBuilderGenerator.kt:215 */
       15516  +
    }
       15517  +
       15518  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15519  +
}
       15520  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       15521  +
pub mod malformed_boolean_input {
       15522  +
       15523  +
    /* RustType.kt:534 */
       15524  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       15525  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       15526  +
    /* RustType.kt:534 */
       15527  +
    #[non_exhaustive]
       15528  +
    /* ServerBuilderConstraintViolations.kt:75 */
       15529  +
    #[allow(clippy::enum_variant_names)]
       15530  +
    pub enum ConstraintViolation {
       15531  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
       15532  +
        /* ServerBuilderConstraintViolations.kt:144 */
       15533  +
        MissingBooleanInPath,
       15534  +
        /* ServerBuilderConstraintViolations.kt:75 */
       15535  +
    }
       15536  +
    /* ServerBuilderConstraintViolations.kt:116 */
       15537  +
    impl ::std::fmt::Display for ConstraintViolation {
       15538  +
        /* ServerBuilderConstraintViolations.kt:117 */
       15539  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       15540  +
            /* ServerBuilderConstraintViolations.kt:118 */
       15541  +
            match self {
       15542  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
       15543  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       15544  +
            /* ServerBuilderConstraintViolations.kt:117 */
       15545  +
        }
       15546  +
        /* ServerBuilderConstraintViolations.kt:116 */
       15547  +
    }
       15548  +
    /* ServerBuilderConstraintViolations.kt:83 */
       15549  +
    impl ::std::error::Error for ConstraintViolation {}
       15550  +
    /* ServerBuilderConstraintViolations.kt:172 */
       15551  +
    impl ConstraintViolation {
       15552  +
        pub(crate) fn as_validation_exception_field(
       15553  +
            self,
       15554  +
            path: ::std::string::String,
       15555  +
        ) -> crate::model::ValidationExceptionField {
       15556  +
            match self {
       15557  +
            ConstraintViolation::MissingBooleanInPath => crate::model::ValidationExceptionField {
       15558  +
                                                message: format!("Value at '{}/booleanInPath' failed to satisfy constraint: Member must not be null", path),
       15559  +
                                                path: path + "/booleanInPath",
       15560  +
                                            },
       15561  +
        }
       15562  +
        }
       15563  +
    }
       15564  +
    /* ServerBuilderGenerator.kt:234 */
       15565  +
    impl ::std::convert::From<ConstraintViolation>
       15566  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       15567  +
    {
       15568  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       15569  +
            let first_validation_exception_field =
       15570  +
                constraint_violation.as_validation_exception_field("".to_owned());
       15571  +
            let validation_exception = crate::error::ValidationException {
       15572  +
                message: format!(
       15573  +
                    "1 validation error detected. {}",
       15574  +
                    &first_validation_exception_field.message
       15575  +
                ),
       15576  +
                field_list: Some(vec![first_validation_exception_field]),
       15577  +
            };
       15578  +
            Self::ConstraintViolation(
       15579  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       15580  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       15581  +
                            )
       15582  +
        }
       15583  +
    }
       15584  +
    /* ServerBuilderGenerator.kt:244 */
       15585  +
    impl ::std::convert::From<Builder>
       15586  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedBooleanInput>
       15587  +
    {
       15588  +
        fn from(builder: Builder) -> Self {
       15589  +
            Self::Unconstrained(builder)
       15590  +
        }
14434  15591   
    }
       15592  +
    /* ServerBuilderGenerator.kt:446 */
       15593  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
       15594  +
        type Error = ConstraintViolation;
14435  15595   
14436         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14437         -
}
14438         -
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
14439         -
pub mod streaming_traits_require_length_input {
14440         -
14441         -
    /* ServerBuilderGenerator.kt:461 */
14442         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
14443         -
        fn from(builder: Builder) -> Self {
       15596  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
14444  15597   
            builder.build()
14445  15598   
        }
14446  15599   
    }
14447         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       15600  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
14448  15601   
    /* RustType.kt:534 */
14449         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       15602  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14450  15603   
    /* ServerBuilderGenerator.kt:211 */
14451  15604   
    pub struct Builder {
14452  15605   
        /* ServerBuilderGenerator.kt:308 */
14453         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       15606  +
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
14454  15607   
        /* ServerBuilderGenerator.kt:308 */
14455         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
       15608  +
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
       15609  +
        /* ServerBuilderGenerator.kt:308 */
       15610  +
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
       15611  +
        /* ServerBuilderGenerator.kt:308 */
       15612  +
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
14456  15613   
        /* ServerBuilderGenerator.kt:211 */
14457  15614   
    }
14458  15615   
    /* ServerBuilderGenerator.kt:215 */
14459  15616   
    impl Builder {
14460  15617   
        /* ServerBuilderGenerator.kt:331 */
14461  15618   
        #[allow(missing_docs)] // documentation missing in model
14462  15619   
                               /* ServerBuilderGenerator.kt:343 */
14463         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15620  +
        pub fn boolean_in_body(mut self, input: ::std::option::Option<bool>) -> Self {
14464  15621   
            /* ServerBuilderGenerator.kt:344 */
14465         -
            self.foo =
       15622  +
            self.boolean_in_body =
14466  15623   
                /* ServerBuilderGenerator.kt:376 */input
14467  15624   
            /* ServerBuilderGenerator.kt:344 */;
14468  15625   
            self
14469  15626   
            /* ServerBuilderGenerator.kt:343 */
14470  15627   
        }
14471  15628   
        /* ServerBuilderGenerator.kt:426 */
14472  15629   
        #[allow(missing_docs)] // documentation missing in model
14473  15630   
                               /* ServerBuilderGenerator.kt:428 */
14474         -
        pub(crate) fn set_foo(
       15631  +
        pub(crate) fn set_boolean_in_body(
14475  15632   
            mut self,
14476         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15633  +
            input: Option<impl ::std::convert::Into<bool>>,
14477  15634   
        ) -> Self {
14478  15635   
            /* ServerBuilderGenerator.kt:429 */
14479         -
            self.foo = input.map(|v| v.into());
       15636  +
            self.boolean_in_body = input.map(|v| v.into());
14480  15637   
            self
14481  15638   
            /* ServerBuilderGenerator.kt:428 */
14482  15639   
        }
14483  15640   
        /* ServerBuilderGenerator.kt:331 */
14484  15641   
        #[allow(missing_docs)] // documentation missing in model
14485  15642   
                               /* ServerBuilderGenerator.kt:343 */
14486         -
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
       15643  +
        pub fn boolean_in_path(mut self, input: bool) -> Self {
14487  15644   
            /* ServerBuilderGenerator.kt:344 */
14488         -
            self.blob =
       15645  +
            self.boolean_in_path =
14489  15646   
                /* ServerBuilderGenerator.kt:345 */Some(
14490  15647   
                    /* ServerBuilderGenerator.kt:376 */input
14491  15648   
                /* ServerBuilderGenerator.kt:345 */)
14492  15649   
            /* ServerBuilderGenerator.kt:344 */;
14493  15650   
            self
14494  15651   
            /* ServerBuilderGenerator.kt:343 */
14495  15652   
        }
14496  15653   
        /* ServerBuilderGenerator.kt:426 */
14497  15654   
        #[allow(missing_docs)] // documentation missing in model
14498  15655   
                               /* ServerBuilderGenerator.kt:428 */
14499         -
        pub(crate) fn set_blob(
       15656  +
        pub(crate) fn set_boolean_in_path(
14500  15657   
            mut self,
14501         -
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
       15658  +
            input: impl ::std::convert::Into<bool>,
14502  15659   
        ) -> Self {
14503  15660   
            /* ServerBuilderGenerator.kt:429 */
14504         -
            self.blob = Some(input.into());
       15661  +
            self.boolean_in_path = Some(input.into());
14505  15662   
            self
14506  15663   
            /* ServerBuilderGenerator.kt:428 */
14507  15664   
        }
14508         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
14509         -
        /* ServerBuilderGenerator.kt:271 */
14510         -
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
14511         -
            self.build_enforcing_all_constraints()
14512         -
        }
14513         -
        /* ServerBuilderGenerator.kt:283 */
14514         -
        fn build_enforcing_all_constraints(
14515         -
            self,
14516         -
        ) -> crate::input::StreamingTraitsRequireLengthInput {
14517         -
            /* ServerBuilderGenerator.kt:542 */
14518         -
            crate::input::StreamingTraitsRequireLengthInput {
14519         -
                /* ServerBuilderGenerator.kt:546 */
14520         -
                foo: self.foo,
14521         -
                /* ServerBuilderGenerator.kt:546 */
14522         -
                blob: self
14523         -
                    .blob
14524         -
                    /* ServerBuilderGeneratorCommon.kt:95 */
14525         -
                    .unwrap_or_default(),
14526         -
                /* ServerBuilderGenerator.kt:542 */
14527         -
            }
14528         -
            /* ServerBuilderGenerator.kt:283 */
14529         -
        }
14530         -
        /* ServerBuilderGenerator.kt:215 */
14531         -
    }
14532         -
14533         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14534         -
}
14535         -
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
14536         -
pub mod streaming_traits_input {
14537         -
14538         -
    /* ServerBuilderGenerator.kt:461 */
14539         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
14540         -
        fn from(builder: Builder) -> Self {
14541         -
            builder.build()
14542         -
        }
14543         -
    }
14544         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
14545         -
    /* RustType.kt:534 */
14546         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
14547         -
    /* ServerBuilderGenerator.kt:211 */
14548         -
    pub struct Builder {
14549         -
        /* ServerBuilderGenerator.kt:308 */
14550         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
14551         -
        /* ServerBuilderGenerator.kt:308 */
14552         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
14553         -
        /* ServerBuilderGenerator.kt:211 */
14554         -
    }
14555         -
    /* ServerBuilderGenerator.kt:215 */
14556         -
    impl Builder {
14557  15665   
        /* ServerBuilderGenerator.kt:331 */
14558  15666   
        #[allow(missing_docs)] // documentation missing in model
14559  15667   
                               /* ServerBuilderGenerator.kt:343 */
14560         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15668  +
        pub fn boolean_in_query(mut self, input: ::std::option::Option<bool>) -> Self {
14561  15669   
            /* ServerBuilderGenerator.kt:344 */
14562         -
            self.foo =
       15670  +
            self.boolean_in_query =
14563  15671   
                /* ServerBuilderGenerator.kt:376 */input
14564  15672   
            /* ServerBuilderGenerator.kt:344 */;
14565  15673   
            self
14566  15674   
            /* ServerBuilderGenerator.kt:343 */
14567  15675   
        }
14568  15676   
        /* ServerBuilderGenerator.kt:426 */
14569  15677   
        #[allow(missing_docs)] // documentation missing in model
14570  15678   
                               /* ServerBuilderGenerator.kt:428 */
14571         -
        pub(crate) fn set_foo(
       15679  +
        pub(crate) fn set_boolean_in_query(
14572  15680   
            mut self,
14573         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15681  +
            input: Option<impl ::std::convert::Into<bool>>,
14574  15682   
        ) -> Self {
14575  15683   
            /* ServerBuilderGenerator.kt:429 */
14576         -
            self.foo = input.map(|v| v.into());
       15684  +
            self.boolean_in_query = input.map(|v| v.into());
14577  15685   
            self
14578  15686   
            /* ServerBuilderGenerator.kt:428 */
14579  15687   
        }
14580  15688   
        /* ServerBuilderGenerator.kt:331 */
14581  15689   
        #[allow(missing_docs)] // documentation missing in model
14582  15690   
                               /* ServerBuilderGenerator.kt:343 */
14583         -
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
       15691  +
        pub fn boolean_in_header(mut self, input: ::std::option::Option<bool>) -> Self {
14584  15692   
            /* ServerBuilderGenerator.kt:344 */
14585         -
            self.blob =
14586         -
                /* ServerBuilderGenerator.kt:345 */Some(
14587         -
                    /* ServerBuilderGenerator.kt:376 */input
14588         -
                /* ServerBuilderGenerator.kt:345 */)
       15693  +
            self.boolean_in_header =
       15694  +
                /* ServerBuilderGenerator.kt:376 */input
14589  15695   
            /* ServerBuilderGenerator.kt:344 */;
14590  15696   
            self
14591  15697   
            /* ServerBuilderGenerator.kt:343 */
14592  15698   
        }
14593  15699   
        /* ServerBuilderGenerator.kt:426 */
14594  15700   
        #[allow(missing_docs)] // documentation missing in model
14595  15701   
                               /* ServerBuilderGenerator.kt:428 */
14596         -
        pub(crate) fn set_blob(
       15702  +
        pub(crate) fn set_boolean_in_header(
14597  15703   
            mut self,
14598         -
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
       15704  +
            input: Option<impl ::std::convert::Into<bool>>,
14599  15705   
        ) -> Self {
14600  15706   
            /* ServerBuilderGenerator.kt:429 */
14601         -
            self.blob = Some(input.into());
       15707  +
            self.boolean_in_header = input.map(|v| v.into());
14602  15708   
            self
14603  15709   
            /* ServerBuilderGenerator.kt:428 */
14604  15710   
        }
14605         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       15711  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       15712  +
        /// /* ServerBuilderGenerator.kt:260 */
       15713  +
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if a [`ConstraintViolation`] occurs.
       15714  +
        ///
14606  15715   
        /* ServerBuilderGenerator.kt:271 */
14607         -
        pub fn build(self) -> crate::input::StreamingTraitsInput {
       15716  +
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
14608  15717   
            self.build_enforcing_all_constraints()
14609  15718   
        }
14610  15719   
        /* ServerBuilderGenerator.kt:283 */
14611         -
        fn build_enforcing_all_constraints(self) -> crate::input::StreamingTraitsInput {
14612         -
            /* ServerBuilderGenerator.kt:542 */
14613         -
            crate::input::StreamingTraitsInput {
14614         -
                /* ServerBuilderGenerator.kt:546 */
14615         -
                foo: self.foo,
14616         -
                /* ServerBuilderGenerator.kt:546 */
14617         -
                blob: self
14618         -
                    .blob
14619         -
                    /* ServerBuilderGeneratorCommon.kt:95 */
14620         -
                    .unwrap_or_default(),
       15720  +
        fn build_enforcing_all_constraints(
       15721  +
            self,
       15722  +
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       15723  +
            /* ServerBuilderGenerator.kt:287 */
       15724  +
            Ok(
14621  15725   
                /* ServerBuilderGenerator.kt:542 */
14622         -
            }
       15726  +
                crate::input::MalformedBooleanInput {
       15727  +
                    /* ServerBuilderGenerator.kt:546 */
       15728  +
                    boolean_in_body: self.boolean_in_body,
       15729  +
                    /* ServerBuilderGenerator.kt:546 */
       15730  +
                    boolean_in_path: self
       15731  +
                        .boolean_in_path
       15732  +
                        /* ServerBuilderGenerator.kt:569 */
       15733  +
                        .ok_or(ConstraintViolation::MissingBooleanInPath)?,
       15734  +
                    /* ServerBuilderGenerator.kt:546 */
       15735  +
                    boolean_in_query: self.boolean_in_query,
       15736  +
                    /* ServerBuilderGenerator.kt:546 */
       15737  +
                    boolean_in_header: self.boolean_in_header,
       15738  +
                    /* ServerBuilderGenerator.kt:542 */
       15739  +
                }, /* ServerBuilderGenerator.kt:287 */
       15740  +
            )
14623  15741   
            /* ServerBuilderGenerator.kt:283 */
14624  15742   
        }
14625  15743   
        /* ServerBuilderGenerator.kt:215 */
14626  15744   
    }
14627  15745   
14628  15746   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14629  15747   
}
14630         -
/// /* ServerBuilderGenerator.kt:171 */See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
14631         -
pub mod response_code_http_fallback_input {
       15748  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedListInput`](crate::input::MalformedListInput).
       15749  +
pub mod malformed_list_input {
14632  15750   
14633  15751   
    /* ServerBuilderGenerator.kt:461 */
14634         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
       15752  +
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
14635  15753   
        fn from(builder: Builder) -> Self {
14636  15754   
            builder.build()
14637  15755   
        }
14638  15756   
    }
14639         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       15757  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedListInput`](crate::input::MalformedListInput).
14640  15758   
    /* RustType.kt:534 */
14641  15759   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14642  15760   
    /* ServerBuilderGenerator.kt:211 */
14643         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
14644         -
    /* ServerBuilderGenerator.kt:215 */
14645         -
    impl Builder {
14646         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
14647         -
        /* ServerBuilderGenerator.kt:271 */
14648         -
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
14649         -
            self.build_enforcing_all_constraints()
14650         -
        }
14651         -
        /* ServerBuilderGenerator.kt:283 */
14652         -
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeHttpFallbackInput {
14653         -
            /* ServerBuilderGenerator.kt:542 */
14654         -
            crate::input::ResponseCodeHttpFallbackInput {
14655         -
            /* ServerBuilderGenerator.kt:542 */}
14656         -
            /* ServerBuilderGenerator.kt:283 */
14657         -
        }
14658         -
        /* ServerBuilderGenerator.kt:215 */
14659         -
    }
14660         -
14661         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14662         -
}
14663         -
/// /* ServerBuilderGenerator.kt:171 */See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
14664         -
pub mod response_code_required_input {
14665         -
14666         -
    /* ServerBuilderGenerator.kt:461 */
14667         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
14668         -
        fn from(builder: Builder) -> Self {
14669         -
            builder.build()
14670         -
        }
       15761  +
    pub struct Builder {
       15762  +
        /* ServerBuilderGenerator.kt:308 */
       15763  +
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       15764  +
        /* ServerBuilderGenerator.kt:211 */
14671  15765   
    }
14672         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
14673         -
    /* RustType.kt:534 */
14674         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14675         -
    /* ServerBuilderGenerator.kt:211 */
14676         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
14677  15766   
    /* ServerBuilderGenerator.kt:215 */
14678  15767   
    impl Builder {
14679         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
14680         -
        /* ServerBuilderGenerator.kt:271 */
14681         -
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
14682         -
            self.build_enforcing_all_constraints()
14683         -
        }
14684         -
        /* ServerBuilderGenerator.kt:283 */
14685         -
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeRequiredInput {
14686         -
            /* ServerBuilderGenerator.kt:542 */
14687         -
            crate::input::ResponseCodeRequiredInput {
14688         -
            /* ServerBuilderGenerator.kt:542 */}
14689         -
            /* ServerBuilderGenerator.kt:283 */
14690         -
        }
14691         -
        /* ServerBuilderGenerator.kt:215 */
14692         -
    }
14693         -
14694         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14695         -
}
14696         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
14697         -
pub mod http_response_code_input {
14698         -
14699         -
    /* ServerBuilderGenerator.kt:461 */
14700         -
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
14701         -
        fn from(builder: Builder) -> Self {
14702         -
            builder.build()
       15768  +
        /* ServerBuilderGenerator.kt:331 */
       15769  +
        #[allow(missing_docs)] // documentation missing in model
       15770  +
                               /* ServerBuilderGenerator.kt:343 */
       15771  +
        pub fn body_list(
       15772  +
            mut self,
       15773  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       15774  +
        ) -> Self {
       15775  +
            /* ServerBuilderGenerator.kt:344 */
       15776  +
            self.body_list =
       15777  +
                /* ServerBuilderGenerator.kt:376 */input
       15778  +
            /* ServerBuilderGenerator.kt:344 */;
       15779  +
            self
       15780  +
            /* ServerBuilderGenerator.kt:343 */
14703  15781   
        }
14704         -
    }
14705         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
14706         -
    /* RustType.kt:534 */
14707         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14708         -
    /* ServerBuilderGenerator.kt:211 */
14709         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
14710         -
    /* ServerBuilderGenerator.kt:215 */
14711         -
    impl Builder {
14712         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       15782  +
        /* ServerBuilderGenerator.kt:426 */
       15783  +
        #[allow(missing_docs)] // documentation missing in model
       15784  +
                               /* ServerBuilderGenerator.kt:428 */
       15785  +
        pub(crate) fn set_body_list(
       15786  +
            mut self,
       15787  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       15788  +
        ) -> Self {
       15789  +
            /* ServerBuilderGenerator.kt:429 */
       15790  +
            self.body_list = input.map(|v| v.into());
       15791  +
            self
       15792  +
            /* ServerBuilderGenerator.kt:428 */
       15793  +
        }
       15794  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
14713  15795   
        /* ServerBuilderGenerator.kt:271 */
14714         -
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
       15796  +
        pub fn build(self) -> crate::input::MalformedListInput {
14715  15797   
            self.build_enforcing_all_constraints()
14716  15798   
        }
14717  15799   
        /* ServerBuilderGenerator.kt:283 */
14718         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpResponseCodeInput {
       15800  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedListInput {
14719  15801   
            /* ServerBuilderGenerator.kt:542 */
14720         -
            crate::input::HttpResponseCodeInput {
14721         -
            /* ServerBuilderGenerator.kt:542 */}
       15802  +
            crate::input::MalformedListInput {
       15803  +
                /* ServerBuilderGenerator.kt:546 */
       15804  +
                body_list: self.body_list,
       15805  +
                /* ServerBuilderGenerator.kt:542 */
       15806  +
            }
14722  15807   
            /* ServerBuilderGenerator.kt:283 */
14723  15808   
        }
14724  15809   
        /* ServerBuilderGenerator.kt:215 */
14725  15810   
    }
14726  15811   
14727  15812   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14728  15813   
}
14729         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
14730         -
pub mod http_payload_with_union_input {
       15814  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedMapInput`](crate::input::MalformedMapInput).
       15815  +
pub mod malformed_map_input {
14731  15816   
14732  15817   
    /* ServerBuilderGenerator.kt:461 */
14733         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
       15818  +
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
14734  15819   
        fn from(builder: Builder) -> Self {
14735  15820   
            builder.build()
14736  15821   
        }
14737  15822   
    }
14738         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       15823  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
14739  15824   
    /* RustType.kt:534 */
14740  15825   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14741  15826   
    /* ServerBuilderGenerator.kt:211 */
14742  15827   
    pub struct Builder {
14743  15828   
        /* ServerBuilderGenerator.kt:308 */
14744         -
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
       15829  +
        pub(crate) body_map: ::std::option::Option<
       15830  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15831  +
        >,
14745  15832   
        /* ServerBuilderGenerator.kt:211 */
14746  15833   
    }
14747  15834   
    /* ServerBuilderGenerator.kt:215 */
14748  15835   
    impl Builder {
14749  15836   
        /* ServerBuilderGenerator.kt:331 */
14750  15837   
        #[allow(missing_docs)] // documentation missing in model
14751  15838   
                               /* ServerBuilderGenerator.kt:343 */
14752         -
        pub fn nested(mut self, input: ::std::option::Option<crate::model::UnionPayload>) -> Self {
       15839  +
        pub fn body_map(
       15840  +
            mut self,
       15841  +
            input: ::std::option::Option<
       15842  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15843  +
            >,
       15844  +
        ) -> Self {
14753  15845   
            /* ServerBuilderGenerator.kt:344 */
14754         -
            self.nested =
       15846  +
            self.body_map =
14755  15847   
                /* ServerBuilderGenerator.kt:376 */input
14756  15848   
            /* ServerBuilderGenerator.kt:344 */;
14757  15849   
            self
14758  15850   
            /* ServerBuilderGenerator.kt:343 */
14759  15851   
        }
14760  15852   
        /* ServerBuilderGenerator.kt:426 */
14761  15853   
        #[allow(missing_docs)] // documentation missing in model
14762  15854   
                               /* ServerBuilderGenerator.kt:428 */
14763         -
        pub(crate) fn set_nested(
       15855  +
        pub(crate) fn set_body_map(
14764  15856   
            mut self,
14765         -
            input: Option<impl ::std::convert::Into<crate::model::UnionPayload>>,
       15857  +
            input: Option<
       15858  +
                impl ::std::convert::Into<
       15859  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15860  +
                >,
       15861  +
            >,
14766  15862   
        ) -> Self {
14767  15863   
            /* ServerBuilderGenerator.kt:429 */
14768         -
            self.nested = input.map(|v| v.into());
       15864  +
            self.body_map = input.map(|v| v.into());
14769  15865   
            self
14770  15866   
            /* ServerBuilderGenerator.kt:428 */
14771  15867   
        }
14772         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       15868  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
14773  15869   
        /* ServerBuilderGenerator.kt:271 */
14774         -
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
       15870  +
        pub fn build(self) -> crate::input::MalformedMapInput {
14775  15871   
            self.build_enforcing_all_constraints()
14776  15872   
        }
14777  15873   
        /* ServerBuilderGenerator.kt:283 */
14778         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithUnionInput {
       15874  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedMapInput {
14779  15875   
            /* ServerBuilderGenerator.kt:542 */
14780         -
            crate::input::HttpPayloadWithUnionInput {
       15876  +
            crate::input::MalformedMapInput {
14781  15877   
                /* ServerBuilderGenerator.kt:546 */
14782         -
                nested: self.nested,
       15878  +
                body_map: self.body_map,
14783  15879   
                /* ServerBuilderGenerator.kt:542 */
14784  15880   
            }
14785  15881   
            /* ServerBuilderGenerator.kt:283 */
14786  15882   
        }
14787  15883   
        /* ServerBuilderGenerator.kt:215 */
14788  15884   
    }
14789  15885   
14790  15886   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14791  15887   
}
14792         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
14793         -
pub mod http_string_payload_input {
       15888  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       15889  +
pub mod malformed_blob_input {
14794  15890   
14795  15891   
    /* ServerBuilderGenerator.kt:461 */
14796         -
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
       15892  +
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
14797  15893   
        fn from(builder: Builder) -> Self {
14798  15894   
            builder.build()
14799  15895   
        }
14800  15896   
    }
14801         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       15897  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
14802  15898   
    /* RustType.kt:534 */
14803  15899   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14804  15900   
    /* ServerBuilderGenerator.kt:211 */
14805  15901   
    pub struct Builder {
14806  15902   
        /* ServerBuilderGenerator.kt:308 */
14807         -
        pub(crate) payload: ::std::option::Option<::std::string::String>,
       15903  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
14808  15904   
        /* ServerBuilderGenerator.kt:211 */
14809  15905   
    }
14810  15906   
    /* ServerBuilderGenerator.kt:215 */
14811  15907   
    impl Builder {
14812  15908   
        /* ServerBuilderGenerator.kt:331 */
14813  15909   
        #[allow(missing_docs)] // documentation missing in model
14814  15910   
                               /* ServerBuilderGenerator.kt:343 */
14815         -
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15911  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
14816  15912   
            /* ServerBuilderGenerator.kt:344 */
14817         -
            self.payload =
       15913  +
            self.blob =
14818  15914   
                /* ServerBuilderGenerator.kt:376 */input
14819  15915   
            /* ServerBuilderGenerator.kt:344 */;
14820  15916   
            self
14821  15917   
            /* ServerBuilderGenerator.kt:343 */
14822  15918   
        }
14823  15919   
        /* ServerBuilderGenerator.kt:426 */
14824  15920   
        #[allow(missing_docs)] // documentation missing in model
14825  15921   
                               /* ServerBuilderGenerator.kt:428 */
14826         -
        pub(crate) fn set_payload(
       15922  +
        pub(crate) fn set_blob(
14827  15923   
            mut self,
14828         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15924  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
14829  15925   
        ) -> Self {
14830  15926   
            /* ServerBuilderGenerator.kt:429 */
14831         -
            self.payload = input.map(|v| v.into());
       15927  +
            self.blob = input.map(|v| v.into());
14832  15928   
            self
14833  15929   
            /* ServerBuilderGenerator.kt:428 */
14834  15930   
        }
14835         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       15931  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
14836  15932   
        /* ServerBuilderGenerator.kt:271 */
14837         -
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
       15933  +
        pub fn build(self) -> crate::input::MalformedBlobInput {
14838  15934   
            self.build_enforcing_all_constraints()
14839  15935   
        }
14840  15936   
        /* ServerBuilderGenerator.kt:283 */
14841         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpStringPayloadInput {
       15937  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedBlobInput {
14842  15938   
            /* ServerBuilderGenerator.kt:542 */
14843         -
            crate::input::HttpStringPayloadInput {
       15939  +
            crate::input::MalformedBlobInput {
14844  15940   
                /* ServerBuilderGenerator.kt:546 */
14845         -
                payload: self.payload,
       15941  +
                blob: self.blob,
14846  15942   
                /* ServerBuilderGenerator.kt:542 */
14847  15943   
            }
14848  15944   
            /* ServerBuilderGenerator.kt:283 */
14849  15945   
        }
14850  15946   
        /* ServerBuilderGenerator.kt:215 */
14851  15947   
    }
14852  15948   
14853  15949   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
14854  15950   
}
14855         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
14856         -
pub mod http_enum_payload_input {
       15951  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedByteInput`](crate::input::MalformedByteInput).
       15952  +
pub mod malformed_byte_input {
14857  15953   
14858  15954   
    /* RustType.kt:534 */
14859  15955   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
14860  15956   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
14861  15957   
    /* RustType.kt:534 */
14862  15958   
    #[non_exhaustive]
14863  15959   
    /* ServerBuilderConstraintViolations.kt:75 */
14864  15960   
    #[allow(clippy::enum_variant_names)]
14865  15961   
    pub enum ConstraintViolation {
14866         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`.
14867         -
        /* RustType.kt:534 */
14868         -
        #[doc(hidden)]
14869         -
        /* ServerBuilderConstraintViolations.kt:165 */
14870         -
        Payload(crate::model::string_enum::ConstraintViolation),
       15962  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`byte_in_path` was not provided but it is required when building `MalformedByteInput`.
       15963  +
        /* ServerBuilderConstraintViolations.kt:144 */
       15964  +
        MissingByteInPath,
14871  15965   
        /* ServerBuilderConstraintViolations.kt:75 */
14872  15966   
    }
14873  15967   
    /* ServerBuilderConstraintViolations.kt:116 */
14874  15968   
    impl ::std::fmt::Display for ConstraintViolation {
14875  15969   
        /* ServerBuilderConstraintViolations.kt:117 */
14876  15970   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14877  15971   
            /* ServerBuilderConstraintViolations.kt:118 */
14878  15972   
            match self {
14879         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Payload(_) => write!(f, "constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`"),
       15973  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
14880  15974   
            /* ServerBuilderConstraintViolations.kt:118 */}
14881  15975   
            /* ServerBuilderConstraintViolations.kt:117 */
14882  15976   
        }
14883  15977   
        /* ServerBuilderConstraintViolations.kt:116 */
14884  15978   
    }
14885  15979   
    /* ServerBuilderConstraintViolations.kt:83 */
14886  15980   
    impl ::std::error::Error for ConstraintViolation {}
14887  15981   
    /* ServerBuilderConstraintViolations.kt:172 */
14888  15982   
    impl ConstraintViolation {
14889  15983   
        pub(crate) fn as_validation_exception_field(
14890  15984   
            self,
14891  15985   
            path: ::std::string::String,
14892  15986   
        ) -> crate::model::ValidationExceptionField {
14893  15987   
            match self {
14894         -
                ConstraintViolation::Payload(inner) => {
14895         -
                    inner.as_validation_exception_field(path + "/payload")
14896         -
                }
14897         -
            }
       15988  +
            ConstraintViolation::MissingByteInPath => crate::model::ValidationExceptionField {
       15989  +
                                                message: format!("Value at '{}/byteInPath' failed to satisfy constraint: Member must not be null", path),
       15990  +
                                                path: path + "/byteInPath",
       15991  +
                                            },
       15992  +
        }
14898  15993   
        }
14899  15994   
    }
14900  15995   
    /* ServerBuilderGenerator.kt:234 */
14901  15996   
    impl ::std::convert::From<ConstraintViolation>
14902  15997   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
14903  15998   
    {
14904  15999   
        fn from(constraint_violation: ConstraintViolation) -> Self {
14905  16000   
            let first_validation_exception_field =
14906  16001   
                constraint_violation.as_validation_exception_field("".to_owned());
14907  16002   
            let validation_exception = crate::error::ValidationException {
14908  16003   
                message: format!(
14909  16004   
                    "1 validation error detected. {}",
14910  16005   
                    &first_validation_exception_field.message
14911  16006   
                ),
14912  16007   
                field_list: Some(vec![first_validation_exception_field]),
14913  16008   
            };
14914  16009   
            Self::ConstraintViolation(
14915         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
14916         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
14917         -
                            )
14918         -
        }
14919         -
    }
14920         -
    /* ServerBuilderGenerator.kt:244 */
14921         -
    impl ::std::convert::From<Builder>
14922         -
        for crate::constrained::MaybeConstrained<crate::input::HttpEnumPayloadInput>
14923         -
    {
14924         -
        fn from(builder: Builder) -> Self {
14925         -
            Self::Unconstrained(builder)
14926         -
        }
14927         -
    }
14928         -
    /* ServerBuilderGenerator.kt:446 */
14929         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpEnumPayloadInput {
14930         -
        type Error = ConstraintViolation;
14931         -
14932         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
14933         -
            builder.build()
14934         -
        }
14935         -
    }
14936         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
14937         -
    /* RustType.kt:534 */
14938         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14939         -
    /* ServerBuilderGenerator.kt:211 */
14940         -
    pub struct Builder {
14941         -
        /* ServerBuilderGenerator.kt:308 */
14942         -
        pub(crate) payload:
14943         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringEnum>>,
14944         -
        /* ServerBuilderGenerator.kt:211 */
14945         -
    }
14946         -
    /* ServerBuilderGenerator.kt:215 */
14947         -
    impl Builder {
14948         -
        /* ServerBuilderGenerator.kt:331 */
14949         -
        #[allow(missing_docs)] // documentation missing in model
14950         -
                               /* ServerBuilderGenerator.kt:343 */
14951         -
        pub fn payload(mut self, input: ::std::option::Option<crate::model::StringEnum>) -> Self {
14952         -
            /* ServerBuilderGenerator.kt:344 */
14953         -
            self.payload =
14954         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
14955         -
            /* ServerBuilderGenerator.kt:344 */;
14956         -
            self
14957         -
            /* ServerBuilderGenerator.kt:343 */
14958         -
        }
14959         -
        /* ServerBuilderGenerator.kt:426 */
14960         -
        #[allow(missing_docs)] // documentation missing in model
14961         -
                               /* ServerBuilderGenerator.kt:428 */
14962         -
        pub(crate) fn set_payload(
14963         -
            mut self,
14964         -
            input: Option<
14965         -
                impl ::std::convert::Into<
14966         -
                    crate::constrained::MaybeConstrained<crate::model::StringEnum>,
14967         -
                >,
14968         -
            >,
14969         -
        ) -> Self {
14970         -
            /* ServerBuilderGenerator.kt:429 */
14971         -
            self.payload = input.map(|v| v.into());
14972         -
            self
14973         -
            /* ServerBuilderGenerator.kt:428 */
14974         -
        }
14975         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
14976         -
        /// /* ServerBuilderGenerator.kt:260 */
14977         -
        /// The builder fails to construct a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput) if a [`ConstraintViolation`] occurs.
14978         -
        ///
14979         -
        /* ServerBuilderGenerator.kt:271 */
14980         -
        pub fn build(self) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
14981         -
            self.build_enforcing_all_constraints()
14982         -
        }
14983         -
        /* ServerBuilderGenerator.kt:283 */
14984         -
        fn build_enforcing_all_constraints(
14985         -
            self,
14986         -
        ) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
14987         -
            /* ServerBuilderGenerator.kt:287 */
14988         -
            Ok(
14989         -
                /* ServerBuilderGenerator.kt:542 */
14990         -
                crate::input::HttpEnumPayloadInput {
14991         -
                    /* ServerBuilderGenerator.kt:546 */
14992         -
                    payload: self
14993         -
                        .payload
14994         -
                        /* ServerBuilderGenerator.kt:602 */
14995         -
                        .map(|v| match v {
14996         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
14997         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
14998         -
                        })
14999         -
                        /* ServerBuilderGenerator.kt:614 */
15000         -
                        .map(|res| res.map_err(ConstraintViolation::Payload))
15001         -
                        .transpose()?,
15002         -
                    /* ServerBuilderGenerator.kt:542 */
15003         -
                }, /* ServerBuilderGenerator.kt:287 */
15004         -
            )
15005         -
            /* ServerBuilderGenerator.kt:283 */
15006         -
        }
15007         -
        /* ServerBuilderGenerator.kt:215 */
15008         -
    }
15009         -
15010         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15011         -
}
15012         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
15013         -
pub mod http_payload_with_structure_input {
15014         -
15015         -
    /* ServerBuilderGenerator.kt:461 */
15016         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
15017         -
        fn from(builder: Builder) -> Self {
15018         -
            builder.build()
15019         -
        }
15020         -
    }
15021         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
15022         -
    /* RustType.kt:534 */
15023         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15024         -
    /* ServerBuilderGenerator.kt:211 */
15025         -
    pub struct Builder {
15026         -
        /* ServerBuilderGenerator.kt:308 */
15027         -
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
15028         -
        /* ServerBuilderGenerator.kt:211 */
15029         -
    }
15030         -
    /* ServerBuilderGenerator.kt:215 */
15031         -
    impl Builder {
15032         -
        /* ServerBuilderGenerator.kt:331 */
15033         -
        #[allow(missing_docs)] // documentation missing in model
15034         -
                               /* ServerBuilderGenerator.kt:343 */
15035         -
        pub fn nested(mut self, input: ::std::option::Option<crate::model::NestedPayload>) -> Self {
15036         -
            /* ServerBuilderGenerator.kt:344 */
15037         -
            self.nested =
15038         -
                /* ServerBuilderGenerator.kt:376 */input
15039         -
            /* ServerBuilderGenerator.kt:344 */;
15040         -
            self
15041         -
            /* ServerBuilderGenerator.kt:343 */
15042         -
        }
15043         -
        /* ServerBuilderGenerator.kt:426 */
15044         -
        #[allow(missing_docs)] // documentation missing in model
15045         -
                               /* ServerBuilderGenerator.kt:428 */
15046         -
        pub(crate) fn set_nested(
15047         -
            mut self,
15048         -
            input: Option<impl ::std::convert::Into<crate::model::NestedPayload>>,
15049         -
        ) -> Self {
15050         -
            /* ServerBuilderGenerator.kt:429 */
15051         -
            self.nested = input.map(|v| v.into());
15052         -
            self
15053         -
            /* ServerBuilderGenerator.kt:428 */
15054         -
        }
15055         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
15056         -
        /* ServerBuilderGenerator.kt:271 */
15057         -
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
15058         -
            self.build_enforcing_all_constraints()
       16010  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16011  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16012  +
                            )
15059  16013   
        }
15060         -
        /* ServerBuilderGenerator.kt:283 */
15061         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithStructureInput {
15062         -
            /* ServerBuilderGenerator.kt:542 */
15063         -
            crate::input::HttpPayloadWithStructureInput {
15064         -
                /* ServerBuilderGenerator.kt:546 */
15065         -
                nested: self.nested,
15066         -
                /* ServerBuilderGenerator.kt:542 */
15067         -
            }
15068         -
            /* ServerBuilderGenerator.kt:283 */
       16014  +
    }
       16015  +
    /* ServerBuilderGenerator.kt:244 */
       16016  +
    impl ::std::convert::From<Builder>
       16017  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedByteInput>
       16018  +
    {
       16019  +
        fn from(builder: Builder) -> Self {
       16020  +
            Self::Unconstrained(builder)
15069  16021   
        }
15070         -
        /* ServerBuilderGenerator.kt:215 */
15071  16022   
    }
       16023  +
    /* ServerBuilderGenerator.kt:446 */
       16024  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
       16025  +
        type Error = ConstraintViolation;
15072  16026   
15073         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15074         -
}
15075         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
15076         -
pub mod http_payload_traits_with_media_type_input {
15077         -
15078         -
    /* ServerBuilderGenerator.kt:461 */
15079         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
15080         -
        fn from(builder: Builder) -> Self {
       16027  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
15081  16028   
            builder.build()
15082  16029   
        }
15083  16030   
    }
15084         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       16031  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
15085  16032   
    /* RustType.kt:534 */
15086  16033   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15087  16034   
    /* ServerBuilderGenerator.kt:211 */
15088  16035   
    pub struct Builder {
15089  16036   
        /* ServerBuilderGenerator.kt:308 */
15090         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       16037  +
        pub(crate) byte_in_body: ::std::option::Option<i8>,
15091  16038   
        /* ServerBuilderGenerator.kt:308 */
15092         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
       16039  +
        pub(crate) byte_in_path: ::std::option::Option<i8>,
       16040  +
        /* ServerBuilderGenerator.kt:308 */
       16041  +
        pub(crate) byte_in_query: ::std::option::Option<i8>,
       16042  +
        /* ServerBuilderGenerator.kt:308 */
       16043  +
        pub(crate) byte_in_header: ::std::option::Option<i8>,
15093  16044   
        /* ServerBuilderGenerator.kt:211 */
15094  16045   
    }
15095  16046   
    /* ServerBuilderGenerator.kt:215 */
15096  16047   
    impl Builder {
15097  16048   
        /* ServerBuilderGenerator.kt:331 */
15098  16049   
        #[allow(missing_docs)] // documentation missing in model
15099  16050   
                               /* ServerBuilderGenerator.kt:343 */
15100         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16051  +
        pub fn byte_in_body(mut self, input: ::std::option::Option<i8>) -> Self {
15101  16052   
            /* ServerBuilderGenerator.kt:344 */
15102         -
            self.foo =
       16053  +
            self.byte_in_body =
15103  16054   
                /* ServerBuilderGenerator.kt:376 */input
15104  16055   
            /* ServerBuilderGenerator.kt:344 */;
15105  16056   
            self
15106  16057   
            /* ServerBuilderGenerator.kt:343 */
15107  16058   
        }
15108  16059   
        /* ServerBuilderGenerator.kt:426 */
15109  16060   
        #[allow(missing_docs)] // documentation missing in model
15110  16061   
                               /* ServerBuilderGenerator.kt:428 */
15111         -
        pub(crate) fn set_foo(
       16062  +
        pub(crate) fn set_byte_in_body(
15112  16063   
            mut self,
15113         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16064  +
            input: Option<impl ::std::convert::Into<i8>>,
15114  16065   
        ) -> Self {
15115  16066   
            /* ServerBuilderGenerator.kt:429 */
15116         -
            self.foo = input.map(|v| v.into());
       16067  +
            self.byte_in_body = input.map(|v| v.into());
15117  16068   
            self
15118  16069   
            /* ServerBuilderGenerator.kt:428 */
15119  16070   
        }
15120  16071   
        /* ServerBuilderGenerator.kt:331 */
15121  16072   
        #[allow(missing_docs)] // documentation missing in model
15122  16073   
                               /* ServerBuilderGenerator.kt:343 */
15123         -
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       16074  +
        pub fn byte_in_path(mut self, input: i8) -> Self {
15124  16075   
            /* ServerBuilderGenerator.kt:344 */
15125         -
            self.blob =
15126         -
                /* ServerBuilderGenerator.kt:376 */input
       16076  +
            self.byte_in_path =
       16077  +
                /* ServerBuilderGenerator.kt:345 */Some(
       16078  +
                    /* ServerBuilderGenerator.kt:376 */input
       16079  +
                /* ServerBuilderGenerator.kt:345 */)
15127  16080   
            /* ServerBuilderGenerator.kt:344 */;
15128  16081   
            self
15129  16082   
            /* ServerBuilderGenerator.kt:343 */
15130  16083   
        }
15131  16084   
        /* ServerBuilderGenerator.kt:426 */
15132  16085   
        #[allow(missing_docs)] // documentation missing in model
15133  16086   
                               /* ServerBuilderGenerator.kt:428 */
15134         -
        pub(crate) fn set_blob(
15135         -
            mut self,
15136         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
15137         -
        ) -> Self {
       16087  +
        pub(crate) fn set_byte_in_path(mut self, input: impl ::std::convert::Into<i8>) -> Self {
15138  16088   
            /* ServerBuilderGenerator.kt:429 */
15139         -
            self.blob = input.map(|v| v.into());
       16089  +
            self.byte_in_path = Some(input.into());
15140  16090   
            self
15141  16091   
            /* ServerBuilderGenerator.kt:428 */
15142  16092   
        }
15143         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
15144         -
        /* ServerBuilderGenerator.kt:271 */
15145         -
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
15146         -
            self.build_enforcing_all_constraints()
15147         -
        }
15148         -
        /* ServerBuilderGenerator.kt:283 */
15149         -
        fn build_enforcing_all_constraints(
15150         -
            self,
15151         -
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
15152         -
            /* ServerBuilderGenerator.kt:542 */
15153         -
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
15154         -
                /* ServerBuilderGenerator.kt:546 */
15155         -
                foo: self.foo,
15156         -
                /* ServerBuilderGenerator.kt:546 */
15157         -
                blob: self.blob,
15158         -
                /* ServerBuilderGenerator.kt:542 */
15159         -
            }
15160         -
            /* ServerBuilderGenerator.kt:283 */
15161         -
        }
15162         -
        /* ServerBuilderGenerator.kt:215 */
15163         -
    }
15164         -
15165         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15166         -
}
15167         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
15168         -
pub mod http_payload_traits_input {
15169         -
15170         -
    /* ServerBuilderGenerator.kt:461 */
15171         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
15172         -
        fn from(builder: Builder) -> Self {
15173         -
            builder.build()
15174         -
        }
15175         -
    }
15176         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
15177         -
    /* RustType.kt:534 */
15178         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15179         -
    /* ServerBuilderGenerator.kt:211 */
15180         -
    pub struct Builder {
15181         -
        /* ServerBuilderGenerator.kt:308 */
15182         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15183         -
        /* ServerBuilderGenerator.kt:308 */
15184         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
15185         -
        /* ServerBuilderGenerator.kt:211 */
15186         -
    }
15187         -
    /* ServerBuilderGenerator.kt:215 */
15188         -
    impl Builder {
15189  16093   
        /* ServerBuilderGenerator.kt:331 */
15190  16094   
        #[allow(missing_docs)] // documentation missing in model
15191  16095   
                               /* ServerBuilderGenerator.kt:343 */
15192         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16096  +
        pub fn byte_in_query(mut self, input: ::std::option::Option<i8>) -> Self {
15193  16097   
            /* ServerBuilderGenerator.kt:344 */
15194         -
            self.foo =
       16098  +
            self.byte_in_query =
15195  16099   
                /* ServerBuilderGenerator.kt:376 */input
15196  16100   
            /* ServerBuilderGenerator.kt:344 */;
15197  16101   
            self
15198  16102   
            /* ServerBuilderGenerator.kt:343 */
15199  16103   
        }
15200  16104   
        /* ServerBuilderGenerator.kt:426 */
15201  16105   
        #[allow(missing_docs)] // documentation missing in model
15202  16106   
                               /* ServerBuilderGenerator.kt:428 */
15203         -
        pub(crate) fn set_foo(
       16107  +
        pub(crate) fn set_byte_in_query(
15204  16108   
            mut self,
15205         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16109  +
            input: Option<impl ::std::convert::Into<i8>>,
15206  16110   
        ) -> Self {
15207  16111   
            /* ServerBuilderGenerator.kt:429 */
15208         -
            self.foo = input.map(|v| v.into());
       16112  +
            self.byte_in_query = input.map(|v| v.into());
15209  16113   
            self
15210  16114   
            /* ServerBuilderGenerator.kt:428 */
15211  16115   
        }
15212  16116   
        /* ServerBuilderGenerator.kt:331 */
15213  16117   
        #[allow(missing_docs)] // documentation missing in model
15214  16118   
                               /* ServerBuilderGenerator.kt:343 */
15215         -
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       16119  +
        pub fn byte_in_header(mut self, input: ::std::option::Option<i8>) -> Self {
15216  16120   
            /* ServerBuilderGenerator.kt:344 */
15217         -
            self.blob =
       16121  +
            self.byte_in_header =
15218  16122   
                /* ServerBuilderGenerator.kt:376 */input
15219  16123   
            /* ServerBuilderGenerator.kt:344 */;
15220  16124   
            self
15221  16125   
            /* ServerBuilderGenerator.kt:343 */
15222  16126   
        }
15223  16127   
        /* ServerBuilderGenerator.kt:426 */
15224  16128   
        #[allow(missing_docs)] // documentation missing in model
15225  16129   
                               /* ServerBuilderGenerator.kt:428 */
15226         -
        pub(crate) fn set_blob(
       16130  +
        pub(crate) fn set_byte_in_header(
15227  16131   
            mut self,
15228         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       16132  +
            input: Option<impl ::std::convert::Into<i8>>,
15229  16133   
        ) -> Self {
15230  16134   
            /* ServerBuilderGenerator.kt:429 */
15231         -
            self.blob = input.map(|v| v.into());
       16135  +
            self.byte_in_header = input.map(|v| v.into());
15232  16136   
            self
15233  16137   
            /* ServerBuilderGenerator.kt:428 */
15234  16138   
        }
15235         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       16139  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
       16140  +
        /// /* ServerBuilderGenerator.kt:260 */
       16141  +
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if a [`ConstraintViolation`] occurs.
       16142  +
        ///
15236  16143   
        /* ServerBuilderGenerator.kt:271 */
15237         -
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
       16144  +
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
15238  16145   
            self.build_enforcing_all_constraints()
15239  16146   
        }
15240  16147   
        /* ServerBuilderGenerator.kt:283 */
15241         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadTraitsInput {
15242         -
            /* ServerBuilderGenerator.kt:542 */
15243         -
            crate::input::HttpPayloadTraitsInput {
15244         -
                /* ServerBuilderGenerator.kt:546 */
15245         -
                foo: self.foo,
15246         -
                /* ServerBuilderGenerator.kt:546 */
15247         -
                blob: self.blob,
       16148  +
        fn build_enforcing_all_constraints(
       16149  +
            self,
       16150  +
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       16151  +
            /* ServerBuilderGenerator.kt:287 */
       16152  +
            Ok(
15248  16153   
                /* ServerBuilderGenerator.kt:542 */
15249         -
            }
       16154  +
                crate::input::MalformedByteInput {
       16155  +
                    /* ServerBuilderGenerator.kt:546 */
       16156  +
                    byte_in_body: self.byte_in_body,
       16157  +
                    /* ServerBuilderGenerator.kt:546 */
       16158  +
                    byte_in_path: self
       16159  +
                        .byte_in_path
       16160  +
                        /* ServerBuilderGenerator.kt:569 */
       16161  +
                        .ok_or(ConstraintViolation::MissingByteInPath)?,
       16162  +
                    /* ServerBuilderGenerator.kt:546 */
       16163  +
                    byte_in_query: self.byte_in_query,
       16164  +
                    /* ServerBuilderGenerator.kt:546 */
       16165  +
                    byte_in_header: self.byte_in_header,
       16166  +
                    /* ServerBuilderGenerator.kt:542 */
       16167  +
                }, /* ServerBuilderGenerator.kt:287 */
       16168  +
            )
15250  16169   
            /* ServerBuilderGenerator.kt:283 */
15251  16170   
        }
15252  16171   
        /* ServerBuilderGenerator.kt:215 */
15253  16172   
    }
15254  16173   
15255  16174   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15256  16175   
}
15257         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
15258         -
pub mod http_empty_prefix_headers_input {
       16176  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedShortInput`](crate::input::MalformedShortInput).
       16177  +
pub mod malformed_short_input {
15259  16178   
15260         -
    /* ServerBuilderGenerator.kt:461 */
15261         -
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
       16179  +
    /* RustType.kt:534 */
       16180  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16181  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       16182  +
    /* RustType.kt:534 */
       16183  +
    #[non_exhaustive]
       16184  +
    /* ServerBuilderConstraintViolations.kt:75 */
       16185  +
    #[allow(clippy::enum_variant_names)]
       16186  +
    pub enum ConstraintViolation {
       16187  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`short_in_path` was not provided but it is required when building `MalformedShortInput`.
       16188  +
        /* ServerBuilderConstraintViolations.kt:144 */
       16189  +
        MissingShortInPath,
       16190  +
        /* ServerBuilderConstraintViolations.kt:75 */
       16191  +
    }
       16192  +
    /* ServerBuilderConstraintViolations.kt:116 */
       16193  +
    impl ::std::fmt::Display for ConstraintViolation {
       16194  +
        /* ServerBuilderConstraintViolations.kt:117 */
       16195  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16196  +
            /* ServerBuilderConstraintViolations.kt:118 */
       16197  +
            match self {
       16198  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
       16199  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       16200  +
            /* ServerBuilderConstraintViolations.kt:117 */
       16201  +
        }
       16202  +
        /* ServerBuilderConstraintViolations.kt:116 */
       16203  +
    }
       16204  +
    /* ServerBuilderConstraintViolations.kt:83 */
       16205  +
    impl ::std::error::Error for ConstraintViolation {}
       16206  +
    /* ServerBuilderConstraintViolations.kt:172 */
       16207  +
    impl ConstraintViolation {
       16208  +
        pub(crate) fn as_validation_exception_field(
       16209  +
            self,
       16210  +
            path: ::std::string::String,
       16211  +
        ) -> crate::model::ValidationExceptionField {
       16212  +
            match self {
       16213  +
            ConstraintViolation::MissingShortInPath => crate::model::ValidationExceptionField {
       16214  +
                                                message: format!("Value at '{}/shortInPath' failed to satisfy constraint: Member must not be null", path),
       16215  +
                                                path: path + "/shortInPath",
       16216  +
                                            },
       16217  +
        }
       16218  +
        }
       16219  +
    }
       16220  +
    /* ServerBuilderGenerator.kt:234 */
       16221  +
    impl ::std::convert::From<ConstraintViolation>
       16222  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16223  +
    {
       16224  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16225  +
            let first_validation_exception_field =
       16226  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16227  +
            let validation_exception = crate::error::ValidationException {
       16228  +
                message: format!(
       16229  +
                    "1 validation error detected. {}",
       16230  +
                    &first_validation_exception_field.message
       16231  +
                ),
       16232  +
                field_list: Some(vec![first_validation_exception_field]),
       16233  +
            };
       16234  +
            Self::ConstraintViolation(
       16235  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16236  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16237  +
                            )
       16238  +
        }
       16239  +
    }
       16240  +
    /* ServerBuilderGenerator.kt:244 */
       16241  +
    impl ::std::convert::From<Builder>
       16242  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedShortInput>
       16243  +
    {
15262  16244   
        fn from(builder: Builder) -> Self {
       16245  +
            Self::Unconstrained(builder)
       16246  +
        }
       16247  +
    }
       16248  +
    /* ServerBuilderGenerator.kt:446 */
       16249  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
       16250  +
        type Error = ConstraintViolation;
       16251  +
       16252  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
15263  16253   
            builder.build()
15264  16254   
        }
15265  16255   
    }
15266         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       16256  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
15267  16257   
    /* RustType.kt:534 */
15268  16258   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15269  16259   
    /* ServerBuilderGenerator.kt:211 */
15270  16260   
    pub struct Builder {
15271  16261   
        /* ServerBuilderGenerator.kt:308 */
15272         -
        pub(crate) prefix_headers: ::std::option::Option<
15273         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15274         -
        >,
       16262  +
        pub(crate) short_in_body: ::std::option::Option<i16>,
       16263  +
        /* ServerBuilderGenerator.kt:308 */
       16264  +
        pub(crate) short_in_path: ::std::option::Option<i16>,
       16265  +
        /* ServerBuilderGenerator.kt:308 */
       16266  +
        pub(crate) short_in_query: ::std::option::Option<i16>,
15275  16267   
        /* ServerBuilderGenerator.kt:308 */
15276         -
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
       16268  +
        pub(crate) short_in_header: ::std::option::Option<i16>,
15277  16269   
        /* ServerBuilderGenerator.kt:211 */
15278  16270   
    }
15279  16271   
    /* ServerBuilderGenerator.kt:215 */
15280  16272   
    impl Builder {
15281  16273   
        /* ServerBuilderGenerator.kt:331 */
15282  16274   
        #[allow(missing_docs)] // documentation missing in model
15283  16275   
                               /* ServerBuilderGenerator.kt:343 */
15284         -
        pub fn prefix_headers(
15285         -
            mut self,
15286         -
            input: ::std::option::Option<
15287         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15288         -
            >,
15289         -
        ) -> Self {
       16276  +
        pub fn short_in_body(mut self, input: ::std::option::Option<i16>) -> Self {
15290  16277   
            /* ServerBuilderGenerator.kt:344 */
15291         -
            self.prefix_headers =
       16278  +
            self.short_in_body =
15292  16279   
                /* ServerBuilderGenerator.kt:376 */input
15293  16280   
            /* ServerBuilderGenerator.kt:344 */;
15294  16281   
            self
15295  16282   
            /* ServerBuilderGenerator.kt:343 */
15296  16283   
        }
15297  16284   
        /* ServerBuilderGenerator.kt:426 */
15298  16285   
        #[allow(missing_docs)] // documentation missing in model
15299  16286   
                               /* ServerBuilderGenerator.kt:428 */
15300         -
        pub(crate) fn set_prefix_headers(
       16287  +
        pub(crate) fn set_short_in_body(
15301  16288   
            mut self,
15302         -
            input: Option<
15303         -
                impl ::std::convert::Into<
15304         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15305         -
                >,
15306         -
            >,
       16289  +
            input: Option<impl ::std::convert::Into<i16>>,
15307  16290   
        ) -> Self {
15308  16291   
            /* ServerBuilderGenerator.kt:429 */
15309         -
            self.prefix_headers = input.map(|v| v.into());
       16292  +
            self.short_in_body = input.map(|v| v.into());
15310  16293   
            self
15311  16294   
            /* ServerBuilderGenerator.kt:428 */
15312  16295   
        }
15313  16296   
        /* ServerBuilderGenerator.kt:331 */
15314  16297   
        #[allow(missing_docs)] // documentation missing in model
15315  16298   
                               /* ServerBuilderGenerator.kt:343 */
15316         -
        pub fn specific_header(
15317         -
            mut self,
15318         -
            input: ::std::option::Option<::std::string::String>,
15319         -
        ) -> Self {
       16299  +
        pub fn short_in_path(mut self, input: i16) -> Self {
15320  16300   
            /* ServerBuilderGenerator.kt:344 */
15321         -
            self.specific_header =
15322         -
                /* ServerBuilderGenerator.kt:376 */input
       16301  +
            self.short_in_path =
       16302  +
                /* ServerBuilderGenerator.kt:345 */Some(
       16303  +
                    /* ServerBuilderGenerator.kt:376 */input
       16304  +
                /* ServerBuilderGenerator.kt:345 */)
15323  16305   
            /* ServerBuilderGenerator.kt:344 */;
15324  16306   
            self
15325  16307   
            /* ServerBuilderGenerator.kt:343 */
15326  16308   
        }
15327  16309   
        /* ServerBuilderGenerator.kt:426 */
15328  16310   
        #[allow(missing_docs)] // documentation missing in model
15329  16311   
                               /* ServerBuilderGenerator.kt:428 */
15330         -
        pub(crate) fn set_specific_header(
15331         -
            mut self,
15332         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15333         -
        ) -> Self {
       16312  +
        pub(crate) fn set_short_in_path(mut self, input: impl ::std::convert::Into<i16>) -> Self {
15334  16313   
            /* ServerBuilderGenerator.kt:429 */
15335         -
            self.specific_header = input.map(|v| v.into());
       16314  +
            self.short_in_path = Some(input.into());
15336  16315   
            self
15337  16316   
            /* ServerBuilderGenerator.kt:428 */
15338  16317   
        }
15339         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
15340         -
        /* ServerBuilderGenerator.kt:271 */
15341         -
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
15342         -
            self.build_enforcing_all_constraints()
15343         -
        }
15344         -
        /* ServerBuilderGenerator.kt:283 */
15345         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpEmptyPrefixHeadersInput {
15346         -
            /* ServerBuilderGenerator.kt:542 */
15347         -
            crate::input::HttpEmptyPrefixHeadersInput {
15348         -
                /* ServerBuilderGenerator.kt:546 */
15349         -
                prefix_headers: self.prefix_headers,
15350         -
                /* ServerBuilderGenerator.kt:546 */
15351         -
                specific_header: self.specific_header,
15352         -
                /* ServerBuilderGenerator.kt:542 */
15353         -
            }
15354         -
            /* ServerBuilderGenerator.kt:283 */
15355         -
        }
15356         -
        /* ServerBuilderGenerator.kt:215 */
15357         -
    }
15358         -
15359         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15360         -
}
15361         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
15362         -
pub mod http_prefix_headers_in_response_input {
15363         -
15364         -
    /* ServerBuilderGenerator.kt:461 */
15365         -
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
15366         -
        fn from(builder: Builder) -> Self {
15367         -
            builder.build()
15368         -
        }
15369         -
    }
15370         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
15371         -
    /* RustType.kt:534 */
15372         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15373         -
    /* ServerBuilderGenerator.kt:211 */
15374         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
15375         -
    /* ServerBuilderGenerator.kt:215 */
15376         -
    impl Builder {
15377         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
15378         -
        /* ServerBuilderGenerator.kt:271 */
15379         -
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
15380         -
            self.build_enforcing_all_constraints()
15381         -
        }
15382         -
        /* ServerBuilderGenerator.kt:283 */
15383         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInResponseInput {
15384         -
            /* ServerBuilderGenerator.kt:542 */
15385         -
            crate::input::HttpPrefixHeadersInResponseInput {
15386         -
            /* ServerBuilderGenerator.kt:542 */}
15387         -
            /* ServerBuilderGenerator.kt:283 */
15388         -
        }
15389         -
        /* ServerBuilderGenerator.kt:215 */
15390         -
    }
15391         -
15392         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15393         -
}
15394         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
15395         -
pub mod http_prefix_headers_input {
15396         -
15397         -
    /* ServerBuilderGenerator.kt:461 */
15398         -
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
15399         -
        fn from(builder: Builder) -> Self {
15400         -
            builder.build()
15401         -
        }
15402         -
    }
15403         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
15404         -
    /* RustType.kt:534 */
15405         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15406         -
    /* ServerBuilderGenerator.kt:211 */
15407         -
    pub struct Builder {
15408         -
        /* ServerBuilderGenerator.kt:308 */
15409         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15410         -
        /* ServerBuilderGenerator.kt:308 */
15411         -
        pub(crate) foo_map: ::std::option::Option<
15412         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15413         -
        >,
15414         -
        /* ServerBuilderGenerator.kt:211 */
15415         -
    }
15416         -
    /* ServerBuilderGenerator.kt:215 */
15417         -
    impl Builder {
15418  16318   
        /* ServerBuilderGenerator.kt:331 */
15419  16319   
        #[allow(missing_docs)] // documentation missing in model
15420  16320   
                               /* ServerBuilderGenerator.kt:343 */
15421         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16321  +
        pub fn short_in_query(mut self, input: ::std::option::Option<i16>) -> Self {
15422  16322   
            /* ServerBuilderGenerator.kt:344 */
15423         -
            self.foo =
       16323  +
            self.short_in_query =
15424  16324   
                /* ServerBuilderGenerator.kt:376 */input
15425  16325   
            /* ServerBuilderGenerator.kt:344 */;
15426  16326   
            self
15427  16327   
            /* ServerBuilderGenerator.kt:343 */
15428  16328   
        }
15429  16329   
        /* ServerBuilderGenerator.kt:426 */
15430  16330   
        #[allow(missing_docs)] // documentation missing in model
15431  16331   
                               /* ServerBuilderGenerator.kt:428 */
15432         -
        pub(crate) fn set_foo(
       16332  +
        pub(crate) fn set_short_in_query(
15433  16333   
            mut self,
15434         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16334  +
            input: Option<impl ::std::convert::Into<i16>>,
15435  16335   
        ) -> Self {
15436  16336   
            /* ServerBuilderGenerator.kt:429 */
15437         -
            self.foo = input.map(|v| v.into());
       16337  +
            self.short_in_query = input.map(|v| v.into());
15438  16338   
            self
15439  16339   
            /* ServerBuilderGenerator.kt:428 */
15440  16340   
        }
15441  16341   
        /* ServerBuilderGenerator.kt:331 */
15442  16342   
        #[allow(missing_docs)] // documentation missing in model
15443  16343   
                               /* ServerBuilderGenerator.kt:343 */
15444         -
        pub fn foo_map(
15445         -
            mut self,
15446         -
            input: ::std::option::Option<
15447         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15448         -
            >,
15449         -
        ) -> Self {
       16344  +
        pub fn short_in_header(mut self, input: ::std::option::Option<i16>) -> Self {
15450  16345   
            /* ServerBuilderGenerator.kt:344 */
15451         -
            self.foo_map =
       16346  +
            self.short_in_header =
15452  16347   
                /* ServerBuilderGenerator.kt:376 */input
15453  16348   
            /* ServerBuilderGenerator.kt:344 */;
15454  16349   
            self
15455  16350   
            /* ServerBuilderGenerator.kt:343 */
15456  16351   
        }
15457  16352   
        /* ServerBuilderGenerator.kt:426 */
15458  16353   
        #[allow(missing_docs)] // documentation missing in model
15459  16354   
                               /* ServerBuilderGenerator.kt:428 */
15460         -
        pub(crate) fn set_foo_map(
       16355  +
        pub(crate) fn set_short_in_header(
15461  16356   
            mut self,
15462         -
            input: Option<
15463         -
                impl ::std::convert::Into<
15464         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15465         -
                >,
15466         -
            >,
       16357  +
            input: Option<impl ::std::convert::Into<i16>>,
15467  16358   
        ) -> Self {
15468  16359   
            /* ServerBuilderGenerator.kt:429 */
15469         -
            self.foo_map = input.map(|v| v.into());
       16360  +
            self.short_in_header = input.map(|v| v.into());
15470  16361   
            self
15471  16362   
            /* ServerBuilderGenerator.kt:428 */
15472  16363   
        }
15473         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       16364  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
       16365  +
        /// /* ServerBuilderGenerator.kt:260 */
       16366  +
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if a [`ConstraintViolation`] occurs.
       16367  +
        ///
15474  16368   
        /* ServerBuilderGenerator.kt:271 */
15475         -
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
       16369  +
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
15476  16370   
            self.build_enforcing_all_constraints()
15477  16371   
        }
15478  16372   
        /* ServerBuilderGenerator.kt:283 */
15479         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInput {
15480         -
            /* ServerBuilderGenerator.kt:542 */
15481         -
            crate::input::HttpPrefixHeadersInput {
15482         -
                /* ServerBuilderGenerator.kt:546 */
15483         -
                foo: self.foo,
15484         -
                /* ServerBuilderGenerator.kt:546 */
15485         -
                foo_map: self.foo_map,
       16373  +
        fn build_enforcing_all_constraints(
       16374  +
            self,
       16375  +
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
       16376  +
            /* ServerBuilderGenerator.kt:287 */
       16377  +
            Ok(
15486  16378   
                /* ServerBuilderGenerator.kt:542 */
15487         -
            }
       16379  +
                crate::input::MalformedShortInput {
       16380  +
                    /* ServerBuilderGenerator.kt:546 */
       16381  +
                    short_in_body: self.short_in_body,
       16382  +
                    /* ServerBuilderGenerator.kt:546 */
       16383  +
                    short_in_path: self
       16384  +
                        .short_in_path
       16385  +
                        /* ServerBuilderGenerator.kt:569 */
       16386  +
                        .ok_or(ConstraintViolation::MissingShortInPath)?,
       16387  +
                    /* ServerBuilderGenerator.kt:546 */
       16388  +
                    short_in_query: self.short_in_query,
       16389  +
                    /* ServerBuilderGenerator.kt:546 */
       16390  +
                    short_in_header: self.short_in_header,
       16391  +
                    /* ServerBuilderGenerator.kt:542 */
       16392  +
                }, /* ServerBuilderGenerator.kt:287 */
       16393  +
            )
15488  16394   
            /* ServerBuilderGenerator.kt:283 */
15489  16395   
        }
15490         -
        /* ServerBuilderGenerator.kt:215 */
       16396  +
        /* ServerBuilderGenerator.kt:215 */
       16397  +
    }
       16398  +
       16399  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16400  +
}
       16401  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedLongInput`](crate::input::MalformedLongInput).
       16402  +
pub mod malformed_long_input {
       16403  +
       16404  +
    /* RustType.kt:534 */
       16405  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16406  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       16407  +
    /* RustType.kt:534 */
       16408  +
    #[non_exhaustive]
       16409  +
    /* ServerBuilderConstraintViolations.kt:75 */
       16410  +
    #[allow(clippy::enum_variant_names)]
       16411  +
    pub enum ConstraintViolation {
       16412  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`long_in_path` was not provided but it is required when building `MalformedLongInput`.
       16413  +
        /* ServerBuilderConstraintViolations.kt:144 */
       16414  +
        MissingLongInPath,
       16415  +
        /* ServerBuilderConstraintViolations.kt:75 */
       16416  +
    }
       16417  +
    /* ServerBuilderConstraintViolations.kt:116 */
       16418  +
    impl ::std::fmt::Display for ConstraintViolation {
       16419  +
        /* ServerBuilderConstraintViolations.kt:117 */
       16420  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16421  +
            /* ServerBuilderConstraintViolations.kt:118 */
       16422  +
            match self {
       16423  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
       16424  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       16425  +
            /* ServerBuilderConstraintViolations.kt:117 */
       16426  +
        }
       16427  +
        /* ServerBuilderConstraintViolations.kt:116 */
       16428  +
    }
       16429  +
    /* ServerBuilderConstraintViolations.kt:83 */
       16430  +
    impl ::std::error::Error for ConstraintViolation {}
       16431  +
    /* ServerBuilderConstraintViolations.kt:172 */
       16432  +
    impl ConstraintViolation {
       16433  +
        pub(crate) fn as_validation_exception_field(
       16434  +
            self,
       16435  +
            path: ::std::string::String,
       16436  +
        ) -> crate::model::ValidationExceptionField {
       16437  +
            match self {
       16438  +
            ConstraintViolation::MissingLongInPath => crate::model::ValidationExceptionField {
       16439  +
                                                message: format!("Value at '{}/longInPath' failed to satisfy constraint: Member must not be null", path),
       16440  +
                                                path: path + "/longInPath",
       16441  +
                                            },
       16442  +
        }
       16443  +
        }
       16444  +
    }
       16445  +
    /* ServerBuilderGenerator.kt:234 */
       16446  +
    impl ::std::convert::From<ConstraintViolation>
       16447  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16448  +
    {
       16449  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16450  +
            let first_validation_exception_field =
       16451  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16452  +
            let validation_exception = crate::error::ValidationException {
       16453  +
                message: format!(
       16454  +
                    "1 validation error detected. {}",
       16455  +
                    &first_validation_exception_field.message
       16456  +
                ),
       16457  +
                field_list: Some(vec![first_validation_exception_field]),
       16458  +
            };
       16459  +
            Self::ConstraintViolation(
       16460  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16461  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16462  +
                            )
       16463  +
        }
       16464  +
    }
       16465  +
    /* ServerBuilderGenerator.kt:244 */
       16466  +
    impl ::std::convert::From<Builder>
       16467  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedLongInput>
       16468  +
    {
       16469  +
        fn from(builder: Builder) -> Self {
       16470  +
            Self::Unconstrained(builder)
       16471  +
        }
15491  16472   
    }
       16473  +
    /* ServerBuilderGenerator.kt:446 */
       16474  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
       16475  +
        type Error = ConstraintViolation;
15492  16476   
15493         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15494         -
}
15495         -
/// /* ServerBuilderGenerator.kt:171 */See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
15496         -
pub mod query_params_as_string_list_map_input {
15497         -
15498         -
    /* ServerBuilderGenerator.kt:461 */
15499         -
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
15500         -
        fn from(builder: Builder) -> Self {
       16477  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
15501  16478   
            builder.build()
15502  16479   
        }
15503  16480   
    }
15504         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       16481  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
15505  16482   
    /* RustType.kt:534 */
15506  16483   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15507  16484   
    /* ServerBuilderGenerator.kt:211 */
15508  16485   
    pub struct Builder {
15509  16486   
        /* ServerBuilderGenerator.kt:308 */
15510         -
        pub(crate) qux: ::std::option::Option<::std::string::String>,
       16487  +
        pub(crate) long_in_body: ::std::option::Option<i64>,
15511  16488   
        /* ServerBuilderGenerator.kt:308 */
15512         -
        pub(crate) foo: ::std::option::Option<
15513         -
            ::std::collections::HashMap<
15514         -
                ::std::string::String,
15515         -
                ::std::vec::Vec<::std::string::String>,
15516         -
            >,
15517         -
        >,
       16489  +
        pub(crate) long_in_path: ::std::option::Option<i64>,
       16490  +
        /* ServerBuilderGenerator.kt:308 */
       16491  +
        pub(crate) long_in_query: ::std::option::Option<i64>,
       16492  +
        /* ServerBuilderGenerator.kt:308 */
       16493  +
        pub(crate) long_in_header: ::std::option::Option<i64>,
15518  16494   
        /* ServerBuilderGenerator.kt:211 */
15519  16495   
    }
15520  16496   
    /* ServerBuilderGenerator.kt:215 */
15521  16497   
    impl Builder {
15522  16498   
        /* ServerBuilderGenerator.kt:331 */
15523  16499   
        #[allow(missing_docs)] // documentation missing in model
15524  16500   
                               /* ServerBuilderGenerator.kt:343 */
15525         -
        pub fn qux(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
15526         -
            /* ServerBuilderGenerator.kt:344 */
15527         -
            self.qux =
15528         -
                /* ServerBuilderGenerator.kt:376 */input
15529         -
            /* ServerBuilderGenerator.kt:344 */;
15530         -
            self
15531         -
            /* ServerBuilderGenerator.kt:343 */
15532         -
        }
15533         -
        /* ServerBuilderGenerator.kt:426 */
15534         -
        #[allow(missing_docs)] // documentation missing in model
15535         -
                               /* ServerBuilderGenerator.kt:428 */
15536         -
        pub(crate) fn set_qux(
15537         -
            mut self,
15538         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15539         -
        ) -> Self {
15540         -
            /* ServerBuilderGenerator.kt:429 */
15541         -
            self.qux = input.map(|v| v.into());
15542         -
            self
15543         -
            /* ServerBuilderGenerator.kt:428 */
15544         -
        }
15545         -
        /* ServerBuilderGenerator.kt:331 */
15546         -
        #[allow(missing_docs)] // documentation missing in model
15547         -
                               /* ServerBuilderGenerator.kt:343 */
15548         -
        pub fn foo(
15549         -
            mut self,
15550         -
            input: ::std::option::Option<
15551         -
                ::std::collections::HashMap<
15552         -
                    ::std::string::String,
15553         -
                    ::std::vec::Vec<::std::string::String>,
15554         -
                >,
15555         -
            >,
15556         -
        ) -> Self {
       16501  +
        pub fn long_in_body(mut self, input: ::std::option::Option<i64>) -> Self {
15557  16502   
            /* ServerBuilderGenerator.kt:344 */
15558         -
            self.foo =
       16503  +
            self.long_in_body =
15559  16504   
                /* ServerBuilderGenerator.kt:376 */input
15560  16505   
            /* ServerBuilderGenerator.kt:344 */;
15561  16506   
            self
15562  16507   
            /* ServerBuilderGenerator.kt:343 */
15563  16508   
        }
15564  16509   
        /* ServerBuilderGenerator.kt:426 */
15565  16510   
        #[allow(missing_docs)] // documentation missing in model
15566  16511   
                               /* ServerBuilderGenerator.kt:428 */
15567         -
        pub(crate) fn set_foo(
       16512  +
        pub(crate) fn set_long_in_body(
15568  16513   
            mut self,
15569         -
            input: Option<
15570         -
                impl ::std::convert::Into<
15571         -
                    ::std::collections::HashMap<
15572         -
                        ::std::string::String,
15573         -
                        ::std::vec::Vec<::std::string::String>,
15574         -
                    >,
15575         -
                >,
15576         -
            >,
       16514  +
            input: Option<impl ::std::convert::Into<i64>>,
15577  16515   
        ) -> Self {
15578  16516   
            /* ServerBuilderGenerator.kt:429 */
15579         -
            self.foo = input.map(|v| v.into());
       16517  +
            self.long_in_body = input.map(|v| v.into());
15580  16518   
            self
15581  16519   
            /* ServerBuilderGenerator.kt:428 */
15582  16520   
        }
15583         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
15584         -
        /* ServerBuilderGenerator.kt:271 */
15585         -
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
15586         -
            self.build_enforcing_all_constraints()
15587         -
        }
15588         -
        /* ServerBuilderGenerator.kt:283 */
15589         -
        fn build_enforcing_all_constraints(self) -> crate::input::QueryParamsAsStringListMapInput {
15590         -
            /* ServerBuilderGenerator.kt:542 */
15591         -
            crate::input::QueryParamsAsStringListMapInput {
15592         -
                /* ServerBuilderGenerator.kt:546 */
15593         -
                qux: self.qux,
15594         -
                /* ServerBuilderGenerator.kt:546 */
15595         -
                foo: self.foo,
15596         -
                /* ServerBuilderGenerator.kt:542 */
15597         -
            }
15598         -
            /* ServerBuilderGenerator.kt:283 */
15599         -
        }
15600         -
        /* ServerBuilderGenerator.kt:215 */
15601         -
    }
15602         -
15603         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15604         -
}
15605         -
/// /* ServerBuilderGenerator.kt:171 */See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
15606         -
pub mod query_precedence_input {
15607         -
15608         -
    /* ServerBuilderGenerator.kt:461 */
15609         -
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
15610         -
        fn from(builder: Builder) -> Self {
15611         -
            builder.build()
15612         -
        }
15613         -
    }
15614         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
15615         -
    /* RustType.kt:534 */
15616         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15617         -
    /* ServerBuilderGenerator.kt:211 */
15618         -
    pub struct Builder {
15619         -
        /* ServerBuilderGenerator.kt:308 */
15620         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15621         -
        /* ServerBuilderGenerator.kt:308 */
15622         -
        pub(crate) baz: ::std::option::Option<
15623         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15624         -
        >,
15625         -
        /* ServerBuilderGenerator.kt:211 */
15626         -
    }
15627         -
    /* ServerBuilderGenerator.kt:215 */
15628         -
    impl Builder {
15629  16521   
        /* ServerBuilderGenerator.kt:331 */
15630  16522   
        #[allow(missing_docs)] // documentation missing in model
15631  16523   
                               /* ServerBuilderGenerator.kt:343 */
15632         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16524  +
        pub fn long_in_path(mut self, input: i64) -> Self {
15633  16525   
            /* ServerBuilderGenerator.kt:344 */
15634         -
            self.foo =
15635         -
                /* ServerBuilderGenerator.kt:376 */input
       16526  +
            self.long_in_path =
       16527  +
                /* ServerBuilderGenerator.kt:345 */Some(
       16528  +
                    /* ServerBuilderGenerator.kt:376 */input
       16529  +
                /* ServerBuilderGenerator.kt:345 */)
15636  16530   
            /* ServerBuilderGenerator.kt:344 */;
15637  16531   
            self
15638  16532   
            /* ServerBuilderGenerator.kt:343 */
15639  16533   
        }
15640  16534   
        /* ServerBuilderGenerator.kt:426 */
15641  16535   
        #[allow(missing_docs)] // documentation missing in model
15642  16536   
                               /* ServerBuilderGenerator.kt:428 */
15643         -
        pub(crate) fn set_foo(
15644         -
            mut self,
15645         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15646         -
        ) -> Self {
       16537  +
        pub(crate) fn set_long_in_path(mut self, input: impl ::std::convert::Into<i64>) -> Self {
15647  16538   
            /* ServerBuilderGenerator.kt:429 */
15648         -
            self.foo = input.map(|v| v.into());
       16539  +
            self.long_in_path = Some(input.into());
15649  16540   
            self
15650  16541   
            /* ServerBuilderGenerator.kt:428 */
15651  16542   
        }
15652  16543   
        /* ServerBuilderGenerator.kt:331 */
15653  16544   
        #[allow(missing_docs)] // documentation missing in model
15654  16545   
                               /* ServerBuilderGenerator.kt:343 */
15655         -
        pub fn baz(
15656         -
            mut self,
15657         -
            input: ::std::option::Option<
15658         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15659         -
            >,
15660         -
        ) -> Self {
       16546  +
        pub fn long_in_query(mut self, input: ::std::option::Option<i64>) -> Self {
15661  16547   
            /* ServerBuilderGenerator.kt:344 */
15662         -
            self.baz =
       16548  +
            self.long_in_query =
15663  16549   
                /* ServerBuilderGenerator.kt:376 */input
15664  16550   
            /* ServerBuilderGenerator.kt:344 */;
15665  16551   
            self
15666  16552   
            /* ServerBuilderGenerator.kt:343 */
15667  16553   
        }
15668  16554   
        /* ServerBuilderGenerator.kt:426 */
15669  16555   
        #[allow(missing_docs)] // documentation missing in model
15670  16556   
                               /* ServerBuilderGenerator.kt:428 */
15671         -
        pub(crate) fn set_baz(
       16557  +
        pub(crate) fn set_long_in_query(
15672  16558   
            mut self,
15673         -
            input: Option<
15674         -
                impl ::std::convert::Into<
15675         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
15676         -
                >,
15677         -
            >,
       16559  +
            input: Option<impl ::std::convert::Into<i64>>,
15678  16560   
        ) -> Self {
15679  16561   
            /* ServerBuilderGenerator.kt:429 */
15680         -
            self.baz = input.map(|v| v.into());
       16562  +
            self.long_in_query = input.map(|v| v.into());
15681  16563   
            self
15682  16564   
            /* ServerBuilderGenerator.kt:428 */
15683  16565   
        }
15684         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
15685         -
        /* ServerBuilderGenerator.kt:271 */
15686         -
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
15687         -
            self.build_enforcing_all_constraints()
15688         -
        }
15689         -
        /* ServerBuilderGenerator.kt:283 */
15690         -
        fn build_enforcing_all_constraints(self) -> crate::input::QueryPrecedenceInput {
15691         -
            /* ServerBuilderGenerator.kt:542 */
15692         -
            crate::input::QueryPrecedenceInput {
15693         -
                /* ServerBuilderGenerator.kt:546 */
15694         -
                foo: self.foo,
15695         -
                /* ServerBuilderGenerator.kt:546 */
15696         -
                baz: self.baz,
15697         -
                /* ServerBuilderGenerator.kt:542 */
15698         -
            }
15699         -
            /* ServerBuilderGenerator.kt:283 */
15700         -
        }
15701         -
        /* ServerBuilderGenerator.kt:215 */
15702         -
    }
15703         -
15704         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15705         -
}
15706         -
/// /* ServerBuilderGenerator.kt:171 */See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
15707         -
pub mod query_idempotency_token_auto_fill_input {
15708         -
15709         -
    /* ServerBuilderGenerator.kt:461 */
15710         -
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
15711         -
        fn from(builder: Builder) -> Self {
15712         -
            builder.build()
15713         -
        }
15714         -
    }
15715         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
15716         -
    /* RustType.kt:534 */
15717         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15718         -
    /* ServerBuilderGenerator.kt:211 */
15719         -
    pub struct Builder {
15720         -
        /* ServerBuilderGenerator.kt:308 */
15721         -
        pub(crate) token: ::std::option::Option<::std::string::String>,
15722         -
        /* ServerBuilderGenerator.kt:211 */
15723         -
    }
15724         -
    /* ServerBuilderGenerator.kt:215 */
15725         -
    impl Builder {
15726  16566   
        /* ServerBuilderGenerator.kt:331 */
15727  16567   
        #[allow(missing_docs)] // documentation missing in model
15728  16568   
                               /* ServerBuilderGenerator.kt:343 */
15729         -
        pub fn token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16569  +
        pub fn long_in_header(mut self, input: ::std::option::Option<i64>) -> Self {
15730  16570   
            /* ServerBuilderGenerator.kt:344 */
15731         -
            self.token =
       16571  +
            self.long_in_header =
15732  16572   
                /* ServerBuilderGenerator.kt:376 */input
15733  16573   
            /* ServerBuilderGenerator.kt:344 */;
15734  16574   
            self
15735  16575   
            /* ServerBuilderGenerator.kt:343 */
15736  16576   
        }
15737  16577   
        /* ServerBuilderGenerator.kt:426 */
15738  16578   
        #[allow(missing_docs)] // documentation missing in model
15739  16579   
                               /* ServerBuilderGenerator.kt:428 */
15740         -
        pub(crate) fn set_token(
       16580  +
        pub(crate) fn set_long_in_header(
15741  16581   
            mut self,
15742         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16582  +
            input: Option<impl ::std::convert::Into<i64>>,
15743  16583   
        ) -> Self {
15744  16584   
            /* ServerBuilderGenerator.kt:429 */
15745         -
            self.token = input.map(|v| v.into());
       16585  +
            self.long_in_header = input.map(|v| v.into());
15746  16586   
            self
15747  16587   
            /* ServerBuilderGenerator.kt:428 */
15748  16588   
        }
15749         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       16589  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
       16590  +
        /// /* ServerBuilderGenerator.kt:260 */
       16591  +
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if a [`ConstraintViolation`] occurs.
       16592  +
        ///
15750  16593   
        /* ServerBuilderGenerator.kt:271 */
15751         -
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       16594  +
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
15752  16595   
            self.build_enforcing_all_constraints()
15753  16596   
        }
15754  16597   
        /* ServerBuilderGenerator.kt:283 */
15755  16598   
        fn build_enforcing_all_constraints(
15756  16599   
            self,
15757         -
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
15758         -
            /* ServerBuilderGenerator.kt:542 */
15759         -
            crate::input::QueryIdempotencyTokenAutoFillInput {
15760         -
                /* ServerBuilderGenerator.kt:546 */
15761         -
                token: self.token,
       16600  +
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
       16601  +
            /* ServerBuilderGenerator.kt:287 */
       16602  +
            Ok(
15762  16603   
                /* ServerBuilderGenerator.kt:542 */
15763         -
            }
       16604  +
                crate::input::MalformedLongInput {
       16605  +
                    /* ServerBuilderGenerator.kt:546 */
       16606  +
                    long_in_body: self.long_in_body,
       16607  +
                    /* ServerBuilderGenerator.kt:546 */
       16608  +
                    long_in_path: self
       16609  +
                        .long_in_path
       16610  +
                        /* ServerBuilderGenerator.kt:569 */
       16611  +
                        .ok_or(ConstraintViolation::MissingLongInPath)?,
       16612  +
                    /* ServerBuilderGenerator.kt:546 */
       16613  +
                    long_in_query: self.long_in_query,
       16614  +
                    /* ServerBuilderGenerator.kt:546 */
       16615  +
                    long_in_header: self.long_in_header,
       16616  +
                    /* ServerBuilderGenerator.kt:542 */
       16617  +
                }, /* ServerBuilderGenerator.kt:287 */
       16618  +
            )
15764  16619   
            /* ServerBuilderGenerator.kt:283 */
15765  16620   
        }
15766  16621   
        /* ServerBuilderGenerator.kt:215 */
15767  16622   
    }
15768  16623   
15769  16624   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
15770  16625   
}
15771         -
/// /* ServerBuilderGenerator.kt:171 */See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
15772         -
pub mod omits_serializing_empty_lists_input {
       16626  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       16627  +
pub mod malformed_float_input {
15773  16628   
15774  16629   
    /* RustType.kt:534 */
15775  16630   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
15776  16631   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
15777  16632   
    /* RustType.kt:534 */
15778  16633   
    #[non_exhaustive]
15779  16634   
    /* ServerBuilderConstraintViolations.kt:75 */
15780  16635   
    #[allow(clippy::enum_variant_names)]
15781  16636   
    pub enum ConstraintViolation {
15782         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`.
15783         -
        /* RustType.kt:534 */
15784         -
        #[doc(hidden)]
15785         -
        /* ServerBuilderConstraintViolations.kt:165 */
15786         -
        QueryEnumList(crate::model::foo_enum_list::ConstraintViolation),
       16637  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`float_in_path` was not provided but it is required when building `MalformedFloatInput`.
       16638  +
        /* ServerBuilderConstraintViolations.kt:144 */
       16639  +
        MissingFloatInPath,
15787  16640   
        /* ServerBuilderConstraintViolations.kt:75 */
15788  16641   
    }
15789  16642   
    /* ServerBuilderConstraintViolations.kt:116 */
15790  16643   
    impl ::std::fmt::Display for ConstraintViolation {
15791  16644   
        /* ServerBuilderConstraintViolations.kt:117 */
15792  16645   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15793  16646   
            /* ServerBuilderConstraintViolations.kt:118 */
15794  16647   
            match self {
15795         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`"),
       16648  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
15796  16649   
            /* ServerBuilderConstraintViolations.kt:118 */}
15797  16650   
            /* ServerBuilderConstraintViolations.kt:117 */
15798  16651   
        }
15799  16652   
        /* ServerBuilderConstraintViolations.kt:116 */
15800  16653   
    }
15801  16654   
    /* ServerBuilderConstraintViolations.kt:83 */
15802  16655   
    impl ::std::error::Error for ConstraintViolation {}
15803  16656   
    /* ServerBuilderConstraintViolations.kt:172 */
15804  16657   
    impl ConstraintViolation {
15805  16658   
        pub(crate) fn as_validation_exception_field(
15806  16659   
            self,
15807  16660   
            path: ::std::string::String,
15808  16661   
        ) -> crate::model::ValidationExceptionField {
15809  16662   
            match self {
15810         -
                ConstraintViolation::QueryEnumList(inner) => {
15811         -
                    inner.as_validation_exception_field(path + "/queryEnumList")
15812         -
                }
15813         -
            }
       16663  +
            ConstraintViolation::MissingFloatInPath => crate::model::ValidationExceptionField {
       16664  +
                                                message: format!("Value at '{}/floatInPath' failed to satisfy constraint: Member must not be null", path),
       16665  +
                                                path: path + "/floatInPath",
       16666  +
                                            },
       16667  +
        }
15814  16668   
        }
15815  16669   
    }
15816  16670   
    /* ServerBuilderGenerator.kt:234 */
15817  16671   
    impl ::std::convert::From<ConstraintViolation>
15818  16672   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
15819  16673   
    {
15820  16674   
        fn from(constraint_violation: ConstraintViolation) -> Self {
15821  16675   
            let first_validation_exception_field =
15822  16676   
                constraint_violation.as_validation_exception_field("".to_owned());
15823  16677   
            let validation_exception = crate::error::ValidationException {
15824  16678   
                message: format!(
15825  16679   
                    "1 validation error detected. {}",
15826  16680   
                    &first_validation_exception_field.message
15827  16681   
                ),
15828  16682   
                field_list: Some(vec![first_validation_exception_field]),
15829  16683   
            };
15830  16684   
            Self::ConstraintViolation(
15831  16685   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
15832  16686   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
15833  16687   
                            )
15834  16688   
        }
15835  16689   
    }
15836  16690   
    /* ServerBuilderGenerator.kt:244 */
15837  16691   
    impl ::std::convert::From<Builder>
15838         -
        for crate::constrained::MaybeConstrained<crate::input::OmitsSerializingEmptyListsInput>
       16692  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedFloatInput>
15839  16693   
    {
15840  16694   
        fn from(builder: Builder) -> Self {
15841  16695   
            Self::Unconstrained(builder)
15842  16696   
        }
15843  16697   
    }
15844  16698   
    /* ServerBuilderGenerator.kt:446 */
15845         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OmitsSerializingEmptyListsInput {
       16699  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
15846  16700   
        type Error = ConstraintViolation;
15847  16701   
15848  16702   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
15849  16703   
            builder.build()
15850  16704   
        }
15851  16705   
    }
15852         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       16706  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
15853  16707   
    /* RustType.kt:534 */
15854  16708   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15855  16709   
    /* ServerBuilderGenerator.kt:211 */
15856  16710   
    pub struct Builder {
15857  16711   
        /* ServerBuilderGenerator.kt:308 */
15858         -
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
15859         -
        /* ServerBuilderGenerator.kt:308 */
15860         -
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
15861         -
        /* ServerBuilderGenerator.kt:308 */
15862         -
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
15863         -
        /* ServerBuilderGenerator.kt:308 */
15864         -
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       16712  +
        pub(crate) float_in_body: ::std::option::Option<f32>,
15865  16713   
        /* ServerBuilderGenerator.kt:308 */
15866         -
        pub(crate) query_timestamp_list:
15867         -
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       16714  +
        pub(crate) float_in_path: ::std::option::Option<f32>,
15868  16715   
        /* ServerBuilderGenerator.kt:308 */
15869         -
        pub(crate) query_enum_list: ::std::option::Option<
15870         -
            crate::constrained::MaybeConstrained<
15871         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
15872         -
            >,
15873         -
        >,
       16716  +
        pub(crate) float_in_query: ::std::option::Option<f32>,
15874  16717   
        /* ServerBuilderGenerator.kt:308 */
15875         -
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       16718  +
        pub(crate) float_in_header: ::std::option::Option<f32>,
15876  16719   
        /* ServerBuilderGenerator.kt:211 */
15877  16720   
    }
15878  16721   
    /* ServerBuilderGenerator.kt:215 */
15879  16722   
    impl Builder {
15880  16723   
        /* ServerBuilderGenerator.kt:331 */
15881  16724   
        #[allow(missing_docs)] // documentation missing in model
15882  16725   
                               /* ServerBuilderGenerator.kt:343 */
15883         -
        pub fn query_string_list(
15884         -
            mut self,
15885         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
15886         -
        ) -> Self {
       16726  +
        pub fn float_in_body(mut self, input: ::std::option::Option<f32>) -> Self {
15887  16727   
            /* ServerBuilderGenerator.kt:344 */
15888         -
            self.query_string_list =
       16728  +
            self.float_in_body =
15889  16729   
                /* ServerBuilderGenerator.kt:376 */input
15890  16730   
            /* ServerBuilderGenerator.kt:344 */;
15891  16731   
            self
15892  16732   
            /* ServerBuilderGenerator.kt:343 */
15893  16733   
        }
15894  16734   
        /* ServerBuilderGenerator.kt:426 */
15895  16735   
        #[allow(missing_docs)] // documentation missing in model
15896  16736   
                               /* ServerBuilderGenerator.kt:428 */
15897         -
        pub(crate) fn set_query_string_list(
       16737  +
        pub(crate) fn set_float_in_body(
15898  16738   
            mut self,
15899         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       16739  +
            input: Option<impl ::std::convert::Into<f32>>,
15900  16740   
        ) -> Self {
15901  16741   
            /* ServerBuilderGenerator.kt:429 */
15902         -
            self.query_string_list = input.map(|v| v.into());
       16742  +
            self.float_in_body = input.map(|v| v.into());
15903  16743   
            self
15904  16744   
            /* ServerBuilderGenerator.kt:428 */
15905  16745   
        }
15906  16746   
        /* ServerBuilderGenerator.kt:331 */
15907  16747   
        #[allow(missing_docs)] // documentation missing in model
15908  16748   
                               /* ServerBuilderGenerator.kt:343 */
15909         -
        pub fn query_integer_list(
15910         -
            mut self,
15911         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
15912         -
        ) -> Self {
       16749  +
        pub fn float_in_path(mut self, input: f32) -> Self {
15913  16750   
            /* ServerBuilderGenerator.kt:344 */
15914         -
            self.query_integer_list =
15915         -
                /* ServerBuilderGenerator.kt:376 */input
       16751  +
            self.float_in_path =
       16752  +
                /* ServerBuilderGenerator.kt:345 */Some(
       16753  +
                    /* ServerBuilderGenerator.kt:376 */input
       16754  +
                /* ServerBuilderGenerator.kt:345 */)
15916  16755   
            /* ServerBuilderGenerator.kt:344 */;
15917  16756   
            self
15918  16757   
            /* ServerBuilderGenerator.kt:343 */
15919  16758   
        }
15920  16759   
        /* ServerBuilderGenerator.kt:426 */
15921  16760   
        #[allow(missing_docs)] // documentation missing in model
15922  16761   
                               /* ServerBuilderGenerator.kt:428 */
15923         -
        pub(crate) fn set_query_integer_list(
15924         -
            mut self,
15925         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
15926         -
        ) -> Self {
       16762  +
        pub(crate) fn set_float_in_path(mut self, input: impl ::std::convert::Into<f32>) -> Self {
15927  16763   
            /* ServerBuilderGenerator.kt:429 */
15928         -
            self.query_integer_list = input.map(|v| v.into());
       16764  +
            self.float_in_path = Some(input.into());
15929  16765   
            self
15930  16766   
            /* ServerBuilderGenerator.kt:428 */
15931  16767   
        }
15932  16768   
        /* ServerBuilderGenerator.kt:331 */
15933  16769   
        #[allow(missing_docs)] // documentation missing in model
15934  16770   
                               /* ServerBuilderGenerator.kt:343 */
15935         -
        pub fn query_double_list(
15936         -
            mut self,
15937         -
            input: ::std::option::Option<::std::vec::Vec<f64>>,
15938         -
        ) -> Self {
       16771  +
        pub fn float_in_query(mut self, input: ::std::option::Option<f32>) -> Self {
15939  16772   
            /* ServerBuilderGenerator.kt:344 */
15940         -
            self.query_double_list =
       16773  +
            self.float_in_query =
15941  16774   
                /* ServerBuilderGenerator.kt:376 */input
15942  16775   
            /* ServerBuilderGenerator.kt:344 */;
15943  16776   
            self
15944  16777   
            /* ServerBuilderGenerator.kt:343 */
15945  16778   
        }
15946  16779   
        /* ServerBuilderGenerator.kt:426 */
15947  16780   
        #[allow(missing_docs)] // documentation missing in model
15948  16781   
                               /* ServerBuilderGenerator.kt:428 */
15949         -
        pub(crate) fn set_query_double_list(
       16782  +
        pub(crate) fn set_float_in_query(
15950  16783   
            mut self,
15951         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       16784  +
            input: Option<impl ::std::convert::Into<f32>>,
15952  16785   
        ) -> Self {
15953  16786   
            /* ServerBuilderGenerator.kt:429 */
15954         -
            self.query_double_list = input.map(|v| v.into());
       16787  +
            self.float_in_query = input.map(|v| v.into());
15955  16788   
            self
15956  16789   
            /* ServerBuilderGenerator.kt:428 */
15957  16790   
        }
15958  16791   
        /* ServerBuilderGenerator.kt:331 */
15959  16792   
        #[allow(missing_docs)] // documentation missing in model
15960  16793   
                               /* ServerBuilderGenerator.kt:343 */
15961         -
        pub fn query_boolean_list(
15962         -
            mut self,
15963         -
            input: ::std::option::Option<::std::vec::Vec<bool>>,
15964         -
        ) -> Self {
       16794  +
        pub fn float_in_header(mut self, input: ::std::option::Option<f32>) -> Self {
15965  16795   
            /* ServerBuilderGenerator.kt:344 */
15966         -
            self.query_boolean_list =
       16796  +
            self.float_in_header =
15967  16797   
                /* ServerBuilderGenerator.kt:376 */input
15968  16798   
            /* ServerBuilderGenerator.kt:344 */;
15969  16799   
            self
15970  16800   
            /* ServerBuilderGenerator.kt:343 */
15971  16801   
        }
15972  16802   
        /* ServerBuilderGenerator.kt:426 */
15973  16803   
        #[allow(missing_docs)] // documentation missing in model
15974  16804   
                               /* ServerBuilderGenerator.kt:428 */
15975         -
        pub(crate) fn set_query_boolean_list(
       16805  +
        pub(crate) fn set_float_in_header(
15976  16806   
            mut self,
15977         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       16807  +
            input: Option<impl ::std::convert::Into<f32>>,
15978  16808   
        ) -> Self {
15979  16809   
            /* ServerBuilderGenerator.kt:429 */
15980         -
            self.query_boolean_list = input.map(|v| v.into());
       16810  +
            self.float_in_header = input.map(|v| v.into());
15981  16811   
            self
15982  16812   
            /* ServerBuilderGenerator.kt:428 */
15983  16813   
        }
15984         -
        /* ServerBuilderGenerator.kt:331 */
15985         -
        #[allow(missing_docs)] // documentation missing in model
15986         -
                               /* ServerBuilderGenerator.kt:343 */
15987         -
        pub fn query_timestamp_list(
15988         -
            mut self,
15989         -
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
15990         -
        ) -> Self {
15991         -
            /* ServerBuilderGenerator.kt:344 */
15992         -
            self.query_timestamp_list =
15993         -
                /* ServerBuilderGenerator.kt:376 */input
15994         -
            /* ServerBuilderGenerator.kt:344 */;
15995         -
            self
15996         -
            /* ServerBuilderGenerator.kt:343 */
       16814  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       16815  +
        /// /* ServerBuilderGenerator.kt:260 */
       16816  +
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if a [`ConstraintViolation`] occurs.
       16817  +
        ///
       16818  +
        /* ServerBuilderGenerator.kt:271 */
       16819  +
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       16820  +
            self.build_enforcing_all_constraints()
15997  16821   
        }
15998         -
        /* ServerBuilderGenerator.kt:426 */
15999         -
        #[allow(missing_docs)] // documentation missing in model
16000         -
                               /* ServerBuilderGenerator.kt:428 */
16001         -
        pub(crate) fn set_query_timestamp_list(
16002         -
            mut self,
16003         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
16004         -
        ) -> Self {
16005         -
            /* ServerBuilderGenerator.kt:429 */
16006         -
            self.query_timestamp_list = input.map(|v| v.into());
16007         -
            self
16008         -
            /* ServerBuilderGenerator.kt:428 */
       16822  +
        /* ServerBuilderGenerator.kt:283 */
       16823  +
        fn build_enforcing_all_constraints(
       16824  +
            self,
       16825  +
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       16826  +
            /* ServerBuilderGenerator.kt:287 */
       16827  +
            Ok(
       16828  +
                /* ServerBuilderGenerator.kt:542 */
       16829  +
                crate::input::MalformedFloatInput {
       16830  +
                    /* ServerBuilderGenerator.kt:546 */
       16831  +
                    float_in_body: self.float_in_body,
       16832  +
                    /* ServerBuilderGenerator.kt:546 */
       16833  +
                    float_in_path: self
       16834  +
                        .float_in_path
       16835  +
                        /* ServerBuilderGenerator.kt:569 */
       16836  +
                        .ok_or(ConstraintViolation::MissingFloatInPath)?,
       16837  +
                    /* ServerBuilderGenerator.kt:546 */
       16838  +
                    float_in_query: self.float_in_query,
       16839  +
                    /* ServerBuilderGenerator.kt:546 */
       16840  +
                    float_in_header: self.float_in_header,
       16841  +
                    /* ServerBuilderGenerator.kt:542 */
       16842  +
                }, /* ServerBuilderGenerator.kt:287 */
       16843  +
            )
       16844  +
            /* ServerBuilderGenerator.kt:283 */
       16845  +
        }
       16846  +
        /* ServerBuilderGenerator.kt:215 */
       16847  +
    }
       16848  +
       16849  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16850  +
}
       16851  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       16852  +
pub mod malformed_double_input {
       16853  +
       16854  +
    /* RustType.kt:534 */
       16855  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16856  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       16857  +
    /* RustType.kt:534 */
       16858  +
    #[non_exhaustive]
       16859  +
    /* ServerBuilderConstraintViolations.kt:75 */
       16860  +
    #[allow(clippy::enum_variant_names)]
       16861  +
    pub enum ConstraintViolation {
       16862  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
       16863  +
        /* ServerBuilderConstraintViolations.kt:144 */
       16864  +
        MissingDoubleInPath,
       16865  +
        /* ServerBuilderConstraintViolations.kt:75 */
       16866  +
    }
       16867  +
    /* ServerBuilderConstraintViolations.kt:116 */
       16868  +
    impl ::std::fmt::Display for ConstraintViolation {
       16869  +
        /* ServerBuilderConstraintViolations.kt:117 */
       16870  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16871  +
            /* ServerBuilderConstraintViolations.kt:118 */
       16872  +
            match self {
       16873  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
       16874  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       16875  +
            /* ServerBuilderConstraintViolations.kt:117 */
       16876  +
        }
       16877  +
        /* ServerBuilderConstraintViolations.kt:116 */
       16878  +
    }
       16879  +
    /* ServerBuilderConstraintViolations.kt:83 */
       16880  +
    impl ::std::error::Error for ConstraintViolation {}
       16881  +
    /* ServerBuilderConstraintViolations.kt:172 */
       16882  +
    impl ConstraintViolation {
       16883  +
        pub(crate) fn as_validation_exception_field(
       16884  +
            self,
       16885  +
            path: ::std::string::String,
       16886  +
        ) -> crate::model::ValidationExceptionField {
       16887  +
            match self {
       16888  +
            ConstraintViolation::MissingDoubleInPath => crate::model::ValidationExceptionField {
       16889  +
                                                message: format!("Value at '{}/doubleInPath' failed to satisfy constraint: Member must not be null", path),
       16890  +
                                                path: path + "/doubleInPath",
       16891  +
                                            },
16009  16892   
        }
       16893  +
        }
       16894  +
    }
       16895  +
    /* ServerBuilderGenerator.kt:234 */
       16896  +
    impl ::std::convert::From<ConstraintViolation>
       16897  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16898  +
    {
       16899  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16900  +
            let first_validation_exception_field =
       16901  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16902  +
            let validation_exception = crate::error::ValidationException {
       16903  +
                message: format!(
       16904  +
                    "1 validation error detected. {}",
       16905  +
                    &first_validation_exception_field.message
       16906  +
                ),
       16907  +
                field_list: Some(vec![first_validation_exception_field]),
       16908  +
            };
       16909  +
            Self::ConstraintViolation(
       16910  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16911  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16912  +
                            )
       16913  +
        }
       16914  +
    }
       16915  +
    /* ServerBuilderGenerator.kt:244 */
       16916  +
    impl ::std::convert::From<Builder>
       16917  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedDoubleInput>
       16918  +
    {
       16919  +
        fn from(builder: Builder) -> Self {
       16920  +
            Self::Unconstrained(builder)
       16921  +
        }
       16922  +
    }
       16923  +
    /* ServerBuilderGenerator.kt:446 */
       16924  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
       16925  +
        type Error = ConstraintViolation;
       16926  +
       16927  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16928  +
            builder.build()
       16929  +
        }
       16930  +
    }
       16931  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       16932  +
    /* RustType.kt:534 */
       16933  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16934  +
    /* ServerBuilderGenerator.kt:211 */
       16935  +
    pub struct Builder {
       16936  +
        /* ServerBuilderGenerator.kt:308 */
       16937  +
        pub(crate) double_in_body: ::std::option::Option<f64>,
       16938  +
        /* ServerBuilderGenerator.kt:308 */
       16939  +
        pub(crate) double_in_path: ::std::option::Option<f64>,
       16940  +
        /* ServerBuilderGenerator.kt:308 */
       16941  +
        pub(crate) double_in_query: ::std::option::Option<f64>,
       16942  +
        /* ServerBuilderGenerator.kt:308 */
       16943  +
        pub(crate) double_in_header: ::std::option::Option<f64>,
       16944  +
        /* ServerBuilderGenerator.kt:211 */
       16945  +
    }
       16946  +
    /* ServerBuilderGenerator.kt:215 */
       16947  +
    impl Builder {
16010  16948   
        /* ServerBuilderGenerator.kt:331 */
16011  16949   
        #[allow(missing_docs)] // documentation missing in model
16012  16950   
                               /* ServerBuilderGenerator.kt:343 */
16013         -
        pub fn query_enum_list(
16014         -
            mut self,
16015         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
16016         -
        ) -> Self {
       16951  +
        pub fn double_in_body(mut self, input: ::std::option::Option<f64>) -> Self {
16017  16952   
            /* ServerBuilderGenerator.kt:344 */
16018         -
            self.query_enum_list =
16019         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
16020         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
16021         -
                /* ServerBuilderGenerator.kt:363 */)
       16953  +
            self.double_in_body =
       16954  +
                /* ServerBuilderGenerator.kt:376 */input
16022  16955   
            /* ServerBuilderGenerator.kt:344 */;
16023  16956   
            self
16024  16957   
            /* ServerBuilderGenerator.kt:343 */
16025  16958   
        }
16026  16959   
        /* ServerBuilderGenerator.kt:426 */
16027  16960   
        #[allow(missing_docs)] // documentation missing in model
16028  16961   
                               /* ServerBuilderGenerator.kt:428 */
16029         -
        pub(crate) fn set_query_enum_list(
       16962  +
        pub(crate) fn set_double_in_body(
16030  16963   
            mut self,
16031         -
            input: Option<
16032         -
                impl ::std::convert::Into<
16033         -
                    crate::constrained::MaybeConstrained<
16034         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
16035         -
                    >,
16036         -
                >,
16037         -
            >,
       16964  +
            input: Option<impl ::std::convert::Into<f64>>,
16038  16965   
        ) -> Self {
16039  16966   
            /* ServerBuilderGenerator.kt:429 */
16040         -
            self.query_enum_list = input.map(|v| v.into());
       16967  +
            self.double_in_body = input.map(|v| v.into());
16041  16968   
            self
16042  16969   
            /* ServerBuilderGenerator.kt:428 */
16043  16970   
        }
16044  16971   
        /* ServerBuilderGenerator.kt:331 */
16045  16972   
        #[allow(missing_docs)] // documentation missing in model
16046  16973   
                               /* ServerBuilderGenerator.kt:343 */
16047         -
        pub fn query_integer_enum_list(
16048         -
            mut self,
16049         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
16050         -
        ) -> Self {
       16974  +
        pub fn double_in_path(mut self, input: f64) -> Self {
16051  16975   
            /* ServerBuilderGenerator.kt:344 */
16052         -
            self.query_integer_enum_list =
16053         -
                /* ServerBuilderGenerator.kt:376 */input
       16976  +
            self.double_in_path =
       16977  +
                /* ServerBuilderGenerator.kt:345 */Some(
       16978  +
                    /* ServerBuilderGenerator.kt:376 */input
       16979  +
                /* ServerBuilderGenerator.kt:345 */)
16054  16980   
            /* ServerBuilderGenerator.kt:344 */;
16055  16981   
            self
16056  16982   
            /* ServerBuilderGenerator.kt:343 */
16057  16983   
        }
16058  16984   
        /* ServerBuilderGenerator.kt:426 */
16059  16985   
        #[allow(missing_docs)] // documentation missing in model
16060  16986   
                               /* ServerBuilderGenerator.kt:428 */
16061         -
        pub(crate) fn set_query_integer_enum_list(
16062         -
            mut self,
16063         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
16064         -
        ) -> Self {
       16987  +
        pub(crate) fn set_double_in_path(mut self, input: impl ::std::convert::Into<f64>) -> Self {
16065  16988   
            /* ServerBuilderGenerator.kt:429 */
16066         -
            self.query_integer_enum_list = input.map(|v| v.into());
       16989  +
            self.double_in_path = Some(input.into());
16067  16990   
            self
16068  16991   
            /* ServerBuilderGenerator.kt:428 */
16069  16992   
        }
16070         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
16071         -
        /// /* ServerBuilderGenerator.kt:260 */
16072         -
        /// The builder fails to construct a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput) if a [`ConstraintViolation`] occurs.
16073         -
        ///
16074         -
        /* ServerBuilderGenerator.kt:271 */
16075         -
        pub fn build(
16076         -
            self,
16077         -
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
16078         -
            self.build_enforcing_all_constraints()
16079         -
        }
16080         -
        /* ServerBuilderGenerator.kt:283 */
16081         -
        fn build_enforcing_all_constraints(
16082         -
            self,
16083         -
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
16084         -
            /* ServerBuilderGenerator.kt:287 */
16085         -
            Ok(
16086         -
                /* ServerBuilderGenerator.kt:542 */
16087         -
                crate::input::OmitsSerializingEmptyListsInput {
16088         -
                    /* ServerBuilderGenerator.kt:546 */
16089         -
                    query_string_list: self.query_string_list,
16090         -
                    /* ServerBuilderGenerator.kt:546 */
16091         -
                    query_integer_list: self.query_integer_list,
16092         -
                    /* ServerBuilderGenerator.kt:546 */
16093         -
                    query_double_list: self.query_double_list,
16094         -
                    /* ServerBuilderGenerator.kt:546 */
16095         -
                    query_boolean_list: self.query_boolean_list,
16096         -
                    /* ServerBuilderGenerator.kt:546 */
16097         -
                    query_timestamp_list: self.query_timestamp_list,
16098         -
                    /* ServerBuilderGenerator.kt:546 */
16099         -
                    query_enum_list: self
16100         -
                        .query_enum_list
16101         -
                        /* ServerBuilderGenerator.kt:602 */
16102         -
                        .map(|v| match v {
16103         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
16104         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
16105         -
                        })
16106         -
                        /* ServerBuilderGenerator.kt:614 */
16107         -
                        .map(|res| {
16108         -
                            res.map(|v| v.into())
16109         -
                                .map_err(ConstraintViolation::QueryEnumList)
16110         -
                        })
16111         -
                        .transpose()?,
16112         -
                    /* ServerBuilderGenerator.kt:546 */
16113         -
                    query_integer_enum_list: self.query_integer_enum_list,
16114         -
                    /* ServerBuilderGenerator.kt:542 */
16115         -
                }, /* ServerBuilderGenerator.kt:287 */
16116         -
            )
16117         -
            /* ServerBuilderGenerator.kt:283 */
16118         -
        }
16119         -
        /* ServerBuilderGenerator.kt:215 */
16120         -
    }
16121         -
16122         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
16123         -
}
16124         -
/// /* ServerBuilderGenerator.kt:171 */See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
16125         -
pub mod omits_null_serializes_empty_string_input {
16126         -
16127         -
    /* ServerBuilderGenerator.kt:461 */
16128         -
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
16129         -
        fn from(builder: Builder) -> Self {
16130         -
            builder.build()
16131         -
        }
16132         -
    }
16133         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
16134         -
    /* RustType.kt:534 */
16135         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16136         -
    /* ServerBuilderGenerator.kt:211 */
16137         -
    pub struct Builder {
16138         -
        /* ServerBuilderGenerator.kt:308 */
16139         -
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
16140         -
        /* ServerBuilderGenerator.kt:308 */
16141         -
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
16142         -
        /* ServerBuilderGenerator.kt:211 */
16143         -
    }
16144         -
    /* ServerBuilderGenerator.kt:215 */
16145         -
    impl Builder {
16146  16993   
        /* ServerBuilderGenerator.kt:331 */
16147  16994   
        #[allow(missing_docs)] // documentation missing in model
16148  16995   
                               /* ServerBuilderGenerator.kt:343 */
16149         -
        pub fn null_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16996  +
        pub fn double_in_query(mut self, input: ::std::option::Option<f64>) -> Self {
16150  16997   
            /* ServerBuilderGenerator.kt:344 */
16151         -
            self.null_value =
       16998  +
            self.double_in_query =
16152  16999   
                /* ServerBuilderGenerator.kt:376 */input
16153  17000   
            /* ServerBuilderGenerator.kt:344 */;
16154  17001   
            self
16155  17002   
            /* ServerBuilderGenerator.kt:343 */
16156  17003   
        }
16157  17004   
        /* ServerBuilderGenerator.kt:426 */
16158  17005   
        #[allow(missing_docs)] // documentation missing in model
16159  17006   
                               /* ServerBuilderGenerator.kt:428 */
16160         -
        pub(crate) fn set_null_value(
       17007  +
        pub(crate) fn set_double_in_query(
16161  17008   
            mut self,
16162         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       17009  +
            input: Option<impl ::std::convert::Into<f64>>,
16163  17010   
        ) -> Self {
16164  17011   
            /* ServerBuilderGenerator.kt:429 */
16165         -
            self.null_value = input.map(|v| v.into());
       17012  +
            self.double_in_query = input.map(|v| v.into());
16166  17013   
            self
16167  17014   
            /* ServerBuilderGenerator.kt:428 */
16168  17015   
        }
16169  17016   
        /* ServerBuilderGenerator.kt:331 */
16170  17017   
        #[allow(missing_docs)] // documentation missing in model
16171  17018   
                               /* ServerBuilderGenerator.kt:343 */
16172         -
        pub fn empty_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       17019  +
        pub fn double_in_header(mut self, input: ::std::option::Option<f64>) -> Self {
16173  17020   
            /* ServerBuilderGenerator.kt:344 */
16174         -
            self.empty_string =
       17021  +
            self.double_in_header =
16175  17022   
                /* ServerBuilderGenerator.kt:376 */input
16176  17023   
            /* ServerBuilderGenerator.kt:344 */;
16177  17024   
            self
16178  17025   
            /* ServerBuilderGenerator.kt:343 */
16179  17026   
        }
16180  17027   
        /* ServerBuilderGenerator.kt:426 */
16181  17028   
        #[allow(missing_docs)] // documentation missing in model
16182  17029   
                               /* ServerBuilderGenerator.kt:428 */
16183         -
        pub(crate) fn set_empty_string(
       17030  +
        pub(crate) fn set_double_in_header(
16184  17031   
            mut self,
16185         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       17032  +
            input: Option<impl ::std::convert::Into<f64>>,
16186  17033   
        ) -> Self {
16187  17034   
            /* ServerBuilderGenerator.kt:429 */
16188         -
            self.empty_string = input.map(|v| v.into());
       17035  +
            self.double_in_header = input.map(|v| v.into());
16189  17036   
            self
16190  17037   
            /* ServerBuilderGenerator.kt:428 */
16191  17038   
        }
16192         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       17039  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       17040  +
        /// /* ServerBuilderGenerator.kt:260 */
       17041  +
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if a [`ConstraintViolation`] occurs.
       17042  +
        ///
16193  17043   
        /* ServerBuilderGenerator.kt:271 */
16194         -
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
       17044  +
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
16195  17045   
            self.build_enforcing_all_constraints()
16196  17046   
        }
16197  17047   
        /* ServerBuilderGenerator.kt:283 */
16198  17048   
        fn build_enforcing_all_constraints(
16199  17049   
            self,
16200         -
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
16201         -
            /* ServerBuilderGenerator.kt:542 */
16202         -
            crate::input::OmitsNullSerializesEmptyStringInput {
16203         -
                /* ServerBuilderGenerator.kt:546 */
16204         -
                null_value: self.null_value,
16205         -
                /* ServerBuilderGenerator.kt:546 */
16206         -
                empty_string: self.empty_string,
       17050  +
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
       17051  +
            /* ServerBuilderGenerator.kt:287 */
       17052  +
            Ok(
16207  17053   
                /* ServerBuilderGenerator.kt:542 */
16208         -
            }
16209         -
            /* ServerBuilderGenerator.kt:283 */
16210         -
        }
16211         -
        /* ServerBuilderGenerator.kt:215 */
16212         -
    }
16213         -
16214         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
16215         -
}
16216         -
/// /* ServerBuilderGenerator.kt:171 */See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
16217         -
pub mod ignore_query_params_in_response_input {
16218         -
16219         -
    /* ServerBuilderGenerator.kt:461 */
16220         -
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
16221         -
        fn from(builder: Builder) -> Self {
16222         -
            builder.build()
16223         -
        }
16224         -
    }
16225         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
16226         -
    /* RustType.kt:534 */
16227         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16228         -
    /* ServerBuilderGenerator.kt:211 */
16229         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
16230         -
    /* ServerBuilderGenerator.kt:215 */
16231         -
    impl Builder {
16232         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
16233         -
        /* ServerBuilderGenerator.kt:271 */
16234         -
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
16235         -
            self.build_enforcing_all_constraints()
16236         -
        }
16237         -
        /* ServerBuilderGenerator.kt:283 */
16238         -
        fn build_enforcing_all_constraints(self) -> crate::input::IgnoreQueryParamsInResponseInput {
16239         -
            /* ServerBuilderGenerator.kt:542 */
16240         -
            crate::input::IgnoreQueryParamsInResponseInput {
16241         -
            /* ServerBuilderGenerator.kt:542 */}
       17054  +
                crate::input::MalformedDoubleInput {
       17055  +
                    /* ServerBuilderGenerator.kt:546 */
       17056  +
                    double_in_body: self.double_in_body,
       17057  +
                    /* ServerBuilderGenerator.kt:546 */
       17058  +
                    double_in_path: self
       17059  +
                        .double_in_path
       17060  +
                        /* ServerBuilderGenerator.kt:569 */
       17061  +
                        .ok_or(ConstraintViolation::MissingDoubleInPath)?,
       17062  +
                    /* ServerBuilderGenerator.kt:546 */
       17063  +
                    double_in_query: self.double_in_query,
       17064  +
                    /* ServerBuilderGenerator.kt:546 */
       17065  +
                    double_in_header: self.double_in_header,
       17066  +
                    /* ServerBuilderGenerator.kt:542 */
       17067  +
                }, /* ServerBuilderGenerator.kt:287 */
       17068  +
            )
16242  17069   
            /* ServerBuilderGenerator.kt:283 */
16243  17070   
        }
16244  17071   
        /* ServerBuilderGenerator.kt:215 */
16245  17072   
    }
16246  17073   
16247  17074   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
16248  17075   
}
16249         -
/// /* ServerBuilderGenerator.kt:171 */See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
16250         -
pub mod constant_and_variable_query_string_input {
       17076  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedStringInput`](crate::input::MalformedStringInput).
       17077  +
pub mod malformed_string_input {
16251  17078   
16252  17079   
    /* ServerBuilderGenerator.kt:461 */
16253         -
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
       17080  +
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
16254  17081   
        fn from(builder: Builder) -> Self {
16255  17082   
            builder.build()
16256  17083   
        }
16257  17084   
    }
16258         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       17085  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
16259  17086   
    /* RustType.kt:534 */
16260  17087   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16261  17088   
    /* ServerBuilderGenerator.kt:211 */
16262  17089   
    pub struct Builder {
16263  17090   
        /* ServerBuilderGenerator.kt:308 */
16264         -
        pub(crate) baz: ::std::option::Option<::std::string::String>,
16265         -
        /* ServerBuilderGenerator.kt:308 */
16266         -
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
       17091  +
        pub(crate) blob: ::std::option::Option<::std::string::String>,
16267  17092   
        /* ServerBuilderGenerator.kt:211 */
16268  17093   
    }
16269  17094   
    /* ServerBuilderGenerator.kt:215 */
16270  17095   
    impl Builder {
16271  17096   
        /* ServerBuilderGenerator.kt:331 */
16272  17097   
        #[allow(missing_docs)] // documentation missing in model
16273  17098   
                               /* ServerBuilderGenerator.kt:343 */
16274         -
        pub fn baz(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16275         -
            /* ServerBuilderGenerator.kt:344 */
16276         -
            self.baz =
16277         -
                /* ServerBuilderGenerator.kt:376 */input
16278         -
            /* ServerBuilderGenerator.kt:344 */;
16279         -
            self
16280         -
            /* ServerBuilderGenerator.kt:343 */
16281         -
        }
16282         -
        /* ServerBuilderGenerator.kt:426 */
16283         -
        #[allow(missing_docs)] // documentation missing in model
16284         -
                               /* ServerBuilderGenerator.kt:428 */
16285         -
        pub(crate) fn set_baz(
16286         -
            mut self,
16287         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16288         -
        ) -> Self {
16289         -
            /* ServerBuilderGenerator.kt:429 */
16290         -
            self.baz = input.map(|v| v.into());
16291         -
            self
16292         -
            /* ServerBuilderGenerator.kt:428 */
16293         -
        }
16294         -
        /* ServerBuilderGenerator.kt:331 */
16295         -
        #[allow(missing_docs)] // documentation missing in model
16296         -
                               /* ServerBuilderGenerator.kt:343 */
16297         -
        pub fn maybe_set(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       17099  +
        pub fn blob(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16298  17100   
            /* ServerBuilderGenerator.kt:344 */
16299         -
            self.maybe_set =
       17101  +
            self.blob =
16300  17102   
                /* ServerBuilderGenerator.kt:376 */input
16301  17103   
            /* ServerBuilderGenerator.kt:344 */;
16302  17104   
            self
16303  17105   
            /* ServerBuilderGenerator.kt:343 */
16304  17106   
        }
16305  17107   
        /* ServerBuilderGenerator.kt:426 */
16306  17108   
        #[allow(missing_docs)] // documentation missing in model
16307  17109   
                               /* ServerBuilderGenerator.kt:428 */
16308         -
        pub(crate) fn set_maybe_set(
       17110  +
        pub(crate) fn set_blob(
16309  17111   
            mut self,
16310  17112   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16311  17113   
        ) -> Self {
16312  17114   
            /* ServerBuilderGenerator.kt:429 */
16313         -
            self.maybe_set = input.map(|v| v.into());
       17115  +
            self.blob = input.map(|v| v.into());
16314  17116   
            self
16315  17117   
            /* ServerBuilderGenerator.kt:428 */
16316  17118   
        }
16317         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       17119  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
16318  17120   
        /* ServerBuilderGenerator.kt:271 */
16319         -
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
       17121  +
        pub fn build(self) -> crate::input::MalformedStringInput {
16320  17122   
            self.build_enforcing_all_constraints()
16321  17123   
        }
16322  17124   
        /* ServerBuilderGenerator.kt:283 */
16323         -
        fn build_enforcing_all_constraints(
16324         -
            self,
16325         -
        ) -> crate::input::ConstantAndVariableQueryStringInput {
       17125  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedStringInput {
16326  17126   
            /* ServerBuilderGenerator.kt:542 */
16327         -
            crate::input::ConstantAndVariableQueryStringInput {
16328         -
                /* ServerBuilderGenerator.kt:546 */
16329         -
                baz: self.baz,
       17127  +
            crate::input::MalformedStringInput {
16330  17128   
                /* ServerBuilderGenerator.kt:546 */
16331         -
                maybe_set: self.maybe_set,
       17129  +
                blob: self.blob,
16332  17130   
                /* ServerBuilderGenerator.kt:542 */
16333  17131   
            }
16334  17132   
            /* ServerBuilderGenerator.kt:283 */
16335  17133   
        }
16336  17134   
        /* ServerBuilderGenerator.kt:215 */
16337  17135   
    }
16338  17136   
16339  17137   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
16340  17138   
}
16341         -
/// /* ServerBuilderGenerator.kt:171 */See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
16342         -
pub mod constant_query_string_input {
       17139  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       17140  +
pub mod malformed_timestamp_path_default_input {
16343  17141   
16344  17142   
    /* RustType.kt:534 */
16345  17143   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
16346  17144   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
16347  17145   
    /* RustType.kt:534 */
16348  17146   
    #[non_exhaustive]
16349  17147   
    /* ServerBuilderConstraintViolations.kt:75 */
16350  17148   
    #[allow(clippy::enum_variant_names)]
16351  17149   
    pub enum ConstraintViolation {
16352         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`hello` was not provided but it is required when building `ConstantQueryStringInput`.
       17150  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
16353  17151   
        /* ServerBuilderConstraintViolations.kt:144 */
16354         -
        MissingHello,
       17152  +
        MissingTimestamp,
16355  17153   
        /* ServerBuilderConstraintViolations.kt:75 */
16356  17154   
    }
16357  17155   
    /* ServerBuilderConstraintViolations.kt:116 */
16358  17156   
    impl ::std::fmt::Display for ConstraintViolation {
16359  17157   
        /* ServerBuilderConstraintViolations.kt:117 */
16360  17158   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16361  17159   
            /* ServerBuilderConstraintViolations.kt:118 */
16362  17160   
            match self {
16363         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
       17161  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
16364  17162   
            /* ServerBuilderConstraintViolations.kt:118 */}
16365  17163   
            /* ServerBuilderConstraintViolations.kt:117 */
16366  17164   
        }
16367  17165   
        /* ServerBuilderConstraintViolations.kt:116 */
16368  17166   
    }
16369  17167   
    /* ServerBuilderConstraintViolations.kt:83 */
16370  17168   
    impl ::std::error::Error for ConstraintViolation {}
16371  17169   
    /* ServerBuilderConstraintViolations.kt:172 */
16372  17170   
    impl ConstraintViolation {
16373  17171   
        pub(crate) fn as_validation_exception_field(
16374  17172   
            self,
16375  17173   
            path: ::std::string::String,
16376  17174   
        ) -> crate::model::ValidationExceptionField {
16377  17175   
            match self {
16378         -
                ConstraintViolation::MissingHello => crate::model::ValidationExceptionField {
16379         -
                    message: format!(
16380         -
                        "Value at '{}/hello' failed to satisfy constraint: Member must not be null",
16381         -
                        path
16382         -
                    ),
16383         -
                    path: path + "/hello",
16384         -
                },
16385         -
            }
       17176  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       17177  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       17178  +
                                                path: path + "/timestamp",
       17179  +
                                            },
       17180  +
        }
16386  17181   
        }
16387  17182   
    }
16388  17183   
    /* ServerBuilderGenerator.kt:234 */
16389  17184   
    impl ::std::convert::From<ConstraintViolation>
16390  17185   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
16391  17186   
    {
16392  17187   
        fn from(constraint_violation: ConstraintViolation) -> Self {
16393  17188   
            let first_validation_exception_field =
16394  17189   
                constraint_violation.as_validation_exception_field("".to_owned());
16395  17190   
            let validation_exception = crate::error::ValidationException {
16396  17191   
                message: format!(
16397  17192   
                    "1 validation error detected. {}",
16398  17193   
                    &first_validation_exception_field.message
16399  17194   
                ),
16400  17195   
                field_list: Some(vec![first_validation_exception_field]),
16401  17196   
            };
16402  17197   
            Self::ConstraintViolation(
16403  17198   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
16404  17199   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
16405  17200   
                            )
16406  17201   
        }
16407  17202   
    }
16408  17203   
    /* ServerBuilderGenerator.kt:244 */
16409  17204   
    impl ::std::convert::From<Builder>
16410         -
        for crate::constrained::MaybeConstrained<crate::input::ConstantQueryStringInput>
       17205  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathDefaultInput>
16411  17206   
    {
16412  17207   
        fn from(builder: Builder) -> Self {
16413  17208   
            Self::Unconstrained(builder)
16414  17209   
        }
16415  17210   
    }
16416  17211   
    /* ServerBuilderGenerator.kt:446 */
16417         -
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
       17212  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
16418  17213   
        type Error = ConstraintViolation;
16419  17214   
16420  17215   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16421  17216   
            builder.build()
16422  17217   
        }
16423  17218   
    }
16424         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       17219  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
16425  17220   
    /* RustType.kt:534 */
16426  17221   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16427  17222   
    /* ServerBuilderGenerator.kt:211 */
16428  17223   
    pub struct Builder {
16429  17224   
        /* ServerBuilderGenerator.kt:308 */
16430         -
        pub(crate) hello: ::std::option::Option<::std::string::String>,
       17225  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
16431  17226   
        /* ServerBuilderGenerator.kt:211 */
16432  17227   
    }
16433  17228   
    /* ServerBuilderGenerator.kt:215 */
16434  17229   
    impl Builder {
16435  17230   
        /* ServerBuilderGenerator.kt:331 */
16436  17231   
        #[allow(missing_docs)] // documentation missing in model
16437  17232   
                               /* ServerBuilderGenerator.kt:343 */
16438         -
        pub fn hello(mut self, input: ::std::string::String) -> Self {
       17233  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
16439  17234   
            /* ServerBuilderGenerator.kt:344 */
16440         -
            self.hello =
       17235  +
            self.timestamp =
16441  17236   
                /* ServerBuilderGenerator.kt:345 */Some(
16442  17237   
                    /* ServerBuilderGenerator.kt:376 */input
16443  17238   
                /* ServerBuilderGenerator.kt:345 */)
16444  17239   
            /* ServerBuilderGenerator.kt:344 */;
16445  17240   
            self
16446  17241   
            /* ServerBuilderGenerator.kt:343 */
16447  17242   
        }
16448  17243   
        /* ServerBuilderGenerator.kt:426 */
16449  17244   
        #[allow(missing_docs)] // documentation missing in model
16450  17245   
                               /* ServerBuilderGenerator.kt:428 */
16451         -
        pub(crate) fn set_hello(
       17246  +
        pub(crate) fn set_timestamp(
16452  17247   
            mut self,
16453         -
            input: impl ::std::convert::Into<::std::string::String>,
       17248  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
16454  17249   
        ) -> Self {
16455  17250   
            /* ServerBuilderGenerator.kt:429 */
16456         -
            self.hello = Some(input.into());
       17251  +
            self.timestamp = Some(input.into());
16457  17252   
            self
16458  17253   
            /* ServerBuilderGenerator.kt:428 */
16459  17254   
        }
16460         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       17255  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
16461  17256   
        /// /* ServerBuilderGenerator.kt:260 */
16462         -
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if a [`ConstraintViolation`] occurs.
       17257  +
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if a [`ConstraintViolation`] occurs.
16463  17258   
        ///
16464  17259   
        /* ServerBuilderGenerator.kt:271 */
16465         -
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       17260  +
        pub fn build(
       17261  +
            self,
       17262  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
16466  17263   
            self.build_enforcing_all_constraints()
16467  17264   
        }
16468  17265   
        /* ServerBuilderGenerator.kt:283 */
16469  17266   
        fn build_enforcing_all_constraints(
16470  17267   
            self,
16471         -
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       17268  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
16472  17269   
            /* ServerBuilderGenerator.kt:287 */
16473  17270   
            Ok(
16474  17271   
                /* ServerBuilderGenerator.kt:542 */
16475         -
                crate::input::ConstantQueryStringInput {
       17272  +
                crate::input::MalformedTimestampPathDefaultInput {
16476  17273   
                    /* ServerBuilderGenerator.kt:546 */
16477         -
                    hello: self
16478         -
                        .hello
       17274  +
                    timestamp: self
       17275  +
                        .timestamp
16479  17276   
                        /* ServerBuilderGenerator.kt:569 */
16480         -
                        .ok_or(ConstraintViolation::MissingHello)?,
       17277  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
16481  17278   
                    /* ServerBuilderGenerator.kt:542 */
16482  17279   
                }, /* ServerBuilderGenerator.kt:287 */
16483  17280   
            )
16484  17281   
            /* ServerBuilderGenerator.kt:283 */
16485  17282   
        }
16486  17283   
        /* ServerBuilderGenerator.kt:215 */
16487  17284   
    }
16488  17285   
16489  17286   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
16490  17287   
}
16491         -
/// /* ServerBuilderGenerator.kt:171 */See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
16492         -
pub mod all_query_string_types_input {
       17288  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       17289  +
pub mod malformed_timestamp_path_http_date_input {
16493  17290   
16494  17291   
    /* RustType.kt:534 */
16495  17292   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
16496  17293   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
16497  17294   
    /* RustType.kt:534 */
16498  17295   
    #[non_exhaustive]
16499  17296   
    /* ServerBuilderConstraintViolations.kt:75 */
16500  17297   
    #[allow(clippy::enum_variant_names)]
16501  17298   
    pub enum ConstraintViolation {
16502         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`.
16503         -
        /* RustType.kt:534 */
16504         -
        #[doc(hidden)]
16505         -
        /* ServerBuilderConstraintViolations.kt:165 */
16506         -
        QueryStringSet(crate::model::string_set::ConstraintViolation),
16507         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`.
16508         -
        /* RustType.kt:534 */
16509         -
        #[doc(hidden)]
16510         -
        /* ServerBuilderConstraintViolations.kt:165 */
16511         -
        QueryIntegerSet(crate::model::integer_set::ConstraintViolation),
16512         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`.
16513         -
        /* RustType.kt:534 */
16514         -
        #[doc(hidden)]
16515         -
        /* ServerBuilderConstraintViolations.kt:165 */
16516         -
        QueryEnum(crate::model::foo_enum::ConstraintViolation),
16517         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`.
16518         -
        /* RustType.kt:534 */
16519         -
        #[doc(hidden)]
16520         -
        /* ServerBuilderConstraintViolations.kt:165 */
16521         -
        QueryEnumList(crate::model::foo_enum_list::ConstraintViolation),
       17299  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
       17300  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17301  +
        MissingTimestamp,
16522  17302   
        /* ServerBuilderConstraintViolations.kt:75 */
16523  17303   
    }
16524  17304   
    /* ServerBuilderConstraintViolations.kt:116 */
16525  17305   
    impl ::std::fmt::Display for ConstraintViolation {
16526  17306   
        /* ServerBuilderConstraintViolations.kt:117 */
16527  17307   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16528  17308   
            /* ServerBuilderConstraintViolations.kt:118 */
16529  17309   
            match self {
16530         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryStringSet(_) => write!(f, "constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`"),
16531         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryIntegerSet(_) => write!(f, "constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`"),
16532         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnum(_) => write!(f, "constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`"),
16533         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`"),
       17310  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
16534  17311   
            /* ServerBuilderConstraintViolations.kt:118 */}
16535  17312   
            /* ServerBuilderConstraintViolations.kt:117 */
16536  17313   
        }
16537  17314   
        /* ServerBuilderConstraintViolations.kt:116 */
16538  17315   
    }
16539  17316   
    /* ServerBuilderConstraintViolations.kt:83 */
16540  17317   
    impl ::std::error::Error for ConstraintViolation {}
16541  17318   
    /* ServerBuilderConstraintViolations.kt:172 */
16542  17319   
    impl ConstraintViolation {
16543  17320   
        pub(crate) fn as_validation_exception_field(
16544  17321   
            self,
16545  17322   
            path: ::std::string::String,
16546  17323   
        ) -> crate::model::ValidationExceptionField {
16547  17324   
            match self {
16548         -
                ConstraintViolation::QueryStringSet(inner) => {
16549         -
                    inner.as_validation_exception_field(path + "/queryStringSet")
16550         -
                }
16551         -
                ConstraintViolation::QueryIntegerSet(inner) => {
16552         -
                    inner.as_validation_exception_field(path + "/queryIntegerSet")
16553         -
                }
16554         -
                ConstraintViolation::QueryEnum(inner) => {
16555         -
                    inner.as_validation_exception_field(path + "/queryEnum")
16556         -
                }
16557         -
                ConstraintViolation::QueryEnumList(inner) => {
16558         -
                    inner.as_validation_exception_field(path + "/queryEnumList")
16559         -
                }
16560         -
            }
       17325  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       17326  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       17327  +
                                                path: path + "/timestamp",
       17328  +
                                            },
       17329  +
        }
16561  17330   
        }
16562  17331   
    }
16563  17332   
    /* ServerBuilderGenerator.kt:234 */
16564  17333   
    impl ::std::convert::From<ConstraintViolation>
16565  17334   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
16566  17335   
    {
16567  17336   
        fn from(constraint_violation: ConstraintViolation) -> Self {
16568  17337   
            let first_validation_exception_field =
16569  17338   
                constraint_violation.as_validation_exception_field("".to_owned());
16570  17339   
            let validation_exception = crate::error::ValidationException {
16571  17340   
                message: format!(
16572         -
                    "1 validation error detected. {}",
16573         -
                    &first_validation_exception_field.message
16574         -
                ),
16575         -
                field_list: Some(vec![first_validation_exception_field]),
16576         -
            };
16577         -
            Self::ConstraintViolation(
16578         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
16579         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
16580         -
                            )
16581         -
        }
16582         -
    }
16583         -
    /* ServerBuilderGenerator.kt:244 */
16584         -
    impl ::std::convert::From<Builder>
16585         -
        for crate::constrained::MaybeConstrained<crate::input::AllQueryStringTypesInput>
16586         -
    {
16587         -
        fn from(builder: Builder) -> Self {
16588         -
            Self::Unconstrained(builder)
16589         -
        }
16590         -
    }
16591         -
    /* ServerBuilderGenerator.kt:446 */
16592         -
    impl ::std::convert::TryFrom<Builder> for crate::input::AllQueryStringTypesInput {
16593         -
        type Error = ConstraintViolation;
16594         -
16595         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16596         -
            builder.build()
16597         -
        }
16598         -
    }
16599         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
16600         -
    /* RustType.kt:534 */
16601         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16602         -
    /* ServerBuilderGenerator.kt:211 */
16603         -
    pub struct Builder {
16604         -
        /* ServerBuilderGenerator.kt:308 */
16605         -
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
16606         -
        /* ServerBuilderGenerator.kt:308 */
16607         -
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
16608         -
        /* ServerBuilderGenerator.kt:308 */
16609         -
        pub(crate) query_string_set:
16610         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
16611         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) query_byte: ::std::option::Option<i8>,
16612         -
        /* ServerBuilderGenerator.kt:308 */
16613         -
        pub(crate) query_short: ::std::option::Option<i16>,
16614         -
        /* ServerBuilderGenerator.kt:308 */
16615         -
        pub(crate) query_integer: ::std::option::Option<i32>,
16616         -
        /* ServerBuilderGenerator.kt:308 */
16617         -
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
16618         -
        /* ServerBuilderGenerator.kt:308 */
16619         -
        pub(crate) query_integer_set:
16620         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::IntegerSet>>,
16621         -
        /* ServerBuilderGenerator.kt:308 */
16622         -
        pub(crate) query_long: ::std::option::Option<i64>,
16623         -
        /* ServerBuilderGenerator.kt:308 */
16624         -
        pub(crate) query_float: ::std::option::Option<f32>,
16625         -
        /* ServerBuilderGenerator.kt:308 */
16626         -
        pub(crate) query_double: ::std::option::Option<f64>,
16627         -
        /* ServerBuilderGenerator.kt:308 */
16628         -
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
16629         -
        /* ServerBuilderGenerator.kt:308 */
16630         -
        pub(crate) query_boolean: ::std::option::Option<bool>,
16631         -
        /* ServerBuilderGenerator.kt:308 */
16632         -
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
16633         -
        /* ServerBuilderGenerator.kt:308 */
16634         -
        pub(crate) query_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
16635         -
        /* ServerBuilderGenerator.kt:308 */
16636         -
        pub(crate) query_timestamp_list:
16637         -
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
16638         -
        /* ServerBuilderGenerator.kt:308 */
16639         -
        pub(crate) query_enum:
16640         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
16641         -
        /* ServerBuilderGenerator.kt:308 */
16642         -
        pub(crate) query_enum_list: ::std::option::Option<
16643         -
            crate::constrained::MaybeConstrained<
16644         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
16645         -
            >,
16646         -
        >,
16647         -
        /* ServerBuilderGenerator.kt:308 */
16648         -
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
16649         -
        /* ServerBuilderGenerator.kt:308 */
16650         -
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
16651         -
        /* ServerBuilderGenerator.kt:308 */
16652         -
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
16653         -
            ::std::collections::HashMap<
16654         -
                ::std::string::String,
16655         -
                ::std::vec::Vec<::std::string::String>,
16656         -
            >,
16657         -
        >,
16658         -
        /* ServerBuilderGenerator.kt:211 */
16659         -
    }
16660         -
    /* ServerBuilderGenerator.kt:215 */
16661         -
    impl Builder {
16662         -
        /* ServerBuilderGenerator.kt:331 */
16663         -
        #[allow(missing_docs)] // documentation missing in model
16664         -
                               /* ServerBuilderGenerator.kt:343 */
16665         -
        pub fn query_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16666         -
            /* ServerBuilderGenerator.kt:344 */
16667         -
            self.query_string =
16668         -
                /* ServerBuilderGenerator.kt:376 */input
16669         -
            /* ServerBuilderGenerator.kt:344 */;
16670         -
            self
16671         -
            /* ServerBuilderGenerator.kt:343 */
16672         -
        }
16673         -
        /* ServerBuilderGenerator.kt:426 */
16674         -
        #[allow(missing_docs)] // documentation missing in model
16675         -
                               /* ServerBuilderGenerator.kt:428 */
16676         -
        pub(crate) fn set_query_string(
16677         -
            mut self,
16678         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16679         -
        ) -> Self {
16680         -
            /* ServerBuilderGenerator.kt:429 */
16681         -
            self.query_string = input.map(|v| v.into());
16682         -
            self
16683         -
            /* ServerBuilderGenerator.kt:428 */
16684         -
        }
16685         -
        /* ServerBuilderGenerator.kt:331 */
16686         -
        #[allow(missing_docs)] // documentation missing in model
16687         -
                               /* ServerBuilderGenerator.kt:343 */
16688         -
        pub fn query_string_list(
16689         -
            mut self,
16690         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
16691         -
        ) -> Self {
16692         -
            /* ServerBuilderGenerator.kt:344 */
16693         -
            self.query_string_list =
16694         -
                /* ServerBuilderGenerator.kt:376 */input
16695         -
            /* ServerBuilderGenerator.kt:344 */;
16696         -
            self
16697         -
            /* ServerBuilderGenerator.kt:343 */
16698         -
        }
16699         -
        /* ServerBuilderGenerator.kt:426 */
16700         -
        #[allow(missing_docs)] // documentation missing in model
16701         -
                               /* ServerBuilderGenerator.kt:428 */
16702         -
        pub(crate) fn set_query_string_list(
16703         -
            mut self,
16704         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
16705         -
        ) -> Self {
16706         -
            /* ServerBuilderGenerator.kt:429 */
16707         -
            self.query_string_list = input.map(|v| v.into());
16708         -
            self
16709         -
            /* ServerBuilderGenerator.kt:428 */
16710         -
        }
16711         -
        /* ServerBuilderGenerator.kt:331 */
16712         -
        #[allow(missing_docs)] // documentation missing in model
16713         -
                               /* ServerBuilderGenerator.kt:343 */
16714         -
        pub fn query_string_set(
16715         -
            mut self,
16716         -
            input: ::std::option::Option<crate::model::StringSet>,
16717         -
        ) -> Self {
16718         -
            /* ServerBuilderGenerator.kt:344 */
16719         -
            self.query_string_set =
16720         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
16721         -
            /* ServerBuilderGenerator.kt:344 */;
16722         -
            self
16723         -
            /* ServerBuilderGenerator.kt:343 */
       17341  +
                    "1 validation error detected. {}",
       17342  +
                    &first_validation_exception_field.message
       17343  +
                ),
       17344  +
                field_list: Some(vec![first_validation_exception_field]),
       17345  +
            };
       17346  +
            Self::ConstraintViolation(
       17347  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17348  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17349  +
                            )
16724  17350   
        }
16725         -
        /* ServerBuilderGenerator.kt:426 */
16726         -
        #[allow(missing_docs)] // documentation missing in model
16727         -
                               /* ServerBuilderGenerator.kt:428 */
16728         -
        pub(crate) fn set_query_string_set(
16729         -
            mut self,
16730         -
            input: Option<
16731         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
16732         -
            >,
16733         -
        ) -> Self {
16734         -
            /* ServerBuilderGenerator.kt:429 */
16735         -
            self.query_string_set = input.map(|v| v.into());
16736         -
            self
16737         -
            /* ServerBuilderGenerator.kt:428 */
       17351  +
    }
       17352  +
    /* ServerBuilderGenerator.kt:244 */
       17353  +
    impl ::std::convert::From<Builder>
       17354  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathHttpDateInput>
       17355  +
    {
       17356  +
        fn from(builder: Builder) -> Self {
       17357  +
            Self::Unconstrained(builder)
       17358  +
        }
       17359  +
    }
       17360  +
    /* ServerBuilderGenerator.kt:446 */
       17361  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
       17362  +
        type Error = ConstraintViolation;
       17363  +
       17364  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17365  +
            builder.build()
16738  17366   
        }
       17367  +
    }
       17368  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       17369  +
    /* RustType.kt:534 */
       17370  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17371  +
    /* ServerBuilderGenerator.kt:211 */
       17372  +
    pub struct Builder {
       17373  +
        /* ServerBuilderGenerator.kt:308 */
       17374  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       17375  +
        /* ServerBuilderGenerator.kt:211 */
       17376  +
    }
       17377  +
    /* ServerBuilderGenerator.kt:215 */
       17378  +
    impl Builder {
16739  17379   
        /* ServerBuilderGenerator.kt:331 */
16740  17380   
        #[allow(missing_docs)] // documentation missing in model
16741  17381   
                               /* ServerBuilderGenerator.kt:343 */
16742         -
        pub fn query_byte(mut self, input: ::std::option::Option<i8>) -> Self {
       17382  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
16743  17383   
            /* ServerBuilderGenerator.kt:344 */
16744         -
            self.query_byte =
16745         -
                /* ServerBuilderGenerator.kt:376 */input
       17384  +
            self.timestamp =
       17385  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17386  +
                    /* ServerBuilderGenerator.kt:376 */input
       17387  +
                /* ServerBuilderGenerator.kt:345 */)
16746  17388   
            /* ServerBuilderGenerator.kt:344 */;
16747  17389   
            self
16748  17390   
            /* ServerBuilderGenerator.kt:343 */
16749  17391   
        }
16750  17392   
        /* ServerBuilderGenerator.kt:426 */
16751  17393   
        #[allow(missing_docs)] // documentation missing in model
16752  17394   
                               /* ServerBuilderGenerator.kt:428 */
16753         -
        pub(crate) fn set_query_byte(
       17395  +
        pub(crate) fn set_timestamp(
16754  17396   
            mut self,
16755         -
            input: Option<impl ::std::convert::Into<i8>>,
       17397  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
16756  17398   
        ) -> Self {
16757  17399   
            /* ServerBuilderGenerator.kt:429 */
16758         -
            self.query_byte = input.map(|v| v.into());
       17400  +
            self.timestamp = Some(input.into());
16759  17401   
            self
16760  17402   
            /* ServerBuilderGenerator.kt:428 */
16761  17403   
        }
16762         -
        /* ServerBuilderGenerator.kt:331 */
16763         -
        #[allow(missing_docs)] // documentation missing in model
16764         -
                               /* ServerBuilderGenerator.kt:343 */
16765         -
        pub fn query_short(mut self, input: ::std::option::Option<i16>) -> Self {
16766         -
            /* ServerBuilderGenerator.kt:344 */
16767         -
            self.query_short =
16768         -
                /* ServerBuilderGenerator.kt:376 */input
16769         -
            /* ServerBuilderGenerator.kt:344 */;
16770         -
            self
16771         -
            /* ServerBuilderGenerator.kt:343 */
       17404  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       17405  +
        /// /* ServerBuilderGenerator.kt:260 */
       17406  +
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if a [`ConstraintViolation`] occurs.
       17407  +
        ///
       17408  +
        /* ServerBuilderGenerator.kt:271 */
       17409  +
        pub fn build(
       17410  +
            self,
       17411  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
       17412  +
        {
       17413  +
            self.build_enforcing_all_constraints()
16772  17414   
        }
16773         -
        /* ServerBuilderGenerator.kt:426 */
16774         -
        #[allow(missing_docs)] // documentation missing in model
16775         -
                               /* ServerBuilderGenerator.kt:428 */
16776         -
        pub(crate) fn set_query_short(
16777         -
            mut self,
16778         -
            input: Option<impl ::std::convert::Into<i16>>,
16779         -
        ) -> Self {
16780         -
            /* ServerBuilderGenerator.kt:429 */
16781         -
            self.query_short = input.map(|v| v.into());
16782         -
            self
16783         -
            /* ServerBuilderGenerator.kt:428 */
       17415  +
        /* ServerBuilderGenerator.kt:283 */
       17416  +
        fn build_enforcing_all_constraints(
       17417  +
            self,
       17418  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
       17419  +
        {
       17420  +
            /* ServerBuilderGenerator.kt:287 */
       17421  +
            Ok(
       17422  +
                /* ServerBuilderGenerator.kt:542 */
       17423  +
                crate::input::MalformedTimestampPathHttpDateInput {
       17424  +
                    /* ServerBuilderGenerator.kt:546 */
       17425  +
                    timestamp: self
       17426  +
                        .timestamp
       17427  +
                        /* ServerBuilderGenerator.kt:569 */
       17428  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       17429  +
                    /* ServerBuilderGenerator.kt:542 */
       17430  +
                }, /* ServerBuilderGenerator.kt:287 */
       17431  +
            )
       17432  +
            /* ServerBuilderGenerator.kt:283 */
16784  17433   
        }
16785         -
        /* ServerBuilderGenerator.kt:331 */
16786         -
        #[allow(missing_docs)] // documentation missing in model
16787         -
                               /* ServerBuilderGenerator.kt:343 */
16788         -
        pub fn query_integer(mut self, input: ::std::option::Option<i32>) -> Self {
16789         -
            /* ServerBuilderGenerator.kt:344 */
16790         -
            self.query_integer =
16791         -
                /* ServerBuilderGenerator.kt:376 */input
16792         -
            /* ServerBuilderGenerator.kt:344 */;
16793         -
            self
16794         -
            /* ServerBuilderGenerator.kt:343 */
       17434  +
        /* ServerBuilderGenerator.kt:215 */
       17435  +
    }
       17436  +
       17437  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17438  +
}
       17439  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       17440  +
pub mod malformed_timestamp_path_epoch_input {
       17441  +
       17442  +
    /* RustType.kt:534 */
       17443  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17444  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17445  +
    /* RustType.kt:534 */
       17446  +
    #[non_exhaustive]
       17447  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17448  +
    #[allow(clippy::enum_variant_names)]
       17449  +
    pub enum ConstraintViolation {
       17450  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
       17451  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17452  +
        MissingTimestamp,
       17453  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17454  +
    }
       17455  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17456  +
    impl ::std::fmt::Display for ConstraintViolation {
       17457  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17458  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17459  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17460  +
            match self {
       17461  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
       17462  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17463  +
            /* ServerBuilderConstraintViolations.kt:117 */
16795  17464   
        }
16796         -
        /* ServerBuilderGenerator.kt:426 */
16797         -
        #[allow(missing_docs)] // documentation missing in model
16798         -
                               /* ServerBuilderGenerator.kt:428 */
16799         -
        pub(crate) fn set_query_integer(
16800         -
            mut self,
16801         -
            input: Option<impl ::std::convert::Into<i32>>,
16802         -
        ) -> Self {
16803         -
            /* ServerBuilderGenerator.kt:429 */
16804         -
            self.query_integer = input.map(|v| v.into());
16805         -
            self
16806         -
            /* ServerBuilderGenerator.kt:428 */
       17465  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17466  +
    }
       17467  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17468  +
    impl ::std::error::Error for ConstraintViolation {}
       17469  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17470  +
    impl ConstraintViolation {
       17471  +
        pub(crate) fn as_validation_exception_field(
       17472  +
            self,
       17473  +
            path: ::std::string::String,
       17474  +
        ) -> crate::model::ValidationExceptionField {
       17475  +
            match self {
       17476  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       17477  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       17478  +
                                                path: path + "/timestamp",
       17479  +
                                            },
16807  17480   
        }
16808         -
        /* ServerBuilderGenerator.kt:331 */
16809         -
        #[allow(missing_docs)] // documentation missing in model
16810         -
                               /* ServerBuilderGenerator.kt:343 */
16811         -
        pub fn query_integer_list(
16812         -
            mut self,
16813         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
16814         -
        ) -> Self {
16815         -
            /* ServerBuilderGenerator.kt:344 */
16816         -
            self.query_integer_list =
16817         -
                /* ServerBuilderGenerator.kt:376 */input
16818         -
            /* ServerBuilderGenerator.kt:344 */;
16819         -
            self
16820         -
            /* ServerBuilderGenerator.kt:343 */
16821  17481   
        }
16822         -
        /* ServerBuilderGenerator.kt:426 */
16823         -
        #[allow(missing_docs)] // documentation missing in model
16824         -
                               /* ServerBuilderGenerator.kt:428 */
16825         -
        pub(crate) fn set_query_integer_list(
16826         -
            mut self,
16827         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
16828         -
        ) -> Self {
16829         -
            /* ServerBuilderGenerator.kt:429 */
16830         -
            self.query_integer_list = input.map(|v| v.into());
16831         -
            self
16832         -
            /* ServerBuilderGenerator.kt:428 */
       17482  +
    }
       17483  +
    /* ServerBuilderGenerator.kt:234 */
       17484  +
    impl ::std::convert::From<ConstraintViolation>
       17485  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17486  +
    {
       17487  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17488  +
            let first_validation_exception_field =
       17489  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17490  +
            let validation_exception = crate::error::ValidationException {
       17491  +
                message: format!(
       17492  +
                    "1 validation error detected. {}",
       17493  +
                    &first_validation_exception_field.message
       17494  +
                ),
       17495  +
                field_list: Some(vec![first_validation_exception_field]),
       17496  +
            };
       17497  +
            Self::ConstraintViolation(
       17498  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17499  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17500  +
                            )
16833  17501   
        }
16834         -
        /* ServerBuilderGenerator.kt:331 */
16835         -
        #[allow(missing_docs)] // documentation missing in model
16836         -
                               /* ServerBuilderGenerator.kt:343 */
16837         -
        pub fn query_integer_set(
16838         -
            mut self,
16839         -
            input: ::std::option::Option<crate::model::IntegerSet>,
16840         -
        ) -> Self {
16841         -
            /* ServerBuilderGenerator.kt:344 */
16842         -
            self.query_integer_set =
16843         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
16844         -
            /* ServerBuilderGenerator.kt:344 */;
16845         -
            self
16846         -
            /* ServerBuilderGenerator.kt:343 */
       17502  +
    }
       17503  +
    /* ServerBuilderGenerator.kt:244 */
       17504  +
    impl ::std::convert::From<Builder>
       17505  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathEpochInput>
       17506  +
    {
       17507  +
        fn from(builder: Builder) -> Self {
       17508  +
            Self::Unconstrained(builder)
16847  17509   
        }
16848         -
        /* ServerBuilderGenerator.kt:426 */
16849         -
        #[allow(missing_docs)] // documentation missing in model
16850         -
                               /* ServerBuilderGenerator.kt:428 */
16851         -
        pub(crate) fn set_query_integer_set(
16852         -
            mut self,
16853         -
            input: Option<
16854         -
                impl ::std::convert::Into<
16855         -
                    crate::constrained::MaybeConstrained<crate::model::IntegerSet>,
16856         -
                >,
16857         -
            >,
16858         -
        ) -> Self {
16859         -
            /* ServerBuilderGenerator.kt:429 */
16860         -
            self.query_integer_set = input.map(|v| v.into());
16861         -
            self
16862         -
            /* ServerBuilderGenerator.kt:428 */
       17510  +
    }
       17511  +
    /* ServerBuilderGenerator.kt:446 */
       17512  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
       17513  +
        type Error = ConstraintViolation;
       17514  +
       17515  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17516  +
            builder.build()
16863  17517   
        }
       17518  +
    }
       17519  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       17520  +
    /* RustType.kt:534 */
       17521  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17522  +
    /* ServerBuilderGenerator.kt:211 */
       17523  +
    pub struct Builder {
       17524  +
        /* ServerBuilderGenerator.kt:308 */
       17525  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       17526  +
        /* ServerBuilderGenerator.kt:211 */
       17527  +
    }
       17528  +
    /* ServerBuilderGenerator.kt:215 */
       17529  +
    impl Builder {
16864  17530   
        /* ServerBuilderGenerator.kt:331 */
16865  17531   
        #[allow(missing_docs)] // documentation missing in model
16866  17532   
                               /* ServerBuilderGenerator.kt:343 */
16867         -
        pub fn query_long(mut self, input: ::std::option::Option<i64>) -> Self {
       17533  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
16868  17534   
            /* ServerBuilderGenerator.kt:344 */
16869         -
            self.query_long =
16870         -
                /* ServerBuilderGenerator.kt:376 */input
       17535  +
            self.timestamp =
       17536  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17537  +
                    /* ServerBuilderGenerator.kt:376 */input
       17538  +
                /* ServerBuilderGenerator.kt:345 */)
16871  17539   
            /* ServerBuilderGenerator.kt:344 */;
16872  17540   
            self
16873  17541   
            /* ServerBuilderGenerator.kt:343 */
16874  17542   
        }
16875  17543   
        /* ServerBuilderGenerator.kt:426 */
16876  17544   
        #[allow(missing_docs)] // documentation missing in model
16877  17545   
                               /* ServerBuilderGenerator.kt:428 */
16878         -
        pub(crate) fn set_query_long(
       17546  +
        pub(crate) fn set_timestamp(
16879  17547   
            mut self,
16880         -
            input: Option<impl ::std::convert::Into<i64>>,
       17548  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
16881  17549   
        ) -> Self {
16882  17550   
            /* ServerBuilderGenerator.kt:429 */
16883         -
            self.query_long = input.map(|v| v.into());
       17551  +
            self.timestamp = Some(input.into());
16884  17552   
            self
16885  17553   
            /* ServerBuilderGenerator.kt:428 */
16886  17554   
        }
       17555  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       17556  +
        /// /* ServerBuilderGenerator.kt:260 */
       17557  +
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if a [`ConstraintViolation`] occurs.
       17558  +
        ///
       17559  +
        /* ServerBuilderGenerator.kt:271 */
       17560  +
        pub fn build(
       17561  +
            self,
       17562  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
       17563  +
            self.build_enforcing_all_constraints()
       17564  +
        }
       17565  +
        /* ServerBuilderGenerator.kt:283 */
       17566  +
        fn build_enforcing_all_constraints(
       17567  +
            self,
       17568  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
       17569  +
            /* ServerBuilderGenerator.kt:287 */
       17570  +
            Ok(
       17571  +
                /* ServerBuilderGenerator.kt:542 */
       17572  +
                crate::input::MalformedTimestampPathEpochInput {
       17573  +
                    /* ServerBuilderGenerator.kt:546 */
       17574  +
                    timestamp: self
       17575  +
                        .timestamp
       17576  +
                        /* ServerBuilderGenerator.kt:569 */
       17577  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       17578  +
                    /* ServerBuilderGenerator.kt:542 */
       17579  +
                }, /* ServerBuilderGenerator.kt:287 */
       17580  +
            )
       17581  +
            /* ServerBuilderGenerator.kt:283 */
       17582  +
        }
       17583  +
        /* ServerBuilderGenerator.kt:215 */
       17584  +
    }
       17585  +
       17586  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17587  +
}
       17588  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       17589  +
pub mod malformed_timestamp_query_default_input {
       17590  +
       17591  +
    /* RustType.kt:534 */
       17592  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17593  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17594  +
    /* RustType.kt:534 */
       17595  +
    #[non_exhaustive]
       17596  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17597  +
    #[allow(clippy::enum_variant_names)]
       17598  +
    pub enum ConstraintViolation {
       17599  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
       17600  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17601  +
        MissingTimestamp,
       17602  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17603  +
    }
       17604  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17605  +
    impl ::std::fmt::Display for ConstraintViolation {
       17606  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17607  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17608  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17609  +
            match self {
       17610  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
       17611  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17612  +
            /* ServerBuilderConstraintViolations.kt:117 */
       17613  +
        }
       17614  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17615  +
    }
       17616  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17617  +
    impl ::std::error::Error for ConstraintViolation {}
       17618  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17619  +
    impl ConstraintViolation {
       17620  +
        pub(crate) fn as_validation_exception_field(
       17621  +
            self,
       17622  +
            path: ::std::string::String,
       17623  +
        ) -> crate::model::ValidationExceptionField {
       17624  +
            match self {
       17625  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       17626  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       17627  +
                                                path: path + "/timestamp",
       17628  +
                                            },
       17629  +
        }
       17630  +
        }
       17631  +
    }
       17632  +
    /* ServerBuilderGenerator.kt:234 */
       17633  +
    impl ::std::convert::From<ConstraintViolation>
       17634  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17635  +
    {
       17636  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17637  +
            let first_validation_exception_field =
       17638  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17639  +
            let validation_exception = crate::error::ValidationException {
       17640  +
                message: format!(
       17641  +
                    "1 validation error detected. {}",
       17642  +
                    &first_validation_exception_field.message
       17643  +
                ),
       17644  +
                field_list: Some(vec![first_validation_exception_field]),
       17645  +
            };
       17646  +
            Self::ConstraintViolation(
       17647  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17648  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17649  +
                            )
       17650  +
        }
       17651  +
    }
       17652  +
    /* ServerBuilderGenerator.kt:244 */
       17653  +
    impl ::std::convert::From<Builder>
       17654  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryDefaultInput>
       17655  +
    {
       17656  +
        fn from(builder: Builder) -> Self {
       17657  +
            Self::Unconstrained(builder)
       17658  +
        }
       17659  +
    }
       17660  +
    /* ServerBuilderGenerator.kt:446 */
       17661  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
       17662  +
        type Error = ConstraintViolation;
       17663  +
       17664  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17665  +
            builder.build()
       17666  +
        }
       17667  +
    }
       17668  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       17669  +
    /* RustType.kt:534 */
       17670  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17671  +
    /* ServerBuilderGenerator.kt:211 */
       17672  +
    pub struct Builder {
       17673  +
        /* ServerBuilderGenerator.kt:308 */
       17674  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       17675  +
        /* ServerBuilderGenerator.kt:211 */
       17676  +
    }
       17677  +
    /* ServerBuilderGenerator.kt:215 */
       17678  +
    impl Builder {
16887  17679   
        /* ServerBuilderGenerator.kt:331 */
16888  17680   
        #[allow(missing_docs)] // documentation missing in model
16889  17681   
                               /* ServerBuilderGenerator.kt:343 */
16890         -
        pub fn query_float(mut self, input: ::std::option::Option<f32>) -> Self {
       17682  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
16891  17683   
            /* ServerBuilderGenerator.kt:344 */
16892         -
            self.query_float =
16893         -
                /* ServerBuilderGenerator.kt:376 */input
       17684  +
            self.timestamp =
       17685  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17686  +
                    /* ServerBuilderGenerator.kt:376 */input
       17687  +
                /* ServerBuilderGenerator.kt:345 */)
16894  17688   
            /* ServerBuilderGenerator.kt:344 */;
16895  17689   
            self
16896  17690   
            /* ServerBuilderGenerator.kt:343 */
16897  17691   
        }
16898  17692   
        /* ServerBuilderGenerator.kt:426 */
16899  17693   
        #[allow(missing_docs)] // documentation missing in model
16900  17694   
                               /* ServerBuilderGenerator.kt:428 */
16901         -
        pub(crate) fn set_query_float(
       17695  +
        pub(crate) fn set_timestamp(
16902  17696   
            mut self,
16903         -
            input: Option<impl ::std::convert::Into<f32>>,
       17697  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
16904  17698   
        ) -> Self {
16905  17699   
            /* ServerBuilderGenerator.kt:429 */
16906         -
            self.query_float = input.map(|v| v.into());
       17700  +
            self.timestamp = Some(input.into());
16907  17701   
            self
16908  17702   
            /* ServerBuilderGenerator.kt:428 */
16909  17703   
        }
16910         -
        /* ServerBuilderGenerator.kt:331 */
16911         -
        #[allow(missing_docs)] // documentation missing in model
16912         -
                               /* ServerBuilderGenerator.kt:343 */
16913         -
        pub fn query_double(mut self, input: ::std::option::Option<f64>) -> Self {
16914         -
            /* ServerBuilderGenerator.kt:344 */
16915         -
            self.query_double =
16916         -
                /* ServerBuilderGenerator.kt:376 */input
16917         -
            /* ServerBuilderGenerator.kt:344 */;
16918         -
            self
16919         -
            /* ServerBuilderGenerator.kt:343 */
       17704  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       17705  +
        /// /* ServerBuilderGenerator.kt:260 */
       17706  +
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if a [`ConstraintViolation`] occurs.
       17707  +
        ///
       17708  +
        /* ServerBuilderGenerator.kt:271 */
       17709  +
        pub fn build(
       17710  +
            self,
       17711  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
       17712  +
        {
       17713  +
            self.build_enforcing_all_constraints()
       17714  +
        }
       17715  +
        /* ServerBuilderGenerator.kt:283 */
       17716  +
        fn build_enforcing_all_constraints(
       17717  +
            self,
       17718  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
       17719  +
        {
       17720  +
            /* ServerBuilderGenerator.kt:287 */
       17721  +
            Ok(
       17722  +
                /* ServerBuilderGenerator.kt:542 */
       17723  +
                crate::input::MalformedTimestampQueryDefaultInput {
       17724  +
                    /* ServerBuilderGenerator.kt:546 */
       17725  +
                    timestamp: self
       17726  +
                        .timestamp
       17727  +
                        /* ServerBuilderGenerator.kt:569 */
       17728  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       17729  +
                    /* ServerBuilderGenerator.kt:542 */
       17730  +
                }, /* ServerBuilderGenerator.kt:287 */
       17731  +
            )
       17732  +
            /* ServerBuilderGenerator.kt:283 */
       17733  +
        }
       17734  +
        /* ServerBuilderGenerator.kt:215 */
       17735  +
    }
       17736  +
       17737  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17738  +
}
       17739  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       17740  +
pub mod malformed_timestamp_query_http_date_input {
       17741  +
       17742  +
    /* RustType.kt:534 */
       17743  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17744  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17745  +
    /* RustType.kt:534 */
       17746  +
    #[non_exhaustive]
       17747  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17748  +
    #[allow(clippy::enum_variant_names)]
       17749  +
    pub enum ConstraintViolation {
       17750  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
       17751  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17752  +
        MissingTimestamp,
       17753  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17754  +
    }
       17755  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17756  +
    impl ::std::fmt::Display for ConstraintViolation {
       17757  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17758  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17759  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17760  +
            match self {
       17761  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
       17762  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17763  +
            /* ServerBuilderConstraintViolations.kt:117 */
       17764  +
        }
       17765  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17766  +
    }
       17767  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17768  +
    impl ::std::error::Error for ConstraintViolation {}
       17769  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17770  +
    impl ConstraintViolation {
       17771  +
        pub(crate) fn as_validation_exception_field(
       17772  +
            self,
       17773  +
            path: ::std::string::String,
       17774  +
        ) -> crate::model::ValidationExceptionField {
       17775  +
            match self {
       17776  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       17777  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       17778  +
                                                path: path + "/timestamp",
       17779  +
                                            },
       17780  +
        }
       17781  +
        }
       17782  +
    }
       17783  +
    /* ServerBuilderGenerator.kt:234 */
       17784  +
    impl ::std::convert::From<ConstraintViolation>
       17785  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17786  +
    {
       17787  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17788  +
            let first_validation_exception_field =
       17789  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17790  +
            let validation_exception = crate::error::ValidationException {
       17791  +
                message: format!(
       17792  +
                    "1 validation error detected. {}",
       17793  +
                    &first_validation_exception_field.message
       17794  +
                ),
       17795  +
                field_list: Some(vec![first_validation_exception_field]),
       17796  +
            };
       17797  +
            Self::ConstraintViolation(
       17798  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17799  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17800  +
                            )
       17801  +
        }
       17802  +
    }
       17803  +
    /* ServerBuilderGenerator.kt:244 */
       17804  +
    impl ::std::convert::From<Builder>
       17805  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryHttpDateInput>
       17806  +
    {
       17807  +
        fn from(builder: Builder) -> Self {
       17808  +
            Self::Unconstrained(builder)
16920  17809   
        }
16921         -
        /* ServerBuilderGenerator.kt:426 */
16922         -
        #[allow(missing_docs)] // documentation missing in model
16923         -
                               /* ServerBuilderGenerator.kt:428 */
16924         -
        pub(crate) fn set_query_double(
16925         -
            mut self,
16926         -
            input: Option<impl ::std::convert::Into<f64>>,
16927         -
        ) -> Self {
16928         -
            /* ServerBuilderGenerator.kt:429 */
16929         -
            self.query_double = input.map(|v| v.into());
16930         -
            self
16931         -
            /* ServerBuilderGenerator.kt:428 */
       17810  +
    }
       17811  +
    /* ServerBuilderGenerator.kt:446 */
       17812  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
       17813  +
        type Error = ConstraintViolation;
       17814  +
       17815  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17816  +
            builder.build()
16932  17817   
        }
       17818  +
    }
       17819  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       17820  +
    /* RustType.kt:534 */
       17821  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17822  +
    /* ServerBuilderGenerator.kt:211 */
       17823  +
    pub struct Builder {
       17824  +
        /* ServerBuilderGenerator.kt:308 */
       17825  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       17826  +
        /* ServerBuilderGenerator.kt:211 */
       17827  +
    }
       17828  +
    /* ServerBuilderGenerator.kt:215 */
       17829  +
    impl Builder {
16933  17830   
        /* ServerBuilderGenerator.kt:331 */
16934  17831   
        #[allow(missing_docs)] // documentation missing in model
16935  17832   
                               /* ServerBuilderGenerator.kt:343 */
16936         -
        pub fn query_double_list(
16937         -
            mut self,
16938         -
            input: ::std::option::Option<::std::vec::Vec<f64>>,
16939         -
        ) -> Self {
       17833  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
16940  17834   
            /* ServerBuilderGenerator.kt:344 */
16941         -
            self.query_double_list =
16942         -
                /* ServerBuilderGenerator.kt:376 */input
       17835  +
            self.timestamp =
       17836  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17837  +
                    /* ServerBuilderGenerator.kt:376 */input
       17838  +
                /* ServerBuilderGenerator.kt:345 */)
16943  17839   
            /* ServerBuilderGenerator.kt:344 */;
16944  17840   
            self
16945  17841   
            /* ServerBuilderGenerator.kt:343 */
16946  17842   
        }
16947  17843   
        /* ServerBuilderGenerator.kt:426 */
16948  17844   
        #[allow(missing_docs)] // documentation missing in model
16949  17845   
                               /* ServerBuilderGenerator.kt:428 */
16950         -
        pub(crate) fn set_query_double_list(
       17846  +
        pub(crate) fn set_timestamp(
16951  17847   
            mut self,
16952         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       17848  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
16953  17849   
        ) -> Self {
16954  17850   
            /* ServerBuilderGenerator.kt:429 */
16955         -
            self.query_double_list = input.map(|v| v.into());
       17851  +
            self.timestamp = Some(input.into());
16956  17852   
            self
16957  17853   
            /* ServerBuilderGenerator.kt:428 */
16958  17854   
        }
16959         -
        /* ServerBuilderGenerator.kt:331 */
16960         -
        #[allow(missing_docs)] // documentation missing in model
16961         -
                               /* ServerBuilderGenerator.kt:343 */
16962         -
        pub fn query_boolean(mut self, input: ::std::option::Option<bool>) -> Self {
16963         -
            /* ServerBuilderGenerator.kt:344 */
16964         -
            self.query_boolean =
16965         -
                /* ServerBuilderGenerator.kt:376 */input
16966         -
            /* ServerBuilderGenerator.kt:344 */;
16967         -
            self
16968         -
            /* ServerBuilderGenerator.kt:343 */
       17855  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       17856  +
        /// /* ServerBuilderGenerator.kt:260 */
       17857  +
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if a [`ConstraintViolation`] occurs.
       17858  +
        ///
       17859  +
        /* ServerBuilderGenerator.kt:271 */
       17860  +
        pub fn build(
       17861  +
            self,
       17862  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
       17863  +
        {
       17864  +
            self.build_enforcing_all_constraints()
16969  17865   
        }
16970         -
        /* ServerBuilderGenerator.kt:426 */
16971         -
        #[allow(missing_docs)] // documentation missing in model
16972         -
                               /* ServerBuilderGenerator.kt:428 */
16973         -
        pub(crate) fn set_query_boolean(
16974         -
            mut self,
16975         -
            input: Option<impl ::std::convert::Into<bool>>,
16976         -
        ) -> Self {
16977         -
            /* ServerBuilderGenerator.kt:429 */
16978         -
            self.query_boolean = input.map(|v| v.into());
16979         -
            self
16980         -
            /* ServerBuilderGenerator.kt:428 */
       17866  +
        /* ServerBuilderGenerator.kt:283 */
       17867  +
        fn build_enforcing_all_constraints(
       17868  +
            self,
       17869  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
       17870  +
        {
       17871  +
            /* ServerBuilderGenerator.kt:287 */
       17872  +
            Ok(
       17873  +
                /* ServerBuilderGenerator.kt:542 */
       17874  +
                crate::input::MalformedTimestampQueryHttpDateInput {
       17875  +
                    /* ServerBuilderGenerator.kt:546 */
       17876  +
                    timestamp: self
       17877  +
                        .timestamp
       17878  +
                        /* ServerBuilderGenerator.kt:569 */
       17879  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       17880  +
                    /* ServerBuilderGenerator.kt:542 */
       17881  +
                }, /* ServerBuilderGenerator.kt:287 */
       17882  +
            )
       17883  +
            /* ServerBuilderGenerator.kt:283 */
16981  17884   
        }
16982         -
        /* ServerBuilderGenerator.kt:331 */
16983         -
        #[allow(missing_docs)] // documentation missing in model
16984         -
                               /* ServerBuilderGenerator.kt:343 */
16985         -
        pub fn query_boolean_list(
16986         -
            mut self,
16987         -
            input: ::std::option::Option<::std::vec::Vec<bool>>,
16988         -
        ) -> Self {
16989         -
            /* ServerBuilderGenerator.kt:344 */
16990         -
            self.query_boolean_list =
16991         -
                /* ServerBuilderGenerator.kt:376 */input
16992         -
            /* ServerBuilderGenerator.kt:344 */;
16993         -
            self
16994         -
            /* ServerBuilderGenerator.kt:343 */
       17885  +
        /* ServerBuilderGenerator.kt:215 */
       17886  +
    }
       17887  +
       17888  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17889  +
}
       17890  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       17891  +
pub mod malformed_timestamp_query_epoch_input {
       17892  +
       17893  +
    /* RustType.kt:534 */
       17894  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17895  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17896  +
    /* RustType.kt:534 */
       17897  +
    #[non_exhaustive]
       17898  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17899  +
    #[allow(clippy::enum_variant_names)]
       17900  +
    pub enum ConstraintViolation {
       17901  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
       17902  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17903  +
        MissingTimestamp,
       17904  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17905  +
    }
       17906  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17907  +
    impl ::std::fmt::Display for ConstraintViolation {
       17908  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17909  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17910  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17911  +
            match self {
       17912  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
       17913  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17914  +
            /* ServerBuilderConstraintViolations.kt:117 */
16995  17915   
        }
16996         -
        /* ServerBuilderGenerator.kt:426 */
16997         -
        #[allow(missing_docs)] // documentation missing in model
16998         -
                               /* ServerBuilderGenerator.kt:428 */
16999         -
        pub(crate) fn set_query_boolean_list(
17000         -
            mut self,
17001         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
17002         -
        ) -> Self {
17003         -
            /* ServerBuilderGenerator.kt:429 */
17004         -
            self.query_boolean_list = input.map(|v| v.into());
17005         -
            self
17006         -
            /* ServerBuilderGenerator.kt:428 */
       17916  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17917  +
    }
       17918  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17919  +
    impl ::std::error::Error for ConstraintViolation {}
       17920  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17921  +
    impl ConstraintViolation {
       17922  +
        pub(crate) fn as_validation_exception_field(
       17923  +
            self,
       17924  +
            path: ::std::string::String,
       17925  +
        ) -> crate::model::ValidationExceptionField {
       17926  +
            match self {
       17927  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       17928  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       17929  +
                                                path: path + "/timestamp",
       17930  +
                                            },
17007  17931   
        }
17008         -
        /* ServerBuilderGenerator.kt:331 */
17009         -
        #[allow(missing_docs)] // documentation missing in model
17010         -
                               /* ServerBuilderGenerator.kt:343 */
17011         -
        pub fn query_timestamp(
17012         -
            mut self,
17013         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
17014         -
        ) -> Self {
17015         -
            /* ServerBuilderGenerator.kt:344 */
17016         -
            self.query_timestamp =
17017         -
                /* ServerBuilderGenerator.kt:376 */input
17018         -
            /* ServerBuilderGenerator.kt:344 */;
17019         -
            self
17020         -
            /* ServerBuilderGenerator.kt:343 */
17021  17932   
        }
17022         -
        /* ServerBuilderGenerator.kt:426 */
17023         -
        #[allow(missing_docs)] // documentation missing in model
17024         -
                               /* ServerBuilderGenerator.kt:428 */
17025         -
        pub(crate) fn set_query_timestamp(
17026         -
            mut self,
17027         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
17028         -
        ) -> Self {
17029         -
            /* ServerBuilderGenerator.kt:429 */
17030         -
            self.query_timestamp = input.map(|v| v.into());
17031         -
            self
17032         -
            /* ServerBuilderGenerator.kt:428 */
       17933  +
    }
       17934  +
    /* ServerBuilderGenerator.kt:234 */
       17935  +
    impl ::std::convert::From<ConstraintViolation>
       17936  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17937  +
    {
       17938  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17939  +
            let first_validation_exception_field =
       17940  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17941  +
            let validation_exception = crate::error::ValidationException {
       17942  +
                message: format!(
       17943  +
                    "1 validation error detected. {}",
       17944  +
                    &first_validation_exception_field.message
       17945  +
                ),
       17946  +
                field_list: Some(vec![first_validation_exception_field]),
       17947  +
            };
       17948  +
            Self::ConstraintViolation(
       17949  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17950  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17951  +
                            )
17033  17952   
        }
17034         -
        /* ServerBuilderGenerator.kt:331 */
17035         -
        #[allow(missing_docs)] // documentation missing in model
17036         -
                               /* ServerBuilderGenerator.kt:343 */
17037         -
        pub fn query_timestamp_list(
17038         -
            mut self,
17039         -
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
17040         -
        ) -> Self {
17041         -
            /* ServerBuilderGenerator.kt:344 */
17042         -
            self.query_timestamp_list =
17043         -
                /* ServerBuilderGenerator.kt:376 */input
17044         -
            /* ServerBuilderGenerator.kt:344 */;
17045         -
            self
17046         -
            /* ServerBuilderGenerator.kt:343 */
       17953  +
    }
       17954  +
    /* ServerBuilderGenerator.kt:244 */
       17955  +
    impl ::std::convert::From<Builder>
       17956  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryEpochInput>
       17957  +
    {
       17958  +
        fn from(builder: Builder) -> Self {
       17959  +
            Self::Unconstrained(builder)
17047  17960   
        }
17048         -
        /* ServerBuilderGenerator.kt:426 */
17049         -
        #[allow(missing_docs)] // documentation missing in model
17050         -
                               /* ServerBuilderGenerator.kt:428 */
17051         -
        pub(crate) fn set_query_timestamp_list(
17052         -
            mut self,
17053         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
17054         -
        ) -> Self {
17055         -
            /* ServerBuilderGenerator.kt:429 */
17056         -
            self.query_timestamp_list = input.map(|v| v.into());
17057         -
            self
17058         -
            /* ServerBuilderGenerator.kt:428 */
       17961  +
    }
       17962  +
    /* ServerBuilderGenerator.kt:446 */
       17963  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
       17964  +
        type Error = ConstraintViolation;
       17965  +
       17966  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17967  +
            builder.build()
17059  17968   
        }
       17969  +
    }
       17970  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       17971  +
    /* RustType.kt:534 */
       17972  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17973  +
    /* ServerBuilderGenerator.kt:211 */
       17974  +
    pub struct Builder {
       17975  +
        /* ServerBuilderGenerator.kt:308 */
       17976  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       17977  +
        /* ServerBuilderGenerator.kt:211 */
       17978  +
    }
       17979  +
    /* ServerBuilderGenerator.kt:215 */
       17980  +
    impl Builder {
17060  17981   
        /* ServerBuilderGenerator.kt:331 */
17061  17982   
        #[allow(missing_docs)] // documentation missing in model
17062  17983   
                               /* ServerBuilderGenerator.kt:343 */
17063         -
        pub fn query_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       17984  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
17064  17985   
            /* ServerBuilderGenerator.kt:344 */
17065         -
            self.query_enum =
17066         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       17986  +
            self.timestamp =
       17987  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17988  +
                    /* ServerBuilderGenerator.kt:376 */input
       17989  +
                /* ServerBuilderGenerator.kt:345 */)
17067  17990   
            /* ServerBuilderGenerator.kt:344 */;
17068  17991   
            self
17069  17992   
            /* ServerBuilderGenerator.kt:343 */
17070  17993   
        }
17071  17994   
        /* ServerBuilderGenerator.kt:426 */
17072  17995   
        #[allow(missing_docs)] // documentation missing in model
17073  17996   
                               /* ServerBuilderGenerator.kt:428 */
17074         -
        pub(crate) fn set_query_enum(
       17997  +
        pub(crate) fn set_timestamp(
17075  17998   
            mut self,
17076         -
            input: Option<
17077         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
17078         -
            >,
       17999  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
17079  18000   
        ) -> Self {
17080  18001   
            /* ServerBuilderGenerator.kt:429 */
17081         -
            self.query_enum = input.map(|v| v.into());
       18002  +
            self.timestamp = Some(input.into());
17082  18003   
            self
17083  18004   
            /* ServerBuilderGenerator.kt:428 */
17084  18005   
        }
       18006  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       18007  +
        /// /* ServerBuilderGenerator.kt:260 */
       18008  +
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if a [`ConstraintViolation`] occurs.
       18009  +
        ///
       18010  +
        /* ServerBuilderGenerator.kt:271 */
       18011  +
        pub fn build(
       18012  +
            self,
       18013  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
       18014  +
            self.build_enforcing_all_constraints()
       18015  +
        }
       18016  +
        /* ServerBuilderGenerator.kt:283 */
       18017  +
        fn build_enforcing_all_constraints(
       18018  +
            self,
       18019  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
       18020  +
            /* ServerBuilderGenerator.kt:287 */
       18021  +
            Ok(
       18022  +
                /* ServerBuilderGenerator.kt:542 */
       18023  +
                crate::input::MalformedTimestampQueryEpochInput {
       18024  +
                    /* ServerBuilderGenerator.kt:546 */
       18025  +
                    timestamp: self
       18026  +
                        .timestamp
       18027  +
                        /* ServerBuilderGenerator.kt:569 */
       18028  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       18029  +
                    /* ServerBuilderGenerator.kt:542 */
       18030  +
                }, /* ServerBuilderGenerator.kt:287 */
       18031  +
            )
       18032  +
            /* ServerBuilderGenerator.kt:283 */
       18033  +
        }
       18034  +
        /* ServerBuilderGenerator.kt:215 */
       18035  +
    }
       18036  +
       18037  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18038  +
}
       18039  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       18040  +
pub mod malformed_timestamp_header_default_input {
       18041  +
       18042  +
    /* RustType.kt:534 */
       18043  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18044  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       18045  +
    /* RustType.kt:534 */
       18046  +
    #[non_exhaustive]
       18047  +
    /* ServerBuilderConstraintViolations.kt:75 */
       18048  +
    #[allow(clippy::enum_variant_names)]
       18049  +
    pub enum ConstraintViolation {
       18050  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
       18051  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18052  +
        MissingTimestamp,
       18053  +
        /* ServerBuilderConstraintViolations.kt:75 */
       18054  +
    }
       18055  +
    /* ServerBuilderConstraintViolations.kt:116 */
       18056  +
    impl ::std::fmt::Display for ConstraintViolation {
       18057  +
        /* ServerBuilderConstraintViolations.kt:117 */
       18058  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18059  +
            /* ServerBuilderConstraintViolations.kt:118 */
       18060  +
            match self {
       18061  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
       18062  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       18063  +
            /* ServerBuilderConstraintViolations.kt:117 */
       18064  +
        }
       18065  +
        /* ServerBuilderConstraintViolations.kt:116 */
       18066  +
    }
       18067  +
    /* ServerBuilderConstraintViolations.kt:83 */
       18068  +
    impl ::std::error::Error for ConstraintViolation {}
       18069  +
    /* ServerBuilderConstraintViolations.kt:172 */
       18070  +
    impl ConstraintViolation {
       18071  +
        pub(crate) fn as_validation_exception_field(
       18072  +
            self,
       18073  +
            path: ::std::string::String,
       18074  +
        ) -> crate::model::ValidationExceptionField {
       18075  +
            match self {
       18076  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18077  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18078  +
                                                path: path + "/timestamp",
       18079  +
                                            },
       18080  +
        }
       18081  +
        }
       18082  +
    }
       18083  +
    /* ServerBuilderGenerator.kt:234 */
       18084  +
    impl ::std::convert::From<ConstraintViolation>
       18085  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18086  +
    {
       18087  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18088  +
            let first_validation_exception_field =
       18089  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18090  +
            let validation_exception = crate::error::ValidationException {
       18091  +
                message: format!(
       18092  +
                    "1 validation error detected. {}",
       18093  +
                    &first_validation_exception_field.message
       18094  +
                ),
       18095  +
                field_list: Some(vec![first_validation_exception_field]),
       18096  +
            };
       18097  +
            Self::ConstraintViolation(
       18098  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18099  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18100  +
                            )
       18101  +
        }
       18102  +
    }
       18103  +
    /* ServerBuilderGenerator.kt:244 */
       18104  +
    impl ::std::convert::From<Builder>
       18105  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderDefaultInput>
       18106  +
    {
       18107  +
        fn from(builder: Builder) -> Self {
       18108  +
            Self::Unconstrained(builder)
       18109  +
        }
       18110  +
    }
       18111  +
    /* ServerBuilderGenerator.kt:446 */
       18112  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
       18113  +
        type Error = ConstraintViolation;
       18114  +
       18115  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       18116  +
            builder.build()
       18117  +
        }
       18118  +
    }
       18119  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       18120  +
    /* RustType.kt:534 */
       18121  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18122  +
    /* ServerBuilderGenerator.kt:211 */
       18123  +
    pub struct Builder {
       18124  +
        /* ServerBuilderGenerator.kt:308 */
       18125  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       18126  +
        /* ServerBuilderGenerator.kt:211 */
       18127  +
    }
       18128  +
    /* ServerBuilderGenerator.kt:215 */
       18129  +
    impl Builder {
17085  18130   
        /* ServerBuilderGenerator.kt:331 */
17086  18131   
        #[allow(missing_docs)] // documentation missing in model
17087  18132   
                               /* ServerBuilderGenerator.kt:343 */
17088         -
        pub fn query_enum_list(
17089         -
            mut self,
17090         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
17091         -
        ) -> Self {
       18133  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
17092  18134   
            /* ServerBuilderGenerator.kt:344 */
17093         -
            self.query_enum_list =
17094         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
17095         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
17096         -
                /* ServerBuilderGenerator.kt:363 */)
       18135  +
            self.timestamp =
       18136  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18137  +
                    /* ServerBuilderGenerator.kt:376 */input
       18138  +
                /* ServerBuilderGenerator.kt:345 */)
17097  18139   
            /* ServerBuilderGenerator.kt:344 */;
17098  18140   
            self
17099  18141   
            /* ServerBuilderGenerator.kt:343 */
17100  18142   
        }
17101  18143   
        /* ServerBuilderGenerator.kt:426 */
17102  18144   
        #[allow(missing_docs)] // documentation missing in model
17103  18145   
                               /* ServerBuilderGenerator.kt:428 */
17104         -
        pub(crate) fn set_query_enum_list(
       18146  +
        pub(crate) fn set_timestamp(
17105  18147   
            mut self,
17106         -
            input: Option<
17107         -
                impl ::std::convert::Into<
17108         -
                    crate::constrained::MaybeConstrained<
17109         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
17110         -
                    >,
17111         -
                >,
17112         -
            >,
       18148  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
17113  18149   
        ) -> Self {
17114  18150   
            /* ServerBuilderGenerator.kt:429 */
17115         -
            self.query_enum_list = input.map(|v| v.into());
       18151  +
            self.timestamp = Some(input.into());
17116  18152   
            self
17117  18153   
            /* ServerBuilderGenerator.kt:428 */
17118  18154   
        }
17119         -
        /* ServerBuilderGenerator.kt:331 */
17120         -
        #[allow(missing_docs)] // documentation missing in model
17121         -
                               /* ServerBuilderGenerator.kt:343 */
17122         -
        pub fn query_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
17123         -
            /* ServerBuilderGenerator.kt:344 */
17124         -
            self.query_integer_enum =
17125         -
                /* ServerBuilderGenerator.kt:376 */input
17126         -
            /* ServerBuilderGenerator.kt:344 */;
17127         -
            self
17128         -
            /* ServerBuilderGenerator.kt:343 */
       18155  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       18156  +
        /// /* ServerBuilderGenerator.kt:260 */
       18157  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if a [`ConstraintViolation`] occurs.
       18158  +
        ///
       18159  +
        /* ServerBuilderGenerator.kt:271 */
       18160  +
        pub fn build(
       18161  +
            self,
       18162  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       18163  +
        {
       18164  +
            self.build_enforcing_all_constraints()
       18165  +
        }
       18166  +
        /* ServerBuilderGenerator.kt:283 */
       18167  +
        fn build_enforcing_all_constraints(
       18168  +
            self,
       18169  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       18170  +
        {
       18171  +
            /* ServerBuilderGenerator.kt:287 */
       18172  +
            Ok(
       18173  +
                /* ServerBuilderGenerator.kt:542 */
       18174  +
                crate::input::MalformedTimestampHeaderDefaultInput {
       18175  +
                    /* ServerBuilderGenerator.kt:546 */
       18176  +
                    timestamp: self
       18177  +
                        .timestamp
       18178  +
                        /* ServerBuilderGenerator.kt:569 */
       18179  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       18180  +
                    /* ServerBuilderGenerator.kt:542 */
       18181  +
                }, /* ServerBuilderGenerator.kt:287 */
       18182  +
            )
       18183  +
            /* ServerBuilderGenerator.kt:283 */
       18184  +
        }
       18185  +
        /* ServerBuilderGenerator.kt:215 */
       18186  +
    }
       18187  +
       18188  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18189  +
}
       18190  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
       18191  +
pub mod malformed_timestamp_header_date_time_input {
       18192  +
       18193  +
    /* RustType.kt:534 */
       18194  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18195  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       18196  +
    /* RustType.kt:534 */
       18197  +
    #[non_exhaustive]
       18198  +
    /* ServerBuilderConstraintViolations.kt:75 */
       18199  +
    #[allow(clippy::enum_variant_names)]
       18200  +
    pub enum ConstraintViolation {
       18201  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
       18202  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18203  +
        MissingTimestamp,
       18204  +
        /* ServerBuilderConstraintViolations.kt:75 */
       18205  +
    }
       18206  +
    /* ServerBuilderConstraintViolations.kt:116 */
       18207  +
    impl ::std::fmt::Display for ConstraintViolation {
       18208  +
        /* ServerBuilderConstraintViolations.kt:117 */
       18209  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18210  +
            /* ServerBuilderConstraintViolations.kt:118 */
       18211  +
            match self {
       18212  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
       18213  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       18214  +
            /* ServerBuilderConstraintViolations.kt:117 */
       18215  +
        }
       18216  +
        /* ServerBuilderConstraintViolations.kt:116 */
       18217  +
    }
       18218  +
    /* ServerBuilderConstraintViolations.kt:83 */
       18219  +
    impl ::std::error::Error for ConstraintViolation {}
       18220  +
    /* ServerBuilderConstraintViolations.kt:172 */
       18221  +
    impl ConstraintViolation {
       18222  +
        pub(crate) fn as_validation_exception_field(
       18223  +
            self,
       18224  +
            path: ::std::string::String,
       18225  +
        ) -> crate::model::ValidationExceptionField {
       18226  +
            match self {
       18227  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18228  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18229  +
                                                path: path + "/timestamp",
       18230  +
                                            },
17129  18231   
        }
17130         -
        /* ServerBuilderGenerator.kt:426 */
17131         -
        #[allow(missing_docs)] // documentation missing in model
17132         -
                               /* ServerBuilderGenerator.kt:428 */
17133         -
        pub(crate) fn set_query_integer_enum(
17134         -
            mut self,
17135         -
            input: Option<impl ::std::convert::Into<i32>>,
17136         -
        ) -> Self {
17137         -
            /* ServerBuilderGenerator.kt:429 */
17138         -
            self.query_integer_enum = input.map(|v| v.into());
17139         -
            self
17140         -
            /* ServerBuilderGenerator.kt:428 */
17141  18232   
        }
17142         -
        /* ServerBuilderGenerator.kt:331 */
17143         -
        #[allow(missing_docs)] // documentation missing in model
17144         -
                               /* ServerBuilderGenerator.kt:343 */
17145         -
        pub fn query_integer_enum_list(
17146         -
            mut self,
17147         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
17148         -
        ) -> Self {
17149         -
            /* ServerBuilderGenerator.kt:344 */
17150         -
            self.query_integer_enum_list =
17151         -
                /* ServerBuilderGenerator.kt:376 */input
17152         -
            /* ServerBuilderGenerator.kt:344 */;
17153         -
            self
17154         -
            /* ServerBuilderGenerator.kt:343 */
       18233  +
    }
       18234  +
    /* ServerBuilderGenerator.kt:234 */
       18235  +
    impl ::std::convert::From<ConstraintViolation>
       18236  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18237  +
    {
       18238  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18239  +
            let first_validation_exception_field =
       18240  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18241  +
            let validation_exception = crate::error::ValidationException {
       18242  +
                message: format!(
       18243  +
                    "1 validation error detected. {}",
       18244  +
                    &first_validation_exception_field.message
       18245  +
                ),
       18246  +
                field_list: Some(vec![first_validation_exception_field]),
       18247  +
            };
       18248  +
            Self::ConstraintViolation(
       18249  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18250  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18251  +
                            )
17155  18252   
        }
17156         -
        /* ServerBuilderGenerator.kt:426 */
17157         -
        #[allow(missing_docs)] // documentation missing in model
17158         -
                               /* ServerBuilderGenerator.kt:428 */
17159         -
        pub(crate) fn set_query_integer_enum_list(
17160         -
            mut self,
17161         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
17162         -
        ) -> Self {
17163         -
            /* ServerBuilderGenerator.kt:429 */
17164         -
            self.query_integer_enum_list = input.map(|v| v.into());
17165         -
            self
17166         -
            /* ServerBuilderGenerator.kt:428 */
       18253  +
    }
       18254  +
    /* ServerBuilderGenerator.kt:244 */
       18255  +
    impl ::std::convert::From<Builder>
       18256  +
        for crate::constrained::MaybeConstrained<
       18257  +
            crate::input::MalformedTimestampHeaderDateTimeInput,
       18258  +
        >
       18259  +
    {
       18260  +
        fn from(builder: Builder) -> Self {
       18261  +
            Self::Unconstrained(builder)
       18262  +
        }
       18263  +
    }
       18264  +
    /* ServerBuilderGenerator.kt:446 */
       18265  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
       18266  +
        type Error = ConstraintViolation;
       18267  +
       18268  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       18269  +
            builder.build()
17167  18270   
        }
       18271  +
    }
       18272  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
       18273  +
    /* RustType.kt:534 */
       18274  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18275  +
    /* ServerBuilderGenerator.kt:211 */
       18276  +
    pub struct Builder {
       18277  +
        /* ServerBuilderGenerator.kt:308 */
       18278  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       18279  +
        /* ServerBuilderGenerator.kt:211 */
       18280  +
    }
       18281  +
    /* ServerBuilderGenerator.kt:215 */
       18282  +
    impl Builder {
17168  18283   
        /* ServerBuilderGenerator.kt:331 */
17169  18284   
        #[allow(missing_docs)] // documentation missing in model
17170  18285   
                               /* ServerBuilderGenerator.kt:343 */
17171         -
        pub fn query_params_map_of_string_list(
17172         -
            mut self,
17173         -
            input: ::std::option::Option<
17174         -
                ::std::collections::HashMap<
17175         -
                    ::std::string::String,
17176         -
                    ::std::vec::Vec<::std::string::String>,
17177         -
                >,
17178         -
            >,
17179         -
        ) -> Self {
       18286  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
17180  18287   
            /* ServerBuilderGenerator.kt:344 */
17181         -
            self.query_params_map_of_string_list =
17182         -
                /* ServerBuilderGenerator.kt:376 */input
       18288  +
            self.timestamp =
       18289  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18290  +
                    /* ServerBuilderGenerator.kt:376 */input
       18291  +
                /* ServerBuilderGenerator.kt:345 */)
17183  18292   
            /* ServerBuilderGenerator.kt:344 */;
17184  18293   
            self
17185  18294   
            /* ServerBuilderGenerator.kt:343 */
17186  18295   
        }
17187  18296   
        /* ServerBuilderGenerator.kt:426 */
17188  18297   
        #[allow(missing_docs)] // documentation missing in model
17189  18298   
                               /* ServerBuilderGenerator.kt:428 */
17190         -
        pub(crate) fn set_query_params_map_of_string_list(
       18299  +
        pub(crate) fn set_timestamp(
17191  18300   
            mut self,
17192         -
            input: Option<
17193         -
                impl ::std::convert::Into<
17194         -
                    ::std::collections::HashMap<
17195         -
                        ::std::string::String,
17196         -
                        ::std::vec::Vec<::std::string::String>,
17197         -
                    >,
17198         -
                >,
17199         -
            >,
       18301  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
17200  18302   
        ) -> Self {
17201  18303   
            /* ServerBuilderGenerator.kt:429 */
17202         -
            self.query_params_map_of_string_list = input.map(|v| v.into());
       18304  +
            self.timestamp = Some(input.into());
17203  18305   
            self
17204  18306   
            /* ServerBuilderGenerator.kt:428 */
17205  18307   
        }
17206         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       18308  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
17207  18309   
        /// /* ServerBuilderGenerator.kt:260 */
17208         -
        /// The builder fails to construct a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput) if a [`ConstraintViolation`] occurs.
       18310  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if a [`ConstraintViolation`] occurs.
17209  18311   
        ///
17210         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
17211  18312   
        /* ServerBuilderGenerator.kt:271 */
17212         -
        pub fn build(self) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       18313  +
        pub fn build(
       18314  +
            self,
       18315  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
       18316  +
        {
17213  18317   
            self.build_enforcing_all_constraints()
17214  18318   
        }
17215  18319   
        /* ServerBuilderGenerator.kt:283 */
17216  18320   
        fn build_enforcing_all_constraints(
17217  18321   
            self,
17218         -
        ) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       18322  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
       18323  +
        {
17219  18324   
            /* ServerBuilderGenerator.kt:287 */
17220  18325   
            Ok(
17221  18326   
                /* ServerBuilderGenerator.kt:542 */
17222         -
                crate::input::AllQueryStringTypesInput {
17223         -
                    /* ServerBuilderGenerator.kt:546 */
17224         -
                    query_string: self.query_string,
17225         -
                    /* ServerBuilderGenerator.kt:546 */
17226         -
                    query_string_list: self.query_string_list,
17227         -
                    /* ServerBuilderGenerator.kt:546 */
17228         -
                    query_string_set: self
17229         -
                        .query_string_set
17230         -
                        /* ServerBuilderGenerator.kt:602 */
17231         -
                        .map(|v| match v {
17232         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
17233         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
17234         -
                        })
17235         -
                        /* ServerBuilderGenerator.kt:614 */
17236         -
                        .map(|res| res.map_err(ConstraintViolation::QueryStringSet))
17237         -
                        .transpose()?,
17238         -
                    /* ServerBuilderGenerator.kt:546 */
17239         -
                    query_byte: self.query_byte,
17240         -
                    /* ServerBuilderGenerator.kt:546 */
17241         -
                    query_short: self.query_short,
17242         -
                    /* ServerBuilderGenerator.kt:546 */
17243         -
                    query_integer: self.query_integer,
17244         -
                    /* ServerBuilderGenerator.kt:546 */
17245         -
                    query_integer_list: self.query_integer_list,
17246         -
                    /* ServerBuilderGenerator.kt:546 */
17247         -
                    query_integer_set: self
17248         -
                        .query_integer_set
17249         -
                        /* ServerBuilderGenerator.kt:602 */
17250         -
                        .map(|v| match v {
17251         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
17252         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
17253         -
                        })
17254         -
                        /* ServerBuilderGenerator.kt:614 */
17255         -
                        .map(|res| res.map_err(ConstraintViolation::QueryIntegerSet))
17256         -
                        .transpose()?,
17257         -
                    /* ServerBuilderGenerator.kt:546 */
17258         -
                    query_long: self.query_long,
17259         -
                    /* ServerBuilderGenerator.kt:546 */
17260         -
                    query_float: self.query_float,
17261         -
                    /* ServerBuilderGenerator.kt:546 */
17262         -
                    query_double: self.query_double,
17263         -
                    /* ServerBuilderGenerator.kt:546 */
17264         -
                    query_double_list: self.query_double_list,
17265         -
                    /* ServerBuilderGenerator.kt:546 */
17266         -
                    query_boolean: self.query_boolean,
17267         -
                    /* ServerBuilderGenerator.kt:546 */
17268         -
                    query_boolean_list: self.query_boolean_list,
17269         -
                    /* ServerBuilderGenerator.kt:546 */
17270         -
                    query_timestamp: self.query_timestamp,
17271         -
                    /* ServerBuilderGenerator.kt:546 */
17272         -
                    query_timestamp_list: self.query_timestamp_list,
17273         -
                    /* ServerBuilderGenerator.kt:546 */
17274         -
                    query_enum: self
17275         -
                        .query_enum
17276         -
                        /* ServerBuilderGenerator.kt:602 */
17277         -
                        .map(|v| match v {
17278         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
17279         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
17280         -
                        })
17281         -
                        /* ServerBuilderGenerator.kt:614 */
17282         -
                        .map(|res| res.map_err(ConstraintViolation::QueryEnum))
17283         -
                        .transpose()?,
17284         -
                    /* ServerBuilderGenerator.kt:546 */
17285         -
                    query_enum_list: self
17286         -
                        .query_enum_list
17287         -
                        /* ServerBuilderGenerator.kt:602 */
17288         -
                        .map(|v| match v {
17289         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
17290         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
17291         -
                        })
17292         -
                        /* ServerBuilderGenerator.kt:614 */
17293         -
                        .map(|res| {
17294         -
                            res.map(|v| v.into())
17295         -
                                .map_err(ConstraintViolation::QueryEnumList)
17296         -
                        })
17297         -
                        .transpose()?,
17298         -
                    /* ServerBuilderGenerator.kt:546 */
17299         -
                    query_integer_enum: self.query_integer_enum,
17300         -
                    /* ServerBuilderGenerator.kt:546 */
17301         -
                    query_integer_enum_list: self.query_integer_enum_list,
       18327  +
                crate::input::MalformedTimestampHeaderDateTimeInput {
17302  18328   
                    /* ServerBuilderGenerator.kt:546 */
17303         -
                    query_params_map_of_string_list: self.query_params_map_of_string_list,
       18329  +
                    timestamp: self
       18330  +
                        .timestamp
       18331  +
                        /* ServerBuilderGenerator.kt:569 */
       18332  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
17304  18333   
                    /* ServerBuilderGenerator.kt:542 */
17305  18334   
                }, /* ServerBuilderGenerator.kt:287 */
17306  18335   
            )
17307  18336   
            /* ServerBuilderGenerator.kt:283 */
17308  18337   
        }
17309  18338   
        /* ServerBuilderGenerator.kt:215 */
17310  18339   
    }
17311  18340   
17312  18341   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
17313  18342   
}
17314         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
17315         -
pub mod http_request_with_regex_literal_input {
       18343  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
       18344  +
pub mod malformed_timestamp_header_epoch_input {
17316  18345   
17317  18346   
    /* RustType.kt:534 */
17318  18347   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17319  18348   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
17320  18349   
    /* RustType.kt:534 */
17321  18350   
    #[non_exhaustive]
17322  18351   
    /* ServerBuilderConstraintViolations.kt:75 */
17323  18352   
    #[allow(clippy::enum_variant_names)]
17324  18353   
    pub enum ConstraintViolation {
17325         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
       18354  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
17326  18355   
        /* ServerBuilderConstraintViolations.kt:144 */
17327         -
        MissingStr,
       18356  +
        MissingTimestamp,
17328  18357   
        /* ServerBuilderConstraintViolations.kt:75 */
17329  18358   
    }
17330  18359   
    /* ServerBuilderConstraintViolations.kt:116 */
17331  18360   
    impl ::std::fmt::Display for ConstraintViolation {
17332  18361   
        /* ServerBuilderConstraintViolations.kt:117 */
17333  18362   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17334  18363   
            /* ServerBuilderConstraintViolations.kt:118 */
17335  18364   
            match self {
17336         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
       18365  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
17337  18366   
            /* ServerBuilderConstraintViolations.kt:118 */}
17338  18367   
            /* ServerBuilderConstraintViolations.kt:117 */
17339  18368   
        }
17340  18369   
        /* ServerBuilderConstraintViolations.kt:116 */
17341  18370   
    }
17342  18371   
    /* ServerBuilderConstraintViolations.kt:83 */
17343  18372   
    impl ::std::error::Error for ConstraintViolation {}
17344  18373   
    /* ServerBuilderConstraintViolations.kt:172 */
17345  18374   
    impl ConstraintViolation {
17346  18375   
        pub(crate) fn as_validation_exception_field(
17347  18376   
            self,
17348  18377   
            path: ::std::string::String,
17349  18378   
        ) -> crate::model::ValidationExceptionField {
17350  18379   
            match self {
17351         -
                ConstraintViolation::MissingStr => crate::model::ValidationExceptionField {
17352         -
                    message: format!(
17353         -
                        "Value at '{}/str' failed to satisfy constraint: Member must not be null",
17354         -
                        path
17355         -
                    ),
17356         -
                    path: path + "/str",
17357         -
                },
17358         -
            }
       18380  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18381  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18382  +
                                                path: path + "/timestamp",
       18383  +
                                            },
       18384  +
        }
17359  18385   
        }
17360  18386   
    }
17361  18387   
    /* ServerBuilderGenerator.kt:234 */
17362  18388   
    impl ::std::convert::From<ConstraintViolation>
17363  18389   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17364  18390   
    {
17365  18391   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17366  18392   
            let first_validation_exception_field =
17367  18393   
                constraint_violation.as_validation_exception_field("".to_owned());
17368  18394   
            let validation_exception = crate::error::ValidationException {
17369  18395   
                message: format!(
17370  18396   
                    "1 validation error detected. {}",
17371  18397   
                    &first_validation_exception_field.message
17372  18398   
                ),
17373  18399   
                field_list: Some(vec![first_validation_exception_field]),
17374  18400   
            };
17375  18401   
            Self::ConstraintViolation(
17376  18402   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17377  18403   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17378  18404   
                            )
17379  18405   
        }
17380  18406   
    }
17381  18407   
    /* ServerBuilderGenerator.kt:244 */
17382  18408   
    impl ::std::convert::From<Builder>
17383         -
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithRegexLiteralInput>
       18409  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderEpochInput>
17384  18410   
    {
17385  18411   
        fn from(builder: Builder) -> Self {
17386  18412   
            Self::Unconstrained(builder)
17387  18413   
        }
17388  18414   
    }
17389  18415   
    /* ServerBuilderGenerator.kt:446 */
17390         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
       18416  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
17391  18417   
        type Error = ConstraintViolation;
17392  18418   
17393  18419   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17394  18420   
            builder.build()
17395  18421   
        }
17396  18422   
    }
17397         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       18423  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
17398  18424   
    /* RustType.kt:534 */
17399  18425   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17400  18426   
    /* ServerBuilderGenerator.kt:211 */
17401  18427   
    pub struct Builder {
17402  18428   
        /* ServerBuilderGenerator.kt:308 */
17403         -
        pub(crate) str: ::std::option::Option<::std::string::String>,
       18429  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
17404  18430   
        /* ServerBuilderGenerator.kt:211 */
17405  18431   
    }
17406  18432   
    /* ServerBuilderGenerator.kt:215 */
17407  18433   
    impl Builder {
17408  18434   
        /* ServerBuilderGenerator.kt:331 */
17409  18435   
        #[allow(missing_docs)] // documentation missing in model
17410  18436   
                               /* ServerBuilderGenerator.kt:343 */
17411         -
        pub fn str(mut self, input: ::std::string::String) -> Self {
       18437  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
17412  18438   
            /* ServerBuilderGenerator.kt:344 */
17413         -
            self.str =
       18439  +
            self.timestamp =
17414  18440   
                /* ServerBuilderGenerator.kt:345 */Some(
17415  18441   
                    /* ServerBuilderGenerator.kt:376 */input
17416  18442   
                /* ServerBuilderGenerator.kt:345 */)
17417  18443   
            /* ServerBuilderGenerator.kt:344 */;
17418  18444   
            self
17419  18445   
            /* ServerBuilderGenerator.kt:343 */
17420  18446   
        }
17421  18447   
        /* ServerBuilderGenerator.kt:426 */
17422  18448   
        #[allow(missing_docs)] // documentation missing in model
17423  18449   
                               /* ServerBuilderGenerator.kt:428 */
17424         -
        pub(crate) fn set_str(
       18450  +
        pub(crate) fn set_timestamp(
17425  18451   
            mut self,
17426         -
            input: impl ::std::convert::Into<::std::string::String>,
       18452  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
17427  18453   
        ) -> Self {
17428  18454   
            /* ServerBuilderGenerator.kt:429 */
17429         -
            self.str = Some(input.into());
       18455  +
            self.timestamp = Some(input.into());
17430  18456   
            self
17431  18457   
            /* ServerBuilderGenerator.kt:428 */
17432  18458   
        }
17433         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       18459  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
17434  18460   
        /// /* ServerBuilderGenerator.kt:260 */
17435         -
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if a [`ConstraintViolation`] occurs.
       18461  +
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if a [`ConstraintViolation`] occurs.
17436  18462   
        ///
17437  18463   
        /* ServerBuilderGenerator.kt:271 */
17438  18464   
        pub fn build(
17439  18465   
            self,
17440         -
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       18466  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
17441  18467   
            self.build_enforcing_all_constraints()
17442  18468   
        }
17443  18469   
        /* ServerBuilderGenerator.kt:283 */
17444  18470   
        fn build_enforcing_all_constraints(
17445  18471   
            self,
17446         -
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       18472  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
17447  18473   
            /* ServerBuilderGenerator.kt:287 */
17448  18474   
            Ok(
17449  18475   
                /* ServerBuilderGenerator.kt:542 */
17450         -
                crate::input::HttpRequestWithRegexLiteralInput {
       18476  +
                crate::input::MalformedTimestampHeaderEpochInput {
17451  18477   
                    /* ServerBuilderGenerator.kt:546 */
17452         -
                    str: self
17453         -
                        .str
       18478  +
                    timestamp: self
       18479  +
                        .timestamp
17454  18480   
                        /* ServerBuilderGenerator.kt:569 */
17455         -
                        .ok_or(ConstraintViolation::MissingStr)?,
       18481  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
17456  18482   
                    /* ServerBuilderGenerator.kt:542 */
17457  18483   
                }, /* ServerBuilderGenerator.kt:287 */
17458  18484   
            )
17459  18485   
            /* ServerBuilderGenerator.kt:283 */
17460  18486   
        }
17461  18487   
        /* ServerBuilderGenerator.kt:215 */
17462  18488   
    }
17463  18489   
17464  18490   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
17465  18491   
}
17466         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
17467         -
pub mod http_request_with_float_labels_input {
       18492  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       18493  +
pub mod malformed_timestamp_body_default_input {
17468  18494   
17469  18495   
    /* RustType.kt:534 */
17470  18496   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17471  18497   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
17472  18498   
    /* RustType.kt:534 */
17473  18499   
    #[non_exhaustive]
17474  18500   
    /* ServerBuilderConstraintViolations.kt:75 */
17475  18501   
    #[allow(clippy::enum_variant_names)]
17476  18502   
    pub enum ConstraintViolation {
17477         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
17478         -
        /* ServerBuilderConstraintViolations.kt:144 */
17479         -
        MissingFloat,
17480         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       18503  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
17481  18504   
        /* ServerBuilderConstraintViolations.kt:144 */
17482         -
        MissingDouble,
       18505  +
        MissingTimestamp,
17483  18506   
        /* ServerBuilderConstraintViolations.kt:75 */
17484  18507   
    }
17485  18508   
    /* ServerBuilderConstraintViolations.kt:116 */
17486  18509   
    impl ::std::fmt::Display for ConstraintViolation {
17487  18510   
        /* ServerBuilderConstraintViolations.kt:117 */
17488  18511   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17489  18512   
            /* ServerBuilderConstraintViolations.kt:118 */
17490  18513   
            match self {
17491         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
17492         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
       18514  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
17493  18515   
            /* ServerBuilderConstraintViolations.kt:118 */}
17494  18516   
            /* ServerBuilderConstraintViolations.kt:117 */
17495  18517   
        }
17496  18518   
        /* ServerBuilderConstraintViolations.kt:116 */
17497  18519   
    }
17498  18520   
    /* ServerBuilderConstraintViolations.kt:83 */
17499  18521   
    impl ::std::error::Error for ConstraintViolation {}
17500  18522   
    /* ServerBuilderConstraintViolations.kt:172 */
17501  18523   
    impl ConstraintViolation {
17502  18524   
        pub(crate) fn as_validation_exception_field(
17503  18525   
            self,
17504  18526   
            path: ::std::string::String,
17505  18527   
        ) -> crate::model::ValidationExceptionField {
17506  18528   
            match self {
17507         -
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
17508         -
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
17509         -
                                                path: path + "/float",
17510         -
                                            },
17511         -
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
17512         -
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
17513         -
                                                path: path + "/double",
       18529  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18530  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18531  +
                                                path: path + "/timestamp",
17514  18532   
                                            },
17515  18533   
        }
17516  18534   
        }
17517  18535   
    }
17518  18536   
    /* ServerBuilderGenerator.kt:234 */
17519  18537   
    impl ::std::convert::From<ConstraintViolation>
17520  18538   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17521  18539   
    {
17522  18540   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17523  18541   
            let first_validation_exception_field =
17524  18542   
                constraint_violation.as_validation_exception_field("".to_owned());
17525  18543   
            let validation_exception = crate::error::ValidationException {
17526  18544   
                message: format!(
17527  18545   
                    "1 validation error detected. {}",
17528  18546   
                    &first_validation_exception_field.message
17529  18547   
                ),
17530  18548   
                field_list: Some(vec![first_validation_exception_field]),
17531  18549   
            };
17532  18550   
            Self::ConstraintViolation(
17533  18551   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17534  18552   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17535  18553   
                            )
17536  18554   
        }
17537  18555   
    }
17538  18556   
    /* ServerBuilderGenerator.kt:244 */
17539  18557   
    impl ::std::convert::From<Builder>
17540         -
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithFloatLabelsInput>
       18558  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDefaultInput>
17541  18559   
    {
17542  18560   
        fn from(builder: Builder) -> Self {
17543  18561   
            Self::Unconstrained(builder)
17544  18562   
        }
17545  18563   
    }
17546  18564   
    /* ServerBuilderGenerator.kt:446 */
17547         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
       18565  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
17548  18566   
        type Error = ConstraintViolation;
17549  18567   
17550  18568   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17551  18569   
            builder.build()
17552  18570   
        }
17553  18571   
    }
17554         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       18572  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
17555  18573   
    /* RustType.kt:534 */
17556  18574   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17557  18575   
    /* ServerBuilderGenerator.kt:211 */
17558  18576   
    pub struct Builder {
17559         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
17560  18577   
        /* ServerBuilderGenerator.kt:308 */
17561         -
        pub(crate) double: ::std::option::Option<f64>,
       18578  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
17562  18579   
        /* ServerBuilderGenerator.kt:211 */
17563  18580   
    }
17564  18581   
    /* ServerBuilderGenerator.kt:215 */
17565  18582   
    impl Builder {
17566  18583   
        /* ServerBuilderGenerator.kt:331 */
17567  18584   
        #[allow(missing_docs)] // documentation missing in model
17568  18585   
                               /* ServerBuilderGenerator.kt:343 */
17569         -
        pub fn float(mut self, input: f32) -> Self {
17570         -
            /* ServerBuilderGenerator.kt:344 */
17571         -
            self.float =
17572         -
                /* ServerBuilderGenerator.kt:345 */Some(
17573         -
                    /* ServerBuilderGenerator.kt:376 */input
17574         -
                /* ServerBuilderGenerator.kt:345 */)
17575         -
            /* ServerBuilderGenerator.kt:344 */;
17576         -
            self
17577         -
            /* ServerBuilderGenerator.kt:343 */
17578         -
        }
17579         -
        /* ServerBuilderGenerator.kt:426 */
17580         -
        #[allow(missing_docs)] // documentation missing in model
17581         -
                               /* ServerBuilderGenerator.kt:428 */
17582         -
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
17583         -
            /* ServerBuilderGenerator.kt:429 */
17584         -
            self.float = Some(input.into());
17585         -
            self
17586         -
            /* ServerBuilderGenerator.kt:428 */
17587         -
        }
17588         -
        /* ServerBuilderGenerator.kt:331 */
17589         -
        #[allow(missing_docs)] // documentation missing in model
17590         -
                               /* ServerBuilderGenerator.kt:343 */
17591         -
        pub fn double(mut self, input: f64) -> Self {
       18586  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
17592  18587   
            /* ServerBuilderGenerator.kt:344 */
17593         -
            self.double =
       18588  +
            self.timestamp =
17594  18589   
                /* ServerBuilderGenerator.kt:345 */Some(
17595  18590   
                    /* ServerBuilderGenerator.kt:376 */input
17596  18591   
                /* ServerBuilderGenerator.kt:345 */)
17597  18592   
            /* ServerBuilderGenerator.kt:344 */;
17598  18593   
            self
17599  18594   
            /* ServerBuilderGenerator.kt:343 */
17600  18595   
        }
17601  18596   
        /* ServerBuilderGenerator.kt:426 */
17602  18597   
        #[allow(missing_docs)] // documentation missing in model
17603  18598   
                               /* ServerBuilderGenerator.kt:428 */
17604         -
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
       18599  +
        pub(crate) fn set_timestamp(
       18600  +
            mut self,
       18601  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18602  +
        ) -> Self {
17605  18603   
            /* ServerBuilderGenerator.kt:429 */
17606         -
            self.double = Some(input.into());
       18604  +
            self.timestamp = Some(input.into());
17607  18605   
            self
17608  18606   
            /* ServerBuilderGenerator.kt:428 */
17609  18607   
        }
17610         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       18608  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
17611  18609   
        /// /* ServerBuilderGenerator.kt:260 */
17612         -
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if a [`ConstraintViolation`] occurs.
       18610  +
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if a [`ConstraintViolation`] occurs.
17613  18611   
        ///
17614         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
17615  18612   
        /* ServerBuilderGenerator.kt:271 */
17616  18613   
        pub fn build(
17617  18614   
            self,
17618         -
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       18615  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
17619  18616   
            self.build_enforcing_all_constraints()
17620  18617   
        }
17621  18618   
        /* ServerBuilderGenerator.kt:283 */
17622  18619   
        fn build_enforcing_all_constraints(
17623  18620   
            self,
17624         -
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       18621  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
17625  18622   
            /* ServerBuilderGenerator.kt:287 */
17626  18623   
            Ok(
17627  18624   
                /* ServerBuilderGenerator.kt:542 */
17628         -
                crate::input::HttpRequestWithFloatLabelsInput {
17629         -
                    /* ServerBuilderGenerator.kt:546 */
17630         -
                    float: self
17631         -
                        .float
17632         -
                        /* ServerBuilderGenerator.kt:569 */
17633         -
                        .ok_or(ConstraintViolation::MissingFloat)?,
       18625  +
                crate::input::MalformedTimestampBodyDefaultInput {
17634  18626   
                    /* ServerBuilderGenerator.kt:546 */
17635         -
                    double: self
17636         -
                        .double
       18627  +
                    timestamp: self
       18628  +
                        .timestamp
17637  18629   
                        /* ServerBuilderGenerator.kt:569 */
17638         -
                        .ok_or(ConstraintViolation::MissingDouble)?,
       18630  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
17639  18631   
                    /* ServerBuilderGenerator.kt:542 */
17640  18632   
                }, /* ServerBuilderGenerator.kt:287 */
17641  18633   
            )
17642  18634   
            /* ServerBuilderGenerator.kt:283 */
17643  18635   
        }
17644  18636   
        /* ServerBuilderGenerator.kt:215 */
17645  18637   
    }
17646  18638   
17647  18639   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
17648  18640   
}
17649         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
17650         -
pub mod http_request_with_greedy_label_in_path_input {
       18641  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       18642  +
pub mod malformed_timestamp_body_date_time_input {
17651  18643   
17652  18644   
    /* RustType.kt:534 */
17653  18645   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17654  18646   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
17655  18647   
    /* RustType.kt:534 */
17656  18648   
    #[non_exhaustive]
17657  18649   
    /* ServerBuilderConstraintViolations.kt:75 */
17658  18650   
    #[allow(clippy::enum_variant_names)]
17659  18651   
    pub enum ConstraintViolation {
17660         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
17661         -
        /* ServerBuilderConstraintViolations.kt:144 */
17662         -
        MissingFoo,
17663         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
       18652  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
17664  18653   
        /* ServerBuilderConstraintViolations.kt:144 */
17665         -
        MissingBaz,
       18654  +
        MissingTimestamp,
17666  18655   
        /* ServerBuilderConstraintViolations.kt:75 */
17667  18656   
    }
17668  18657   
    /* ServerBuilderConstraintViolations.kt:116 */
17669  18658   
    impl ::std::fmt::Display for ConstraintViolation {
17670  18659   
        /* ServerBuilderConstraintViolations.kt:117 */
17671  18660   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17672  18661   
            /* ServerBuilderConstraintViolations.kt:118 */
17673  18662   
            match self {
17674         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
17675         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
       18663  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
17676  18664   
            /* ServerBuilderConstraintViolations.kt:118 */}
17677  18665   
            /* ServerBuilderConstraintViolations.kt:117 */
17678  18666   
        }
17679  18667   
        /* ServerBuilderConstraintViolations.kt:116 */
17680  18668   
    }
17681  18669   
    /* ServerBuilderConstraintViolations.kt:83 */
17682  18670   
    impl ::std::error::Error for ConstraintViolation {}
17683  18671   
    /* ServerBuilderConstraintViolations.kt:172 */
17684  18672   
    impl ConstraintViolation {
17685  18673   
        pub(crate) fn as_validation_exception_field(
17686  18674   
            self,
17687  18675   
            path: ::std::string::String,
17688  18676   
        ) -> crate::model::ValidationExceptionField {
17689  18677   
            match self {
17690         -
                ConstraintViolation::MissingFoo => crate::model::ValidationExceptionField {
17691         -
                    message: format!(
17692         -
                        "Value at '{}/foo' failed to satisfy constraint: Member must not be null",
17693         -
                        path
17694         -
                    ),
17695         -
                    path: path + "/foo",
17696         -
                },
17697         -
                ConstraintViolation::MissingBaz => crate::model::ValidationExceptionField {
17698         -
                    message: format!(
17699         -
                        "Value at '{}/baz' failed to satisfy constraint: Member must not be null",
17700         -
                        path
17701         -
                    ),
17702         -
                    path: path + "/baz",
17703         -
                },
17704         -
            }
       18678  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18679  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18680  +
                                                path: path + "/timestamp",
       18681  +
                                            },
       18682  +
        }
17705  18683   
        }
17706  18684   
    }
17707  18685   
    /* ServerBuilderGenerator.kt:234 */
17708  18686   
    impl ::std::convert::From<ConstraintViolation>
17709  18687   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17710  18688   
    {
17711  18689   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17712  18690   
            let first_validation_exception_field =
17713  18691   
                constraint_violation.as_validation_exception_field("".to_owned());
17714  18692   
            let validation_exception = crate::error::ValidationException {
17715  18693   
                message: format!(
17716  18694   
                    "1 validation error detected. {}",
17717  18695   
                    &first_validation_exception_field.message
17718  18696   
                ),
17719  18697   
                field_list: Some(vec![first_validation_exception_field]),
17720  18698   
            };
17721  18699   
            Self::ConstraintViolation(
17722  18700   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17723  18701   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17724  18702   
                            )
17725  18703   
        }
17726  18704   
    }
17727  18705   
    /* ServerBuilderGenerator.kt:244 */
17728  18706   
    impl ::std::convert::From<Builder>
17729         -
        for crate::constrained::MaybeConstrained<
17730         -
            crate::input::HttpRequestWithGreedyLabelInPathInput,
17731         -
        >
       18707  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDateTimeInput>
17732  18708   
    {
17733  18709   
        fn from(builder: Builder) -> Self {
17734  18710   
            Self::Unconstrained(builder)
17735  18711   
        }
17736  18712   
    }
17737  18713   
    /* ServerBuilderGenerator.kt:446 */
17738         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
       18714  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
17739  18715   
        type Error = ConstraintViolation;
17740  18716   
17741  18717   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17742  18718   
            builder.build()
17743  18719   
        }
17744  18720   
    }
17745         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       18721  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
17746  18722   
    /* RustType.kt:534 */
17747  18723   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17748  18724   
    /* ServerBuilderGenerator.kt:211 */
17749  18725   
    pub struct Builder {
17750  18726   
        /* ServerBuilderGenerator.kt:308 */
17751         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
17752         -
        /* ServerBuilderGenerator.kt:308 */
17753         -
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       18727  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
17754  18728   
        /* ServerBuilderGenerator.kt:211 */
17755  18729   
    }
17756  18730   
    /* ServerBuilderGenerator.kt:215 */
17757  18731   
    impl Builder {
17758  18732   
        /* ServerBuilderGenerator.kt:331 */
17759  18733   
        #[allow(missing_docs)] // documentation missing in model
17760  18734   
                               /* ServerBuilderGenerator.kt:343 */
17761         -
        pub fn foo(mut self, input: ::std::string::String) -> Self {
17762         -
            /* ServerBuilderGenerator.kt:344 */
17763         -
            self.foo =
17764         -
                /* ServerBuilderGenerator.kt:345 */Some(
17765         -
                    /* ServerBuilderGenerator.kt:376 */input
17766         -
                /* ServerBuilderGenerator.kt:345 */)
17767         -
            /* ServerBuilderGenerator.kt:344 */;
17768         -
            self
17769         -
            /* ServerBuilderGenerator.kt:343 */
17770         -
        }
17771         -
        /* ServerBuilderGenerator.kt:426 */
17772         -
        #[allow(missing_docs)] // documentation missing in model
17773         -
                               /* ServerBuilderGenerator.kt:428 */
17774         -
        pub(crate) fn set_foo(
17775         -
            mut self,
17776         -
            input: impl ::std::convert::Into<::std::string::String>,
17777         -
        ) -> Self {
17778         -
            /* ServerBuilderGenerator.kt:429 */
17779         -
            self.foo = Some(input.into());
17780         -
            self
17781         -
            /* ServerBuilderGenerator.kt:428 */
17782         -
        }
17783         -
        /* ServerBuilderGenerator.kt:331 */
17784         -
        #[allow(missing_docs)] // documentation missing in model
17785         -
                               /* ServerBuilderGenerator.kt:343 */
17786         -
        pub fn baz(mut self, input: ::std::string::String) -> Self {
       18735  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
17787  18736   
            /* ServerBuilderGenerator.kt:344 */
17788         -
            self.baz =
       18737  +
            self.timestamp =
17789  18738   
                /* ServerBuilderGenerator.kt:345 */Some(
17790  18739   
                    /* ServerBuilderGenerator.kt:376 */input
17791  18740   
                /* ServerBuilderGenerator.kt:345 */)
17792  18741   
            /* ServerBuilderGenerator.kt:344 */;
17793  18742   
            self
17794  18743   
            /* ServerBuilderGenerator.kt:343 */
17795  18744   
        }
17796  18745   
        /* ServerBuilderGenerator.kt:426 */
17797  18746   
        #[allow(missing_docs)] // documentation missing in model
17798  18747   
                               /* ServerBuilderGenerator.kt:428 */
17799         -
        pub(crate) fn set_baz(
       18748  +
        pub(crate) fn set_timestamp(
17800  18749   
            mut self,
17801         -
            input: impl ::std::convert::Into<::std::string::String>,
       18750  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
17802  18751   
        ) -> Self {
17803  18752   
            /* ServerBuilderGenerator.kt:429 */
17804         -
            self.baz = Some(input.into());
       18753  +
            self.timestamp = Some(input.into());
17805  18754   
            self
17806  18755   
            /* ServerBuilderGenerator.kt:428 */
17807  18756   
        }
17808         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       18757  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
17809  18758   
        /// /* ServerBuilderGenerator.kt:260 */
17810         -
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if a [`ConstraintViolation`] occurs.
       18759  +
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if a [`ConstraintViolation`] occurs.
17811  18760   
        ///
17812         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
17813  18761   
        /* ServerBuilderGenerator.kt:271 */
17814  18762   
        pub fn build(
17815  18763   
            self,
17816         -
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
       18764  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
17817  18765   
        {
17818  18766   
            self.build_enforcing_all_constraints()
17819  18767   
        }
17820  18768   
        /* ServerBuilderGenerator.kt:283 */
17821  18769   
        fn build_enforcing_all_constraints(
17822  18770   
            self,
17823         -
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
       18771  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
17824  18772   
        {
17825  18773   
            /* ServerBuilderGenerator.kt:287 */
17826  18774   
            Ok(
17827  18775   
                /* ServerBuilderGenerator.kt:542 */
17828         -
                crate::input::HttpRequestWithGreedyLabelInPathInput {
17829         -
                    /* ServerBuilderGenerator.kt:546 */
17830         -
                    foo: self
17831         -
                        .foo
17832         -
                        /* ServerBuilderGenerator.kt:569 */
17833         -
                        .ok_or(ConstraintViolation::MissingFoo)?,
       18776  +
                crate::input::MalformedTimestampBodyDateTimeInput {
17834  18777   
                    /* ServerBuilderGenerator.kt:546 */
17835         -
                    baz: self
17836         -
                        .baz
       18778  +
                    timestamp: self
       18779  +
                        .timestamp
17837  18780   
                        /* ServerBuilderGenerator.kt:569 */
17838         -
                        .ok_or(ConstraintViolation::MissingBaz)?,
       18781  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
17839  18782   
                    /* ServerBuilderGenerator.kt:542 */
17840  18783   
                }, /* ServerBuilderGenerator.kt:287 */
17841  18784   
            )
17842  18785   
            /* ServerBuilderGenerator.kt:283 */
17843  18786   
        }
17844  18787   
        /* ServerBuilderGenerator.kt:215 */
17845  18788   
    }
17846  18789   
17847  18790   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
17848  18791   
}
17849         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
17850         -
pub mod http_request_with_labels_and_timestamp_format_input {
       18792  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
       18793  +
pub mod malformed_timestamp_body_http_date_input {
17851  18794   
17852  18795   
    /* RustType.kt:534 */
17853  18796   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17854  18797   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
17855  18798   
    /* RustType.kt:534 */
17856  18799   
    #[non_exhaustive]
17857  18800   
    /* ServerBuilderConstraintViolations.kt:75 */
17858  18801   
    #[allow(clippy::enum_variant_names)]
17859  18802   
    pub enum ConstraintViolation {
17860         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
17861         -
        /* ServerBuilderConstraintViolations.kt:144 */
17862         -
        MissingMemberEpochSeconds,
17863         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
17864         -
        /* ServerBuilderConstraintViolations.kt:144 */
17865         -
        MissingMemberHttpDate,
17866         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
17867         -
        /* ServerBuilderConstraintViolations.kt:144 */
17868         -
        MissingMemberDateTime,
17869         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
17870         -
        /* ServerBuilderConstraintViolations.kt:144 */
17871         -
        MissingDefaultFormat,
17872         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
17873         -
        /* ServerBuilderConstraintViolations.kt:144 */
17874         -
        MissingTargetEpochSeconds,
17875         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
17876         -
        /* ServerBuilderConstraintViolations.kt:144 */
17877         -
        MissingTargetHttpDate,
17878         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       18803  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
17879  18804   
        /* ServerBuilderConstraintViolations.kt:144 */
17880         -
        MissingTargetDateTime,
       18805  +
        MissingTimestamp,
17881  18806   
        /* ServerBuilderConstraintViolations.kt:75 */
17882  18807   
    }
17883  18808   
    /* ServerBuilderConstraintViolations.kt:116 */
17884  18809   
    impl ::std::fmt::Display for ConstraintViolation {
17885  18810   
        /* ServerBuilderConstraintViolations.kt:117 */
17886  18811   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17887  18812   
            /* ServerBuilderConstraintViolations.kt:118 */
17888  18813   
            match self {
17889         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
17890         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
17891         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
17892         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
17893         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
17894         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
17895         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       18814  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
17896  18815   
            /* ServerBuilderConstraintViolations.kt:118 */}
17897  18816   
            /* ServerBuilderConstraintViolations.kt:117 */
17898  18817   
        }
17899  18818   
        /* ServerBuilderConstraintViolations.kt:116 */
17900  18819   
    }
17901  18820   
    /* ServerBuilderConstraintViolations.kt:83 */
17902  18821   
    impl ::std::error::Error for ConstraintViolation {}
17903  18822   
    /* ServerBuilderConstraintViolations.kt:172 */
17904  18823   
    impl ConstraintViolation {
17905  18824   
        pub(crate) fn as_validation_exception_field(
17906  18825   
            self,
17907  18826   
            path: ::std::string::String,
17908  18827   
        ) -> crate::model::ValidationExceptionField {
17909  18828   
            match self {
17910         -
            ConstraintViolation::MissingMemberEpochSeconds => crate::model::ValidationExceptionField {
17911         -
                                                message: format!("Value at '{}/memberEpochSeconds' failed to satisfy constraint: Member must not be null", path),
17912         -
                                                path: path + "/memberEpochSeconds",
17913         -
                                            },
17914         -
            ConstraintViolation::MissingMemberHttpDate => crate::model::ValidationExceptionField {
17915         -
                                                message: format!("Value at '{}/memberHttpDate' failed to satisfy constraint: Member must not be null", path),
17916         -
                                                path: path + "/memberHttpDate",
17917         -
                                            },
17918         -
            ConstraintViolation::MissingMemberDateTime => crate::model::ValidationExceptionField {
17919         -
                                                message: format!("Value at '{}/memberDateTime' failed to satisfy constraint: Member must not be null", path),
17920         -
                                                path: path + "/memberDateTime",
17921         -
                                            },
17922         -
            ConstraintViolation::MissingDefaultFormat => crate::model::ValidationExceptionField {
17923         -
                                                message: format!("Value at '{}/defaultFormat' failed to satisfy constraint: Member must not be null", path),
17924         -
                                                path: path + "/defaultFormat",
17925         -
                                            },
17926         -
            ConstraintViolation::MissingTargetEpochSeconds => crate::model::ValidationExceptionField {
17927         -
                                                message: format!("Value at '{}/targetEpochSeconds' failed to satisfy constraint: Member must not be null", path),
17928         -
                                                path: path + "/targetEpochSeconds",
17929         -
                                            },
17930         -
            ConstraintViolation::MissingTargetHttpDate => crate::model::ValidationExceptionField {
17931         -
                                                message: format!("Value at '{}/targetHttpDate' failed to satisfy constraint: Member must not be null", path),
17932         -
                                                path: path + "/targetHttpDate",
17933         -
                                            },
17934         -
            ConstraintViolation::MissingTargetDateTime => crate::model::ValidationExceptionField {
17935         -
                                                message: format!("Value at '{}/targetDateTime' failed to satisfy constraint: Member must not be null", path),
17936         -
                                                path: path + "/targetDateTime",
       18829  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18830  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18831  +
                                                path: path + "/timestamp",
17937  18832   
                                            },
17938  18833   
        }
17939  18834   
        }
17940  18835   
    }
17941  18836   
    /* ServerBuilderGenerator.kt:234 */
17942  18837   
    impl ::std::convert::From<ConstraintViolation>
17943  18838   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17944  18839   
    {
17945  18840   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17946  18841   
            let first_validation_exception_field =
17947  18842   
                constraint_violation.as_validation_exception_field("".to_owned());
17948  18843   
            let validation_exception = crate::error::ValidationException {
17949  18844   
                message: format!(
17950  18845   
                    "1 validation error detected. {}",
17951  18846   
                    &first_validation_exception_field.message
17952  18847   
                ),
17953  18848   
                field_list: Some(vec![first_validation_exception_field]),
17954  18849   
            };
17955  18850   
            Self::ConstraintViolation(
17956  18851   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17957  18852   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17958  18853   
                            )
17959  18854   
        }
17960  18855   
    }
17961  18856   
    /* ServerBuilderGenerator.kt:244 */
17962  18857   
    impl ::std::convert::From<Builder>
17963         -
        for crate::constrained::MaybeConstrained<
17964         -
            crate::input::HttpRequestWithLabelsAndTimestampFormatInput,
17965         -
        >
       18858  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyHttpDateInput>
17966  18859   
    {
17967  18860   
        fn from(builder: Builder) -> Self {
17968  18861   
            Self::Unconstrained(builder)
17969  18862   
        }
17970  18863   
    }
17971  18864   
    /* ServerBuilderGenerator.kt:446 */
17972         -
    impl ::std::convert::TryFrom<Builder>
17973         -
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
17974         -
    {
       18865  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
17975  18866   
        type Error = ConstraintViolation;
17976  18867   
17977  18868   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17978  18869   
            builder.build()
17979  18870   
        }
17980  18871   
    }
17981         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
       18872  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
17982  18873   
    /* RustType.kt:534 */
17983  18874   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17984  18875   
    /* ServerBuilderGenerator.kt:211 */
17985  18876   
    pub struct Builder {
17986  18877   
        /* ServerBuilderGenerator.kt:308 */
17987         -
        pub(crate) member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
17988         -
        /* ServerBuilderGenerator.kt:308 */
17989         -
        pub(crate) member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
17990         -
        /* ServerBuilderGenerator.kt:308 */
17991         -
        pub(crate) member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
17992         -
        /* ServerBuilderGenerator.kt:308 */
17993         -
        pub(crate) default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
17994         -
        /* ServerBuilderGenerator.kt:308 */
17995         -
        pub(crate) target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
17996         -
        /* ServerBuilderGenerator.kt:308 */
17997         -
        pub(crate) target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
17998         -
        /* ServerBuilderGenerator.kt:308 */
17999         -
        pub(crate) target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       18878  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
18000  18879   
        /* ServerBuilderGenerator.kt:211 */
18001  18880   
    }
18002  18881   
    /* ServerBuilderGenerator.kt:215 */
18003  18882   
    impl Builder {
18004  18883   
        /* ServerBuilderGenerator.kt:331 */
18005  18884   
        #[allow(missing_docs)] // documentation missing in model
18006  18885   
                               /* ServerBuilderGenerator.kt:343 */
18007         -
        pub fn member_epoch_seconds(mut self, input: ::aws_smithy_types::DateTime) -> Self {
18008         -
            /* ServerBuilderGenerator.kt:344 */
18009         -
            self.member_epoch_seconds =
18010         -
                /* ServerBuilderGenerator.kt:345 */Some(
18011         -
                    /* ServerBuilderGenerator.kt:376 */input
18012         -
                /* ServerBuilderGenerator.kt:345 */)
18013         -
            /* ServerBuilderGenerator.kt:344 */;
18014         -
            self
18015         -
            /* ServerBuilderGenerator.kt:343 */
18016         -
        }
18017         -
        /* ServerBuilderGenerator.kt:426 */
18018         -
        #[allow(missing_docs)] // documentation missing in model
18019         -
                               /* ServerBuilderGenerator.kt:428 */
18020         -
        pub(crate) fn set_member_epoch_seconds(
18021         -
            mut self,
18022         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
18023         -
        ) -> Self {
18024         -
            /* ServerBuilderGenerator.kt:429 */
18025         -
            self.member_epoch_seconds = Some(input.into());
18026         -
            self
18027         -
            /* ServerBuilderGenerator.kt:428 */
18028         -
        }
18029         -
        /* ServerBuilderGenerator.kt:331 */
18030         -
        #[allow(missing_docs)] // documentation missing in model
18031         -
                               /* ServerBuilderGenerator.kt:343 */
18032         -
        pub fn member_http_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18886  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
18033  18887   
            /* ServerBuilderGenerator.kt:344 */
18034         -
            self.member_http_date =
       18888  +
            self.timestamp =
18035  18889   
                /* ServerBuilderGenerator.kt:345 */Some(
18036  18890   
                    /* ServerBuilderGenerator.kt:376 */input
18037  18891   
                /* ServerBuilderGenerator.kt:345 */)
18038  18892   
            /* ServerBuilderGenerator.kt:344 */;
18039  18893   
            self
18040  18894   
            /* ServerBuilderGenerator.kt:343 */
18041  18895   
        }
18042  18896   
        /* ServerBuilderGenerator.kt:426 */
18043  18897   
        #[allow(missing_docs)] // documentation missing in model
18044  18898   
                               /* ServerBuilderGenerator.kt:428 */
18045         -
        pub(crate) fn set_member_http_date(
       18899  +
        pub(crate) fn set_timestamp(
18046  18900   
            mut self,
18047  18901   
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
18048  18902   
        ) -> Self {
18049  18903   
            /* ServerBuilderGenerator.kt:429 */
18050         -
            self.member_http_date = Some(input.into());
       18904  +
            self.timestamp = Some(input.into());
18051  18905   
            self
18052  18906   
            /* ServerBuilderGenerator.kt:428 */
18053  18907   
        }
18054         -
        /* ServerBuilderGenerator.kt:331 */
18055         -
        #[allow(missing_docs)] // documentation missing in model
18056         -
                               /* ServerBuilderGenerator.kt:343 */
18057         -
        pub fn member_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
18058         -
            /* ServerBuilderGenerator.kt:344 */
18059         -
            self.member_date_time =
18060         -
                /* ServerBuilderGenerator.kt:345 */Some(
18061         -
                    /* ServerBuilderGenerator.kt:376 */input
18062         -
                /* ServerBuilderGenerator.kt:345 */)
18063         -
            /* ServerBuilderGenerator.kt:344 */;
18064         -
            self
18065         -
            /* ServerBuilderGenerator.kt:343 */
       18908  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
       18909  +
        /// /* ServerBuilderGenerator.kt:260 */
       18910  +
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if a [`ConstraintViolation`] occurs.
       18911  +
        ///
       18912  +
        /* ServerBuilderGenerator.kt:271 */
       18913  +
        pub fn build(
       18914  +
            self,
       18915  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
       18916  +
        {
       18917  +
            self.build_enforcing_all_constraints()
18066  18918   
        }
18067         -
        /* ServerBuilderGenerator.kt:426 */
18068         -
        #[allow(missing_docs)] // documentation missing in model
18069         -
                               /* ServerBuilderGenerator.kt:428 */
18070         -
        pub(crate) fn set_member_date_time(
18071         -
            mut self,
18072         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
18073         -
        ) -> Self {
18074         -
            /* ServerBuilderGenerator.kt:429 */
18075         -
            self.member_date_time = Some(input.into());
18076         -
            self
18077         -
            /* ServerBuilderGenerator.kt:428 */
       18919  +
        /* ServerBuilderGenerator.kt:283 */
       18920  +
        fn build_enforcing_all_constraints(
       18921  +
            self,
       18922  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
       18923  +
        {
       18924  +
            /* ServerBuilderGenerator.kt:287 */
       18925  +
            Ok(
       18926  +
                /* ServerBuilderGenerator.kt:542 */
       18927  +
                crate::input::MalformedTimestampBodyHttpDateInput {
       18928  +
                    /* ServerBuilderGenerator.kt:546 */
       18929  +
                    timestamp: self
       18930  +
                        .timestamp
       18931  +
                        /* ServerBuilderGenerator.kt:569 */
       18932  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       18933  +
                    /* ServerBuilderGenerator.kt:542 */
       18934  +
                }, /* ServerBuilderGenerator.kt:287 */
       18935  +
            )
       18936  +
            /* ServerBuilderGenerator.kt:283 */
18078  18937   
        }
18079         -
        /* ServerBuilderGenerator.kt:331 */
18080         -
        #[allow(missing_docs)] // documentation missing in model
18081         -
                               /* ServerBuilderGenerator.kt:343 */
18082         -
        pub fn default_format(mut self, input: ::aws_smithy_types::DateTime) -> Self {
18083         -
            /* ServerBuilderGenerator.kt:344 */
18084         -
            self.default_format =
18085         -
                /* ServerBuilderGenerator.kt:345 */Some(
18086         -
                    /* ServerBuilderGenerator.kt:376 */input
18087         -
                /* ServerBuilderGenerator.kt:345 */)
18088         -
            /* ServerBuilderGenerator.kt:344 */;
18089         -
            self
18090         -
            /* ServerBuilderGenerator.kt:343 */
       18938  +
        /* ServerBuilderGenerator.kt:215 */
       18939  +
    }
       18940  +
       18941  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18942  +
}
       18943  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       18944  +
pub mod malformed_content_type_without_body_input {
       18945  +
       18946  +
    /* ServerBuilderGenerator.kt:461 */
       18947  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
       18948  +
        fn from(builder: Builder) -> Self {
       18949  +
            builder.build()
18091  18950   
        }
18092         -
        /* ServerBuilderGenerator.kt:426 */
18093         -
        #[allow(missing_docs)] // documentation missing in model
18094         -
                               /* ServerBuilderGenerator.kt:428 */
18095         -
        pub(crate) fn set_default_format(
18096         -
            mut self,
18097         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
18098         -
        ) -> Self {
18099         -
            /* ServerBuilderGenerator.kt:429 */
18100         -
            self.default_format = Some(input.into());
18101         -
            self
18102         -
            /* ServerBuilderGenerator.kt:428 */
       18951  +
    }
       18952  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       18953  +
    /* RustType.kt:534 */
       18954  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18955  +
    /* ServerBuilderGenerator.kt:211 */
       18956  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       18957  +
    /* ServerBuilderGenerator.kt:215 */
       18958  +
    impl Builder {
       18959  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       18960  +
        /* ServerBuilderGenerator.kt:271 */
       18961  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
       18962  +
            self.build_enforcing_all_constraints()
18103  18963   
        }
18104         -
        /* ServerBuilderGenerator.kt:331 */
18105         -
        #[allow(missing_docs)] // documentation missing in model
18106         -
                               /* ServerBuilderGenerator.kt:343 */
18107         -
        pub fn target_epoch_seconds(mut self, input: ::aws_smithy_types::DateTime) -> Self {
18108         -
            /* ServerBuilderGenerator.kt:344 */
18109         -
            self.target_epoch_seconds =
18110         -
                /* ServerBuilderGenerator.kt:345 */Some(
18111         -
                    /* ServerBuilderGenerator.kt:376 */input
18112         -
                /* ServerBuilderGenerator.kt:345 */)
18113         -
            /* ServerBuilderGenerator.kt:344 */;
18114         -
            self
18115         -
            /* ServerBuilderGenerator.kt:343 */
       18964  +
        /* ServerBuilderGenerator.kt:283 */
       18965  +
        fn build_enforcing_all_constraints(
       18966  +
            self,
       18967  +
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
       18968  +
            /* ServerBuilderGenerator.kt:542 */
       18969  +
            crate::input::MalformedContentTypeWithoutBodyInput {
       18970  +
            /* ServerBuilderGenerator.kt:542 */}
       18971  +
            /* ServerBuilderGenerator.kt:283 */
18116  18972   
        }
18117         -
        /* ServerBuilderGenerator.kt:426 */
18118         -
        #[allow(missing_docs)] // documentation missing in model
18119         -
                               /* ServerBuilderGenerator.kt:428 */
18120         -
        pub(crate) fn set_target_epoch_seconds(
18121         -
            mut self,
18122         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
18123         -
        ) -> Self {
18124         -
            /* ServerBuilderGenerator.kt:429 */
18125         -
            self.target_epoch_seconds = Some(input.into());
18126         -
            self
18127         -
            /* ServerBuilderGenerator.kt:428 */
       18973  +
        /* ServerBuilderGenerator.kt:215 */
       18974  +
    }
       18975  +
       18976  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18977  +
}
       18978  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       18979  +
pub mod malformed_content_type_without_body_empty_input_input {
       18980  +
       18981  +
    /* ServerBuilderGenerator.kt:461 */
       18982  +
    impl ::std::convert::From<Builder>
       18983  +
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
       18984  +
    {
       18985  +
        fn from(builder: Builder) -> Self {
       18986  +
            builder.build()
18128  18987   
        }
       18988  +
    }
       18989  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       18990  +
    /* RustType.kt:534 */
       18991  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18992  +
    /* ServerBuilderGenerator.kt:211 */
       18993  +
    pub struct Builder {
       18994  +
        /* ServerBuilderGenerator.kt:308 */
       18995  +
        pub(crate) header: ::std::option::Option<::std::string::String>,
       18996  +
        /* ServerBuilderGenerator.kt:211 */
       18997  +
    }
       18998  +
    /* ServerBuilderGenerator.kt:215 */
       18999  +
    impl Builder {
18129  19000   
        /* ServerBuilderGenerator.kt:331 */
18130  19001   
        #[allow(missing_docs)] // documentation missing in model
18131  19002   
                               /* ServerBuilderGenerator.kt:343 */
18132         -
        pub fn target_http_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       19003  +
        pub fn header(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18133  19004   
            /* ServerBuilderGenerator.kt:344 */
18134         -
            self.target_http_date =
18135         -
                /* ServerBuilderGenerator.kt:345 */Some(
18136         -
                    /* ServerBuilderGenerator.kt:376 */input
18137         -
                /* ServerBuilderGenerator.kt:345 */)
       19005  +
            self.header =
       19006  +
                /* ServerBuilderGenerator.kt:376 */input
18138  19007   
            /* ServerBuilderGenerator.kt:344 */;
18139  19008   
            self
18140  19009   
            /* ServerBuilderGenerator.kt:343 */
18141  19010   
        }
18142  19011   
        /* ServerBuilderGenerator.kt:426 */
18143  19012   
        #[allow(missing_docs)] // documentation missing in model
18144  19013   
                               /* ServerBuilderGenerator.kt:428 */
18145         -
        pub(crate) fn set_target_http_date(
       19014  +
        pub(crate) fn set_header(
18146  19015   
            mut self,
18147         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       19016  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18148  19017   
        ) -> Self {
18149  19018   
            /* ServerBuilderGenerator.kt:429 */
18150         -
            self.target_http_date = Some(input.into());
       19019  +
            self.header = input.map(|v| v.into());
18151  19020   
            self
18152  19021   
            /* ServerBuilderGenerator.kt:428 */
18153  19022   
        }
       19023  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       19024  +
        /* ServerBuilderGenerator.kt:271 */
       19025  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       19026  +
            self.build_enforcing_all_constraints()
       19027  +
        }
       19028  +
        /* ServerBuilderGenerator.kt:283 */
       19029  +
        fn build_enforcing_all_constraints(
       19030  +
            self,
       19031  +
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       19032  +
            /* ServerBuilderGenerator.kt:542 */
       19033  +
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       19034  +
                /* ServerBuilderGenerator.kt:546 */
       19035  +
                header: self.header,
       19036  +
                /* ServerBuilderGenerator.kt:542 */
       19037  +
            }
       19038  +
            /* ServerBuilderGenerator.kt:283 */
       19039  +
        }
       19040  +
        /* ServerBuilderGenerator.kt:215 */
       19041  +
    }
       19042  +
       19043  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19044  +
}
       19045  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
       19046  +
pub mod malformed_content_type_with_body_input {
       19047  +
       19048  +
    /* ServerBuilderGenerator.kt:461 */
       19049  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
       19050  +
        fn from(builder: Builder) -> Self {
       19051  +
            builder.build()
       19052  +
        }
       19053  +
    }
       19054  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
       19055  +
    /* RustType.kt:534 */
       19056  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19057  +
    /* ServerBuilderGenerator.kt:211 */
       19058  +
    pub struct Builder {
       19059  +
        /* ServerBuilderGenerator.kt:308 */
       19060  +
        pub(crate) hi: ::std::option::Option<::std::string::String>,
       19061  +
        /* ServerBuilderGenerator.kt:211 */
       19062  +
    }
       19063  +
    /* ServerBuilderGenerator.kt:215 */
       19064  +
    impl Builder {
18154  19065   
        /* ServerBuilderGenerator.kt:331 */
18155  19066   
        #[allow(missing_docs)] // documentation missing in model
18156  19067   
                               /* ServerBuilderGenerator.kt:343 */
18157         -
        pub fn target_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       19068  +
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18158  19069   
            /* ServerBuilderGenerator.kt:344 */
18159         -
            self.target_date_time =
18160         -
                /* ServerBuilderGenerator.kt:345 */Some(
18161         -
                    /* ServerBuilderGenerator.kt:376 */input
18162         -
                /* ServerBuilderGenerator.kt:345 */)
       19070  +
            self.hi =
       19071  +
                /* ServerBuilderGenerator.kt:376 */input
18163  19072   
            /* ServerBuilderGenerator.kt:344 */;
18164  19073   
            self
18165  19074   
            /* ServerBuilderGenerator.kt:343 */
18166  19075   
        }
18167  19076   
        /* ServerBuilderGenerator.kt:426 */
18168  19077   
        #[allow(missing_docs)] // documentation missing in model
18169  19078   
                               /* ServerBuilderGenerator.kt:428 */
18170         -
        pub(crate) fn set_target_date_time(
       19079  +
        pub(crate) fn set_hi(
18171  19080   
            mut self,
18172         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       19081  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18173  19082   
        ) -> Self {
18174  19083   
            /* ServerBuilderGenerator.kt:429 */
18175         -
            self.target_date_time = Some(input.into());
       19084  +
            self.hi = input.map(|v| v.into());
18176  19085   
            self
18177  19086   
            /* ServerBuilderGenerator.kt:428 */
18178  19087   
        }
18179         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
18180         -
        /// /* ServerBuilderGenerator.kt:260 */
18181         -
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if a [`ConstraintViolation`] occurs.
18182         -
        ///
18183         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       19088  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
18184  19089   
        /* ServerBuilderGenerator.kt:271 */
18185         -
        pub fn build(
18186         -
            self,
18187         -
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
18188         -
        {
       19090  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
18189  19091   
            self.build_enforcing_all_constraints()
18190  19092   
        }
18191  19093   
        /* ServerBuilderGenerator.kt:283 */
18192  19094   
        fn build_enforcing_all_constraints(
18193  19095   
            self,
18194         -
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
18195         -
        {
18196         -
            /* ServerBuilderGenerator.kt:287 */
18197         -
            Ok(
       19096  +
        ) -> crate::input::MalformedContentTypeWithBodyInput {
       19097  +
            /* ServerBuilderGenerator.kt:542 */
       19098  +
            crate::input::MalformedContentTypeWithBodyInput {
       19099  +
                /* ServerBuilderGenerator.kt:546 */
       19100  +
                hi: self.hi,
18198  19101   
                /* ServerBuilderGenerator.kt:542 */
18199         -
                crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
18200         -
                    /* ServerBuilderGenerator.kt:546 */
18201         -
                    member_epoch_seconds: self
18202         -
                        .member_epoch_seconds
18203         -
                        /* ServerBuilderGenerator.kt:569 */
18204         -
                        .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
18205         -
                    /* ServerBuilderGenerator.kt:546 */
18206         -
                    member_http_date: self
18207         -
                        .member_http_date
18208         -
                        /* ServerBuilderGenerator.kt:569 */
18209         -
                        .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
18210         -
                    /* ServerBuilderGenerator.kt:546 */
18211         -
                    member_date_time: self
18212         -
                        .member_date_time
18213         -
                        /* ServerBuilderGenerator.kt:569 */
18214         -
                        .ok_or(ConstraintViolation::MissingMemberDateTime)?,
18215         -
                    /* ServerBuilderGenerator.kt:546 */
18216         -
                    default_format: self
18217         -
                        .default_format
18218         -
                        /* ServerBuilderGenerator.kt:569 */
18219         -
                        .ok_or(ConstraintViolation::MissingDefaultFormat)?,
18220         -
                    /* ServerBuilderGenerator.kt:546 */
18221         -
                    target_epoch_seconds: self
18222         -
                        .target_epoch_seconds
18223         -
                        /* ServerBuilderGenerator.kt:569 */
18224         -
                        .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
18225         -
                    /* ServerBuilderGenerator.kt:546 */
18226         -
                    target_http_date: self
18227         -
                        .target_http_date
18228         -
                        /* ServerBuilderGenerator.kt:569 */
18229         -
                        .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
18230         -
                    /* ServerBuilderGenerator.kt:546 */
18231         -
                    target_date_time: self
18232         -
                        .target_date_time
18233         -
                        /* ServerBuilderGenerator.kt:569 */
18234         -
                        .ok_or(ConstraintViolation::MissingTargetDateTime)?,
18235         -
                    /* ServerBuilderGenerator.kt:542 */
18236         -
                }, /* ServerBuilderGenerator.kt:287 */
18237         -
            )
       19102  +
            }
18238  19103   
            /* ServerBuilderGenerator.kt:283 */
18239  19104   
        }
18240         -
        /* ServerBuilderGenerator.kt:215 */
18241         -
    }
18242         -
18243         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
18244         -
}
18245         -
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
18246         -
pub mod http_request_with_labels_input {
18247         -
18248         -
    /* RustType.kt:534 */
18249         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18250         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
18251         -
    /* RustType.kt:534 */
18252         -
    #[non_exhaustive]
18253         -
    /* ServerBuilderConstraintViolations.kt:75 */
18254         -
    #[allow(clippy::enum_variant_names)]
18255         -
    pub enum ConstraintViolation {
18256         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18257         -
        /* ServerBuilderConstraintViolations.kt:144 */
18258         -
        MissingString,
18259         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18260         -
        /* ServerBuilderConstraintViolations.kt:144 */
18261         -
        MissingShort,
18262         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18263         -
        /* ServerBuilderConstraintViolations.kt:144 */
18264         -
        MissingInteger,
18265         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18266         -
        /* ServerBuilderConstraintViolations.kt:144 */
18267         -
        MissingLong,
18268         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18269         -
        /* ServerBuilderConstraintViolations.kt:144 */
18270         -
        MissingFloat,
18271         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18272         -
        /* ServerBuilderConstraintViolations.kt:144 */
18273         -
        MissingDouble,
18274         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18275         -
        /* ServerBuilderConstraintViolations.kt:144 */
18276         -
        MissingBoolean,
18277         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
18278         -
        /* ServerBuilderConstraintViolations.kt:144 */
18279         -
        MissingTimestamp,
18280         -
        /* ServerBuilderConstraintViolations.kt:75 */
18281         -
    }
18282         -
    /* ServerBuilderConstraintViolations.kt:116 */
18283         -
    impl ::std::fmt::Display for ConstraintViolation {
18284         -
        /* ServerBuilderConstraintViolations.kt:117 */
18285         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18286         -
            /* ServerBuilderConstraintViolations.kt:118 */
18287         -
            match self {
18288         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18289         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18290         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18291         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18292         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18293         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18294         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18295         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
18296         -
            /* ServerBuilderConstraintViolations.kt:118 */}
18297         -
            /* ServerBuilderConstraintViolations.kt:117 */
18298         -
        }
18299         -
        /* ServerBuilderConstraintViolations.kt:116 */
18300         -
    }
18301         -
    /* ServerBuilderConstraintViolations.kt:83 */
18302         -
    impl ::std::error::Error for ConstraintViolation {}
18303         -
    /* ServerBuilderConstraintViolations.kt:172 */
18304         -
    impl ConstraintViolation {
18305         -
        pub(crate) fn as_validation_exception_field(
18306         -
            self,
18307         -
            path: ::std::string::String,
18308         -
        ) -> crate::model::ValidationExceptionField {
18309         -
            match self {
18310         -
            ConstraintViolation::MissingString => crate::model::ValidationExceptionField {
18311         -
                                                message: format!("Value at '{}/string' failed to satisfy constraint: Member must not be null", path),
18312         -
                                                path: path + "/string",
18313         -
                                            },
18314         -
            ConstraintViolation::MissingShort => crate::model::ValidationExceptionField {
18315         -
                                                message: format!("Value at '{}/short' failed to satisfy constraint: Member must not be null", path),
18316         -
                                                path: path + "/short",
18317         -
                                            },
18318         -
            ConstraintViolation::MissingInteger => crate::model::ValidationExceptionField {
18319         -
                                                message: format!("Value at '{}/integer' failed to satisfy constraint: Member must not be null", path),
18320         -
                                                path: path + "/integer",
18321         -
                                            },
18322         -
            ConstraintViolation::MissingLong => crate::model::ValidationExceptionField {
18323         -
                                                message: format!("Value at '{}/long' failed to satisfy constraint: Member must not be null", path),
18324         -
                                                path: path + "/long",
18325         -
                                            },
18326         -
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
18327         -
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
18328         -
                                                path: path + "/float",
18329         -
                                            },
18330         -
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
18331         -
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
18332         -
                                                path: path + "/double",
18333         -
                                            },
18334         -
            ConstraintViolation::MissingBoolean => crate::model::ValidationExceptionField {
18335         -
                                                message: format!("Value at '{}/boolean' failed to satisfy constraint: Member must not be null", path),
18336         -
                                                path: path + "/boolean",
18337         -
                                            },
18338         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
18339         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
18340         -
                                                path: path + "/timestamp",
18341         -
                                            },
18342         -
        }
18343         -
        }
18344         -
    }
18345         -
    /* ServerBuilderGenerator.kt:234 */
18346         -
    impl ::std::convert::From<ConstraintViolation>
18347         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
18348         -
    {
18349         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
18350         -
            let first_validation_exception_field =
18351         -
                constraint_violation.as_validation_exception_field("".to_owned());
18352         -
            let validation_exception = crate::error::ValidationException {
18353         -
                message: format!(
18354         -
                    "1 validation error detected. {}",
18355         -
                    &first_validation_exception_field.message
18356         -
                ),
18357         -
                field_list: Some(vec![first_validation_exception_field]),
18358         -
            };
18359         -
            Self::ConstraintViolation(
18360         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
18361         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
18362         -
                            )
18363         -
        }
18364         -
    }
18365         -
    /* ServerBuilderGenerator.kt:244 */
18366         -
    impl ::std::convert::From<Builder>
18367         -
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithLabelsInput>
18368         -
    {
18369         -
        fn from(builder: Builder) -> Self {
18370         -
            Self::Unconstrained(builder)
18371         -
        }
       19105  +
        /* ServerBuilderGenerator.kt:215 */
18372  19106   
    }
18373         -
    /* ServerBuilderGenerator.kt:446 */
18374         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
18375         -
        type Error = ConstraintViolation;
18376  19107   
18377         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       19108  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19109  +
}
       19110  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       19111  +
pub mod malformed_content_type_with_payload_input {
       19112  +
       19113  +
    /* ServerBuilderGenerator.kt:461 */
       19114  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
       19115  +
        fn from(builder: Builder) -> Self {
18378  19116   
            builder.build()
18379  19117   
        }
18380  19118   
    }
18381         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
       19119  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
18382  19120   
    /* RustType.kt:534 */
18383  19121   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18384  19122   
    /* ServerBuilderGenerator.kt:211 */
18385  19123   
    pub struct Builder {
18386  19124   
        /* ServerBuilderGenerator.kt:308 */
18387         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
18388         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) short: ::std::option::Option<i16>,
18389         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) integer: ::std::option::Option<i32>,
18390         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) long: ::std::option::Option<i64>,
18391         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
18392         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) double: ::std::option::Option<f64>,
18393         -
        /* ServerBuilderGenerator.kt:308 */ pub(crate) boolean: ::std::option::Option<bool>,
18394         -
        /* ServerBuilderGenerator.kt:308 */
18395         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       19125  +
        pub(crate) payload: ::std::option::Option<::aws_smithy_types::Blob>,
18396  19126   
        /* ServerBuilderGenerator.kt:211 */
18397  19127   
    }
18398  19128   
    /* ServerBuilderGenerator.kt:215 */
18399  19129   
    impl Builder {
18400  19130   
        /* ServerBuilderGenerator.kt:331 */
18401  19131   
        #[allow(missing_docs)] // documentation missing in model
18402  19132   
                               /* ServerBuilderGenerator.kt:343 */
18403         -
        pub fn string(mut self, input: ::std::string::String) -> Self {
       19133  +
        pub fn payload(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
18404  19134   
            /* ServerBuilderGenerator.kt:344 */
18405         -
            self.string =
18406         -
                /* ServerBuilderGenerator.kt:345 */Some(
18407         -
                    /* ServerBuilderGenerator.kt:376 */input
18408         -
                /* ServerBuilderGenerator.kt:345 */)
       19135  +
            self.payload =
       19136  +
                /* ServerBuilderGenerator.kt:376 */input
18409  19137   
            /* ServerBuilderGenerator.kt:344 */;
18410  19138   
            self
18411  19139   
            /* ServerBuilderGenerator.kt:343 */
18412  19140   
        }
18413  19141   
        /* ServerBuilderGenerator.kt:426 */
18414  19142   
        #[allow(missing_docs)] // documentation missing in model
18415  19143   
                               /* ServerBuilderGenerator.kt:428 */
18416         -
        pub(crate) fn set_string(
       19144  +
        pub(crate) fn set_payload(
18417  19145   
            mut self,
18418         -
            input: impl ::std::convert::Into<::std::string::String>,
       19146  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
18419  19147   
        ) -> Self {
18420  19148   
            /* ServerBuilderGenerator.kt:429 */
18421         -
            self.string = Some(input.into());
       19149  +
            self.payload = input.map(|v| v.into());
18422  19150   
            self
18423  19151   
            /* ServerBuilderGenerator.kt:428 */
18424  19152   
        }
18425         -
        /* ServerBuilderGenerator.kt:331 */
18426         -
        #[allow(missing_docs)] // documentation missing in model
18427         -
                               /* ServerBuilderGenerator.kt:343 */
18428         -
        pub fn short(mut self, input: i16) -> Self {
18429         -
            /* ServerBuilderGenerator.kt:344 */
18430         -
            self.short =
18431         -
                /* ServerBuilderGenerator.kt:345 */Some(
18432         -
                    /* ServerBuilderGenerator.kt:376 */input
18433         -
                /* ServerBuilderGenerator.kt:345 */)
18434         -
            /* ServerBuilderGenerator.kt:344 */;
18435         -
            self
18436         -
            /* ServerBuilderGenerator.kt:343 */
18437         -
        }
18438         -
        /* ServerBuilderGenerator.kt:426 */
18439         -
        #[allow(missing_docs)] // documentation missing in model
18440         -
                               /* ServerBuilderGenerator.kt:428 */
18441         -
        pub(crate) fn set_short(mut self, input: impl ::std::convert::Into<i16>) -> Self {
18442         -
            /* ServerBuilderGenerator.kt:429 */
18443         -
            self.short = Some(input.into());
18444         -
            self
18445         -
            /* ServerBuilderGenerator.kt:428 */
       19153  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       19154  +
        /* ServerBuilderGenerator.kt:271 */
       19155  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
       19156  +
            self.build_enforcing_all_constraints()
18446  19157   
        }
18447         -
        /* ServerBuilderGenerator.kt:331 */
18448         -
        #[allow(missing_docs)] // documentation missing in model
18449         -
                               /* ServerBuilderGenerator.kt:343 */
18450         -
        pub fn integer(mut self, input: i32) -> Self {
18451         -
            /* ServerBuilderGenerator.kt:344 */
18452         -
            self.integer =
18453         -
                /* ServerBuilderGenerator.kt:345 */Some(
18454         -
                    /* ServerBuilderGenerator.kt:376 */input
18455         -
                /* ServerBuilderGenerator.kt:345 */)
18456         -
            /* ServerBuilderGenerator.kt:344 */;
18457         -
            self
18458         -
            /* ServerBuilderGenerator.kt:343 */
       19158  +
        /* ServerBuilderGenerator.kt:283 */
       19159  +
        fn build_enforcing_all_constraints(
       19160  +
            self,
       19161  +
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
       19162  +
            /* ServerBuilderGenerator.kt:542 */
       19163  +
            crate::input::MalformedContentTypeWithPayloadInput {
       19164  +
                /* ServerBuilderGenerator.kt:546 */
       19165  +
                payload: self.payload,
       19166  +
                /* ServerBuilderGenerator.kt:542 */
       19167  +
            }
       19168  +
            /* ServerBuilderGenerator.kt:283 */
18459  19169   
        }
18460         -
        /* ServerBuilderGenerator.kt:426 */
18461         -
        #[allow(missing_docs)] // documentation missing in model
18462         -
                               /* ServerBuilderGenerator.kt:428 */
18463         -
        pub(crate) fn set_integer(mut self, input: impl ::std::convert::Into<i32>) -> Self {
18464         -
            /* ServerBuilderGenerator.kt:429 */
18465         -
            self.integer = Some(input.into());
18466         -
            self
18467         -
            /* ServerBuilderGenerator.kt:428 */
       19170  +
        /* ServerBuilderGenerator.kt:215 */
       19171  +
    }
       19172  +
       19173  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19174  +
}
       19175  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       19176  +
pub mod malformed_content_type_with_generic_string_input {
       19177  +
       19178  +
    /* ServerBuilderGenerator.kt:461 */
       19179  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
       19180  +
        fn from(builder: Builder) -> Self {
       19181  +
            builder.build()
18468  19182   
        }
       19183  +
    }
       19184  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       19185  +
    /* RustType.kt:534 */
       19186  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19187  +
    /* ServerBuilderGenerator.kt:211 */
       19188  +
    pub struct Builder {
       19189  +
        /* ServerBuilderGenerator.kt:308 */
       19190  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
       19191  +
        /* ServerBuilderGenerator.kt:211 */
       19192  +
    }
       19193  +
    /* ServerBuilderGenerator.kt:215 */
       19194  +
    impl Builder {
18469  19195   
        /* ServerBuilderGenerator.kt:331 */
18470  19196   
        #[allow(missing_docs)] // documentation missing in model
18471  19197   
                               /* ServerBuilderGenerator.kt:343 */
18472         -
        pub fn long(mut self, input: i64) -> Self {
       19198  +
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18473  19199   
            /* ServerBuilderGenerator.kt:344 */
18474         -
            self.long =
18475         -
                /* ServerBuilderGenerator.kt:345 */Some(
18476         -
                    /* ServerBuilderGenerator.kt:376 */input
18477         -
                /* ServerBuilderGenerator.kt:345 */)
       19200  +
            self.payload =
       19201  +
                /* ServerBuilderGenerator.kt:376 */input
18478  19202   
            /* ServerBuilderGenerator.kt:344 */;
18479  19203   
            self
18480  19204   
            /* ServerBuilderGenerator.kt:343 */
18481  19205   
        }
18482  19206   
        /* ServerBuilderGenerator.kt:426 */
18483  19207   
        #[allow(missing_docs)] // documentation missing in model
18484  19208   
                               /* ServerBuilderGenerator.kt:428 */
18485         -
        pub(crate) fn set_long(mut self, input: impl ::std::convert::Into<i64>) -> Self {
       19209  +
        pub(crate) fn set_payload(
       19210  +
            mut self,
       19211  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       19212  +
        ) -> Self {
18486  19213   
            /* ServerBuilderGenerator.kt:429 */
18487         -
            self.long = Some(input.into());
       19214  +
            self.payload = input.map(|v| v.into());
18488  19215   
            self
18489  19216   
            /* ServerBuilderGenerator.kt:428 */
18490  19217   
        }
18491         -
        /* ServerBuilderGenerator.kt:331 */
18492         -
        #[allow(missing_docs)] // documentation missing in model
18493         -
                               /* ServerBuilderGenerator.kt:343 */
18494         -
        pub fn float(mut self, input: f32) -> Self {
18495         -
            /* ServerBuilderGenerator.kt:344 */
18496         -
            self.float =
18497         -
                /* ServerBuilderGenerator.kt:345 */Some(
18498         -
                    /* ServerBuilderGenerator.kt:376 */input
18499         -
                /* ServerBuilderGenerator.kt:345 */)
18500         -
            /* ServerBuilderGenerator.kt:344 */;
18501         -
            self
18502         -
            /* ServerBuilderGenerator.kt:343 */
       19218  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       19219  +
        /* ServerBuilderGenerator.kt:271 */
       19220  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
       19221  +
            self.build_enforcing_all_constraints()
18503  19222   
        }
18504         -
        /* ServerBuilderGenerator.kt:426 */
18505         -
        #[allow(missing_docs)] // documentation missing in model
18506         -
                               /* ServerBuilderGenerator.kt:428 */
18507         -
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
18508         -
            /* ServerBuilderGenerator.kt:429 */
18509         -
            self.float = Some(input.into());
18510         -
            self
18511         -
            /* ServerBuilderGenerator.kt:428 */
       19223  +
        /* ServerBuilderGenerator.kt:283 */
       19224  +
        fn build_enforcing_all_constraints(
       19225  +
            self,
       19226  +
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
       19227  +
            /* ServerBuilderGenerator.kt:542 */
       19228  +
            crate::input::MalformedContentTypeWithGenericStringInput {
       19229  +
                /* ServerBuilderGenerator.kt:546 */
       19230  +
                payload: self.payload,
       19231  +
                /* ServerBuilderGenerator.kt:542 */
       19232  +
            }
       19233  +
            /* ServerBuilderGenerator.kt:283 */
18512  19234   
        }
18513         -
        /* ServerBuilderGenerator.kt:331 */
18514         -
        #[allow(missing_docs)] // documentation missing in model
18515         -
                               /* ServerBuilderGenerator.kt:343 */
18516         -
        pub fn double(mut self, input: f64) -> Self {
18517         -
            /* ServerBuilderGenerator.kt:344 */
18518         -
            self.double =
18519         -
                /* ServerBuilderGenerator.kt:345 */Some(
18520         -
                    /* ServerBuilderGenerator.kt:376 */input
18521         -
                /* ServerBuilderGenerator.kt:345 */)
18522         -
            /* ServerBuilderGenerator.kt:344 */;
18523         -
            self
18524         -
            /* ServerBuilderGenerator.kt:343 */
       19235  +
        /* ServerBuilderGenerator.kt:215 */
       19236  +
    }
       19237  +
       19238  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19239  +
}
       19240  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       19241  +
pub mod malformed_accept_with_body_input {
       19242  +
       19243  +
    /* ServerBuilderGenerator.kt:461 */
       19244  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
       19245  +
        fn from(builder: Builder) -> Self {
       19246  +
            builder.build()
18525  19247   
        }
18526         -
        /* ServerBuilderGenerator.kt:426 */
18527         -
        #[allow(missing_docs)] // documentation missing in model
18528         -
                               /* ServerBuilderGenerator.kt:428 */
18529         -
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
18530         -
            /* ServerBuilderGenerator.kt:429 */
18531         -
            self.double = Some(input.into());
18532         -
            self
18533         -
            /* ServerBuilderGenerator.kt:428 */
       19248  +
    }
       19249  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       19250  +
    /* RustType.kt:534 */
       19251  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19252  +
    /* ServerBuilderGenerator.kt:211 */
       19253  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19254  +
    /* ServerBuilderGenerator.kt:215 */
       19255  +
    impl Builder {
       19256  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       19257  +
        /* ServerBuilderGenerator.kt:271 */
       19258  +
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
       19259  +
            self.build_enforcing_all_constraints()
18534  19260   
        }
18535         -
        /// /* ServerBuilderGenerator.kt:331 */Serialized in the path as true or false.
18536         -
        /* ServerBuilderGenerator.kt:343 */
18537         -
        pub fn boolean(mut self, input: bool) -> Self {
18538         -
            /* ServerBuilderGenerator.kt:344 */
18539         -
            self.boolean =
18540         -
                /* ServerBuilderGenerator.kt:345 */Some(
18541         -
                    /* ServerBuilderGenerator.kt:376 */input
18542         -
                /* ServerBuilderGenerator.kt:345 */)
18543         -
            /* ServerBuilderGenerator.kt:344 */;
18544         -
            self
18545         -
            /* ServerBuilderGenerator.kt:343 */
       19261  +
        /* ServerBuilderGenerator.kt:283 */
       19262  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithBodyInput {
       19263  +
            /* ServerBuilderGenerator.kt:542 */
       19264  +
            crate::input::MalformedAcceptWithBodyInput {
       19265  +
            /* ServerBuilderGenerator.kt:542 */}
       19266  +
            /* ServerBuilderGenerator.kt:283 */
18546  19267   
        }
18547         -
        /// /* ServerBuilderGenerator.kt:426 */Serialized in the path as true or false.
18548         -
        /* ServerBuilderGenerator.kt:428 */
18549         -
        pub(crate) fn set_boolean(mut self, input: impl ::std::convert::Into<bool>) -> Self {
18550         -
            /* ServerBuilderGenerator.kt:429 */
18551         -
            self.boolean = Some(input.into());
18552         -
            self
18553         -
            /* ServerBuilderGenerator.kt:428 */
       19268  +
        /* ServerBuilderGenerator.kt:215 */
       19269  +
    }
       19270  +
       19271  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19272  +
}
       19273  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       19274  +
pub mod malformed_accept_with_payload_input {
       19275  +
       19276  +
    /* ServerBuilderGenerator.kt:461 */
       19277  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
       19278  +
        fn from(builder: Builder) -> Self {
       19279  +
            builder.build()
       19280  +
        }
       19281  +
    }
       19282  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       19283  +
    /* RustType.kt:534 */
       19284  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19285  +
    /* ServerBuilderGenerator.kt:211 */
       19286  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19287  +
    /* ServerBuilderGenerator.kt:215 */
       19288  +
    impl Builder {
       19289  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       19290  +
        /* ServerBuilderGenerator.kt:271 */
       19291  +
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
       19292  +
            self.build_enforcing_all_constraints()
18554  19293   
        }
18555         -
        /// /* ServerBuilderGenerator.kt:331 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
18556         -
        /* ServerBuilderGenerator.kt:343 */
18557         -
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
18558         -
            /* ServerBuilderGenerator.kt:344 */
18559         -
            self.timestamp =
18560         -
                /* ServerBuilderGenerator.kt:345 */Some(
18561         -
                    /* ServerBuilderGenerator.kt:376 */input
18562         -
                /* ServerBuilderGenerator.kt:345 */)
18563         -
            /* ServerBuilderGenerator.kt:344 */;
18564         -
            self
18565         -
            /* ServerBuilderGenerator.kt:343 */
       19294  +
        /* ServerBuilderGenerator.kt:283 */
       19295  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithPayloadInput {
       19296  +
            /* ServerBuilderGenerator.kt:542 */
       19297  +
            crate::input::MalformedAcceptWithPayloadInput {
       19298  +
            /* ServerBuilderGenerator.kt:542 */}
       19299  +
            /* ServerBuilderGenerator.kt:283 */
18566  19300   
        }
18567         -
        /// /* ServerBuilderGenerator.kt:426 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
18568         -
        /* ServerBuilderGenerator.kt:428 */
18569         -
        pub(crate) fn set_timestamp(
18570         -
            mut self,
18571         -
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
18572         -
        ) -> Self {
18573         -
            /* ServerBuilderGenerator.kt:429 */
18574         -
            self.timestamp = Some(input.into());
18575         -
            self
18576         -
            /* ServerBuilderGenerator.kt:428 */
       19301  +
        /* ServerBuilderGenerator.kt:215 */
       19302  +
    }
       19303  +
       19304  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19305  +
}
       19306  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       19307  +
pub mod malformed_accept_with_generic_string_input {
       19308  +
       19309  +
    /* ServerBuilderGenerator.kt:461 */
       19310  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
       19311  +
        fn from(builder: Builder) -> Self {
       19312  +
            builder.build()
18577  19313   
        }
18578         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
18579         -
        /// /* ServerBuilderGenerator.kt:260 */
18580         -
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if a [`ConstraintViolation`] occurs.
18581         -
        ///
18582         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       19314  +
    }
       19315  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       19316  +
    /* RustType.kt:534 */
       19317  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19318  +
    /* ServerBuilderGenerator.kt:211 */
       19319  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19320  +
    /* ServerBuilderGenerator.kt:215 */
       19321  +
    impl Builder {
       19322  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
18583  19323   
        /* ServerBuilderGenerator.kt:271 */
18584         -
        pub fn build(
18585         -
            self,
18586         -
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
       19324  +
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
18587  19325   
            self.build_enforcing_all_constraints()
18588  19326   
        }
18589  19327   
        /* ServerBuilderGenerator.kt:283 */
18590  19328   
        fn build_enforcing_all_constraints(
18591  19329   
            self,
18592         -
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
18593         -
            /* ServerBuilderGenerator.kt:287 */
18594         -
            Ok(
18595         -
                /* ServerBuilderGenerator.kt:542 */
18596         -
                crate::input::HttpRequestWithLabelsInput {
18597         -
                    /* ServerBuilderGenerator.kt:546 */
18598         -
                    string: self
18599         -
                        .string
18600         -
                        /* ServerBuilderGenerator.kt:569 */
18601         -
                        .ok_or(ConstraintViolation::MissingString)?,
18602         -
                    /* ServerBuilderGenerator.kt:546 */
18603         -
                    short: self
18604         -
                        .short
18605         -
                        /* ServerBuilderGenerator.kt:569 */
18606         -
                        .ok_or(ConstraintViolation::MissingShort)?,
18607         -
                    /* ServerBuilderGenerator.kt:546 */
18608         -
                    integer: self
18609         -
                        .integer
18610         -
                        /* ServerBuilderGenerator.kt:569 */
18611         -
                        .ok_or(ConstraintViolation::MissingInteger)?,
18612         -
                    /* ServerBuilderGenerator.kt:546 */
18613         -
                    long: self
18614         -
                        .long
18615         -
                        /* ServerBuilderGenerator.kt:569 */
18616         -
                        .ok_or(ConstraintViolation::MissingLong)?,
18617         -
                    /* ServerBuilderGenerator.kt:546 */
18618         -
                    float: self
18619         -
                        .float
18620         -
                        /* ServerBuilderGenerator.kt:569 */
18621         -
                        .ok_or(ConstraintViolation::MissingFloat)?,
18622         -
                    /* ServerBuilderGenerator.kt:546 */
18623         -
                    double: self
18624         -
                        .double
18625         -
                        /* ServerBuilderGenerator.kt:569 */
18626         -
                        .ok_or(ConstraintViolation::MissingDouble)?,
18627         -
                    /* ServerBuilderGenerator.kt:546 */
18628         -
                    boolean: self
18629         -
                        .boolean
18630         -
                        /* ServerBuilderGenerator.kt:569 */
18631         -
                        .ok_or(ConstraintViolation::MissingBoolean)?,
18632         -
                    /* ServerBuilderGenerator.kt:546 */
18633         -
                    timestamp: self
18634         -
                        .timestamp
18635         -
                        /* ServerBuilderGenerator.kt:569 */
18636         -
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
18637         -
                    /* ServerBuilderGenerator.kt:542 */
18638         -
                }, /* ServerBuilderGenerator.kt:287 */
18639         -
            )
       19330  +
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
       19331  +
            /* ServerBuilderGenerator.kt:542 */
       19332  +
            crate::input::MalformedAcceptWithGenericStringInput {
       19333  +
            /* ServerBuilderGenerator.kt:542 */}
18640  19334   
            /* ServerBuilderGenerator.kt:283 */
18641  19335   
        }
18642  19336   
        /* ServerBuilderGenerator.kt:215 */
18643  19337   
    }
18644  19338   
18645  19339   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
18646  19340   
}
18647         -
/// /* ServerBuilderGenerator.kt:171 */See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
18648         -
pub mod media_type_header_input {
       19341  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
       19342  +
pub mod test_body_structure_input {
18649  19343   
18650  19344   
    /* ServerBuilderGenerator.kt:461 */
18651         -
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
       19345  +
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
18652  19346   
        fn from(builder: Builder) -> Self {
18653  19347   
            builder.build()
18654  19348   
        }
18655  19349   
    }
18656         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       19350  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
18657  19351   
    /* RustType.kt:534 */
18658  19352   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18659  19353   
    /* ServerBuilderGenerator.kt:211 */
18660  19354   
    pub struct Builder {
18661  19355   
        /* ServerBuilderGenerator.kt:308 */
18662         -
        pub(crate) json: ::std::option::Option<::std::string::String>,
       19356  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       19357  +
        /* ServerBuilderGenerator.kt:308 */
       19358  +
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
18663  19359   
        /* ServerBuilderGenerator.kt:211 */
18664  19360   
    }
18665  19361   
    /* ServerBuilderGenerator.kt:215 */
18666  19362   
    impl Builder {
18667  19363   
        /* ServerBuilderGenerator.kt:331 */
18668  19364   
        #[allow(missing_docs)] // documentation missing in model
18669  19365   
                               /* ServerBuilderGenerator.kt:343 */
18670         -
        pub fn json(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       19366  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18671  19367   
            /* ServerBuilderGenerator.kt:344 */
18672         -
            self.json =
       19368  +
            self.test_id =
18673  19369   
                /* ServerBuilderGenerator.kt:376 */input
18674  19370   
            /* ServerBuilderGenerator.kt:344 */;
18675  19371   
            self
18676  19372   
            /* ServerBuilderGenerator.kt:343 */
18677  19373   
        }
18678  19374   
        /* ServerBuilderGenerator.kt:426 */
18679  19375   
        #[allow(missing_docs)] // documentation missing in model
18680  19376   
                               /* ServerBuilderGenerator.kt:428 */
18681         -
        pub(crate) fn set_json(
       19377  +
        pub(crate) fn set_test_id(
18682  19378   
            mut self,
18683  19379   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18684  19380   
        ) -> Self {
18685  19381   
            /* ServerBuilderGenerator.kt:429 */
18686         -
            self.json = input.map(|v| v.into());
       19382  +
            self.test_id = input.map(|v| v.into());
18687  19383   
            self
18688  19384   
            /* ServerBuilderGenerator.kt:428 */
18689  19385   
        }
18690         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       19386  +
        /* ServerBuilderGenerator.kt:331 */
       19387  +
        #[allow(missing_docs)] // documentation missing in model
       19388  +
                               /* ServerBuilderGenerator.kt:343 */
       19389  +
        pub fn test_config(
       19390  +
            mut self,
       19391  +
            input: ::std::option::Option<crate::model::TestConfig>,
       19392  +
        ) -> Self {
       19393  +
            /* ServerBuilderGenerator.kt:344 */
       19394  +
            self.test_config =
       19395  +
                /* ServerBuilderGenerator.kt:376 */input
       19396  +
            /* ServerBuilderGenerator.kt:344 */;
       19397  +
            self
       19398  +
            /* ServerBuilderGenerator.kt:343 */
       19399  +
        }
       19400  +
        /* ServerBuilderGenerator.kt:426 */
       19401  +
        #[allow(missing_docs)] // documentation missing in model
       19402  +
                               /* ServerBuilderGenerator.kt:428 */
       19403  +
        pub(crate) fn set_test_config(
       19404  +
            mut self,
       19405  +
            input: Option<impl ::std::convert::Into<crate::model::TestConfig>>,
       19406  +
        ) -> Self {
       19407  +
            /* ServerBuilderGenerator.kt:429 */
       19408  +
            self.test_config = input.map(|v| v.into());
       19409  +
            self
       19410  +
            /* ServerBuilderGenerator.kt:428 */
       19411  +
        }
       19412  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
18691  19413   
        /* ServerBuilderGenerator.kt:271 */
18692         -
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
       19414  +
        pub fn build(self) -> crate::input::TestBodyStructureInput {
18693  19415   
            self.build_enforcing_all_constraints()
18694  19416   
        }
18695  19417   
        /* ServerBuilderGenerator.kt:283 */
18696         -
        fn build_enforcing_all_constraints(self) -> crate::input::MediaTypeHeaderInput {
       19418  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestBodyStructureInput {
18697  19419   
            /* ServerBuilderGenerator.kt:542 */
18698         -
            crate::input::MediaTypeHeaderInput {
       19420  +
            crate::input::TestBodyStructureInput {
18699  19421   
                /* ServerBuilderGenerator.kt:546 */
18700         -
                json: self.json,
       19422  +
                test_id: self.test_id,
       19423  +
                /* ServerBuilderGenerator.kt:546 */
       19424  +
                test_config: self.test_config,
18701  19425   
                /* ServerBuilderGenerator.kt:542 */
18702  19426   
            }
18703  19427   
            /* ServerBuilderGenerator.kt:283 */
18704  19428   
        }
18705  19429   
        /* ServerBuilderGenerator.kt:215 */
18706  19430   
    }
18707  19431   
18708  19432   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
18709  19433   
}
18710         -
/// /* ServerBuilderGenerator.kt:171 */See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
18711         -
pub mod timestamp_format_headers_input {
       19434  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       19435  +
pub mod test_payload_structure_input {
18712  19436   
18713  19437   
    /* ServerBuilderGenerator.kt:461 */
18714         -
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
       19438  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
18715  19439   
        fn from(builder: Builder) -> Self {
18716  19440   
            builder.build()
18717  19441   
        }
18718  19442   
    }
18719         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       19443  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
18720  19444   
    /* RustType.kt:534 */
18721  19445   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18722  19446   
    /* ServerBuilderGenerator.kt:211 */
18723  19447   
    pub struct Builder {
18724  19448   
        /* ServerBuilderGenerator.kt:308 */
18725         -
        pub(crate) member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
18726         -
        /* ServerBuilderGenerator.kt:308 */
18727         -
        pub(crate) member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
18728         -
        /* ServerBuilderGenerator.kt:308 */
18729         -
        pub(crate) member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
18730         -
        /* ServerBuilderGenerator.kt:308 */
18731         -
        pub(crate) default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
18732         -
        /* ServerBuilderGenerator.kt:308 */
18733         -
        pub(crate) target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
18734         -
        /* ServerBuilderGenerator.kt:308 */
18735         -
        pub(crate) target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       19449  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
18736  19450   
        /* ServerBuilderGenerator.kt:308 */
18737         -
        pub(crate) target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       19451  +
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
18738  19452   
        /* ServerBuilderGenerator.kt:211 */
18739  19453   
    }
18740  19454   
    /* ServerBuilderGenerator.kt:215 */
18741  19455   
    impl Builder {
18742  19456   
        /* ServerBuilderGenerator.kt:331 */
18743  19457   
        #[allow(missing_docs)] // documentation missing in model
18744  19458   
                               /* ServerBuilderGenerator.kt:343 */
18745         -
        pub fn member_epoch_seconds(
18746         -
            mut self,
18747         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
18748         -
        ) -> Self {
       19459  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18749  19460   
            /* ServerBuilderGenerator.kt:344 */
18750         -
            self.member_epoch_seconds =
       19461  +
            self.test_id =
18751  19462   
                /* ServerBuilderGenerator.kt:376 */input
18752  19463   
            /* ServerBuilderGenerator.kt:344 */;
18753  19464   
            self
18754  19465   
            /* ServerBuilderGenerator.kt:343 */
18755  19466   
        }
18756  19467   
        /* ServerBuilderGenerator.kt:426 */
18757  19468   
        #[allow(missing_docs)] // documentation missing in model
18758  19469   
                               /* ServerBuilderGenerator.kt:428 */
18759         -
        pub(crate) fn set_member_epoch_seconds(
       19470  +
        pub(crate) fn set_test_id(
18760  19471   
            mut self,
18761         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       19472  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18762  19473   
        ) -> Self {
18763  19474   
            /* ServerBuilderGenerator.kt:429 */
18764         -
            self.member_epoch_seconds = input.map(|v| v.into());
       19475  +
            self.test_id = input.map(|v| v.into());
18765  19476   
            self
18766  19477   
            /* ServerBuilderGenerator.kt:428 */
18767  19478   
        }
18768  19479   
        /* ServerBuilderGenerator.kt:331 */
18769  19480   
        #[allow(missing_docs)] // documentation missing in model
18770  19481   
                               /* ServerBuilderGenerator.kt:343 */
18771         -
        pub fn member_http_date(
       19482  +
        pub fn payload_config(
18772  19483   
            mut self,
18773         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       19484  +
            input: ::std::option::Option<crate::model::PayloadConfig>,
18774  19485   
        ) -> Self {
18775  19486   
            /* ServerBuilderGenerator.kt:344 */
18776         -
            self.member_http_date =
       19487  +
            self.payload_config =
18777  19488   
                /* ServerBuilderGenerator.kt:376 */input
18778  19489   
            /* ServerBuilderGenerator.kt:344 */;
18779  19490   
            self
18780  19491   
            /* ServerBuilderGenerator.kt:343 */
18781  19492   
        }
18782  19493   
        /* ServerBuilderGenerator.kt:426 */
18783  19494   
        #[allow(missing_docs)] // documentation missing in model
18784  19495   
                               /* ServerBuilderGenerator.kt:428 */
18785         -
        pub(crate) fn set_member_http_date(
       19496  +
        pub(crate) fn set_payload_config(
18786  19497   
            mut self,
18787         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       19498  +
            input: Option<impl ::std::convert::Into<crate::model::PayloadConfig>>,
18788  19499   
        ) -> Self {
18789  19500   
            /* ServerBuilderGenerator.kt:429 */
18790         -
            self.member_http_date = input.map(|v| v.into());
       19501  +
            self.payload_config = input.map(|v| v.into());
18791  19502   
            self
18792  19503   
            /* ServerBuilderGenerator.kt:428 */
18793  19504   
        }
       19505  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       19506  +
        /* ServerBuilderGenerator.kt:271 */
       19507  +
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
       19508  +
            self.build_enforcing_all_constraints()
       19509  +
        }
       19510  +
        /* ServerBuilderGenerator.kt:283 */
       19511  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadStructureInput {
       19512  +
            /* ServerBuilderGenerator.kt:542 */
       19513  +
            crate::input::TestPayloadStructureInput {
       19514  +
                /* ServerBuilderGenerator.kt:546 */
       19515  +
                test_id: self.test_id,
       19516  +
                /* ServerBuilderGenerator.kt:546 */
       19517  +
                payload_config: self.payload_config,
       19518  +
                /* ServerBuilderGenerator.kt:542 */
       19519  +
            }
       19520  +
            /* ServerBuilderGenerator.kt:283 */
       19521  +
        }
       19522  +
        /* ServerBuilderGenerator.kt:215 */
       19523  +
    }
       19524  +
       19525  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19526  +
}
       19527  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       19528  +
pub mod test_payload_blob_input {
       19529  +
       19530  +
    /* ServerBuilderGenerator.kt:461 */
       19531  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
       19532  +
        fn from(builder: Builder) -> Self {
       19533  +
            builder.build()
       19534  +
        }
       19535  +
    }
       19536  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       19537  +
    /* RustType.kt:534 */
       19538  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19539  +
    /* ServerBuilderGenerator.kt:211 */
       19540  +
    pub struct Builder {
       19541  +
        /* ServerBuilderGenerator.kt:308 */
       19542  +
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
       19543  +
        /* ServerBuilderGenerator.kt:308 */
       19544  +
        pub(crate) data: ::std::option::Option<::aws_smithy_types::Blob>,
       19545  +
        /* ServerBuilderGenerator.kt:211 */
       19546  +
    }
       19547  +
    /* ServerBuilderGenerator.kt:215 */
       19548  +
    impl Builder {
18794  19549   
        /* ServerBuilderGenerator.kt:331 */
18795  19550   
        #[allow(missing_docs)] // documentation missing in model
18796  19551   
                               /* ServerBuilderGenerator.kt:343 */
18797         -
        pub fn member_date_time(
18798         -
            mut self,
18799         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
18800         -
        ) -> Self {
       19552  +
        pub fn content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18801  19553   
            /* ServerBuilderGenerator.kt:344 */
18802         -
            self.member_date_time =
       19554  +
            self.content_type =
18803  19555   
                /* ServerBuilderGenerator.kt:376 */input
18804  19556   
            /* ServerBuilderGenerator.kt:344 */;
18805  19557   
            self
18806  19558   
            /* ServerBuilderGenerator.kt:343 */
18807  19559   
        }
18808  19560   
        /* ServerBuilderGenerator.kt:426 */
18809  19561   
        #[allow(missing_docs)] // documentation missing in model
18810  19562   
                               /* ServerBuilderGenerator.kt:428 */
18811         -
        pub(crate) fn set_member_date_time(
       19563  +
        pub(crate) fn set_content_type(
18812  19564   
            mut self,
18813         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       19565  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18814  19566   
        ) -> Self {
18815  19567   
            /* ServerBuilderGenerator.kt:429 */
18816         -
            self.member_date_time = input.map(|v| v.into());
       19568  +
            self.content_type = input.map(|v| v.into());
18817  19569   
            self
18818  19570   
            /* ServerBuilderGenerator.kt:428 */
18819  19571   
        }
18820  19572   
        /* ServerBuilderGenerator.kt:331 */
18821  19573   
        #[allow(missing_docs)] // documentation missing in model
18822  19574   
                               /* ServerBuilderGenerator.kt:343 */
18823         -
        pub fn default_format(
18824         -
            mut self,
18825         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
18826         -
        ) -> Self {
       19575  +
        pub fn data(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
18827  19576   
            /* ServerBuilderGenerator.kt:344 */
18828         -
            self.default_format =
       19577  +
            self.data =
18829  19578   
                /* ServerBuilderGenerator.kt:376 */input
18830  19579   
            /* ServerBuilderGenerator.kt:344 */;
18831  19580   
            self
18832  19581   
            /* ServerBuilderGenerator.kt:343 */
18833  19582   
        }
18834  19583   
        /* ServerBuilderGenerator.kt:426 */
18835  19584   
        #[allow(missing_docs)] // documentation missing in model
18836  19585   
                               /* ServerBuilderGenerator.kt:428 */
18837         -
        pub(crate) fn set_default_format(
       19586  +
        pub(crate) fn set_data(
18838  19587   
            mut self,
18839         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       19588  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
18840  19589   
        ) -> Self {
18841  19590   
            /* ServerBuilderGenerator.kt:429 */
18842         -
            self.default_format = input.map(|v| v.into());
       19591  +
            self.data = input.map(|v| v.into());
18843  19592   
            self
18844  19593   
            /* ServerBuilderGenerator.kt:428 */
18845  19594   
        }
       19595  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       19596  +
        /* ServerBuilderGenerator.kt:271 */
       19597  +
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
       19598  +
            self.build_enforcing_all_constraints()
       19599  +
        }
       19600  +
        /* ServerBuilderGenerator.kt:283 */
       19601  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadBlobInput {
       19602  +
            /* ServerBuilderGenerator.kt:542 */
       19603  +
            crate::input::TestPayloadBlobInput {
       19604  +
                /* ServerBuilderGenerator.kt:546 */
       19605  +
                content_type: self.content_type,
       19606  +
                /* ServerBuilderGenerator.kt:546 */
       19607  +
                data: self.data,
       19608  +
                /* ServerBuilderGenerator.kt:542 */
       19609  +
            }
       19610  +
            /* ServerBuilderGenerator.kt:283 */
       19611  +
        }
       19612  +
        /* ServerBuilderGenerator.kt:215 */
       19613  +
    }
       19614  +
       19615  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19616  +
}
       19617  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       19618  +
pub mod test_get_no_payload_input {
       19619  +
       19620  +
    /* ServerBuilderGenerator.kt:461 */
       19621  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
       19622  +
        fn from(builder: Builder) -> Self {
       19623  +
            builder.build()
       19624  +
        }
       19625  +
    }
       19626  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       19627  +
    /* RustType.kt:534 */
       19628  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19629  +
    /* ServerBuilderGenerator.kt:211 */
       19630  +
    pub struct Builder {
       19631  +
        /* ServerBuilderGenerator.kt:308 */
       19632  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       19633  +
        /* ServerBuilderGenerator.kt:211 */
       19634  +
    }
       19635  +
    /* ServerBuilderGenerator.kt:215 */
       19636  +
    impl Builder {
18846  19637   
        /* ServerBuilderGenerator.kt:331 */
18847  19638   
        #[allow(missing_docs)] // documentation missing in model
18848  19639   
                               /* ServerBuilderGenerator.kt:343 */
18849         -
        pub fn target_epoch_seconds(
18850         -
            mut self,
18851         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
18852         -
        ) -> Self {
       19640  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18853  19641   
            /* ServerBuilderGenerator.kt:344 */
18854         -
            self.target_epoch_seconds =
       19642  +
            self.test_id =
18855  19643   
                /* ServerBuilderGenerator.kt:376 */input
18856  19644   
            /* ServerBuilderGenerator.kt:344 */;
18857  19645   
            self
18858  19646   
            /* ServerBuilderGenerator.kt:343 */
18859  19647   
        }
18860  19648   
        /* ServerBuilderGenerator.kt:426 */
18861  19649   
        #[allow(missing_docs)] // documentation missing in model
18862  19650   
                               /* ServerBuilderGenerator.kt:428 */
18863         -
        pub(crate) fn set_target_epoch_seconds(
       19651  +
        pub(crate) fn set_test_id(
18864  19652   
            mut self,
18865         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       19653  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18866  19654   
        ) -> Self {
18867  19655   
            /* ServerBuilderGenerator.kt:429 */
18868         -
            self.target_epoch_seconds = input.map(|v| v.into());
       19656  +
            self.test_id = input.map(|v| v.into());
18869  19657   
            self
18870  19658   
            /* ServerBuilderGenerator.kt:428 */
18871  19659   
        }
       19660  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       19661  +
        /* ServerBuilderGenerator.kt:271 */
       19662  +
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
       19663  +
            self.build_enforcing_all_constraints()
       19664  +
        }
       19665  +
        /* ServerBuilderGenerator.kt:283 */
       19666  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoPayloadInput {
       19667  +
            /* ServerBuilderGenerator.kt:542 */
       19668  +
            crate::input::TestGetNoPayloadInput {
       19669  +
                /* ServerBuilderGenerator.kt:546 */
       19670  +
                test_id: self.test_id,
       19671  +
                /* ServerBuilderGenerator.kt:542 */
       19672  +
            }
       19673  +
            /* ServerBuilderGenerator.kt:283 */
       19674  +
        }
       19675  +
        /* ServerBuilderGenerator.kt:215 */
       19676  +
    }
       19677  +
       19678  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19679  +
}
       19680  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       19681  +
pub mod test_post_no_payload_input {
       19682  +
       19683  +
    /* ServerBuilderGenerator.kt:461 */
       19684  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
       19685  +
        fn from(builder: Builder) -> Self {
       19686  +
            builder.build()
       19687  +
        }
       19688  +
    }
       19689  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       19690  +
    /* RustType.kt:534 */
       19691  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19692  +
    /* ServerBuilderGenerator.kt:211 */
       19693  +
    pub struct Builder {
       19694  +
        /* ServerBuilderGenerator.kt:308 */
       19695  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       19696  +
        /* ServerBuilderGenerator.kt:211 */
       19697  +
    }
       19698  +
    /* ServerBuilderGenerator.kt:215 */
       19699  +
    impl Builder {
18872  19700   
        /* ServerBuilderGenerator.kt:331 */
18873  19701   
        #[allow(missing_docs)] // documentation missing in model
18874  19702   
                               /* ServerBuilderGenerator.kt:343 */
18875         -
        pub fn target_http_date(
18876         -
            mut self,
18877         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
18878         -
        ) -> Self {
       19703  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18879  19704   
            /* ServerBuilderGenerator.kt:344 */
18880         -
            self.target_http_date =
       19705  +
            self.test_id =
18881  19706   
                /* ServerBuilderGenerator.kt:376 */input
18882  19707   
            /* ServerBuilderGenerator.kt:344 */;
18883  19708   
            self
18884  19709   
            /* ServerBuilderGenerator.kt:343 */
18885  19710   
        }
18886  19711   
        /* ServerBuilderGenerator.kt:426 */
18887  19712   
        #[allow(missing_docs)] // documentation missing in model
18888  19713   
                               /* ServerBuilderGenerator.kt:428 */
18889         -
        pub(crate) fn set_target_http_date(
       19714  +
        pub(crate) fn set_test_id(
18890  19715   
            mut self,
18891         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       19716  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18892  19717   
        ) -> Self {
18893  19718   
            /* ServerBuilderGenerator.kt:429 */
18894         -
            self.target_http_date = input.map(|v| v.into());
       19719  +
            self.test_id = input.map(|v| v.into());
18895  19720   
            self
18896  19721   
            /* ServerBuilderGenerator.kt:428 */
18897  19722   
        }
18898         -
        /* ServerBuilderGenerator.kt:331 */
18899         -
        #[allow(missing_docs)] // documentation missing in model
18900         -
                               /* ServerBuilderGenerator.kt:343 */
18901         -
        pub fn target_date_time(
18902         -
            mut self,
18903         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
18904         -
        ) -> Self {
18905         -
            /* ServerBuilderGenerator.kt:344 */
18906         -
            self.target_date_time =
18907         -
                /* ServerBuilderGenerator.kt:376 */input
18908         -
            /* ServerBuilderGenerator.kt:344 */;
18909         -
            self
18910         -
            /* ServerBuilderGenerator.kt:343 */
       19723  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       19724  +
        /* ServerBuilderGenerator.kt:271 */
       19725  +
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
       19726  +
            self.build_enforcing_all_constraints()
       19727  +
        }
       19728  +
        /* ServerBuilderGenerator.kt:283 */
       19729  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoPayloadInput {
       19730  +
            /* ServerBuilderGenerator.kt:542 */
       19731  +
            crate::input::TestPostNoPayloadInput {
       19732  +
                /* ServerBuilderGenerator.kt:546 */
       19733  +
                test_id: self.test_id,
       19734  +
                /* ServerBuilderGenerator.kt:542 */
       19735  +
            }
       19736  +
            /* ServerBuilderGenerator.kt:283 */
       19737  +
        }
       19738  +
        /* ServerBuilderGenerator.kt:215 */
       19739  +
    }
       19740  +
       19741  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19742  +
}
       19743  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       19744  +
pub mod test_get_no_input_no_payload_input {
       19745  +
       19746  +
    /* ServerBuilderGenerator.kt:461 */
       19747  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
       19748  +
        fn from(builder: Builder) -> Self {
       19749  +
            builder.build()
       19750  +
        }
       19751  +
    }
       19752  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       19753  +
    /* RustType.kt:534 */
       19754  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19755  +
    /* ServerBuilderGenerator.kt:211 */
       19756  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19757  +
    /* ServerBuilderGenerator.kt:215 */
       19758  +
    impl Builder {
       19759  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       19760  +
        /* ServerBuilderGenerator.kt:271 */
       19761  +
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
       19762  +
            self.build_enforcing_all_constraints()
       19763  +
        }
       19764  +
        /* ServerBuilderGenerator.kt:283 */
       19765  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoInputNoPayloadInput {
       19766  +
            /* ServerBuilderGenerator.kt:542 */
       19767  +
            crate::input::TestGetNoInputNoPayloadInput {
       19768  +
            /* ServerBuilderGenerator.kt:542 */}
       19769  +
            /* ServerBuilderGenerator.kt:283 */
       19770  +
        }
       19771  +
        /* ServerBuilderGenerator.kt:215 */
       19772  +
    }
       19773  +
       19774  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19775  +
}
       19776  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       19777  +
pub mod test_post_no_input_no_payload_input {
       19778  +
       19779  +
    /* ServerBuilderGenerator.kt:461 */
       19780  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
       19781  +
        fn from(builder: Builder) -> Self {
       19782  +
            builder.build()
       19783  +
        }
       19784  +
    }
       19785  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       19786  +
    /* RustType.kt:534 */
       19787  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19788  +
    /* ServerBuilderGenerator.kt:211 */
       19789  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19790  +
    /* ServerBuilderGenerator.kt:215 */
       19791  +
    impl Builder {
       19792  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       19793  +
        /* ServerBuilderGenerator.kt:271 */
       19794  +
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
       19795  +
            self.build_enforcing_all_constraints()
       19796  +
        }
       19797  +
        /* ServerBuilderGenerator.kt:283 */
       19798  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoInputNoPayloadInput {
       19799  +
            /* ServerBuilderGenerator.kt:542 */
       19800  +
            crate::input::TestPostNoInputNoPayloadInput {
       19801  +
            /* ServerBuilderGenerator.kt:542 */}
       19802  +
            /* ServerBuilderGenerator.kt:283 */
       19803  +
        }
       19804  +
        /* ServerBuilderGenerator.kt:215 */
       19805  +
    }
       19806  +
       19807  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19808  +
}
       19809  +
/// /* ServerBuilderGenerator.kt:171 */See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       19810  +
pub mod datetime_offsets_input {
       19811  +
       19812  +
    /* ServerBuilderGenerator.kt:461 */
       19813  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
       19814  +
        fn from(builder: Builder) -> Self {
       19815  +
            builder.build()
       19816  +
        }
       19817  +
    }
       19818  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       19819  +
    /* RustType.kt:534 */
       19820  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19821  +
    /* ServerBuilderGenerator.kt:211 */
       19822  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19823  +
    /* ServerBuilderGenerator.kt:215 */
       19824  +
    impl Builder {
       19825  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       19826  +
        /* ServerBuilderGenerator.kt:271 */
       19827  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
       19828  +
            self.build_enforcing_all_constraints()
18911  19829   
        }
18912         -
        /* ServerBuilderGenerator.kt:426 */
18913         -
        #[allow(missing_docs)] // documentation missing in model
18914         -
                               /* ServerBuilderGenerator.kt:428 */
18915         -
        pub(crate) fn set_target_date_time(
18916         -
            mut self,
18917         -
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
18918         -
        ) -> Self {
18919         -
            /* ServerBuilderGenerator.kt:429 */
18920         -
            self.target_date_time = input.map(|v| v.into());
18921         -
            self
18922         -
            /* ServerBuilderGenerator.kt:428 */
       19830  +
        /* ServerBuilderGenerator.kt:283 */
       19831  +
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
       19832  +
            /* ServerBuilderGenerator.kt:542 */
       19833  +
            crate::input::DatetimeOffsetsInput {
       19834  +
            /* ServerBuilderGenerator.kt:542 */}
       19835  +
            /* ServerBuilderGenerator.kt:283 */
18923  19836   
        }
18924         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       19837  +
        /* ServerBuilderGenerator.kt:215 */
       19838  +
    }
       19839  +
       19840  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19841  +
}
       19842  +
/// /* ServerBuilderGenerator.kt:171 */See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       19843  +
pub mod fractional_seconds_input {
       19844  +
       19845  +
    /* ServerBuilderGenerator.kt:461 */
       19846  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
       19847  +
        fn from(builder: Builder) -> Self {
       19848  +
            builder.build()
       19849  +
        }
       19850  +
    }
       19851  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       19852  +
    /* RustType.kt:534 */
       19853  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19854  +
    /* ServerBuilderGenerator.kt:211 */
       19855  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19856  +
    /* ServerBuilderGenerator.kt:215 */
       19857  +
    impl Builder {
       19858  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
18925  19859   
        /* ServerBuilderGenerator.kt:271 */
18926         -
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
       19860  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
18927  19861   
            self.build_enforcing_all_constraints()
18928  19862   
        }
18929  19863   
        /* ServerBuilderGenerator.kt:283 */
18930         -
        fn build_enforcing_all_constraints(self) -> crate::input::TimestampFormatHeadersInput {
       19864  +
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
18931  19865   
            /* ServerBuilderGenerator.kt:542 */
18932         -
            crate::input::TimestampFormatHeadersInput {
18933         -
                /* ServerBuilderGenerator.kt:546 */
18934         -
                member_epoch_seconds: self.member_epoch_seconds,
18935         -
                /* ServerBuilderGenerator.kt:546 */
18936         -
                member_http_date: self.member_http_date,
18937         -
                /* ServerBuilderGenerator.kt:546 */
18938         -
                member_date_time: self.member_date_time,
18939         -
                /* ServerBuilderGenerator.kt:546 */
18940         -
                default_format: self.default_format,
18941         -
                /* ServerBuilderGenerator.kt:546 */
18942         -
                target_epoch_seconds: self.target_epoch_seconds,
18943         -
                /* ServerBuilderGenerator.kt:546 */
18944         -
                target_http_date: self.target_http_date,
18945         -
                /* ServerBuilderGenerator.kt:546 */
18946         -
                target_date_time: self.target_date_time,
18947         -
                /* ServerBuilderGenerator.kt:542 */
18948         -
            }
       19866  +
            crate::input::FractionalSecondsInput {
       19867  +
            /* ServerBuilderGenerator.kt:542 */}
18949  19868   
            /* ServerBuilderGenerator.kt:283 */
18950  19869   
        }
18951  19870   
        /* ServerBuilderGenerator.kt:215 */
18952  19871   
    }
18953  19872   
18954  19873   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
18955  19874   
}
18956         -
/// /* ServerBuilderGenerator.kt:171 */See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
18957         -
pub mod null_and_empty_headers_server_input {
       19875  +
/// /* ServerBuilderGenerator.kt:171 */See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
       19876  +
pub mod put_with_content_encoding_input {
18958  19877   
18959  19878   
    /* ServerBuilderGenerator.kt:461 */
18960         -
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
       19879  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
18961  19880   
        fn from(builder: Builder) -> Self {
18962  19881   
            builder.build()
18963  19882   
        }
18964  19883   
    }
18965         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       19884  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
18966  19885   
    /* RustType.kt:534 */
18967  19886   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18968  19887   
    /* ServerBuilderGenerator.kt:211 */
18969  19888   
    pub struct Builder {
18970  19889   
        /* ServerBuilderGenerator.kt:308 */
18971         -
        pub(crate) a: ::std::option::Option<::std::string::String>,
18972         -
        /* ServerBuilderGenerator.kt:308 */
18973         -
        pub(crate) b: ::std::option::Option<::std::string::String>,
       19890  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
18974  19891   
        /* ServerBuilderGenerator.kt:308 */
18975         -
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19892  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
18976  19893   
        /* ServerBuilderGenerator.kt:211 */
18977  19894   
    }
18978  19895   
    /* ServerBuilderGenerator.kt:215 */
18979  19896   
    impl Builder {
18980  19897   
        /* ServerBuilderGenerator.kt:331 */
18981  19898   
        #[allow(missing_docs)] // documentation missing in model
18982  19899   
                               /* ServerBuilderGenerator.kt:343 */
18983         -
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       19900  +
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18984  19901   
            /* ServerBuilderGenerator.kt:344 */
18985         -
            self.a =
       19902  +
            self.encoding =
18986  19903   
                /* ServerBuilderGenerator.kt:376 */input
18987  19904   
            /* ServerBuilderGenerator.kt:344 */;
18988  19905   
            self
18989  19906   
            /* ServerBuilderGenerator.kt:343 */
18990  19907   
        }
18991  19908   
        /* ServerBuilderGenerator.kt:426 */
18992  19909   
        #[allow(missing_docs)] // documentation missing in model
18993  19910   
                               /* ServerBuilderGenerator.kt:428 */
18994         -
        pub(crate) fn set_a(
       19911  +
        pub(crate) fn set_encoding(
18995  19912   
            mut self,
18996  19913   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18997  19914   
        ) -> Self {
18998  19915   
            /* ServerBuilderGenerator.kt:429 */
18999         -
            self.a = input.map(|v| v.into());
       19916  +
            self.encoding = input.map(|v| v.into());
19000  19917   
            self
19001  19918   
            /* ServerBuilderGenerator.kt:428 */
19002  19919   
        }
19003  19920   
        /* ServerBuilderGenerator.kt:331 */
19004  19921   
        #[allow(missing_docs)] // documentation missing in model
19005  19922   
                               /* ServerBuilderGenerator.kt:343 */
19006         -
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       19923  +
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
19007  19924   
            /* ServerBuilderGenerator.kt:344 */
19008         -
            self.b =
       19925  +
            self.data =
19009  19926   
                /* ServerBuilderGenerator.kt:376 */input
19010  19927   
            /* ServerBuilderGenerator.kt:344 */;
19011  19928   
            self
19012  19929   
            /* ServerBuilderGenerator.kt:343 */
19013  19930   
        }
19014  19931   
        /* ServerBuilderGenerator.kt:426 */
19015  19932   
        #[allow(missing_docs)] // documentation missing in model
19016  19933   
                               /* ServerBuilderGenerator.kt:428 */
19017         -
        pub(crate) fn set_b(
       19934  +
        pub(crate) fn set_data(
19018  19935   
            mut self,
19019  19936   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19020  19937   
        ) -> Self {
19021  19938   
            /* ServerBuilderGenerator.kt:429 */
19022         -
            self.b = input.map(|v| v.into());
19023         -
            self
19024         -
            /* ServerBuilderGenerator.kt:428 */
19025         -
        }
19026         -
        /* ServerBuilderGenerator.kt:331 */
19027         -
        #[allow(missing_docs)] // documentation missing in model
19028         -
                               /* ServerBuilderGenerator.kt:343 */
19029         -
        pub fn c(
19030         -
            mut self,
19031         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
19032         -
        ) -> Self {
19033         -
            /* ServerBuilderGenerator.kt:344 */
19034         -
            self.c =
19035         -
                /* ServerBuilderGenerator.kt:376 */input
19036         -
            /* ServerBuilderGenerator.kt:344 */;
19037         -
            self
19038         -
            /* ServerBuilderGenerator.kt:343 */
19039         -
        }
19040         -
        /* ServerBuilderGenerator.kt:426 */
19041         -
        #[allow(missing_docs)] // documentation missing in model
19042         -
                               /* ServerBuilderGenerator.kt:428 */
19043         -
        pub(crate) fn set_c(
19044         -
            mut self,
19045         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
19046         -
        ) -> Self {
19047         -
            /* ServerBuilderGenerator.kt:429 */
19048         -
            self.c = input.map(|v| v.into());
       19939  +
            self.data = input.map(|v| v.into());
19049  19940   
            self
19050  19941   
            /* ServerBuilderGenerator.kt:428 */
19051  19942   
        }
19052         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       19943  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
19053  19944   
        /* ServerBuilderGenerator.kt:271 */
19054         -
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
       19945  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
19055  19946   
            self.build_enforcing_all_constraints()
19056  19947   
        }
19057  19948   
        /* ServerBuilderGenerator.kt:283 */
19058         -
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersServerInput {
       19949  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
19059  19950   
            /* ServerBuilderGenerator.kt:542 */
19060         -
            crate::input::NullAndEmptyHeadersServerInput {
19061         -
                /* ServerBuilderGenerator.kt:546 */
19062         -
                a: self.a,
       19951  +
            crate::input::PutWithContentEncodingInput {
19063  19952   
                /* ServerBuilderGenerator.kt:546 */
19064         -
                b: self.b,
       19953  +
                encoding: self.encoding,
19065  19954   
                /* ServerBuilderGenerator.kt:546 */
19066         -
                c: self.c,
       19955  +
                data: self.data,
19067  19956   
                /* ServerBuilderGenerator.kt:542 */
19068  19957   
            }
19069  19958   
            /* ServerBuilderGenerator.kt:283 */
19070  19959   
        }
19071  19960   
        /* ServerBuilderGenerator.kt:215 */
19072  19961   
    }
19073  19962   
19074  19963   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
19075  19964   
}
19076         -
/// /* ServerBuilderGenerator.kt:171 */See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
19077         -
pub mod null_and_empty_headers_client_input {
       19965  +
/// /* ServerBuilderGenerator.kt:171 */See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       19966  +
pub mod content_type_parameters_input {
19078  19967   
19079  19968   
    /* ServerBuilderGenerator.kt:461 */
19080         -
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
       19969  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
19081  19970   
        fn from(builder: Builder) -> Self {
19082  19971   
            builder.build()
19083  19972   
        }
19084  19973   
    }
19085         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       19974  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
19086  19975   
    /* RustType.kt:534 */
19087  19976   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19088  19977   
    /* ServerBuilderGenerator.kt:211 */
19089  19978   
    pub struct Builder {
19090  19979   
        /* ServerBuilderGenerator.kt:308 */
19091         -
        pub(crate) a: ::std::option::Option<::std::string::String>,
19092         -
        /* ServerBuilderGenerator.kt:308 */
19093         -
        pub(crate) b: ::std::option::Option<::std::string::String>,
19094         -
        /* ServerBuilderGenerator.kt:308 */
19095         -
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19980  +
        pub(crate) value: ::std::option::Option<i32>,
19096  19981   
        /* ServerBuilderGenerator.kt:211 */
19097  19982   
    }
19098  19983   
    /* ServerBuilderGenerator.kt:215 */
19099  19984   
    impl Builder {
19100  19985   
        /* ServerBuilderGenerator.kt:331 */
19101  19986   
        #[allow(missing_docs)] // documentation missing in model
19102  19987   
                               /* ServerBuilderGenerator.kt:343 */
19103         -
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
19104         -
            /* ServerBuilderGenerator.kt:344 */
19105         -
            self.a =
19106         -
                /* ServerBuilderGenerator.kt:376 */input
19107         -
            /* ServerBuilderGenerator.kt:344 */;
19108         -
            self
19109         -
            /* ServerBuilderGenerator.kt:343 */
19110         -
        }
19111         -
        /* ServerBuilderGenerator.kt:426 */
19112         -
        #[allow(missing_docs)] // documentation missing in model
19113         -
                               /* ServerBuilderGenerator.kt:428 */
19114         -
        pub(crate) fn set_a(
19115         -
            mut self,
19116         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19117         -
        ) -> Self {
19118         -
            /* ServerBuilderGenerator.kt:429 */
19119         -
            self.a = input.map(|v| v.into());
19120         -
            self
19121         -
            /* ServerBuilderGenerator.kt:428 */
19122         -
        }
19123         -
        /* ServerBuilderGenerator.kt:331 */
19124         -
        #[allow(missing_docs)] // documentation missing in model
19125         -
                               /* ServerBuilderGenerator.kt:343 */
19126         -
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
19127         -
            /* ServerBuilderGenerator.kt:344 */
19128         -
            self.b =
19129         -
                /* ServerBuilderGenerator.kt:376 */input
19130         -
            /* ServerBuilderGenerator.kt:344 */;
19131         -
            self
19132         -
            /* ServerBuilderGenerator.kt:343 */
19133         -
        }
19134         -
        /* ServerBuilderGenerator.kt:426 */
19135         -
        #[allow(missing_docs)] // documentation missing in model
19136         -
                               /* ServerBuilderGenerator.kt:428 */
19137         -
        pub(crate) fn set_b(
19138         -
            mut self,
19139         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19140         -
        ) -> Self {
19141         -
            /* ServerBuilderGenerator.kt:429 */
19142         -
            self.b = input.map(|v| v.into());
19143         -
            self
19144         -
            /* ServerBuilderGenerator.kt:428 */
19145         -
        }
19146         -
        /* ServerBuilderGenerator.kt:331 */
19147         -
        #[allow(missing_docs)] // documentation missing in model
19148         -
                               /* ServerBuilderGenerator.kt:343 */
19149         -
        pub fn c(
19150         -
            mut self,
19151         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
19152         -
        ) -> Self {
       19988  +
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
19153  19989   
            /* ServerBuilderGenerator.kt:344 */
19154         -
            self.c =
       19990  +
            self.value =
19155  19991   
                /* ServerBuilderGenerator.kt:376 */input
19156  19992   
            /* ServerBuilderGenerator.kt:344 */;
19157  19993   
            self
19158  19994   
            /* ServerBuilderGenerator.kt:343 */
19159  19995   
        }
19160  19996   
        /* ServerBuilderGenerator.kt:426 */
19161  19997   
        #[allow(missing_docs)] // documentation missing in model
19162  19998   
                               /* ServerBuilderGenerator.kt:428 */
19163         -
        pub(crate) fn set_c(
19164         -
            mut self,
19165         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
19166         -
        ) -> Self {
       19999  +
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
19167  20000   
            /* ServerBuilderGenerator.kt:429 */
19168         -
            self.c = input.map(|v| v.into());
       20001  +
            self.value = input.map(|v| v.into());
19169  20002   
            self
19170  20003   
            /* ServerBuilderGenerator.kt:428 */
19171  20004   
        }
19172         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       20005  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
19173  20006   
        /* ServerBuilderGenerator.kt:271 */
19174         -
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
       20007  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
19175  20008   
            self.build_enforcing_all_constraints()
19176  20009   
        }
19177  20010   
        /* ServerBuilderGenerator.kt:283 */
19178         -
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersClientInput {
       20011  +
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
19179  20012   
            /* ServerBuilderGenerator.kt:542 */
19180         -
            crate::input::NullAndEmptyHeadersClientInput {
19181         -
                /* ServerBuilderGenerator.kt:546 */
19182         -
                a: self.a,
19183         -
                /* ServerBuilderGenerator.kt:546 */
19184         -
                b: self.b,
       20013  +
            crate::input::ContentTypeParametersInput {
19185  20014   
                /* ServerBuilderGenerator.kt:546 */
19186         -
                c: self.c,
       20015  +
                value: self.value,
19187  20016   
                /* ServerBuilderGenerator.kt:542 */
19188  20017   
            }
19189  20018   
            /* ServerBuilderGenerator.kt:283 */
19190  20019   
        }
19191  20020   
        /* ServerBuilderGenerator.kt:215 */
19192  20021   
    }
19193  20022   
19194  20023   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
19195  20024   
}
19196         -
/// /* ServerBuilderGenerator.kt:171 */See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
19197         -
pub mod input_and_output_with_headers_input {
       20025  +
/// /* ServerBuilderGenerator.kt:171 */See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
       20026  +
pub mod operation_with_defaults_input {
19198  20027   
19199  20028   
    /* RustType.kt:534 */
19200  20029   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
19201  20030   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
19202  20031   
    /* RustType.kt:534 */
19203  20032   
    #[non_exhaustive]
19204  20033   
    /* ServerBuilderConstraintViolations.kt:75 */
19205  20034   
    #[allow(clippy::enum_variant_names)]
19206  20035   
    pub enum ConstraintViolation {
19207         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`.
19208         -
        /* RustType.kt:534 */
19209         -
        #[doc(hidden)]
19210         -
        /* ServerBuilderConstraintViolations.kt:165 */
19211         -
        HeaderStringSet(crate::model::string_set::ConstraintViolation),
19212         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`.
19213         -
        /* RustType.kt:534 */
19214         -
        #[doc(hidden)]
19215         -
        /* ServerBuilderConstraintViolations.kt:165 */
19216         -
        HeaderEnum(crate::model::foo_enum::ConstraintViolation),
19217         -
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`.
       20036  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`.
19218  20037   
        /* RustType.kt:534 */
19219  20038   
        #[doc(hidden)]
19220  20039   
        /* ServerBuilderConstraintViolations.kt:165 */
19221         -
        HeaderEnumList(crate::model::foo_enum_list::ConstraintViolation),
       20040  +
        Defaults(crate::model::defaults::ConstraintViolation),
19222  20041   
        /* ServerBuilderConstraintViolations.kt:75 */
19223  20042   
    }
19224  20043   
    /* ServerBuilderConstraintViolations.kt:116 */
19225  20044   
    impl ::std::fmt::Display for ConstraintViolation {
19226  20045   
        /* ServerBuilderConstraintViolations.kt:117 */
19227  20046   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19228  20047   
            /* ServerBuilderConstraintViolations.kt:118 */
19229  20048   
            match self {
19230         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderStringSet(_) => write!(f, "constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`"),
19231         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderEnum(_) => write!(f, "constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`"),
19232         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderEnumList(_) => write!(f, "constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`"),
       20049  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Defaults(_) => write!(f, "constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`"),
19233  20050   
            /* ServerBuilderConstraintViolations.kt:118 */}
19234  20051   
            /* ServerBuilderConstraintViolations.kt:117 */
19235  20052   
        }
19236  20053   
        /* ServerBuilderConstraintViolations.kt:116 */
19237  20054   
    }
19238  20055   
    /* ServerBuilderConstraintViolations.kt:83 */
19239  20056   
    impl ::std::error::Error for ConstraintViolation {}
19240  20057   
    /* ServerBuilderConstraintViolations.kt:172 */
19241  20058   
    impl ConstraintViolation {
19242  20059   
        pub(crate) fn as_validation_exception_field(
19243  20060   
            self,
19244  20061   
            path: ::std::string::String,
19245  20062   
        ) -> crate::model::ValidationExceptionField {
19246  20063   
            match self {
19247         -
                ConstraintViolation::HeaderStringSet(inner) => {
19248         -
                    inner.as_validation_exception_field(path + "/headerStringSet")
19249         -
                }
19250         -
                ConstraintViolation::HeaderEnum(inner) => {
19251         -
                    inner.as_validation_exception_field(path + "/headerEnum")
19252         -
                }
19253         -
                ConstraintViolation::HeaderEnumList(inner) => {
19254         -
                    inner.as_validation_exception_field(path + "/headerEnumList")
       20064  +
                ConstraintViolation::Defaults(inner) => {
       20065  +
                    inner.as_validation_exception_field(path + "/defaults")
19255  20066   
                }
19256  20067   
            }
19257  20068   
        }
19258  20069   
    }
19259  20070   
    /* ServerBuilderGenerator.kt:234 */
19260  20071   
    impl ::std::convert::From<ConstraintViolation>
19261  20072   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
19262  20073   
    {
19263  20074   
        fn from(constraint_violation: ConstraintViolation) -> Self {
19264  20075   
            let first_validation_exception_field =
19265  20076   
                constraint_violation.as_validation_exception_field("".to_owned());
19266  20077   
            let validation_exception = crate::error::ValidationException {
19267  20078   
                message: format!(
19268  20079   
                    "1 validation error detected. {}",
19269  20080   
                    &first_validation_exception_field.message
19270  20081   
                ),
19271  20082   
                field_list: Some(vec![first_validation_exception_field]),
19272  20083   
            };
19273  20084   
            Self::ConstraintViolation(
19274  20085   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
19275  20086   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
19276  20087   
                            )
19277  20088   
        }
19278  20089   
    }
19279  20090   
    /* ServerBuilderGenerator.kt:244 */
19280  20091   
    impl ::std::convert::From<Builder>
19281         -
        for crate::constrained::MaybeConstrained<crate::input::InputAndOutputWithHeadersInput>
       20092  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithDefaultsInput>
19282  20093   
    {
19283  20094   
        fn from(builder: Builder) -> Self {
19284  20095   
            Self::Unconstrained(builder)
19285  20096   
        }
19286  20097   
    }
19287  20098   
    /* ServerBuilderGenerator.kt:446 */
19288         -
    impl ::std::convert::TryFrom<Builder> for crate::input::InputAndOutputWithHeadersInput {
       20099  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithDefaultsInput {
19289  20100   
        type Error = ConstraintViolation;
19290  20101   
19291  20102   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
19292  20103   
            builder.build()
19293  20104   
        }
19294  20105   
    }
19295         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       20106  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
19296  20107   
    /* RustType.kt:534 */
19297  20108   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19298  20109   
    /* ServerBuilderGenerator.kt:211 */
19299  20110   
    pub struct Builder {
19300  20111   
        /* ServerBuilderGenerator.kt:308 */
19301         -
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
19302         -
        /* ServerBuilderGenerator.kt:308 */
19303         -
        pub(crate) header_byte: ::std::option::Option<i8>,
19304         -
        /* ServerBuilderGenerator.kt:308 */
19305         -
        pub(crate) header_short: ::std::option::Option<i16>,
19306         -
        /* ServerBuilderGenerator.kt:308 */
19307         -
        pub(crate) header_integer: ::std::option::Option<i32>,
19308         -
        /* ServerBuilderGenerator.kt:308 */
19309         -
        pub(crate) header_long: ::std::option::Option<i64>,
19310         -
        /* ServerBuilderGenerator.kt:308 */
19311         -
        pub(crate) header_float: ::std::option::Option<f32>,
19312         -
        /* ServerBuilderGenerator.kt:308 */
19313         -
        pub(crate) header_double: ::std::option::Option<f64>,
19314         -
        /* ServerBuilderGenerator.kt:308 */
19315         -
        pub(crate) header_true_bool: ::std::option::Option<bool>,
19316         -
        /* ServerBuilderGenerator.kt:308 */
19317         -
        pub(crate) header_false_bool: ::std::option::Option<bool>,
19318         -
        /* ServerBuilderGenerator.kt:308 */
19319         -
        pub(crate) header_string_list:
19320         -
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
19321         -
        /* ServerBuilderGenerator.kt:308 */
19322         -
        pub(crate) header_string_set:
19323         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
19324         -
        /* ServerBuilderGenerator.kt:308 */
19325         -
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
19326         -
        /* ServerBuilderGenerator.kt:308 */
19327         -
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
19328         -
        /* ServerBuilderGenerator.kt:308 */
19329         -
        pub(crate) header_timestamp_list:
19330         -
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
19331         -
        /* ServerBuilderGenerator.kt:308 */
19332         -
        pub(crate) header_enum:
19333         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       20112  +
        pub(crate) defaults:
       20113  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
19334  20114   
        /* ServerBuilderGenerator.kt:308 */
19335         -
        pub(crate) header_enum_list: ::std::option::Option<
19336         -
            crate::constrained::MaybeConstrained<
19337         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
19338         -
            >,
19339         -
        >,
       20115  +
        pub(crate) client_optional_defaults:
       20116  +
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
19340  20117   
        /* ServerBuilderGenerator.kt:308 */
19341         -
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
       20118  +
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
19342  20119   
        /* ServerBuilderGenerator.kt:308 */
19343         -
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       20120  +
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
19344  20121   
        /* ServerBuilderGenerator.kt:211 */
19345  20122   
    }
19346  20123   
    /* ServerBuilderGenerator.kt:215 */
19347  20124   
    impl Builder {
19348  20125   
        /* ServerBuilderGenerator.kt:331 */
19349  20126   
        #[allow(missing_docs)] // documentation missing in model
19350  20127   
                               /* ServerBuilderGenerator.kt:343 */
19351         -
        pub fn header_string(
19352         -
            mut self,
19353         -
            input: ::std::option::Option<::std::string::String>,
19354         -
        ) -> Self {
       20128  +
        pub fn defaults(mut self, input: ::std::option::Option<crate::model::Defaults>) -> Self {
19355  20129   
            /* ServerBuilderGenerator.kt:344 */
19356         -
            self.header_string =
19357         -
                /* ServerBuilderGenerator.kt:376 */input
       20130  +
            self.defaults =
       20131  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
19358  20132   
            /* ServerBuilderGenerator.kt:344 */;
19359  20133   
            self
19360  20134   
            /* ServerBuilderGenerator.kt:343 */
19361  20135   
        }
19362  20136   
        /* ServerBuilderGenerator.kt:426 */
19363  20137   
        #[allow(missing_docs)] // documentation missing in model
19364  20138   
                               /* ServerBuilderGenerator.kt:428 */
19365         -
        pub(crate) fn set_header_string(
       20139  +
        pub(crate) fn set_defaults(
19366  20140   
            mut self,
19367         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       20141  +
            input: Option<
       20142  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
       20143  +
            >,
19368  20144   
        ) -> Self {
19369  20145   
            /* ServerBuilderGenerator.kt:429 */
19370         -
            self.header_string = input.map(|v| v.into());
       20146  +
            self.defaults = input.map(|v| v.into());
19371  20147   
            self
19372  20148   
            /* ServerBuilderGenerator.kt:428 */
19373  20149   
        }
19374  20150   
        /* ServerBuilderGenerator.kt:331 */
19375  20151   
        #[allow(missing_docs)] // documentation missing in model
19376  20152   
                               /* ServerBuilderGenerator.kt:343 */
19377         -
        pub fn header_byte(mut self, input: ::std::option::Option<i8>) -> Self {
19378         -
            /* ServerBuilderGenerator.kt:344 */
19379         -
            self.header_byte =
19380         -
                /* ServerBuilderGenerator.kt:376 */input
19381         -
            /* ServerBuilderGenerator.kt:344 */;
19382         -
            self
19383         -
            /* ServerBuilderGenerator.kt:343 */
19384         -
        }
19385         -
        /* ServerBuilderGenerator.kt:426 */
19386         -
        #[allow(missing_docs)] // documentation missing in model
19387         -
                               /* ServerBuilderGenerator.kt:428 */
19388         -
        pub(crate) fn set_header_byte(
       20153  +
        pub fn client_optional_defaults(
19389  20154   
            mut self,
19390         -
            input: Option<impl ::std::convert::Into<i8>>,
       20155  +
            input: ::std::option::Option<crate::model::ClientOptionalDefaults>,
19391  20156   
        ) -> Self {
19392         -
            /* ServerBuilderGenerator.kt:429 */
19393         -
            self.header_byte = input.map(|v| v.into());
19394         -
            self
19395         -
            /* ServerBuilderGenerator.kt:428 */
19396         -
        }
19397         -
        /* ServerBuilderGenerator.kt:331 */
19398         -
        #[allow(missing_docs)] // documentation missing in model
19399         -
                               /* ServerBuilderGenerator.kt:343 */
19400         -
        pub fn header_short(mut self, input: ::std::option::Option<i16>) -> Self {
19401  20157   
            /* ServerBuilderGenerator.kt:344 */
19402         -
            self.header_short =
       20158  +
            self.client_optional_defaults =
19403  20159   
                /* ServerBuilderGenerator.kt:376 */input
19404  20160   
            /* ServerBuilderGenerator.kt:344 */;
19405  20161   
            self
19406  20162   
            /* ServerBuilderGenerator.kt:343 */
19407  20163   
        }
19408  20164   
        /* ServerBuilderGenerator.kt:426 */
19409  20165   
        #[allow(missing_docs)] // documentation missing in model
19410  20166   
                               /* ServerBuilderGenerator.kt:428 */
19411         -
        pub(crate) fn set_header_short(
       20167  +
        pub(crate) fn set_client_optional_defaults(
19412  20168   
            mut self,
19413         -
            input: Option<impl ::std::convert::Into<i16>>,
       20169  +
            input: Option<impl ::std::convert::Into<crate::model::ClientOptionalDefaults>>,
19414  20170   
        ) -> Self {
19415  20171   
            /* ServerBuilderGenerator.kt:429 */
19416         -
            self.header_short = input.map(|v| v.into());
       20172  +
            self.client_optional_defaults = input.map(|v| v.into());
19417  20173   
            self
19418  20174   
            /* ServerBuilderGenerator.kt:428 */
19419  20175   
        }
19420  20176   
        /* ServerBuilderGenerator.kt:331 */
19421  20177   
        #[allow(missing_docs)] // documentation missing in model
19422  20178   
                               /* ServerBuilderGenerator.kt:343 */
19423         -
        pub fn header_integer(mut self, input: ::std::option::Option<i32>) -> Self {
       20179  +
        pub fn top_level_default(mut self, input: ::std::string::String) -> Self {
19424  20180   
            /* ServerBuilderGenerator.kt:344 */
19425         -
            self.header_integer =
19426         -
                /* ServerBuilderGenerator.kt:376 */input
       20181  +
            self.top_level_default =
       20182  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20183  +
                    /* ServerBuilderGenerator.kt:376 */input
       20184  +
                /* ServerBuilderGenerator.kt:345 */)
19427  20185   
            /* ServerBuilderGenerator.kt:344 */;
19428  20186   
            self
19429  20187   
            /* ServerBuilderGenerator.kt:343 */
19430  20188   
        }
19431  20189   
        /* ServerBuilderGenerator.kt:426 */
19432  20190   
        #[allow(missing_docs)] // documentation missing in model
19433  20191   
                               /* ServerBuilderGenerator.kt:428 */
19434         -
        pub(crate) fn set_header_integer(
       20192  +
        pub(crate) fn set_top_level_default(
19435  20193   
            mut self,
19436         -
            input: Option<impl ::std::convert::Into<i32>>,
       20194  +
            input: impl ::std::convert::Into<::std::string::String>,
19437  20195   
        ) -> Self {
19438  20196   
            /* ServerBuilderGenerator.kt:429 */
19439         -
            self.header_integer = input.map(|v| v.into());
       20197  +
            self.top_level_default = Some(input.into());
19440  20198   
            self
19441  20199   
            /* ServerBuilderGenerator.kt:428 */
19442  20200   
        }
19443  20201   
        /* ServerBuilderGenerator.kt:331 */
19444  20202   
        #[allow(missing_docs)] // documentation missing in model
19445  20203   
                               /* ServerBuilderGenerator.kt:343 */
19446         -
        pub fn header_long(mut self, input: ::std::option::Option<i64>) -> Self {
       20204  +
        pub fn other_top_level_default(mut self, input: i32) -> Self {
19447  20205   
            /* ServerBuilderGenerator.kt:344 */
19448         -
            self.header_long =
19449         -
                /* ServerBuilderGenerator.kt:376 */input
       20206  +
            self.other_top_level_default =
       20207  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20208  +
                    /* ServerBuilderGenerator.kt:376 */input
       20209  +
                /* ServerBuilderGenerator.kt:345 */)
19450  20210   
            /* ServerBuilderGenerator.kt:344 */;
19451  20211   
            self
19452  20212   
            /* ServerBuilderGenerator.kt:343 */
19453  20213   
        }
19454  20214   
        /* ServerBuilderGenerator.kt:426 */
19455  20215   
        #[allow(missing_docs)] // documentation missing in model
19456  20216   
                               /* ServerBuilderGenerator.kt:428 */
19457         -
        pub(crate) fn set_header_long(
       20217  +
        pub(crate) fn set_other_top_level_default(
19458  20218   
            mut self,
19459         -
            input: Option<impl ::std::convert::Into<i64>>,
       20219  +
            input: impl ::std::convert::Into<i32>,
19460  20220   
        ) -> Self {
19461  20221   
            /* ServerBuilderGenerator.kt:429 */
19462         -
            self.header_long = input.map(|v| v.into());
       20222  +
            self.other_top_level_default = Some(input.into());
19463  20223   
            self
19464  20224   
            /* ServerBuilderGenerator.kt:428 */
19465  20225   
        }
19466         -
        /* ServerBuilderGenerator.kt:331 */
19467         -
        #[allow(missing_docs)] // documentation missing in model
19468         -
                               /* ServerBuilderGenerator.kt:343 */
19469         -
        pub fn header_float(mut self, input: ::std::option::Option<f32>) -> Self {
19470         -
            /* ServerBuilderGenerator.kt:344 */
19471         -
            self.header_float =
19472         -
                /* ServerBuilderGenerator.kt:376 */input
19473         -
            /* ServerBuilderGenerator.kt:344 */;
19474         -
            self
19475         -
            /* ServerBuilderGenerator.kt:343 */
       20226  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
       20227  +
        /// /* ServerBuilderGenerator.kt:260 */
       20228  +
        /// The builder fails to construct a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) if a [`ConstraintViolation`] occurs.
       20229  +
        ///
       20230  +
        /* ServerBuilderGenerator.kt:271 */
       20231  +
        pub fn build(
       20232  +
            self,
       20233  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
       20234  +
            self.build_enforcing_all_constraints()
       20235  +
        }
       20236  +
        /* ServerBuilderGenerator.kt:283 */
       20237  +
        fn build_enforcing_all_constraints(
       20238  +
            self,
       20239  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
       20240  +
            /* ServerBuilderGenerator.kt:287 */
       20241  +
            Ok(
       20242  +
                /* ServerBuilderGenerator.kt:542 */
       20243  +
                crate::input::OperationWithDefaultsInput {
       20244  +
                    /* ServerBuilderGenerator.kt:546 */
       20245  +
                    defaults: self
       20246  +
                        .defaults
       20247  +
                        /* ServerBuilderGenerator.kt:602 */
       20248  +
                        .map(|v| match v {
       20249  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       20250  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       20251  +
                        })
       20252  +
                        /* ServerBuilderGenerator.kt:614 */
       20253  +
                        .map(|res| res.map_err(ConstraintViolation::Defaults))
       20254  +
                        .transpose()?,
       20255  +
                    /* ServerBuilderGenerator.kt:546 */
       20256  +
                    client_optional_defaults: self.client_optional_defaults,
       20257  +
                    /* ServerBuilderGenerator.kt:546 */
       20258  +
                    top_level_default: self
       20259  +
                        .top_level_default
       20260  +
                        /* ServerBuilderGeneratorCommon.kt:129 */
       20261  +
                        .unwrap_or_else(|| String::from("hi")),
       20262  +
                    /* ServerBuilderGenerator.kt:546 */
       20263  +
                    other_top_level_default: self
       20264  +
                        .other_top_level_default
       20265  +
                        /* ServerBuilderGeneratorCommon.kt:125 */
       20266  +
                        .unwrap_or(0i32),
       20267  +
                    /* ServerBuilderGenerator.kt:542 */
       20268  +
                }, /* ServerBuilderGenerator.kt:287 */
       20269  +
            )
       20270  +
            /* ServerBuilderGenerator.kt:283 */
       20271  +
        }
       20272  +
        /* ServerBuilderGenerator.kt:215 */
       20273  +
    }
       20274  +
       20275  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       20276  +
}
       20277  +
/// /* ServerBuilderGenerator.kt:171 */See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       20278  +
pub mod operation_with_nested_structure_input {
       20279  +
       20280  +
    /* RustType.kt:534 */
       20281  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       20282  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       20283  +
    /* RustType.kt:534 */
       20284  +
    #[non_exhaustive]
       20285  +
    /* ServerBuilderConstraintViolations.kt:75 */
       20286  +
    #[allow(clippy::enum_variant_names)]
       20287  +
    pub enum ConstraintViolation {
       20288  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
       20289  +
        /* ServerBuilderConstraintViolations.kt:144 */
       20290  +
        MissingTopLevel,
       20291  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`.
       20292  +
        /* RustType.kt:534 */
       20293  +
        #[doc(hidden)]
       20294  +
        /* ServerBuilderConstraintViolations.kt:165 */
       20295  +
        TopLevel(crate::model::top_level::ConstraintViolation),
       20296  +
        /* ServerBuilderConstraintViolations.kt:75 */
       20297  +
    }
       20298  +
    /* ServerBuilderConstraintViolations.kt:116 */
       20299  +
    impl ::std::fmt::Display for ConstraintViolation {
       20300  +
        /* ServerBuilderConstraintViolations.kt:117 */
       20301  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       20302  +
            /* ServerBuilderConstraintViolations.kt:118 */
       20303  +
            match self {
       20304  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
       20305  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::TopLevel(_) => write!(f, "constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`"),
       20306  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       20307  +
            /* ServerBuilderConstraintViolations.kt:117 */
       20308  +
        }
       20309  +
        /* ServerBuilderConstraintViolations.kt:116 */
       20310  +
    }
       20311  +
    /* ServerBuilderConstraintViolations.kt:83 */
       20312  +
    impl ::std::error::Error for ConstraintViolation {}
       20313  +
    /* ServerBuilderConstraintViolations.kt:172 */
       20314  +
    impl ConstraintViolation {
       20315  +
        pub(crate) fn as_validation_exception_field(
       20316  +
            self,
       20317  +
            path: ::std::string::String,
       20318  +
        ) -> crate::model::ValidationExceptionField {
       20319  +
            match self {
       20320  +
            ConstraintViolation::MissingTopLevel => crate::model::ValidationExceptionField {
       20321  +
                                                message: format!("Value at '{}/topLevel' failed to satisfy constraint: Member must not be null", path),
       20322  +
                                                path: path + "/topLevel",
       20323  +
                                            },
       20324  +
            ConstraintViolation::TopLevel(inner) => inner.as_validation_exception_field(path + "/topLevel"),
       20325  +
        }
       20326  +
        }
       20327  +
    }
       20328  +
    /* ServerBuilderGenerator.kt:234 */
       20329  +
    impl ::std::convert::From<ConstraintViolation>
       20330  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       20331  +
    {
       20332  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       20333  +
            let first_validation_exception_field =
       20334  +
                constraint_violation.as_validation_exception_field("".to_owned());
       20335  +
            let validation_exception = crate::error::ValidationException {
       20336  +
                message: format!(
       20337  +
                    "1 validation error detected. {}",
       20338  +
                    &first_validation_exception_field.message
       20339  +
                ),
       20340  +
                field_list: Some(vec![first_validation_exception_field]),
       20341  +
            };
       20342  +
            Self::ConstraintViolation(
       20343  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       20344  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       20345  +
                            )
19476  20346   
        }
19477         -
        /* ServerBuilderGenerator.kt:426 */
19478         -
        #[allow(missing_docs)] // documentation missing in model
19479         -
                               /* ServerBuilderGenerator.kt:428 */
19480         -
        pub(crate) fn set_header_float(
19481         -
            mut self,
19482         -
            input: Option<impl ::std::convert::Into<f32>>,
19483         -
        ) -> Self {
19484         -
            /* ServerBuilderGenerator.kt:429 */
19485         -
            self.header_float = input.map(|v| v.into());
19486         -
            self
19487         -
            /* ServerBuilderGenerator.kt:428 */
       20347  +
    }
       20348  +
    /* ServerBuilderGenerator.kt:244 */
       20349  +
    impl ::std::convert::From<Builder>
       20350  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithNestedStructureInput>
       20351  +
    {
       20352  +
        fn from(builder: Builder) -> Self {
       20353  +
            Self::Unconstrained(builder)
       20354  +
        }
       20355  +
    }
       20356  +
    /* ServerBuilderGenerator.kt:446 */
       20357  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
       20358  +
        type Error = ConstraintViolation;
       20359  +
       20360  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20361  +
            builder.build()
19488  20362   
        }
       20363  +
    }
       20364  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       20365  +
    /* RustType.kt:534 */
       20366  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20367  +
    /* ServerBuilderGenerator.kt:211 */
       20368  +
    pub struct Builder {
       20369  +
        /* ServerBuilderGenerator.kt:308 */
       20370  +
        pub(crate) top_level:
       20371  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::TopLevel>>,
       20372  +
        /* ServerBuilderGenerator.kt:211 */
       20373  +
    }
       20374  +
    /* ServerBuilderGenerator.kt:215 */
       20375  +
    impl Builder {
19489  20376   
        /* ServerBuilderGenerator.kt:331 */
19490  20377   
        #[allow(missing_docs)] // documentation missing in model
19491  20378   
                               /* ServerBuilderGenerator.kt:343 */
19492         -
        pub fn header_double(mut self, input: ::std::option::Option<f64>) -> Self {
       20379  +
        pub fn top_level(mut self, input: crate::model::TopLevel) -> Self {
19493  20380   
            /* ServerBuilderGenerator.kt:344 */
19494         -
            self.header_double =
19495         -
                /* ServerBuilderGenerator.kt:376 */input
       20381  +
            self.top_level =
       20382  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20383  +
                    /* ServerBuilderGenerator.kt:372 */crate::constrained::MaybeConstrained::Constrained(input)
       20384  +
                /* ServerBuilderGenerator.kt:345 */)
19496  20385   
            /* ServerBuilderGenerator.kt:344 */;
19497  20386   
            self
19498  20387   
            /* ServerBuilderGenerator.kt:343 */
19499  20388   
        }
19500  20389   
        /* ServerBuilderGenerator.kt:426 */
19501  20390   
        #[allow(missing_docs)] // documentation missing in model
19502  20391   
                               /* ServerBuilderGenerator.kt:428 */
19503         -
        pub(crate) fn set_header_double(
       20392  +
        pub(crate) fn set_top_level(
19504  20393   
            mut self,
19505         -
            input: Option<impl ::std::convert::Into<f64>>,
       20394  +
            input: impl ::std::convert::Into<
       20395  +
                crate::constrained::MaybeConstrained<crate::model::TopLevel>,
       20396  +
            >,
19506  20397   
        ) -> Self {
19507  20398   
            /* ServerBuilderGenerator.kt:429 */
19508         -
            self.header_double = input.map(|v| v.into());
       20399  +
            self.top_level = Some(input.into());
19509  20400   
            self
19510  20401   
            /* ServerBuilderGenerator.kt:428 */
19511  20402   
        }
19512         -
        /* ServerBuilderGenerator.kt:331 */
19513         -
        #[allow(missing_docs)] // documentation missing in model
19514         -
                               /* ServerBuilderGenerator.kt:343 */
19515         -
        pub fn header_true_bool(mut self, input: ::std::option::Option<bool>) -> Self {
19516         -
            /* ServerBuilderGenerator.kt:344 */
19517         -
            self.header_true_bool =
19518         -
                /* ServerBuilderGenerator.kt:376 */input
19519         -
            /* ServerBuilderGenerator.kt:344 */;
19520         -
            self
19521         -
            /* ServerBuilderGenerator.kt:343 */
       20403  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       20404  +
        /// /* ServerBuilderGenerator.kt:260 */
       20405  +
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if a [`ConstraintViolation`] occurs.
       20406  +
        ///
       20407  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       20408  +
        /* ServerBuilderGenerator.kt:271 */
       20409  +
        pub fn build(
       20410  +
            self,
       20411  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
       20412  +
            self.build_enforcing_all_constraints()
19522  20413   
        }
19523         -
        /* ServerBuilderGenerator.kt:426 */
19524         -
        #[allow(missing_docs)] // documentation missing in model
19525         -
                               /* ServerBuilderGenerator.kt:428 */
19526         -
        pub(crate) fn set_header_true_bool(
19527         -
            mut self,
19528         -
            input: Option<impl ::std::convert::Into<bool>>,
19529         -
        ) -> Self {
19530         -
            /* ServerBuilderGenerator.kt:429 */
19531         -
            self.header_true_bool = input.map(|v| v.into());
19532         -
            self
19533         -
            /* ServerBuilderGenerator.kt:428 */
       20414  +
        /* ServerBuilderGenerator.kt:283 */
       20415  +
        fn build_enforcing_all_constraints(
       20416  +
            self,
       20417  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
       20418  +
            /* ServerBuilderGenerator.kt:287 */
       20419  +
            Ok(
       20420  +
                /* ServerBuilderGenerator.kt:542 */
       20421  +
                crate::input::OperationWithNestedStructureInput {
       20422  +
                    /* ServerBuilderGenerator.kt:546 */
       20423  +
                    top_level: self
       20424  +
                        .top_level
       20425  +
                        /* ServerBuilderGenerator.kt:602 */
       20426  +
                        .map(|v| match v {
       20427  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       20428  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       20429  +
                        })
       20430  +
                        /* ServerBuilderGenerator.kt:614 */
       20431  +
                        .map(|res| res.map_err(ConstraintViolation::TopLevel))
       20432  +
                        .transpose()?
       20433  +
                        /* ServerBuilderGenerator.kt:569 */
       20434  +
                        .ok_or(ConstraintViolation::MissingTopLevel)?,
       20435  +
                    /* ServerBuilderGenerator.kt:542 */
       20436  +
                }, /* ServerBuilderGenerator.kt:287 */
       20437  +
            )
       20438  +
            /* ServerBuilderGenerator.kt:283 */
19534  20439   
        }
19535         -
        /* ServerBuilderGenerator.kt:331 */
19536         -
        #[allow(missing_docs)] // documentation missing in model
19537         -
                               /* ServerBuilderGenerator.kt:343 */
19538         -
        pub fn header_false_bool(mut self, input: ::std::option::Option<bool>) -> Self {
19539         -
            /* ServerBuilderGenerator.kt:344 */
19540         -
            self.header_false_bool =
19541         -
                /* ServerBuilderGenerator.kt:376 */input
19542         -
            /* ServerBuilderGenerator.kt:344 */;
19543         -
            self
19544         -
            /* ServerBuilderGenerator.kt:343 */
       20440  +
        /* ServerBuilderGenerator.kt:215 */
       20441  +
    }
       20442  +
       20443  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       20444  +
}
       20445  +
/// /* ServerBuilderGenerator.kt:171 */See [`InputStreamInput`](crate::input::InputStreamInput).
       20446  +
pub mod input_stream_input {
       20447  +
       20448  +
    /* RustType.kt:534 */
       20449  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       20450  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       20451  +
    /* RustType.kt:534 */
       20452  +
    #[non_exhaustive]
       20453  +
    /* ServerBuilderConstraintViolations.kt:75 */
       20454  +
    #[allow(clippy::enum_variant_names)]
       20455  +
    pub enum ConstraintViolation {
       20456  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`stream` was not provided but it is required when building `InputStreamInput`.
       20457  +
        /* ServerBuilderConstraintViolations.kt:144 */
       20458  +
        MissingStream,
       20459  +
        /* ServerBuilderConstraintViolations.kt:75 */
       20460  +
    }
       20461  +
    /* ServerBuilderConstraintViolations.kt:116 */
       20462  +
    impl ::std::fmt::Display for ConstraintViolation {
       20463  +
        /* ServerBuilderConstraintViolations.kt:117 */
       20464  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       20465  +
            /* ServerBuilderConstraintViolations.kt:118 */
       20466  +
            match self {
       20467  +
                /* ServerBuilderConstraintViolations.kt:126 */
       20468  +
                ConstraintViolation::MissingStream => write!(
       20469  +
                    f,
       20470  +
                    "`stream` was not provided but it is required when building `InputStreamInput`"
       20471  +
                ),
       20472  +
                /* ServerBuilderConstraintViolations.kt:118 */
       20473  +
            }
       20474  +
            /* ServerBuilderConstraintViolations.kt:117 */
19545  20475   
        }
19546         -
        /* ServerBuilderGenerator.kt:426 */
19547         -
        #[allow(missing_docs)] // documentation missing in model
19548         -
                               /* ServerBuilderGenerator.kt:428 */
19549         -
        pub(crate) fn set_header_false_bool(
19550         -
            mut self,
19551         -
            input: Option<impl ::std::convert::Into<bool>>,
19552         -
        ) -> Self {
19553         -
            /* ServerBuilderGenerator.kt:429 */
19554         -
            self.header_false_bool = input.map(|v| v.into());
19555         -
            self
19556         -
            /* ServerBuilderGenerator.kt:428 */
       20476  +
        /* ServerBuilderConstraintViolations.kt:116 */
       20477  +
    }
       20478  +
    /* ServerBuilderConstraintViolations.kt:83 */
       20479  +
    impl ::std::error::Error for ConstraintViolation {}
       20480  +
    /* ServerBuilderConstraintViolations.kt:172 */
       20481  +
    impl ConstraintViolation {
       20482  +
        pub(crate) fn as_validation_exception_field(
       20483  +
            self,
       20484  +
            path: ::std::string::String,
       20485  +
        ) -> crate::model::ValidationExceptionField {
       20486  +
            match self {
       20487  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       20488  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       20489  +
                                                path: path + "/stream",
       20490  +
                                            },
19557  20491   
        }
19558         -
        /* ServerBuilderGenerator.kt:331 */
19559         -
        #[allow(missing_docs)] // documentation missing in model
19560         -
                               /* ServerBuilderGenerator.kt:343 */
19561         -
        pub fn header_string_list(
19562         -
            mut self,
19563         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
19564         -
        ) -> Self {
19565         -
            /* ServerBuilderGenerator.kt:344 */
19566         -
            self.header_string_list =
19567         -
                /* ServerBuilderGenerator.kt:376 */input
19568         -
            /* ServerBuilderGenerator.kt:344 */;
19569         -
            self
19570         -
            /* ServerBuilderGenerator.kt:343 */
19571  20492   
        }
19572         -
        /* ServerBuilderGenerator.kt:426 */
19573         -
        #[allow(missing_docs)] // documentation missing in model
19574         -
                               /* ServerBuilderGenerator.kt:428 */
19575         -
        pub(crate) fn set_header_string_list(
19576         -
            mut self,
19577         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
19578         -
        ) -> Self {
19579         -
            /* ServerBuilderGenerator.kt:429 */
19580         -
            self.header_string_list = input.map(|v| v.into());
19581         -
            self
19582         -
            /* ServerBuilderGenerator.kt:428 */
       20493  +
    }
       20494  +
    /* ServerBuilderGenerator.kt:234 */
       20495  +
    impl ::std::convert::From<ConstraintViolation>
       20496  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       20497  +
    {
       20498  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       20499  +
            let first_validation_exception_field =
       20500  +
                constraint_violation.as_validation_exception_field("".to_owned());
       20501  +
            let validation_exception = crate::error::ValidationException {
       20502  +
                message: format!(
       20503  +
                    "1 validation error detected. {}",
       20504  +
                    &first_validation_exception_field.message
       20505  +
                ),
       20506  +
                field_list: Some(vec![first_validation_exception_field]),
       20507  +
            };
       20508  +
            Self::ConstraintViolation(
       20509  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       20510  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       20511  +
                            )
19583  20512   
        }
19584         -
        /* ServerBuilderGenerator.kt:331 */
19585         -
        #[allow(missing_docs)] // documentation missing in model
19586         -
                               /* ServerBuilderGenerator.kt:343 */
19587         -
        pub fn header_string_set(
19588         -
            mut self,
19589         -
            input: ::std::option::Option<crate::model::StringSet>,
19590         -
        ) -> Self {
19591         -
            /* ServerBuilderGenerator.kt:344 */
19592         -
            self.header_string_set =
19593         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
19594         -
            /* ServerBuilderGenerator.kt:344 */;
19595         -
            self
19596         -
            /* ServerBuilderGenerator.kt:343 */
       20513  +
    }
       20514  +
    /* ServerBuilderGenerator.kt:244 */
       20515  +
    impl ::std::convert::From<Builder>
       20516  +
        for crate::constrained::MaybeConstrained<crate::input::InputStreamInput>
       20517  +
    {
       20518  +
        fn from(builder: Builder) -> Self {
       20519  +
            Self::Unconstrained(builder)
19597  20520   
        }
19598         -
        /* ServerBuilderGenerator.kt:426 */
19599         -
        #[allow(missing_docs)] // documentation missing in model
19600         -
                               /* ServerBuilderGenerator.kt:428 */
19601         -
        pub(crate) fn set_header_string_set(
19602         -
            mut self,
19603         -
            input: Option<
19604         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
19605         -
            >,
19606         -
        ) -> Self {
19607         -
            /* ServerBuilderGenerator.kt:429 */
19608         -
            self.header_string_set = input.map(|v| v.into());
19609         -
            self
19610         -
            /* ServerBuilderGenerator.kt:428 */
       20521  +
    }
       20522  +
    /* ServerBuilderGenerator.kt:446 */
       20523  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputStreamInput {
       20524  +
        type Error = ConstraintViolation;
       20525  +
       20526  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20527  +
            builder.build()
19611  20528   
        }
       20529  +
    }
       20530  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`InputStreamInput`](crate::input::InputStreamInput).
       20531  +
    /* RustType.kt:534 */
       20532  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       20533  +
    /* ServerBuilderGenerator.kt:211 */
       20534  +
    pub struct Builder {
       20535  +
        /* ServerBuilderGenerator.kt:308 */
       20536  +
        pub(crate) stream: ::std::option::Option<
       20537  +
            crate::sigv4_event_stream::SigV4Receiver<
       20538  +
                crate::model::EventStream,
       20539  +
                crate::error::EventStreamError,
       20540  +
            >,
       20541  +
        >,
       20542  +
        /* ServerBuilderGenerator.kt:211 */
       20543  +
    }
       20544  +
    /* ServerBuilderGenerator.kt:215 */
       20545  +
    impl Builder {
19612  20546   
        /* ServerBuilderGenerator.kt:331 */
19613  20547   
        #[allow(missing_docs)] // documentation missing in model
19614  20548   
                               /* ServerBuilderGenerator.kt:343 */
19615         -
        pub fn header_integer_list(
       20549  +
        pub fn stream(
19616  20550   
            mut self,
19617         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       20551  +
            input: crate::sigv4_event_stream::SigV4Receiver<
       20552  +
                crate::model::EventStream,
       20553  +
                crate::error::EventStreamError,
       20554  +
            >,
19618  20555   
        ) -> Self {
19619  20556   
            /* ServerBuilderGenerator.kt:344 */
19620         -
            self.header_integer_list =
19621         -
                /* ServerBuilderGenerator.kt:376 */input
       20557  +
            self.stream =
       20558  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20559  +
                    /* ServerBuilderGenerator.kt:376 */input
       20560  +
                /* ServerBuilderGenerator.kt:345 */)
19622  20561   
            /* ServerBuilderGenerator.kt:344 */;
19623  20562   
            self
19624  20563   
            /* ServerBuilderGenerator.kt:343 */
19625  20564   
        }
19626  20565   
        /* ServerBuilderGenerator.kt:426 */
19627  20566   
        #[allow(missing_docs)] // documentation missing in model
19628  20567   
                               /* ServerBuilderGenerator.kt:428 */
19629         -
        pub(crate) fn set_header_integer_list(
       20568  +
        pub(crate) fn set_stream(
19630  20569   
            mut self,
19631         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       20570  +
            input: impl ::std::convert::Into<
       20571  +
                crate::sigv4_event_stream::SigV4Receiver<
       20572  +
                    crate::model::EventStream,
       20573  +
                    crate::error::EventStreamError,
       20574  +
                >,
       20575  +
            >,
19632  20576   
        ) -> Self {
19633  20577   
            /* ServerBuilderGenerator.kt:429 */
19634         -
            self.header_integer_list = input.map(|v| v.into());
       20578  +
            self.stream = Some(input.into());
19635  20579   
            self
19636  20580   
            /* ServerBuilderGenerator.kt:428 */
19637  20581   
        }
19638         -
        /* ServerBuilderGenerator.kt:331 */
19639         -
        #[allow(missing_docs)] // documentation missing in model
19640         -
                               /* ServerBuilderGenerator.kt:343 */
19641         -
        pub fn header_boolean_list(
19642         -
            mut self,
19643         -
            input: ::std::option::Option<::std::vec::Vec<bool>>,
19644         -
        ) -> Self {
19645         -
            /* ServerBuilderGenerator.kt:344 */
19646         -
            self.header_boolean_list =
19647         -
                /* ServerBuilderGenerator.kt:376 */input
19648         -
            /* ServerBuilderGenerator.kt:344 */;
19649         -
            self
19650         -
            /* ServerBuilderGenerator.kt:343 */
       20582  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`InputStreamInput`](crate::input::InputStreamInput).
       20583  +
        /// /* ServerBuilderGenerator.kt:260 */
       20584  +
        /// The builder fails to construct a [`InputStreamInput`](crate::input::InputStreamInput) if a [`ConstraintViolation`] occurs.
       20585  +
        ///
       20586  +
        /* ServerBuilderGenerator.kt:271 */
       20587  +
        pub fn build(self) -> Result<crate::input::InputStreamInput, ConstraintViolation> {
       20588  +
            self.build_enforcing_all_constraints()
19651  20589   
        }
19652         -
        /* ServerBuilderGenerator.kt:426 */
19653         -
        #[allow(missing_docs)] // documentation missing in model
19654         -
                               /* ServerBuilderGenerator.kt:428 */
19655         -
        pub(crate) fn set_header_boolean_list(
19656         -
            mut self,
19657         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
19658         -
        ) -> Self {
19659         -
            /* ServerBuilderGenerator.kt:429 */
19660         -
            self.header_boolean_list = input.map(|v| v.into());
19661         -
            self
19662         -
            /* ServerBuilderGenerator.kt:428 */
       20590  +
        /* ServerBuilderGenerator.kt:283 */
       20591  +
        fn build_enforcing_all_constraints(
       20592  +
            self,
       20593  +
        ) -> Result<crate::input::InputStreamInput, ConstraintViolation> {
       20594  +
            /* ServerBuilderGenerator.kt:287 */
       20595  +
            Ok(
       20596  +
                /* ServerBuilderGenerator.kt:542 */
       20597  +
                crate::input::InputStreamInput {
       20598  +
                    /* ServerBuilderGenerator.kt:546 */
       20599  +
                    stream: self
       20600  +
                        .stream
       20601  +
                        /* ServerBuilderGenerator.kt:569 */
       20602  +
                        .ok_or(ConstraintViolation::MissingStream)?,
       20603  +
                    /* ServerBuilderGenerator.kt:542 */
       20604  +
                }, /* ServerBuilderGenerator.kt:287 */
       20605  +
            )
       20606  +
            /* ServerBuilderGenerator.kt:283 */
       20607  +
        }
       20608  +
        /* ServerBuilderGenerator.kt:215 */
       20609  +
    }
       20610  +
       20611  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       20612  +
}
       20613  +
/// /* ServerBuilderGenerator.kt:171 */See [`OutputStreamInput`](crate::input::OutputStreamInput).
       20614  +
pub mod output_stream_input {
       20615  +
       20616  +
    /* ServerBuilderGenerator.kt:461 */
       20617  +
    impl ::std::convert::From<Builder> for crate::input::OutputStreamInput {
       20618  +
        fn from(builder: Builder) -> Self {
       20619  +
            builder.build()
       20620  +
        }
       20621  +
    }
       20622  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OutputStreamInput`](crate::input::OutputStreamInput).
       20623  +
    /* RustType.kt:534 */
       20624  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20625  +
    /* ServerBuilderGenerator.kt:211 */
       20626  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       20627  +
    /* ServerBuilderGenerator.kt:215 */
       20628  +
    impl Builder {
       20629  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OutputStreamInput`](crate::input::OutputStreamInput).
       20630  +
        /* ServerBuilderGenerator.kt:271 */
       20631  +
        pub fn build(self) -> crate::input::OutputStreamInput {
       20632  +
            self.build_enforcing_all_constraints()
       20633  +
        }
       20634  +
        /* ServerBuilderGenerator.kt:283 */
       20635  +
        fn build_enforcing_all_constraints(self) -> crate::input::OutputStreamInput {
       20636  +
            /* ServerBuilderGenerator.kt:542 */
       20637  +
            crate::input::OutputStreamInput {
       20638  +
            /* ServerBuilderGenerator.kt:542 */}
       20639  +
            /* ServerBuilderGenerator.kt:283 */
       20640  +
        }
       20641  +
        /* ServerBuilderGenerator.kt:215 */
       20642  +
    }
       20643  +
       20644  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       20645  +
}
       20646  +
/// /* ServerBuilderGenerator.kt:171 */See [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       20647  +
pub mod duplex_stream_input {
       20648  +
       20649  +
    /* RustType.kt:534 */
       20650  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       20651  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       20652  +
    /* RustType.kt:534 */
       20653  +
    #[non_exhaustive]
       20654  +
    /* ServerBuilderConstraintViolations.kt:75 */
       20655  +
    #[allow(clippy::enum_variant_names)]
       20656  +
    pub enum ConstraintViolation {
       20657  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`stream` was not provided but it is required when building `DuplexStreamInput`.
       20658  +
        /* ServerBuilderConstraintViolations.kt:144 */
       20659  +
        MissingStream,
       20660  +
        /* ServerBuilderConstraintViolations.kt:75 */
       20661  +
    }
       20662  +
    /* ServerBuilderConstraintViolations.kt:116 */
       20663  +
    impl ::std::fmt::Display for ConstraintViolation {
       20664  +
        /* ServerBuilderConstraintViolations.kt:117 */
       20665  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       20666  +
            /* ServerBuilderConstraintViolations.kt:118 */
       20667  +
            match self {
       20668  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamInput`"),
       20669  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       20670  +
            /* ServerBuilderConstraintViolations.kt:117 */
       20671  +
        }
       20672  +
        /* ServerBuilderConstraintViolations.kt:116 */
       20673  +
    }
       20674  +
    /* ServerBuilderConstraintViolations.kt:83 */
       20675  +
    impl ::std::error::Error for ConstraintViolation {}
       20676  +
    /* ServerBuilderConstraintViolations.kt:172 */
       20677  +
    impl ConstraintViolation {
       20678  +
        pub(crate) fn as_validation_exception_field(
       20679  +
            self,
       20680  +
            path: ::std::string::String,
       20681  +
        ) -> crate::model::ValidationExceptionField {
       20682  +
            match self {
       20683  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       20684  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       20685  +
                                                path: path + "/stream",
       20686  +
                                            },
       20687  +
        }
       20688  +
        }
       20689  +
    }
       20690  +
    /* ServerBuilderGenerator.kt:234 */
       20691  +
    impl ::std::convert::From<ConstraintViolation>
       20692  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       20693  +
    {
       20694  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       20695  +
            let first_validation_exception_field =
       20696  +
                constraint_violation.as_validation_exception_field("".to_owned());
       20697  +
            let validation_exception = crate::error::ValidationException {
       20698  +
                message: format!(
       20699  +
                    "1 validation error detected. {}",
       20700  +
                    &first_validation_exception_field.message
       20701  +
                ),
       20702  +
                field_list: Some(vec![first_validation_exception_field]),
       20703  +
            };
       20704  +
            Self::ConstraintViolation(
       20705  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       20706  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       20707  +
                            )
       20708  +
        }
       20709  +
    }
       20710  +
    /* ServerBuilderGenerator.kt:244 */
       20711  +
    impl ::std::convert::From<Builder>
       20712  +
        for crate::constrained::MaybeConstrained<crate::input::DuplexStreamInput>
       20713  +
    {
       20714  +
        fn from(builder: Builder) -> Self {
       20715  +
            Self::Unconstrained(builder)
       20716  +
        }
       20717  +
    }
       20718  +
    /* ServerBuilderGenerator.kt:446 */
       20719  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamInput {
       20720  +
        type Error = ConstraintViolation;
       20721  +
       20722  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20723  +
            builder.build()
19663  20724   
        }
       20725  +
    }
       20726  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       20727  +
    /* RustType.kt:534 */
       20728  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       20729  +
    /* ServerBuilderGenerator.kt:211 */
       20730  +
    pub struct Builder {
       20731  +
        /* ServerBuilderGenerator.kt:308 */
       20732  +
        pub(crate) stream: ::std::option::Option<
       20733  +
            crate::sigv4_event_stream::SigV4Receiver<
       20734  +
                crate::model::EventStream,
       20735  +
                crate::error::EventStreamError,
       20736  +
            >,
       20737  +
        >,
       20738  +
        /* ServerBuilderGenerator.kt:211 */
       20739  +
    }
       20740  +
    /* ServerBuilderGenerator.kt:215 */
       20741  +
    impl Builder {
19664  20742   
        /* ServerBuilderGenerator.kt:331 */
19665  20743   
        #[allow(missing_docs)] // documentation missing in model
19666  20744   
                               /* ServerBuilderGenerator.kt:343 */
19667         -
        pub fn header_timestamp_list(
       20745  +
        pub fn stream(
19668  20746   
            mut self,
19669         -
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       20747  +
            input: crate::sigv4_event_stream::SigV4Receiver<
       20748  +
                crate::model::EventStream,
       20749  +
                crate::error::EventStreamError,
       20750  +
            >,
19670  20751   
        ) -> Self {
19671  20752   
            /* ServerBuilderGenerator.kt:344 */
19672         -
            self.header_timestamp_list =
19673         -
                /* ServerBuilderGenerator.kt:376 */input
       20753  +
            self.stream =
       20754  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20755  +
                    /* ServerBuilderGenerator.kt:376 */input
       20756  +
                /* ServerBuilderGenerator.kt:345 */)
19674  20757   
            /* ServerBuilderGenerator.kt:344 */;
19675  20758   
            self
19676  20759   
            /* ServerBuilderGenerator.kt:343 */
19677  20760   
        }
19678  20761   
        /* ServerBuilderGenerator.kt:426 */
19679  20762   
        #[allow(missing_docs)] // documentation missing in model
19680  20763   
                               /* ServerBuilderGenerator.kt:428 */
19681         -
        pub(crate) fn set_header_timestamp_list(
       20764  +
        pub(crate) fn set_stream(
19682  20765   
            mut self,
19683         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
       20766  +
            input: impl ::std::convert::Into<
       20767  +
                crate::sigv4_event_stream::SigV4Receiver<
       20768  +
                    crate::model::EventStream,
       20769  +
                    crate::error::EventStreamError,
       20770  +
                >,
       20771  +
            >,
19684  20772   
        ) -> Self {
19685  20773   
            /* ServerBuilderGenerator.kt:429 */
19686         -
            self.header_timestamp_list = input.map(|v| v.into());
       20774  +
            self.stream = Some(input.into());
19687  20775   
            self
19688  20776   
            /* ServerBuilderGenerator.kt:428 */
19689  20777   
        }
19690         -
        /* ServerBuilderGenerator.kt:331 */
19691         -
        #[allow(missing_docs)] // documentation missing in model
19692         -
                               /* ServerBuilderGenerator.kt:343 */
19693         -
        pub fn header_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
19694         -
            /* ServerBuilderGenerator.kt:344 */
19695         -
            self.header_enum =
19696         -
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
19697         -
            /* ServerBuilderGenerator.kt:344 */;
19698         -
            self
19699         -
            /* ServerBuilderGenerator.kt:343 */
       20778  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       20779  +
        /// /* ServerBuilderGenerator.kt:260 */
       20780  +
        /// The builder fails to construct a [`DuplexStreamInput`](crate::input::DuplexStreamInput) if a [`ConstraintViolation`] occurs.
       20781  +
        ///
       20782  +
        /* ServerBuilderGenerator.kt:271 */
       20783  +
        pub fn build(self) -> Result<crate::input::DuplexStreamInput, ConstraintViolation> {
       20784  +
            self.build_enforcing_all_constraints()
       20785  +
        }
       20786  +
        /* ServerBuilderGenerator.kt:283 */
       20787  +
        fn build_enforcing_all_constraints(
       20788  +
            self,
       20789  +
        ) -> Result<crate::input::DuplexStreamInput, ConstraintViolation> {
       20790  +
            /* ServerBuilderGenerator.kt:287 */
       20791  +
            Ok(
       20792  +
                /* ServerBuilderGenerator.kt:542 */
       20793  +
                crate::input::DuplexStreamInput {
       20794  +
                    /* ServerBuilderGenerator.kt:546 */
       20795  +
                    stream: self
       20796  +
                        .stream
       20797  +
                        /* ServerBuilderGenerator.kt:569 */
       20798  +
                        .ok_or(ConstraintViolation::MissingStream)?,
       20799  +
                    /* ServerBuilderGenerator.kt:542 */
       20800  +
                }, /* ServerBuilderGenerator.kt:287 */
       20801  +
            )
       20802  +
            /* ServerBuilderGenerator.kt:283 */
       20803  +
        }
       20804  +
        /* ServerBuilderGenerator.kt:215 */
       20805  +
    }
       20806  +
       20807  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       20808  +
}
       20809  +
/// /* ServerBuilderGenerator.kt:171 */See [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       20810  +
pub mod input_stream_with_initial_request_input {
       20811  +
       20812  +
    /* RustType.kt:534 */
       20813  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       20814  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       20815  +
    /* RustType.kt:534 */
       20816  +
    #[non_exhaustive]
       20817  +
    /* ServerBuilderConstraintViolations.kt:75 */
       20818  +
    #[allow(clippy::enum_variant_names)]
       20819  +
    pub enum ConstraintViolation {
       20820  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`initial_request_member` was not provided but it is required when building `InputStreamWithInitialRequestInput`.
       20821  +
        /* ServerBuilderConstraintViolations.kt:144 */
       20822  +
        MissingInitialRequestMember,
       20823  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`stream` was not provided but it is required when building `InputStreamWithInitialRequestInput`.
       20824  +
        /* ServerBuilderConstraintViolations.kt:144 */
       20825  +
        MissingStream,
       20826  +
        /* ServerBuilderConstraintViolations.kt:75 */
       20827  +
    }
       20828  +
    /* ServerBuilderConstraintViolations.kt:116 */
       20829  +
    impl ::std::fmt::Display for ConstraintViolation {
       20830  +
        /* ServerBuilderConstraintViolations.kt:117 */
       20831  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       20832  +
            /* ServerBuilderConstraintViolations.kt:118 */
       20833  +
            match self {
       20834  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingInitialRequestMember => write!(f, "`initial_request_member` was not provided but it is required when building `InputStreamWithInitialRequestInput`"),
       20835  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `InputStreamWithInitialRequestInput`"),
       20836  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       20837  +
            /* ServerBuilderConstraintViolations.kt:117 */
       20838  +
        }
       20839  +
        /* ServerBuilderConstraintViolations.kt:116 */
       20840  +
    }
       20841  +
    /* ServerBuilderConstraintViolations.kt:83 */
       20842  +
    impl ::std::error::Error for ConstraintViolation {}
       20843  +
    /* ServerBuilderConstraintViolations.kt:172 */
       20844  +
    impl ConstraintViolation {
       20845  +
        pub(crate) fn as_validation_exception_field(
       20846  +
            self,
       20847  +
            path: ::std::string::String,
       20848  +
        ) -> crate::model::ValidationExceptionField {
       20849  +
            match self {
       20850  +
            ConstraintViolation::MissingInitialRequestMember => crate::model::ValidationExceptionField {
       20851  +
                                                message: format!("Value at '{}/initialRequestMember' failed to satisfy constraint: Member must not be null", path),
       20852  +
                                                path: path + "/initialRequestMember",
       20853  +
                                            },
       20854  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       20855  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       20856  +
                                                path: path + "/stream",
       20857  +
                                            },
19700  20858   
        }
19701         -
        /* ServerBuilderGenerator.kt:426 */
19702         -
        #[allow(missing_docs)] // documentation missing in model
19703         -
                               /* ServerBuilderGenerator.kt:428 */
19704         -
        pub(crate) fn set_header_enum(
19705         -
            mut self,
19706         -
            input: Option<
19707         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
19708         -
            >,
19709         -
        ) -> Self {
19710         -
            /* ServerBuilderGenerator.kt:429 */
19711         -
            self.header_enum = input.map(|v| v.into());
19712         -
            self
19713         -
            /* ServerBuilderGenerator.kt:428 */
19714  20859   
        }
19715         -
        /* ServerBuilderGenerator.kt:331 */
19716         -
        #[allow(missing_docs)] // documentation missing in model
19717         -
                               /* ServerBuilderGenerator.kt:343 */
19718         -
        pub fn header_enum_list(
19719         -
            mut self,
19720         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
19721         -
        ) -> Self {
19722         -
            /* ServerBuilderGenerator.kt:344 */
19723         -
            self.header_enum_list =
19724         -
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
19725         -
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
19726         -
                /* ServerBuilderGenerator.kt:363 */)
19727         -
            /* ServerBuilderGenerator.kt:344 */;
19728         -
            self
19729         -
            /* ServerBuilderGenerator.kt:343 */
       20860  +
    }
       20861  +
    /* ServerBuilderGenerator.kt:234 */
       20862  +
    impl ::std::convert::From<ConstraintViolation>
       20863  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       20864  +
    {
       20865  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       20866  +
            let first_validation_exception_field =
       20867  +
                constraint_violation.as_validation_exception_field("".to_owned());
       20868  +
            let validation_exception = crate::error::ValidationException {
       20869  +
                message: format!(
       20870  +
                    "1 validation error detected. {}",
       20871  +
                    &first_validation_exception_field.message
       20872  +
                ),
       20873  +
                field_list: Some(vec![first_validation_exception_field]),
       20874  +
            };
       20875  +
            Self::ConstraintViolation(
       20876  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       20877  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       20878  +
                            )
19730  20879   
        }
19731         -
        /* ServerBuilderGenerator.kt:426 */
19732         -
        #[allow(missing_docs)] // documentation missing in model
19733         -
                               /* ServerBuilderGenerator.kt:428 */
19734         -
        pub(crate) fn set_header_enum_list(
19735         -
            mut self,
19736         -
            input: Option<
19737         -
                impl ::std::convert::Into<
19738         -
                    crate::constrained::MaybeConstrained<
19739         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
19740         -
                    >,
19741         -
                >,
19742         -
            >,
19743         -
        ) -> Self {
19744         -
            /* ServerBuilderGenerator.kt:429 */
19745         -
            self.header_enum_list = input.map(|v| v.into());
19746         -
            self
19747         -
            /* ServerBuilderGenerator.kt:428 */
       20880  +
    }
       20881  +
    /* ServerBuilderGenerator.kt:244 */
       20882  +
    impl ::std::convert::From<Builder>
       20883  +
        for crate::constrained::MaybeConstrained<crate::input::InputStreamWithInitialRequestInput>
       20884  +
    {
       20885  +
        fn from(builder: Builder) -> Self {
       20886  +
            Self::Unconstrained(builder)
       20887  +
        }
       20888  +
    }
       20889  +
    /* ServerBuilderGenerator.kt:446 */
       20890  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputStreamWithInitialRequestInput {
       20891  +
        type Error = ConstraintViolation;
       20892  +
       20893  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20894  +
            builder.build()
19748  20895   
        }
       20896  +
    }
       20897  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       20898  +
    /* RustType.kt:534 */
       20899  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       20900  +
    /* ServerBuilderGenerator.kt:211 */
       20901  +
    pub struct Builder {
       20902  +
        /* ServerBuilderGenerator.kt:308 */
       20903  +
        pub(crate) initial_request_member: ::std::option::Option<::std::string::String>,
       20904  +
        /* ServerBuilderGenerator.kt:308 */
       20905  +
        pub(crate) stream: ::std::option::Option<
       20906  +
            crate::sigv4_event_stream::SigV4Receiver<
       20907  +
                crate::model::EventStream,
       20908  +
                crate::error::EventStreamError,
       20909  +
            >,
       20910  +
        >,
       20911  +
        /* ServerBuilderGenerator.kt:211 */
       20912  +
    }
       20913  +
    /* ServerBuilderGenerator.kt:215 */
       20914  +
    impl Builder {
19749  20915   
        /* ServerBuilderGenerator.kt:331 */
19750  20916   
        #[allow(missing_docs)] // documentation missing in model
19751  20917   
                               /* ServerBuilderGenerator.kt:343 */
19752         -
        pub fn header_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
       20918  +
        pub fn initial_request_member(mut self, input: ::std::string::String) -> Self {
19753  20919   
            /* ServerBuilderGenerator.kt:344 */
19754         -
            self.header_integer_enum =
19755         -
                /* ServerBuilderGenerator.kt:376 */input
       20920  +
            self.initial_request_member =
       20921  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20922  +
                    /* ServerBuilderGenerator.kt:376 */input
       20923  +
                /* ServerBuilderGenerator.kt:345 */)
19756  20924   
            /* ServerBuilderGenerator.kt:344 */;
19757  20925   
            self
19758  20926   
            /* ServerBuilderGenerator.kt:343 */
19759  20927   
        }
19760  20928   
        /* ServerBuilderGenerator.kt:426 */
19761  20929   
        #[allow(missing_docs)] // documentation missing in model
19762  20930   
                               /* ServerBuilderGenerator.kt:428 */
19763         -
        pub(crate) fn set_header_integer_enum(
       20931  +
        pub(crate) fn set_initial_request_member(
19764  20932   
            mut self,
19765         -
            input: Option<impl ::std::convert::Into<i32>>,
       20933  +
            input: impl ::std::convert::Into<::std::string::String>,
19766  20934   
        ) -> Self {
19767  20935   
            /* ServerBuilderGenerator.kt:429 */
19768         -
            self.header_integer_enum = input.map(|v| v.into());
       20936  +
            self.initial_request_member = Some(input.into());
19769  20937   
            self
19770  20938   
            /* ServerBuilderGenerator.kt:428 */
19771  20939   
        }
19772  20940   
        /* ServerBuilderGenerator.kt:331 */
19773  20941   
        #[allow(missing_docs)] // documentation missing in model
19774  20942   
                               /* ServerBuilderGenerator.kt:343 */
19775         -
        pub fn header_integer_enum_list(
       20943  +
        pub fn stream(
19776  20944   
            mut self,
19777         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       20945  +
            input: crate::sigv4_event_stream::SigV4Receiver<
       20946  +
                crate::model::EventStream,
       20947  +
                crate::error::EventStreamError,
       20948  +
            >,
19778  20949   
        ) -> Self {
19779  20950   
            /* ServerBuilderGenerator.kt:344 */
19780         -
            self.header_integer_enum_list =
19781         -
                /* ServerBuilderGenerator.kt:376 */input
       20951  +
            self.stream =
       20952  +
                /* ServerBuilderGenerator.kt:345 */Some(
       20953  +
                    /* ServerBuilderGenerator.kt:376 */input
       20954  +
                /* ServerBuilderGenerator.kt:345 */)
19782  20955   
            /* ServerBuilderGenerator.kt:344 */;
19783  20956   
            self
19784  20957   
            /* ServerBuilderGenerator.kt:343 */
19785  20958   
        }
19786  20959   
        /* ServerBuilderGenerator.kt:426 */
19787  20960   
        #[allow(missing_docs)] // documentation missing in model
19788  20961   
                               /* ServerBuilderGenerator.kt:428 */
19789         -
        pub(crate) fn set_header_integer_enum_list(
       20962  +
        pub(crate) fn set_stream(
19790  20963   
            mut self,
19791         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       20964  +
            input: impl ::std::convert::Into<
       20965  +
                crate::sigv4_event_stream::SigV4Receiver<
       20966  +
                    crate::model::EventStream,
       20967  +
                    crate::error::EventStreamError,
       20968  +
                >,
       20969  +
            >,
19792  20970   
        ) -> Self {
19793  20971   
            /* ServerBuilderGenerator.kt:429 */
19794         -
            self.header_integer_enum_list = input.map(|v| v.into());
       20972  +
            self.stream = Some(input.into());
19795  20973   
            self
19796  20974   
            /* ServerBuilderGenerator.kt:428 */
19797  20975   
        }
19798         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       20976  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
19799  20977   
        /// /* ServerBuilderGenerator.kt:260 */
19800         -
        /// The builder fails to construct a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput) if a [`ConstraintViolation`] occurs.
       20978  +
        /// The builder fails to construct a [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput) if a [`ConstraintViolation`] occurs.
19801  20979   
        ///
19802  20980   
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
19803  20981   
        /* ServerBuilderGenerator.kt:271 */
19804  20982   
        pub fn build(
19805  20983   
            self,
19806         -
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
       20984  +
        ) -> Result<crate::input::InputStreamWithInitialRequestInput, ConstraintViolation> {
19807  20985   
            self.build_enforcing_all_constraints()
19808  20986   
        }
19809  20987   
        /* ServerBuilderGenerator.kt:283 */
19810  20988   
        fn build_enforcing_all_constraints(
19811  20989   
            self,
19812         -
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
       20990  +
        ) -> Result<crate::input::InputStreamWithInitialRequestInput, ConstraintViolation> {
19813  20991   
            /* ServerBuilderGenerator.kt:287 */
19814  20992   
            Ok(
19815  20993   
                /* ServerBuilderGenerator.kt:542 */
19816         -
                crate::input::InputAndOutputWithHeadersInput {
19817         -
                    /* ServerBuilderGenerator.kt:546 */
19818         -
                    header_string: self.header_string,
19819         -
                    /* ServerBuilderGenerator.kt:546 */
19820         -
                    header_byte: self.header_byte,
19821         -
                    /* ServerBuilderGenerator.kt:546 */
19822         -
                    header_short: self.header_short,
       20994  +
                crate::input::InputStreamWithInitialRequestInput {
19823  20995   
                    /* ServerBuilderGenerator.kt:546 */
19824         -
                    header_integer: self.header_integer,
19825         -
                    /* ServerBuilderGenerator.kt:546 */
19826         -
                    header_long: self.header_long,
19827         -
                    /* ServerBuilderGenerator.kt:546 */
19828         -
                    header_float: self.header_float,
19829         -
                    /* ServerBuilderGenerator.kt:546 */
19830         -
                    header_double: self.header_double,
19831         -
                    /* ServerBuilderGenerator.kt:546 */
19832         -
                    header_true_bool: self.header_true_bool,
19833         -
                    /* ServerBuilderGenerator.kt:546 */
19834         -
                    header_false_bool: self.header_false_bool,
19835         -
                    /* ServerBuilderGenerator.kt:546 */
19836         -
                    header_string_list: self.header_string_list,
19837         -
                    /* ServerBuilderGenerator.kt:546 */
19838         -
                    header_string_set: self
19839         -
                        .header_string_set
19840         -
                        /* ServerBuilderGenerator.kt:602 */
19841         -
                        .map(|v| match v {
19842         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
19843         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
19844         -
                        })
19845         -
                        /* ServerBuilderGenerator.kt:614 */
19846         -
                        .map(|res| res.map_err(ConstraintViolation::HeaderStringSet))
19847         -
                        .transpose()?,
19848         -
                    /* ServerBuilderGenerator.kt:546 */
19849         -
                    header_integer_list: self.header_integer_list,
19850         -
                    /* ServerBuilderGenerator.kt:546 */
19851         -
                    header_boolean_list: self.header_boolean_list,
19852         -
                    /* ServerBuilderGenerator.kt:546 */
19853         -
                    header_timestamp_list: self.header_timestamp_list,
19854         -
                    /* ServerBuilderGenerator.kt:546 */
19855         -
                    header_enum: self
19856         -
                        .header_enum
19857         -
                        /* ServerBuilderGenerator.kt:602 */
19858         -
                        .map(|v| match v {
19859         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
19860         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
19861         -
                        })
19862         -
                        /* ServerBuilderGenerator.kt:614 */
19863         -
                        .map(|res| res.map_err(ConstraintViolation::HeaderEnum))
19864         -
                        .transpose()?,
19865         -
                    /* ServerBuilderGenerator.kt:546 */
19866         -
                    header_enum_list: self
19867         -
                        .header_enum_list
19868         -
                        /* ServerBuilderGenerator.kt:602 */
19869         -
                        .map(|v| match v {
19870         -
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
19871         -
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
19872         -
                        })
19873         -
                        /* ServerBuilderGenerator.kt:614 */
19874         -
                        .map(|res| {
19875         -
                            res.map(|v| v.into())
19876         -
                                .map_err(ConstraintViolation::HeaderEnumList)
19877         -
                        })
19878         -
                        .transpose()?,
19879         -
                    /* ServerBuilderGenerator.kt:546 */
19880         -
                    header_integer_enum: self.header_integer_enum,
       20996  +
                    initial_request_member: self
       20997  +
                        .initial_request_member
       20998  +
                        /* ServerBuilderGenerator.kt:569 */
       20999  +
                        .ok_or(ConstraintViolation::MissingInitialRequestMember)?,
19881  21000   
                    /* ServerBuilderGenerator.kt:546 */
19882         -
                    header_integer_enum_list: self.header_integer_enum_list,
       21001  +
                    stream: self
       21002  +
                        .stream
       21003  +
                        /* ServerBuilderGenerator.kt:569 */
       21004  +
                        .ok_or(ConstraintViolation::MissingStream)?,
19883  21005   
                    /* ServerBuilderGenerator.kt:542 */
19884  21006   
                }, /* ServerBuilderGenerator.kt:287 */
19885  21007   
            )
19886  21008   
            /* ServerBuilderGenerator.kt:283 */
19887  21009   
        }
19888  21010   
        /* ServerBuilderGenerator.kt:215 */
19889  21011   
    }
19890  21012   
19891  21013   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
19892  21014   
}
19893         -
/// /* ServerBuilderGenerator.kt:171 */See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
19894         -
pub mod unit_input_and_output_input {
       21015  +
/// /* ServerBuilderGenerator.kt:171 */See [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       21016  +
pub mod output_stream_with_initial_response_input {
19895  21017   
19896  21018   
    /* ServerBuilderGenerator.kt:461 */
19897         -
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
       21019  +
    impl ::std::convert::From<Builder> for crate::input::OutputStreamWithInitialResponseInput {
19898  21020   
        fn from(builder: Builder) -> Self {
19899  21021   
            builder.build()
19900  21022   
        }
19901  21023   
    }
19902         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
       21024  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
19903  21025   
    /* RustType.kt:534 */
19904  21026   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19905  21027   
    /* ServerBuilderGenerator.kt:211 */
19906  21028   
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
19907  21029   
    /* ServerBuilderGenerator.kt:215 */
19908  21030   
    impl Builder {
19909         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
       21031  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
19910  21032   
        /* ServerBuilderGenerator.kt:271 */
19911         -
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
       21033  +
        pub fn build(self) -> crate::input::OutputStreamWithInitialResponseInput {
19912  21034   
            self.build_enforcing_all_constraints()
19913  21035   
        }
19914  21036   
        /* ServerBuilderGenerator.kt:283 */
19915         -
        fn build_enforcing_all_constraints(self) -> crate::input::UnitInputAndOutputInput {
       21037  +
        fn build_enforcing_all_constraints(
       21038  +
            self,
       21039  +
        ) -> crate::input::OutputStreamWithInitialResponseInput {
19916  21040   
            /* ServerBuilderGenerator.kt:542 */
19917         -
            crate::input::UnitInputAndOutputInput {
       21041  +
            crate::input::OutputStreamWithInitialResponseInput {
19918  21042   
            /* ServerBuilderGenerator.kt:542 */}
19919  21043   
            /* ServerBuilderGenerator.kt:283 */
19920  21044   
        }
19921         -
        /* ServerBuilderGenerator.kt:215 */
       21045  +
        /* ServerBuilderGenerator.kt:215 */
       21046  +
    }
       21047  +
       21048  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       21049  +
}
       21050  +
/// /* ServerBuilderGenerator.kt:171 */See [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
       21051  +
pub mod duplex_stream_with_initial_messages_input {
       21052  +
       21053  +
    /* RustType.kt:534 */
       21054  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21055  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       21056  +
    /* RustType.kt:534 */
       21057  +
    #[non_exhaustive]
       21058  +
    /* ServerBuilderConstraintViolations.kt:75 */
       21059  +
    #[allow(clippy::enum_variant_names)]
       21060  +
    pub enum ConstraintViolation {
       21061  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`initial_request_member` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`.
       21062  +
        /* ServerBuilderConstraintViolations.kt:144 */
       21063  +
        MissingInitialRequestMember,
       21064  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`stream` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`.
       21065  +
        /* ServerBuilderConstraintViolations.kt:144 */
       21066  +
        MissingStream,
       21067  +
        /* ServerBuilderConstraintViolations.kt:75 */
       21068  +
    }
       21069  +
    /* ServerBuilderConstraintViolations.kt:116 */
       21070  +
    impl ::std::fmt::Display for ConstraintViolation {
       21071  +
        /* ServerBuilderConstraintViolations.kt:117 */
       21072  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21073  +
            /* ServerBuilderConstraintViolations.kt:118 */
       21074  +
            match self {
       21075  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingInitialRequestMember => write!(f, "`initial_request_member` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`"),
       21076  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`"),
       21077  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       21078  +
            /* ServerBuilderConstraintViolations.kt:117 */
       21079  +
        }
       21080  +
        /* ServerBuilderConstraintViolations.kt:116 */
       21081  +
    }
       21082  +
    /* ServerBuilderConstraintViolations.kt:83 */
       21083  +
    impl ::std::error::Error for ConstraintViolation {}
       21084  +
    /* ServerBuilderConstraintViolations.kt:172 */
       21085  +
    impl ConstraintViolation {
       21086  +
        pub(crate) fn as_validation_exception_field(
       21087  +
            self,
       21088  +
            path: ::std::string::String,
       21089  +
        ) -> crate::model::ValidationExceptionField {
       21090  +
            match self {
       21091  +
            ConstraintViolation::MissingInitialRequestMember => crate::model::ValidationExceptionField {
       21092  +
                                                message: format!("Value at '{}/initialRequestMember' failed to satisfy constraint: Member must not be null", path),
       21093  +
                                                path: path + "/initialRequestMember",
       21094  +
                                            },
       21095  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       21096  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       21097  +
                                                path: path + "/stream",
       21098  +
                                            },
       21099  +
        }
       21100  +
        }
       21101  +
    }
       21102  +
    /* ServerBuilderGenerator.kt:234 */
       21103  +
    impl ::std::convert::From<ConstraintViolation>
       21104  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       21105  +
    {
       21106  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       21107  +
            let first_validation_exception_field =
       21108  +
                constraint_violation.as_validation_exception_field("".to_owned());
       21109  +
            let validation_exception = crate::error::ValidationException {
       21110  +
                message: format!(
       21111  +
                    "1 validation error detected. {}",
       21112  +
                    &first_validation_exception_field.message
       21113  +
                ),
       21114  +
                field_list: Some(vec![first_validation_exception_field]),
       21115  +
            };
       21116  +
            Self::ConstraintViolation(
       21117  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       21118  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       21119  +
                            )
       21120  +
        }
19922  21121   
    }
19923         -
19924         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
19925         -
}
19926         -
/// /* ServerBuilderGenerator.kt:171 */See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
19927         -
pub mod empty_input_and_empty_output_input {
19928         -
19929         -
    /* ServerBuilderGenerator.kt:461 */
19930         -
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
       21122  +
    /* ServerBuilderGenerator.kt:244 */
       21123  +
    impl ::std::convert::From<Builder>
       21124  +
        for crate::constrained::MaybeConstrained<crate::input::DuplexStreamWithInitialMessagesInput>
       21125  +
    {
19931  21126   
        fn from(builder: Builder) -> Self {
       21127  +
            Self::Unconstrained(builder)
       21128  +
        }
       21129  +
    }
       21130  +
    /* ServerBuilderGenerator.kt:446 */
       21131  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamWithInitialMessagesInput {
       21132  +
        type Error = ConstraintViolation;
       21133  +
       21134  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
19932  21135   
            builder.build()
19933  21136   
        }
19934  21137   
    }
19935         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
       21138  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
19936  21139   
    /* RustType.kt:534 */
19937         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21140  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
19938  21141   
    /* ServerBuilderGenerator.kt:211 */
19939         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       21142  +
    pub struct Builder {
       21143  +
        /* ServerBuilderGenerator.kt:308 */
       21144  +
        pub(crate) initial_request_member: ::std::option::Option<::std::string::String>,
       21145  +
        /* ServerBuilderGenerator.kt:308 */
       21146  +
        pub(crate) stream: ::std::option::Option<
       21147  +
            crate::sigv4_event_stream::SigV4Receiver<
       21148  +
                crate::model::EventStream,
       21149  +
                crate::error::EventStreamError,
       21150  +
            >,
       21151  +
        >,
       21152  +
        /* ServerBuilderGenerator.kt:211 */
       21153  +
    }
19940  21154   
    /* ServerBuilderGenerator.kt:215 */
19941  21155   
    impl Builder {
19942         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
       21156  +
        /* ServerBuilderGenerator.kt:331 */
       21157  +
        #[allow(missing_docs)] // documentation missing in model
       21158  +
                               /* ServerBuilderGenerator.kt:343 */
       21159  +
        pub fn initial_request_member(mut self, input: ::std::string::String) -> Self {
       21160  +
            /* ServerBuilderGenerator.kt:344 */
       21161  +
            self.initial_request_member =
       21162  +
                /* ServerBuilderGenerator.kt:345 */Some(
       21163  +
                    /* ServerBuilderGenerator.kt:376 */input
       21164  +
                /* ServerBuilderGenerator.kt:345 */)
       21165  +
            /* ServerBuilderGenerator.kt:344 */;
       21166  +
            self
       21167  +
            /* ServerBuilderGenerator.kt:343 */
       21168  +
        }
       21169  +
        /* ServerBuilderGenerator.kt:426 */
       21170  +
        #[allow(missing_docs)] // documentation missing in model
       21171  +
                               /* ServerBuilderGenerator.kt:428 */
       21172  +
        pub(crate) fn set_initial_request_member(
       21173  +
            mut self,
       21174  +
            input: impl ::std::convert::Into<::std::string::String>,
       21175  +
        ) -> Self {
       21176  +
            /* ServerBuilderGenerator.kt:429 */
       21177  +
            self.initial_request_member = Some(input.into());
       21178  +
            self
       21179  +
            /* ServerBuilderGenerator.kt:428 */
       21180  +
        }
       21181  +
        /* ServerBuilderGenerator.kt:331 */
       21182  +
        #[allow(missing_docs)] // documentation missing in model
       21183  +
                               /* ServerBuilderGenerator.kt:343 */
       21184  +
        pub fn stream(
       21185  +
            mut self,
       21186  +
            input: crate::sigv4_event_stream::SigV4Receiver<
       21187  +
                crate::model::EventStream,
       21188  +
                crate::error::EventStreamError,
       21189  +
            >,
       21190  +
        ) -> Self {
       21191  +
            /* ServerBuilderGenerator.kt:344 */
       21192  +
            self.stream =
       21193  +
                /* ServerBuilderGenerator.kt:345 */Some(
       21194  +
                    /* ServerBuilderGenerator.kt:376 */input
       21195  +
                /* ServerBuilderGenerator.kt:345 */)
       21196  +
            /* ServerBuilderGenerator.kt:344 */;
       21197  +
            self
       21198  +
            /* ServerBuilderGenerator.kt:343 */
       21199  +
        }
       21200  +
        /* ServerBuilderGenerator.kt:426 */
       21201  +
        #[allow(missing_docs)] // documentation missing in model
       21202  +
                               /* ServerBuilderGenerator.kt:428 */
       21203  +
        pub(crate) fn set_stream(
       21204  +
            mut self,
       21205  +
            input: impl ::std::convert::Into<
       21206  +
                crate::sigv4_event_stream::SigV4Receiver<
       21207  +
                    crate::model::EventStream,
       21208  +
                    crate::error::EventStreamError,
       21209  +
                >,
       21210  +
            >,
       21211  +
        ) -> Self {
       21212  +
            /* ServerBuilderGenerator.kt:429 */
       21213  +
            self.stream = Some(input.into());
       21214  +
            self
       21215  +
            /* ServerBuilderGenerator.kt:428 */
       21216  +
        }
       21217  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
       21218  +
        /// /* ServerBuilderGenerator.kt:260 */
       21219  +
        /// The builder fails to construct a [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput) if a [`ConstraintViolation`] occurs.
       21220  +
        ///
       21221  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
19943  21222   
        /* ServerBuilderGenerator.kt:271 */
19944         -
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
       21223  +
        pub fn build(
       21224  +
            self,
       21225  +
        ) -> Result<crate::input::DuplexStreamWithInitialMessagesInput, ConstraintViolation>
       21226  +
        {
19945  21227   
            self.build_enforcing_all_constraints()
19946  21228   
        }
19947  21229   
        /* ServerBuilderGenerator.kt:283 */
19948         -
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyInputAndEmptyOutputInput {
19949         -
            /* ServerBuilderGenerator.kt:542 */
19950         -
            crate::input::EmptyInputAndEmptyOutputInput {
19951         -
            /* ServerBuilderGenerator.kt:542 */}
       21230  +
        fn build_enforcing_all_constraints(
       21231  +
            self,
       21232  +
        ) -> Result<crate::input::DuplexStreamWithInitialMessagesInput, ConstraintViolation>
       21233  +
        {
       21234  +
            /* ServerBuilderGenerator.kt:287 */
       21235  +
            Ok(
       21236  +
                /* ServerBuilderGenerator.kt:542 */
       21237  +
                crate::input::DuplexStreamWithInitialMessagesInput {
       21238  +
                    /* ServerBuilderGenerator.kt:546 */
       21239  +
                    initial_request_member: self
       21240  +
                        .initial_request_member
       21241  +
                        /* ServerBuilderGenerator.kt:569 */
       21242  +
                        .ok_or(ConstraintViolation::MissingInitialRequestMember)?,
       21243  +
                    /* ServerBuilderGenerator.kt:546 */
       21244  +
                    stream: self
       21245  +
                        .stream
       21246  +
                        /* ServerBuilderGenerator.kt:569 */
       21247  +
                        .ok_or(ConstraintViolation::MissingStream)?,
       21248  +
                    /* ServerBuilderGenerator.kt:542 */
       21249  +
                }, /* ServerBuilderGenerator.kt:287 */
       21250  +
            )
19952  21251   
            /* ServerBuilderGenerator.kt:283 */
19953  21252   
        }
19954  21253   
        /* ServerBuilderGenerator.kt:215 */
19955  21254   
    }
19956  21255   
19957  21256   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
19958  21257   
}
19959         -
/// /* ServerBuilderGenerator.kt:171 */See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
19960         -
pub mod no_input_and_output_input {
       21258  +
/// /* ServerBuilderGenerator.kt:171 */See [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
       21259  +
pub mod duplex_stream_with_distinct_streams_input {
19961  21260   
19962         -
    /* ServerBuilderGenerator.kt:461 */
19963         -
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
19964         -
        fn from(builder: Builder) -> Self {
19965         -
            builder.build()
       21261  +
    /* RustType.kt:534 */
       21262  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21263  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       21264  +
    /* RustType.kt:534 */
       21265  +
    #[non_exhaustive]
       21266  +
    /* ServerBuilderConstraintViolations.kt:75 */
       21267  +
    #[allow(clippy::enum_variant_names)]
       21268  +
    pub enum ConstraintViolation {
       21269  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`stream` was not provided but it is required when building `DuplexStreamWithDistinctStreamsInput`.
       21270  +
        /* ServerBuilderConstraintViolations.kt:144 */
       21271  +
        MissingStream,
       21272  +
        /* ServerBuilderConstraintViolations.kt:75 */
       21273  +
    }
       21274  +
    /* ServerBuilderConstraintViolations.kt:116 */
       21275  +
    impl ::std::fmt::Display for ConstraintViolation {
       21276  +
        /* ServerBuilderConstraintViolations.kt:117 */
       21277  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21278  +
            /* ServerBuilderConstraintViolations.kt:118 */
       21279  +
            match self {
       21280  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamWithDistinctStreamsInput`"),
       21281  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       21282  +
            /* ServerBuilderConstraintViolations.kt:117 */
19966  21283   
        }
       21284  +
        /* ServerBuilderConstraintViolations.kt:116 */
19967  21285   
    }
19968         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
19969         -
    /* RustType.kt:534 */
19970         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19971         -
    /* ServerBuilderGenerator.kt:211 */
19972         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
19973         -
    /* ServerBuilderGenerator.kt:215 */
19974         -
    impl Builder {
19975         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
19976         -
        /* ServerBuilderGenerator.kt:271 */
19977         -
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
19978         -
            self.build_enforcing_all_constraints()
       21286  +
    /* ServerBuilderConstraintViolations.kt:83 */
       21287  +
    impl ::std::error::Error for ConstraintViolation {}
       21288  +
    /* ServerBuilderConstraintViolations.kt:172 */
       21289  +
    impl ConstraintViolation {
       21290  +
        pub(crate) fn as_validation_exception_field(
       21291  +
            self,
       21292  +
            path: ::std::string::String,
       21293  +
        ) -> crate::model::ValidationExceptionField {
       21294  +
            match self {
       21295  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       21296  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       21297  +
                                                path: path + "/stream",
       21298  +
                                            },
19979  21299   
        }
19980         -
        /* ServerBuilderGenerator.kt:283 */
19981         -
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndOutputInput {
19982         -
            /* ServerBuilderGenerator.kt:542 */
19983         -
            crate::input::NoInputAndOutputInput {
19984         -
            /* ServerBuilderGenerator.kt:542 */}
19985         -
            /* ServerBuilderGenerator.kt:283 */
19986  21300   
        }
19987         -
        /* ServerBuilderGenerator.kt:215 */
19988  21301   
    }
19989         -
19990         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
19991         -
}
19992         -
/// /* ServerBuilderGenerator.kt:171 */See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
19993         -
pub mod no_input_and_no_output_input {
19994         -
19995         -
    /* ServerBuilderGenerator.kt:461 */
19996         -
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
       21302  +
    /* ServerBuilderGenerator.kt:234 */
       21303  +
    impl ::std::convert::From<ConstraintViolation>
       21304  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       21305  +
    {
       21306  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       21307  +
            let first_validation_exception_field =
       21308  +
                constraint_violation.as_validation_exception_field("".to_owned());
       21309  +
            let validation_exception = crate::error::ValidationException {
       21310  +
                message: format!(
       21311  +
                    "1 validation error detected. {}",
       21312  +
                    &first_validation_exception_field.message
       21313  +
                ),
       21314  +
                field_list: Some(vec![first_validation_exception_field]),
       21315  +
            };
       21316  +
            Self::ConstraintViolation(
       21317  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       21318  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       21319  +
                            )
       21320  +
        }
       21321  +
    }
       21322  +
    /* ServerBuilderGenerator.kt:244 */
       21323  +
    impl ::std::convert::From<Builder>
       21324  +
        for crate::constrained::MaybeConstrained<crate::input::DuplexStreamWithDistinctStreamsInput>
       21325  +
    {
19997  21326   
        fn from(builder: Builder) -> Self {
       21327  +
            Self::Unconstrained(builder)
       21328  +
        }
       21329  +
    }
       21330  +
    /* ServerBuilderGenerator.kt:446 */
       21331  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamWithDistinctStreamsInput {
       21332  +
        type Error = ConstraintViolation;
       21333  +
       21334  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
19998  21335   
            builder.build()
19999  21336   
        }
20000  21337   
    }
20001         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       21338  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
20002  21339   
    /* RustType.kt:534 */
20003         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21340  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
20004  21341   
    /* ServerBuilderGenerator.kt:211 */
20005         -
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       21342  +
    pub struct Builder {
       21343  +
        /* ServerBuilderGenerator.kt:308 */
       21344  +
        pub(crate) stream: ::std::option::Option<
       21345  +
            crate::sigv4_event_stream::SigV4Receiver<
       21346  +
                crate::model::EventStream,
       21347  +
                crate::error::EventStreamError,
       21348  +
            >,
       21349  +
        >,
       21350  +
        /* ServerBuilderGenerator.kt:211 */
       21351  +
    }
20006  21352   
    /* ServerBuilderGenerator.kt:215 */
20007  21353   
    impl Builder {
20008         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       21354  +
        /* ServerBuilderGenerator.kt:331 */
       21355  +
        #[allow(missing_docs)] // documentation missing in model
       21356  +
                               /* ServerBuilderGenerator.kt:343 */
       21357  +
        pub fn stream(
       21358  +
            mut self,
       21359  +
            input: crate::sigv4_event_stream::SigV4Receiver<
       21360  +
                crate::model::EventStream,
       21361  +
                crate::error::EventStreamError,
       21362  +
            >,
       21363  +
        ) -> Self {
       21364  +
            /* ServerBuilderGenerator.kt:344 */
       21365  +
            self.stream =
       21366  +
                /* ServerBuilderGenerator.kt:345 */Some(
       21367  +
                    /* ServerBuilderGenerator.kt:376 */input
       21368  +
                /* ServerBuilderGenerator.kt:345 */)
       21369  +
            /* ServerBuilderGenerator.kt:344 */;
       21370  +
            self
       21371  +
            /* ServerBuilderGenerator.kt:343 */
       21372  +
        }
       21373  +
        /* ServerBuilderGenerator.kt:426 */
       21374  +
        #[allow(missing_docs)] // documentation missing in model
       21375  +
                               /* ServerBuilderGenerator.kt:428 */
       21376  +
        pub(crate) fn set_stream(
       21377  +
            mut self,
       21378  +
            input: impl ::std::convert::Into<
       21379  +
                crate::sigv4_event_stream::SigV4Receiver<
       21380  +
                    crate::model::EventStream,
       21381  +
                    crate::error::EventStreamError,
       21382  +
                >,
       21383  +
            >,
       21384  +
        ) -> Self {
       21385  +
            /* ServerBuilderGenerator.kt:429 */
       21386  +
            self.stream = Some(input.into());
       21387  +
            self
       21388  +
            /* ServerBuilderGenerator.kt:428 */
       21389  +
        }
       21390  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
       21391  +
        /// /* ServerBuilderGenerator.kt:260 */
       21392  +
        /// The builder fails to construct a [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput) if a [`ConstraintViolation`] occurs.
       21393  +
        ///
20009  21394   
        /* ServerBuilderGenerator.kt:271 */
20010         -
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
       21395  +
        pub fn build(
       21396  +
            self,
       21397  +
        ) -> Result<crate::input::DuplexStreamWithDistinctStreamsInput, ConstraintViolation>
       21398  +
        {
20011  21399   
            self.build_enforcing_all_constraints()
20012  21400   
        }
20013  21401   
        /* ServerBuilderGenerator.kt:283 */
20014         -
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndNoOutputInput {
20015         -
            /* ServerBuilderGenerator.kt:542 */
20016         -
            crate::input::NoInputAndNoOutputInput {
20017         -
            /* ServerBuilderGenerator.kt:542 */}
       21402  +
        fn build_enforcing_all_constraints(
       21403  +
            self,
       21404  +
        ) -> Result<crate::input::DuplexStreamWithDistinctStreamsInput, ConstraintViolation>
       21405  +
        {
       21406  +
            /* ServerBuilderGenerator.kt:287 */
       21407  +
            Ok(
       21408  +
                /* ServerBuilderGenerator.kt:542 */
       21409  +
                crate::input::DuplexStreamWithDistinctStreamsInput {
       21410  +
                    /* ServerBuilderGenerator.kt:546 */
       21411  +
                    stream: self
       21412  +
                        .stream
       21413  +
                        /* ServerBuilderGenerator.kt:569 */
       21414  +
                        .ok_or(ConstraintViolation::MissingStream)?,
       21415  +
                    /* ServerBuilderGenerator.kt:542 */
       21416  +
                }, /* ServerBuilderGenerator.kt:287 */
       21417  +
            )
20018  21418   
            /* ServerBuilderGenerator.kt:283 */
20019  21419   
        }
20020  21420   
        /* ServerBuilderGenerator.kt:215 */
20021  21421   
    }
20022  21422   
20023  21423   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
20024  21424   
}