Server Test Python

Server Test Python

rev. d838bf488731ae5e751cce0fe13f339a5b9be858

Files changed:

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

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

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

@@ -1,1 +3500,4089 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pyclass]
    3         -
/// :param top_level rest_json.model.TopLevel:
    4         -
/// :rtype None:
    5         -
#[allow(missing_docs)] // documentation missing in model
    6         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    7         -
pub struct OperationWithNestedStructureInput {
    8         -
    #[pyo3(get, set)]
    9         -
    /// :type rest_json.model.TopLevel:
   10         -
    #[allow(missing_docs)] // documentation missing in model
   11         -
    pub top_level: crate::model::TopLevel,
   12         -
}
   13         -
impl OperationWithNestedStructureInput {
   14         -
    #[allow(missing_docs)] // documentation missing in model
   15         -
    pub fn top_level(&self) -> &crate::model::TopLevel {
   16         -
        &self.top_level
   17         -
    }
   18         -
}
   19         -
#[allow(clippy::new_without_default)]
   20         -
#[allow(clippy::too_many_arguments)]
   21         -
#[::pyo3::pymethods]
   22         -
impl OperationWithNestedStructureInput {
   23         -
    #[new]
   24         -
    pub fn new(top_level: crate::model::TopLevel) -> Self {
   25         -
        Self { top_level }
   26         -
    }
   27         -
    fn __repr__(&self) -> String {
   28         -
        format!("{self:?}")
   29         -
    }
   30         -
    fn __str__(&self) -> String {
   31         -
        format!("{self:?}")
   32         -
    }
   33         -
}
   34         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OperationWithNestedStructureInput> {
   35         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   36         -
        ob.extract::<OperationWithNestedStructureInput>()
   37         -
            .map(Box::new)
   38         -
    }
   39         -
}
   40         -
   41         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithNestedStructureInput> {
   42         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   43         -
        (*self).into_py(py)
   44         -
    }
   45         -
}
   46         -
impl crate::constrained::Constrained for crate::input::OperationWithNestedStructureInput {
   47         -
    type Unconstrained = crate::input::operation_with_nested_structure_input_internal::Builder;
   48         -
}
   49         -
impl OperationWithNestedStructureInput {
   50         -
    /// Creates a new builder-style object to manufacture [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
   51         -
    pub fn builder() -> crate::input::operation_with_nested_structure_input::Builder {
   52         -
        crate::input::operation_with_nested_structure_input::Builder::default()
   53         -
    }
   54         -
}
   55         -
   56         -
#[::pyo3::pyclass]
   57         -
/// :param top_level_default str:
   58         -
/// :param other_top_level_default int:
   59         -
/// :param defaults typing.Optional\[rest_json.model.Defaults\]:
   60         -
/// :param client_optional_defaults typing.Optional\[rest_json.model.ClientOptionalDefaults\]:
   61      3   
/// :rtype None:
   62      4   
#[allow(missing_docs)] // documentation missing in model
   63         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   64         -
pub struct OperationWithDefaultsInput {
   65         -
    #[pyo3(get, set)]
   66         -
    /// :type typing.Optional\[rest_json.model.Defaults\]:
   67         -
    #[allow(missing_docs)] // documentation missing in model
   68         -
    pub defaults: ::std::option::Option<crate::model::Defaults>,
   69         -
    #[pyo3(get, set)]
   70         -
    /// :type typing.Optional\[rest_json.model.ClientOptionalDefaults\]:
   71         -
    #[allow(missing_docs)] // documentation missing in model
   72         -
    pub client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
   73         -
    #[pyo3(get, set)]
   74         -
    /// :type str:
   75         -
    #[allow(missing_docs)] // documentation missing in model
   76         -
    pub top_level_default: ::std::string::String,
   77         -
    #[pyo3(get, set)]
   78         -
    /// :type int:
   79         -
    #[allow(missing_docs)] // documentation missing in model
   80         -
    pub other_top_level_default: i32,
   81         -
}
   82         -
impl OperationWithDefaultsInput {
   83         -
    #[allow(missing_docs)] // documentation missing in model
   84         -
    pub fn defaults(&self) -> ::std::option::Option<&crate::model::Defaults> {
   85         -
        self.defaults.as_ref()
   86         -
    }
   87         -
    #[allow(missing_docs)] // documentation missing in model
   88         -
    pub fn client_optional_defaults(
   89         -
        &self,
   90         -
    ) -> ::std::option::Option<&crate::model::ClientOptionalDefaults> {
   91         -
        self.client_optional_defaults.as_ref()
   92         -
    }
   93         -
    #[allow(missing_docs)] // documentation missing in model
   94         -
    pub fn top_level_default(&self) -> &str {
   95         -
        use std::ops::Deref;
   96         -
        self.top_level_default.deref()
   97         -
    }
   98         -
    #[allow(missing_docs)] // documentation missing in model
   99         -
    pub fn other_top_level_default(&self) -> i32 {
  100         -
        self.other_top_level_default
  101         -
    }
  102         -
}
           5  +
#[derive(
           6  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
           7  +
)]
           8  +
pub struct NoInputAndNoOutputInput {}
  103      9   
#[allow(clippy::new_without_default)]
  104     10   
#[allow(clippy::too_many_arguments)]
  105     11   
#[::pyo3::pymethods]
  106         -
impl OperationWithDefaultsInput {
          12  +
impl NoInputAndNoOutputInput {
  107     13   
    #[new]
  108         -
    pub fn new(
  109         -
        top_level_default: ::std::string::String,
  110         -
        other_top_level_default: i32,
  111         -
        defaults: ::std::option::Option<crate::model::Defaults>,
  112         -
        client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
  113         -
    ) -> Self {
  114         -
        Self {
  115         -
            top_level_default,
  116         -
            other_top_level_default,
  117         -
            defaults,
  118         -
            client_optional_defaults,
  119         -
        }
          14  +
    pub fn new() -> Self {
          15  +
        Self {}
  120     16   
    }
  121     17   
    fn __repr__(&self) -> String {
  122     18   
        format!("{self:?}")
  123     19   
    }
  124     20   
    fn __str__(&self) -> String {
  125     21   
        format!("{self:?}")
  126     22   
    }
  127     23   
}
  128         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OperationWithDefaultsInput> {
          24  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NoInputAndNoOutputInput> {
  129     25   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  130         -
        ob.extract::<OperationWithDefaultsInput>().map(Box::new)
          26  +
        ob.extract::<NoInputAndNoOutputInput>().map(Box::new)
  131     27   
    }
  132     28   
}
  133     29   
  134         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithDefaultsInput> {
          30  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NoInputAndNoOutputInput> {
  135     31   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  136     32   
        (*self).into_py(py)
  137     33   
    }
  138     34   
}
  139         -
impl crate::constrained::Constrained for crate::input::OperationWithDefaultsInput {
  140         -
    type Unconstrained = crate::input::operation_with_defaults_input_internal::Builder;
          35  +
impl crate::constrained::Constrained for crate::input::NoInputAndNoOutputInput {
          36  +
    type Unconstrained = crate::input::no_input_and_no_output_input_internal::Builder;
  141     37   
}
  142         -
impl OperationWithDefaultsInput {
  143         -
    /// Creates a new builder-style object to manufacture [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
  144         -
    pub fn builder() -> crate::input::operation_with_defaults_input::Builder {
  145         -
        crate::input::operation_with_defaults_input::Builder::default()
          38  +
impl NoInputAndNoOutputInput {
          39  +
    /// Creates a new builder-style object to manufacture [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
          40  +
    pub fn builder() -> crate::input::no_input_and_no_output_input::Builder {
          41  +
        crate::input::no_input_and_no_output_input::Builder::default()
  146     42   
    }
  147     43   
}
  148     44   
  149     45   
#[::pyo3::pyclass]
  150         -
/// :param value typing.Optional\[int\]:
  151     46   
/// :rtype None:
  152     47   
#[allow(missing_docs)] // documentation missing in model
  153     48   
#[derive(
  154     49   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  155     50   
)]
  156         -
pub struct ContentTypeParametersInput {
  157         -
    #[pyo3(get, set)]
  158         -
    /// :type typing.Optional\[int\]:
  159         -
    #[allow(missing_docs)] // documentation missing in model
  160         -
    pub value: ::std::option::Option<i32>,
  161         -
}
  162         -
impl ContentTypeParametersInput {
  163         -
    #[allow(missing_docs)] // documentation missing in model
  164         -
    pub fn value(&self) -> ::std::option::Option<i32> {
  165         -
        self.value
  166         -
    }
  167         -
}
          51  +
pub struct NoInputAndOutputInput {}
  168     52   
#[allow(clippy::new_without_default)]
  169     53   
#[allow(clippy::too_many_arguments)]
  170     54   
#[::pyo3::pymethods]
  171         -
impl ContentTypeParametersInput {
          55  +
impl NoInputAndOutputInput {
  172     56   
    #[new]
  173         -
    pub fn new(value: ::std::option::Option<i32>) -> Self {
  174         -
        Self { value }
          57  +
    pub fn new() -> Self {
          58  +
        Self {}
  175     59   
    }
  176     60   
    fn __repr__(&self) -> String {
  177     61   
        format!("{self:?}")
  178     62   
    }
  179     63   
    fn __str__(&self) -> String {
  180     64   
        format!("{self:?}")
  181     65   
    }
  182     66   
}
  183         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ContentTypeParametersInput> {
          67  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NoInputAndOutputInput> {
  184     68   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  185         -
        ob.extract::<ContentTypeParametersInput>().map(Box::new)
          69  +
        ob.extract::<NoInputAndOutputInput>().map(Box::new)
  186     70   
    }
  187     71   
}
  188     72   
  189         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ContentTypeParametersInput> {
          73  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NoInputAndOutputInput> {
  190     74   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  191     75   
        (*self).into_py(py)
  192     76   
    }
  193     77   
}
  194         -
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
  195         -
    type Unconstrained = crate::input::content_type_parameters_input_internal::Builder;
          78  +
impl crate::constrained::Constrained for crate::input::NoInputAndOutputInput {
          79  +
    type Unconstrained = crate::input::no_input_and_output_input_internal::Builder;
  196     80   
}
  197         -
impl ContentTypeParametersInput {
  198         -
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
  199         -
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
  200         -
        crate::input::content_type_parameters_input::Builder::default()
          81  +
impl NoInputAndOutputInput {
          82  +
    /// Creates a new builder-style object to manufacture [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
          83  +
    pub fn builder() -> crate::input::no_input_and_output_input::Builder {
          84  +
        crate::input::no_input_and_output_input::Builder::default()
  201     85   
    }
  202     86   
}
  203     87   
  204     88   
#[::pyo3::pyclass]
  205         -
/// :param encoding typing.Optional\[str\]:
  206         -
/// :param data typing.Optional\[str\]:
  207     89   
/// :rtype None:
  208     90   
#[allow(missing_docs)] // documentation missing in model
  209     91   
#[derive(
  210     92   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  211     93   
)]
  212         -
pub struct PutWithContentEncodingInput {
  213         -
    #[pyo3(get, set)]
  214         -
    /// :type typing.Optional\[str\]:
  215         -
    #[allow(missing_docs)] // documentation missing in model
  216         -
    pub encoding: ::std::option::Option<::std::string::String>,
  217         -
    #[pyo3(get, set)]
  218         -
    /// :type typing.Optional\[str\]:
  219         -
    #[allow(missing_docs)] // documentation missing in model
  220         -
    pub data: ::std::option::Option<::std::string::String>,
  221         -
}
  222         -
impl PutWithContentEncodingInput {
  223         -
    #[allow(missing_docs)] // documentation missing in model
  224         -
    pub fn encoding(&self) -> ::std::option::Option<&str> {
  225         -
        self.encoding.as_deref()
  226         -
    }
  227         -
    #[allow(missing_docs)] // documentation missing in model
  228         -
    pub fn data(&self) -> ::std::option::Option<&str> {
  229         -
        self.data.as_deref()
  230         -
    }
  231         -
}
          94  +
pub struct EmptyInputAndEmptyOutputInput {}
  232     95   
#[allow(clippy::new_without_default)]
  233     96   
#[allow(clippy::too_many_arguments)]
  234     97   
#[::pyo3::pymethods]
  235         -
impl PutWithContentEncodingInput {
          98  +
impl EmptyInputAndEmptyOutputInput {
  236     99   
    #[new]
  237         -
    pub fn new(
  238         -
        encoding: ::std::option::Option<::std::string::String>,
  239         -
        data: ::std::option::Option<::std::string::String>,
  240         -
    ) -> Self {
  241         -
        Self { encoding, data }
         100  +
    pub fn new() -> Self {
         101  +
        Self {}
  242    102   
    }
  243    103   
    fn __repr__(&self) -> String {
  244    104   
        format!("{self:?}")
  245    105   
    }
  246    106   
    fn __str__(&self) -> String {
  247    107   
        format!("{self:?}")
  248    108   
    }
  249    109   
}
  250         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutWithContentEncodingInput> {
         110  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyInputAndEmptyOutputInput> {
  251    111   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  252         -
        ob.extract::<PutWithContentEncodingInput>().map(Box::new)
         112  +
        ob.extract::<EmptyInputAndEmptyOutputInput>().map(Box::new)
  253    113   
    }
  254    114   
}
  255    115   
  256         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutWithContentEncodingInput> {
         116  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyInputAndEmptyOutputInput> {
  257    117   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  258    118   
        (*self).into_py(py)
  259    119   
    }
  260    120   
}
  261         -
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
  262         -
    type Unconstrained = crate::input::put_with_content_encoding_input_internal::Builder;
         121  +
impl crate::constrained::Constrained for crate::input::EmptyInputAndEmptyOutputInput {
         122  +
    type Unconstrained = crate::input::empty_input_and_empty_output_input_internal::Builder;
  263    123   
}
  264         -
impl PutWithContentEncodingInput {
  265         -
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
  266         -
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
  267         -
        crate::input::put_with_content_encoding_input::Builder::default()
         124  +
impl EmptyInputAndEmptyOutputInput {
         125  +
    /// Creates a new builder-style object to manufacture [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
         126  +
    pub fn builder() -> crate::input::empty_input_and_empty_output_input::Builder {
         127  +
        crate::input::empty_input_and_empty_output_input::Builder::default()
  268    128   
    }
  269    129   
}
  270    130   
  271    131   
#[::pyo3::pyclass]
  272    132   
/// :rtype None:
  273    133   
#[allow(missing_docs)] // documentation missing in model
  274    134   
#[derive(
  275    135   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  276    136   
)]
  277         -
pub struct FractionalSecondsInput {}
         137  +
pub struct UnitInputAndOutputInput {}
  278    138   
#[allow(clippy::new_without_default)]
  279    139   
#[allow(clippy::too_many_arguments)]
  280    140   
#[::pyo3::pymethods]
  281         -
impl FractionalSecondsInput {
         141  +
impl UnitInputAndOutputInput {
  282    142   
    #[new]
  283    143   
    pub fn new() -> Self {
  284    144   
        Self {}
  285    145   
    }
  286    146   
    fn __repr__(&self) -> String {
  287    147   
        format!("{self:?}")
  288    148   
    }
  289    149   
    fn __str__(&self) -> String {
  290    150   
        format!("{self:?}")
  291    151   
    }
  292    152   
}
  293         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<FractionalSecondsInput> {
         153  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<UnitInputAndOutputInput> {
  294    154   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  295         -
        ob.extract::<FractionalSecondsInput>().map(Box::new)
         155  +
        ob.extract::<UnitInputAndOutputInput>().map(Box::new)
  296    156   
    }
  297    157   
}
  298    158   
  299         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<FractionalSecondsInput> {
         159  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<UnitInputAndOutputInput> {
  300    160   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  301    161   
        (*self).into_py(py)
  302    162   
    }
  303    163   
}
  304         -
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
  305         -
    type Unconstrained = crate::input::fractional_seconds_input_internal::Builder;
         164  +
impl crate::constrained::Constrained for crate::input::UnitInputAndOutputInput {
         165  +
    type Unconstrained = crate::input::unit_input_and_output_input_internal::Builder;
  306    166   
}
  307         -
impl FractionalSecondsInput {
  308         -
    /// Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
  309         -
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
  310         -
        crate::input::fractional_seconds_input::Builder::default()
         167  +
impl UnitInputAndOutputInput {
         168  +
    /// Creates a new builder-style object to manufacture [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
         169  +
    pub fn builder() -> crate::input::unit_input_and_output_input::Builder {
         170  +
        crate::input::unit_input_and_output_input::Builder::default()
  311    171   
    }
  312    172   
}
  313    173   
  314    174   
#[::pyo3::pyclass]
  315         -
/// :rtype None:
  316         -
#[allow(missing_docs)] // documentation missing in model
  317         -
#[derive(
  318         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  319         -
)]
  320         -
pub struct DatetimeOffsetsInput {}
  321         -
#[allow(clippy::new_without_default)]
  322         -
#[allow(clippy::too_many_arguments)]
  323         -
#[::pyo3::pymethods]
  324         -
impl DatetimeOffsetsInput {
  325         -
    #[new]
  326         -
    pub fn new() -> Self {
  327         -
        Self {}
         175  +
/// :param header_string typing.Optional\[str\]:
         176  +
/// :param header_byte typing.Optional\[int\]:
         177  +
/// :param header_short typing.Optional\[int\]:
         178  +
/// :param header_integer typing.Optional\[int\]:
         179  +
/// :param header_long typing.Optional\[int\]:
         180  +
/// :param header_float typing.Optional\[float\]:
         181  +
/// :param header_double typing.Optional\[float\]:
         182  +
/// :param header_true_bool typing.Optional\[bool\]:
         183  +
/// :param header_false_bool typing.Optional\[bool\]:
         184  +
/// :param header_string_list typing.Optional\[typing.List\[str\]\]:
         185  +
/// :param header_string_set typing.Optional\[typing.List\[str\]\]:
         186  +
/// :param header_integer_list typing.Optional\[typing.List\[int\]\]:
         187  +
/// :param header_boolean_list typing.Optional\[typing.List\[bool\]\]:
         188  +
/// :param header_timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
         189  +
/// :param header_enum typing.Optional\[rest_json.model.FooEnum\]:
         190  +
/// :param header_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
         191  +
/// :param header_integer_enum typing.Optional\[int\]:
         192  +
/// :param header_integer_enum_list typing.Optional\[typing.List\[int\]\]:
         193  +
/// :rtype None:
         194  +
#[allow(missing_docs)] // documentation missing in model
         195  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         196  +
pub struct InputAndOutputWithHeadersInput {
         197  +
    #[pyo3(get, set)]
         198  +
    /// :type typing.Optional\[str\]:
         199  +
    #[allow(missing_docs)] // documentation missing in model
         200  +
    pub header_string: ::std::option::Option<::std::string::String>,
         201  +
    #[pyo3(get, set)]
         202  +
    /// :type typing.Optional\[int\]:
         203  +
    #[allow(missing_docs)] // documentation missing in model
         204  +
    pub header_byte: ::std::option::Option<i8>,
         205  +
    #[pyo3(get, set)]
         206  +
    /// :type typing.Optional\[int\]:
         207  +
    #[allow(missing_docs)] // documentation missing in model
         208  +
    pub header_short: ::std::option::Option<i16>,
         209  +
    #[pyo3(get, set)]
         210  +
    /// :type typing.Optional\[int\]:
         211  +
    #[allow(missing_docs)] // documentation missing in model
         212  +
    pub header_integer: ::std::option::Option<i32>,
         213  +
    #[pyo3(get, set)]
         214  +
    /// :type typing.Optional\[int\]:
         215  +
    #[allow(missing_docs)] // documentation missing in model
         216  +
    pub header_long: ::std::option::Option<i64>,
         217  +
    #[pyo3(get, set)]
         218  +
    /// :type typing.Optional\[float\]:
         219  +
    #[allow(missing_docs)] // documentation missing in model
         220  +
    pub header_float: ::std::option::Option<f32>,
         221  +
    #[pyo3(get, set)]
         222  +
    /// :type typing.Optional\[float\]:
         223  +
    #[allow(missing_docs)] // documentation missing in model
         224  +
    pub header_double: ::std::option::Option<f64>,
         225  +
    #[pyo3(get, set)]
         226  +
    /// :type typing.Optional\[bool\]:
         227  +
    #[allow(missing_docs)] // documentation missing in model
         228  +
    pub header_true_bool: ::std::option::Option<bool>,
         229  +
    #[pyo3(get, set)]
         230  +
    /// :type typing.Optional\[bool\]:
         231  +
    #[allow(missing_docs)] // documentation missing in model
         232  +
    pub header_false_bool: ::std::option::Option<bool>,
         233  +
    #[pyo3(get, set)]
         234  +
    /// :type typing.Optional\[typing.List\[str\]\]:
         235  +
    #[allow(missing_docs)] // documentation missing in model
         236  +
    pub header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         237  +
    #[pyo3(get, set)]
         238  +
    /// :type typing.Optional\[typing.List\[str\]\]:
         239  +
    #[allow(missing_docs)] // documentation missing in model
         240  +
    pub header_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         241  +
    #[pyo3(get, set)]
         242  +
    /// :type typing.Optional\[typing.List\[int\]\]:
         243  +
    #[allow(missing_docs)] // documentation missing in model
         244  +
    pub header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
         245  +
    #[pyo3(get, set)]
         246  +
    /// :type typing.Optional\[typing.List\[bool\]\]:
         247  +
    #[allow(missing_docs)] // documentation missing in model
         248  +
    pub header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
         249  +
    #[pyo3(get, set)]
         250  +
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
         251  +
    #[allow(missing_docs)] // documentation missing in model
         252  +
    pub header_timestamp_list:
         253  +
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
         254  +
    #[pyo3(get, set)]
         255  +
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
         256  +
    #[allow(missing_docs)] // documentation missing in model
         257  +
    pub header_enum: ::std::option::Option<crate::model::FooEnum>,
         258  +
    #[pyo3(get, set)]
         259  +
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
         260  +
    #[allow(missing_docs)] // documentation missing in model
         261  +
    pub header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         262  +
    #[pyo3(get, set)]
         263  +
    /// :type typing.Optional\[int\]:
         264  +
    #[allow(missing_docs)] // documentation missing in model
         265  +
    pub header_integer_enum: ::std::option::Option<i32>,
         266  +
    #[pyo3(get, set)]
         267  +
    /// :type typing.Optional\[typing.List\[int\]\]:
         268  +
    #[allow(missing_docs)] // documentation missing in model
         269  +
    pub header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         270  +
}
         271  +
impl InputAndOutputWithHeadersInput {
         272  +
    #[allow(missing_docs)] // documentation missing in model
         273  +
    pub fn header_string(&self) -> ::std::option::Option<&str> {
         274  +
        self.header_string.as_deref()
  328    275   
    }
  329         -
    fn __repr__(&self) -> String {
  330         -
        format!("{self:?}")
         276  +
    #[allow(missing_docs)] // documentation missing in model
         277  +
    pub fn header_byte(&self) -> ::std::option::Option<i8> {
         278  +
        self.header_byte
  331    279   
    }
  332         -
    fn __str__(&self) -> String {
  333         -
        format!("{self:?}")
         280  +
    #[allow(missing_docs)] // documentation missing in model
         281  +
    pub fn header_short(&self) -> ::std::option::Option<i16> {
         282  +
        self.header_short
  334    283   
    }
  335         -
}
  336         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DatetimeOffsetsInput> {
  337         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  338         -
        ob.extract::<DatetimeOffsetsInput>().map(Box::new)
         284  +
    #[allow(missing_docs)] // documentation missing in model
         285  +
    pub fn header_integer(&self) -> ::std::option::Option<i32> {
         286  +
        self.header_integer
  339    287   
    }
  340         -
}
  341         -
  342         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DatetimeOffsetsInput> {
  343         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  344         -
        (*self).into_py(py)
         288  +
    #[allow(missing_docs)] // documentation missing in model
         289  +
    pub fn header_long(&self) -> ::std::option::Option<i64> {
         290  +
        self.header_long
  345    291   
    }
  346         -
}
  347         -
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
  348         -
    type Unconstrained = crate::input::datetime_offsets_input_internal::Builder;
  349         -
}
  350         -
impl DatetimeOffsetsInput {
  351         -
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
  352         -
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
  353         -
        crate::input::datetime_offsets_input::Builder::default()
         292  +
    #[allow(missing_docs)] // documentation missing in model
         293  +
    pub fn header_float(&self) -> ::std::option::Option<f32> {
         294  +
        self.header_float
         295  +
    }
         296  +
    #[allow(missing_docs)] // documentation missing in model
         297  +
    pub fn header_double(&self) -> ::std::option::Option<f64> {
         298  +
        self.header_double
         299  +
    }
         300  +
    #[allow(missing_docs)] // documentation missing in model
         301  +
    pub fn header_true_bool(&self) -> ::std::option::Option<bool> {
         302  +
        self.header_true_bool
         303  +
    }
         304  +
    #[allow(missing_docs)] // documentation missing in model
         305  +
    pub fn header_false_bool(&self) -> ::std::option::Option<bool> {
         306  +
        self.header_false_bool
         307  +
    }
         308  +
    #[allow(missing_docs)] // documentation missing in model
         309  +
    pub fn header_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
         310  +
        self.header_string_list.as_deref()
         311  +
    }
         312  +
    #[allow(missing_docs)] // documentation missing in model
         313  +
    pub fn header_string_set(&self) -> ::std::option::Option<&[::std::string::String]> {
         314  +
        self.header_string_set.as_deref()
         315  +
    }
         316  +
    #[allow(missing_docs)] // documentation missing in model
         317  +
    pub fn header_integer_list(&self) -> ::std::option::Option<&[i32]> {
         318  +
        self.header_integer_list.as_deref()
         319  +
    }
         320  +
    #[allow(missing_docs)] // documentation missing in model
         321  +
    pub fn header_boolean_list(&self) -> ::std::option::Option<&[bool]> {
         322  +
        self.header_boolean_list.as_deref()
         323  +
    }
         324  +
    #[allow(missing_docs)] // documentation missing in model
         325  +
    pub fn header_timestamp_list(
         326  +
        &self,
         327  +
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
         328  +
        self.header_timestamp_list.as_deref()
         329  +
    }
         330  +
    #[allow(missing_docs)] // documentation missing in model
         331  +
    pub fn header_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         332  +
        self.header_enum.as_ref()
         333  +
    }
         334  +
    #[allow(missing_docs)] // documentation missing in model
         335  +
    pub fn header_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         336  +
        self.header_enum_list.as_deref()
         337  +
    }
         338  +
    #[allow(missing_docs)] // documentation missing in model
         339  +
    pub fn header_integer_enum(&self) -> ::std::option::Option<i32> {
         340  +
        self.header_integer_enum
         341  +
    }
         342  +
    #[allow(missing_docs)] // documentation missing in model
         343  +
    pub fn header_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
         344  +
        self.header_integer_enum_list.as_deref()
  354    345   
    }
  355    346   
}
  356         -
  357         -
#[::pyo3::pyclass]
  358         -
/// :rtype None:
  359         -
#[allow(missing_docs)] // documentation missing in model
  360         -
#[derive(
  361         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  362         -
)]
  363         -
pub struct TestPostNoInputNoPayloadInput {}
  364    347   
#[allow(clippy::new_without_default)]
  365    348   
#[allow(clippy::too_many_arguments)]
  366    349   
#[::pyo3::pymethods]
  367         -
impl TestPostNoInputNoPayloadInput {
         350  +
impl InputAndOutputWithHeadersInput {
  368    351   
    #[new]
  369         -
    pub fn new() -> Self {
  370         -
        Self {}
         352  +
    pub fn new(
         353  +
        header_string: ::std::option::Option<::std::string::String>,
         354  +
        header_byte: ::std::option::Option<i8>,
         355  +
        header_short: ::std::option::Option<i16>,
         356  +
        header_integer: ::std::option::Option<i32>,
         357  +
        header_long: ::std::option::Option<i64>,
         358  +
        header_float: ::std::option::Option<f32>,
         359  +
        header_double: ::std::option::Option<f64>,
         360  +
        header_true_bool: ::std::option::Option<bool>,
         361  +
        header_false_bool: ::std::option::Option<bool>,
         362  +
        header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         363  +
        header_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         364  +
        header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
         365  +
        header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
         366  +
        header_timestamp_list: ::std::option::Option<
         367  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
         368  +
        >,
         369  +
        header_enum: ::std::option::Option<crate::model::FooEnum>,
         370  +
        header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         371  +
        header_integer_enum: ::std::option::Option<i32>,
         372  +
        header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         373  +
    ) -> Self {
         374  +
        Self {
         375  +
            header_string,
         376  +
            header_byte,
         377  +
            header_short,
         378  +
            header_integer,
         379  +
            header_long,
         380  +
            header_float,
         381  +
            header_double,
         382  +
            header_true_bool,
         383  +
            header_false_bool,
         384  +
            header_string_list,
         385  +
            header_string_set,
         386  +
            header_integer_list,
         387  +
            header_boolean_list,
         388  +
            header_timestamp_list,
         389  +
            header_enum,
         390  +
            header_enum_list,
         391  +
            header_integer_enum,
         392  +
            header_integer_enum_list,
         393  +
        }
  371    394   
    }
  372    395   
    fn __repr__(&self) -> String {
  373    396   
        format!("{self:?}")
  374    397   
    }
  375    398   
    fn __str__(&self) -> String {
  376    399   
        format!("{self:?}")
  377    400   
    }
  378    401   
}
  379         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPostNoInputNoPayloadInput> {
         402  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<InputAndOutputWithHeadersInput> {
  380    403   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  381         -
        ob.extract::<TestPostNoInputNoPayloadInput>().map(Box::new)
         404  +
        ob.extract::<InputAndOutputWithHeadersInput>().map(Box::new)
  382    405   
    }
  383    406   
}
  384    407   
  385         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPostNoInputNoPayloadInput> {
         408  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<InputAndOutputWithHeadersInput> {
  386    409   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  387    410   
        (*self).into_py(py)
  388    411   
    }
  389    412   
}
  390         -
impl crate::constrained::Constrained for crate::input::TestPostNoInputNoPayloadInput {
  391         -
    type Unconstrained = crate::input::test_post_no_input_no_payload_input_internal::Builder;
         413  +
impl crate::constrained::Constrained for crate::input::InputAndOutputWithHeadersInput {
         414  +
    type Unconstrained = crate::input::input_and_output_with_headers_input_internal::Builder;
  392    415   
}
  393         -
impl TestPostNoInputNoPayloadInput {
  394         -
    /// Creates a new builder-style object to manufacture [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
  395         -
    pub fn builder() -> crate::input::test_post_no_input_no_payload_input::Builder {
  396         -
        crate::input::test_post_no_input_no_payload_input::Builder::default()
         416  +
impl InputAndOutputWithHeadersInput {
         417  +
    /// Creates a new builder-style object to manufacture [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
         418  +
    pub fn builder() -> crate::input::input_and_output_with_headers_input::Builder {
         419  +
        crate::input::input_and_output_with_headers_input::Builder::default()
  397    420   
    }
  398    421   
}
  399    422   
  400    423   
#[::pyo3::pyclass]
         424  +
/// :param a typing.Optional\[str\]:
         425  +
/// :param b typing.Optional\[str\]:
         426  +
/// :param c typing.Optional\[typing.List\[str\]\]:
  401    427   
/// :rtype None:
  402    428   
#[allow(missing_docs)] // documentation missing in model
  403    429   
#[derive(
  404    430   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  405    431   
)]
  406         -
pub struct TestGetNoInputNoPayloadInput {}
         432  +
pub struct NullAndEmptyHeadersClientInput {
         433  +
    #[pyo3(get, set)]
         434  +
    /// :type typing.Optional\[str\]:
         435  +
    #[allow(missing_docs)] // documentation missing in model
         436  +
    pub a: ::std::option::Option<::std::string::String>,
         437  +
    #[pyo3(get, set)]
         438  +
    /// :type typing.Optional\[str\]:
         439  +
    #[allow(missing_docs)] // documentation missing in model
         440  +
    pub b: ::std::option::Option<::std::string::String>,
         441  +
    #[pyo3(get, set)]
         442  +
    /// :type typing.Optional\[typing.List\[str\]\]:
         443  +
    #[allow(missing_docs)] // documentation missing in model
         444  +
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         445  +
}
         446  +
impl NullAndEmptyHeadersClientInput {
         447  +
    #[allow(missing_docs)] // documentation missing in model
         448  +
    pub fn a(&self) -> ::std::option::Option<&str> {
         449  +
        self.a.as_deref()
         450  +
    }
         451  +
    #[allow(missing_docs)] // documentation missing in model
         452  +
    pub fn b(&self) -> ::std::option::Option<&str> {
         453  +
        self.b.as_deref()
         454  +
    }
         455  +
    #[allow(missing_docs)] // documentation missing in model
         456  +
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
         457  +
        self.c.as_deref()
         458  +
    }
         459  +
}
  407    460   
#[allow(clippy::new_without_default)]
  408    461   
#[allow(clippy::too_many_arguments)]
  409    462   
#[::pyo3::pymethods]
  410         -
impl TestGetNoInputNoPayloadInput {
         463  +
impl NullAndEmptyHeadersClientInput {
  411    464   
    #[new]
  412         -
    pub fn new() -> Self {
  413         -
        Self {}
         465  +
    pub fn new(
         466  +
        a: ::std::option::Option<::std::string::String>,
         467  +
        b: ::std::option::Option<::std::string::String>,
         468  +
        c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         469  +
    ) -> Self {
         470  +
        Self { a, b, c }
  414    471   
    }
  415    472   
    fn __repr__(&self) -> String {
  416    473   
        format!("{self:?}")
  417    474   
    }
  418    475   
    fn __str__(&self) -> String {
  419    476   
        format!("{self:?}")
  420    477   
    }
  421    478   
}
  422         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestGetNoInputNoPayloadInput> {
         479  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullAndEmptyHeadersClientInput> {
  423    480   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  424         -
        ob.extract::<TestGetNoInputNoPayloadInput>().map(Box::new)
         481  +
        ob.extract::<NullAndEmptyHeadersClientInput>().map(Box::new)
  425    482   
    }
  426    483   
}
  427    484   
  428         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestGetNoInputNoPayloadInput> {
         485  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullAndEmptyHeadersClientInput> {
  429    486   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  430    487   
        (*self).into_py(py)
  431    488   
    }
  432    489   
}
  433         -
impl crate::constrained::Constrained for crate::input::TestGetNoInputNoPayloadInput {
  434         -
    type Unconstrained = crate::input::test_get_no_input_no_payload_input_internal::Builder;
         490  +
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersClientInput {
         491  +
    type Unconstrained = crate::input::null_and_empty_headers_client_input_internal::Builder;
  435    492   
}
  436         -
impl TestGetNoInputNoPayloadInput {
  437         -
    /// Creates a new builder-style object to manufacture [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
  438         -
    pub fn builder() -> crate::input::test_get_no_input_no_payload_input::Builder {
  439         -
        crate::input::test_get_no_input_no_payload_input::Builder::default()
         493  +
impl NullAndEmptyHeadersClientInput {
         494  +
    /// Creates a new builder-style object to manufacture [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
         495  +
    pub fn builder() -> crate::input::null_and_empty_headers_client_input::Builder {
         496  +
        crate::input::null_and_empty_headers_client_input::Builder::default()
  440    497   
    }
  441    498   
}
  442    499   
  443    500   
#[::pyo3::pyclass]
  444         -
/// :param test_id typing.Optional\[str\]:
         501  +
/// :param a typing.Optional\[str\]:
         502  +
/// :param b typing.Optional\[str\]:
         503  +
/// :param c typing.Optional\[typing.List\[str\]\]:
  445    504   
/// :rtype None:
  446    505   
#[allow(missing_docs)] // documentation missing in model
  447    506   
#[derive(
  448    507   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  449    508   
)]
  450         -
pub struct TestPostNoPayloadInput {
         509  +
pub struct NullAndEmptyHeadersServerInput {
  451    510   
    #[pyo3(get, set)]
  452    511   
    /// :type typing.Optional\[str\]:
  453    512   
    #[allow(missing_docs)] // documentation missing in model
  454         -
    pub test_id: ::std::option::Option<::std::string::String>,
         513  +
    pub a: ::std::option::Option<::std::string::String>,
         514  +
    #[pyo3(get, set)]
         515  +
    /// :type typing.Optional\[str\]:
         516  +
    #[allow(missing_docs)] // documentation missing in model
         517  +
    pub b: ::std::option::Option<::std::string::String>,
         518  +
    #[pyo3(get, set)]
         519  +
    /// :type typing.Optional\[typing.List\[str\]\]:
         520  +
    #[allow(missing_docs)] // documentation missing in model
         521  +
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  455    522   
}
  456         -
impl TestPostNoPayloadInput {
         523  +
impl NullAndEmptyHeadersServerInput {
  457    524   
    #[allow(missing_docs)] // documentation missing in model
  458         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  459         -
        self.test_id.as_deref()
         525  +
    pub fn a(&self) -> ::std::option::Option<&str> {
         526  +
        self.a.as_deref()
         527  +
    }
         528  +
    #[allow(missing_docs)] // documentation missing in model
         529  +
    pub fn b(&self) -> ::std::option::Option<&str> {
         530  +
        self.b.as_deref()
         531  +
    }
         532  +
    #[allow(missing_docs)] // documentation missing in model
         533  +
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
         534  +
        self.c.as_deref()
  460    535   
    }
  461    536   
}
  462    537   
#[allow(clippy::new_without_default)]
  463    538   
#[allow(clippy::too_many_arguments)]
  464    539   
#[::pyo3::pymethods]
  465         -
impl TestPostNoPayloadInput {
         540  +
impl NullAndEmptyHeadersServerInput {
  466    541   
    #[new]
  467         -
    pub fn new(test_id: ::std::option::Option<::std::string::String>) -> Self {
  468         -
        Self { test_id }
         542  +
    pub fn new(
         543  +
        a: ::std::option::Option<::std::string::String>,
         544  +
        b: ::std::option::Option<::std::string::String>,
         545  +
        c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         546  +
    ) -> Self {
         547  +
        Self { a, b, c }
  469    548   
    }
  470    549   
    fn __repr__(&self) -> String {
  471    550   
        format!("{self:?}")
  472    551   
    }
  473    552   
    fn __str__(&self) -> String {
  474    553   
        format!("{self:?}")
  475    554   
    }
  476    555   
}
  477         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPostNoPayloadInput> {
         556  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullAndEmptyHeadersServerInput> {
  478    557   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  479         -
        ob.extract::<TestPostNoPayloadInput>().map(Box::new)
         558  +
        ob.extract::<NullAndEmptyHeadersServerInput>().map(Box::new)
  480    559   
    }
  481    560   
}
  482    561   
  483         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPostNoPayloadInput> {
         562  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullAndEmptyHeadersServerInput> {
  484    563   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  485    564   
        (*self).into_py(py)
  486    565   
    }
  487    566   
}
  488         -
impl crate::constrained::Constrained for crate::input::TestPostNoPayloadInput {
  489         -
    type Unconstrained = crate::input::test_post_no_payload_input_internal::Builder;
         567  +
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersServerInput {
         568  +
    type Unconstrained = crate::input::null_and_empty_headers_server_input_internal::Builder;
  490    569   
}
  491         -
impl TestPostNoPayloadInput {
  492         -
    /// Creates a new builder-style object to manufacture [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
  493         -
    pub fn builder() -> crate::input::test_post_no_payload_input::Builder {
  494         -
        crate::input::test_post_no_payload_input::Builder::default()
         570  +
impl NullAndEmptyHeadersServerInput {
         571  +
    /// Creates a new builder-style object to manufacture [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
         572  +
    pub fn builder() -> crate::input::null_and_empty_headers_server_input::Builder {
         573  +
        crate::input::null_and_empty_headers_server_input::Builder::default()
  495    574   
    }
  496    575   
}
  497    576   
  498    577   
#[::pyo3::pyclass]
  499         -
/// :param test_id typing.Optional\[str\]:
         578  +
/// :param member_epoch_seconds typing.Optional\[rest_json.types.DateTime\]:
         579  +
/// :param member_http_date typing.Optional\[rest_json.types.DateTime\]:
         580  +
/// :param member_date_time typing.Optional\[rest_json.types.DateTime\]:
         581  +
/// :param default_format typing.Optional\[rest_json.types.DateTime\]:
         582  +
/// :param target_epoch_seconds typing.Optional\[rest_json.types.DateTime\]:
         583  +
/// :param target_http_date typing.Optional\[rest_json.types.DateTime\]:
         584  +
/// :param target_date_time typing.Optional\[rest_json.types.DateTime\]:
  500    585   
/// :rtype None:
  501    586   
#[allow(missing_docs)] // documentation missing in model
  502    587   
#[derive(
  503    588   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  504    589   
)]
  505         -
pub struct TestGetNoPayloadInput {
         590  +
pub struct TimestampFormatHeadersInput {
  506    591   
    #[pyo3(get, set)]
  507         -
    /// :type typing.Optional\[str\]:
         592  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
  508    593   
    #[allow(missing_docs)] // documentation missing in model
  509         -
    pub test_id: ::std::option::Option<::std::string::String>,
         594  +
    pub member_epoch_seconds:
         595  +
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         596  +
    #[pyo3(get, set)]
         597  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
         598  +
    #[allow(missing_docs)] // documentation missing in model
         599  +
    pub member_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         600  +
    #[pyo3(get, set)]
         601  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
         602  +
    #[allow(missing_docs)] // documentation missing in model
         603  +
    pub member_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         604  +
    #[pyo3(get, set)]
         605  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
         606  +
    #[allow(missing_docs)] // documentation missing in model
         607  +
    pub default_format: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         608  +
    #[pyo3(get, set)]
         609  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
         610  +
    #[allow(missing_docs)] // documentation missing in model
         611  +
    pub target_epoch_seconds:
         612  +
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         613  +
    #[pyo3(get, set)]
         614  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
         615  +
    #[allow(missing_docs)] // documentation missing in model
         616  +
    pub target_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         617  +
    #[pyo3(get, set)]
         618  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
         619  +
    #[allow(missing_docs)] // documentation missing in model
         620  +
    pub target_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  510    621   
}
  511         -
impl TestGetNoPayloadInput {
         622  +
impl TimestampFormatHeadersInput {
  512    623   
    #[allow(missing_docs)] // documentation missing in model
  513         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  514         -
        self.test_id.as_deref()
         624  +
    pub fn member_epoch_seconds(
         625  +
        &self,
         626  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         627  +
        self.member_epoch_seconds.as_ref()
         628  +
    }
         629  +
    #[allow(missing_docs)] // documentation missing in model
         630  +
    pub fn member_http_date(
         631  +
        &self,
         632  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         633  +
        self.member_http_date.as_ref()
         634  +
    }
         635  +
    #[allow(missing_docs)] // documentation missing in model
         636  +
    pub fn member_date_time(
         637  +
        &self,
         638  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         639  +
        self.member_date_time.as_ref()
         640  +
    }
         641  +
    #[allow(missing_docs)] // documentation missing in model
         642  +
    pub fn default_format(
         643  +
        &self,
         644  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         645  +
        self.default_format.as_ref()
         646  +
    }
         647  +
    #[allow(missing_docs)] // documentation missing in model
         648  +
    pub fn target_epoch_seconds(
         649  +
        &self,
         650  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         651  +
        self.target_epoch_seconds.as_ref()
         652  +
    }
         653  +
    #[allow(missing_docs)] // documentation missing in model
         654  +
    pub fn target_http_date(
         655  +
        &self,
         656  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         657  +
        self.target_http_date.as_ref()
         658  +
    }
         659  +
    #[allow(missing_docs)] // documentation missing in model
         660  +
    pub fn target_date_time(
         661  +
        &self,
         662  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         663  +
        self.target_date_time.as_ref()
  515    664   
    }
  516    665   
}
  517    666   
#[allow(clippy::new_without_default)]
  518    667   
#[allow(clippy::too_many_arguments)]
  519    668   
#[::pyo3::pymethods]
  520         -
impl TestGetNoPayloadInput {
         669  +
impl TimestampFormatHeadersInput {
  521    670   
    #[new]
  522         -
    pub fn new(test_id: ::std::option::Option<::std::string::String>) -> Self {
  523         -
        Self { test_id }
         671  +
    pub fn new(
         672  +
        member_epoch_seconds: ::std::option::Option<
         673  +
            ::aws_smithy_http_server_python::types::DateTime,
         674  +
        >,
         675  +
        member_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         676  +
        member_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         677  +
        default_format: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         678  +
        target_epoch_seconds: ::std::option::Option<
         679  +
            ::aws_smithy_http_server_python::types::DateTime,
         680  +
        >,
         681  +
        target_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         682  +
        target_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         683  +
    ) -> Self {
         684  +
        Self {
         685  +
            member_epoch_seconds,
         686  +
            member_http_date,
         687  +
            member_date_time,
         688  +
            default_format,
         689  +
            target_epoch_seconds,
         690  +
            target_http_date,
         691  +
            target_date_time,
         692  +
        }
  524    693   
    }
  525    694   
    fn __repr__(&self) -> String {
  526    695   
        format!("{self:?}")
  527    696   
    }
  528    697   
    fn __str__(&self) -> String {
  529    698   
        format!("{self:?}")
  530    699   
    }
  531    700   
}
  532         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestGetNoPayloadInput> {
         701  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TimestampFormatHeadersInput> {
  533    702   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  534         -
        ob.extract::<TestGetNoPayloadInput>().map(Box::new)
         703  +
        ob.extract::<TimestampFormatHeadersInput>().map(Box::new)
  535    704   
    }
  536    705   
}
  537    706   
  538         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestGetNoPayloadInput> {
         707  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TimestampFormatHeadersInput> {
  539    708   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  540    709   
        (*self).into_py(py)
  541    710   
    }
  542    711   
}
  543         -
impl crate::constrained::Constrained for crate::input::TestGetNoPayloadInput {
  544         -
    type Unconstrained = crate::input::test_get_no_payload_input_internal::Builder;
         712  +
impl crate::constrained::Constrained for crate::input::TimestampFormatHeadersInput {
         713  +
    type Unconstrained = crate::input::timestamp_format_headers_input_internal::Builder;
  545    714   
}
  546         -
impl TestGetNoPayloadInput {
  547         -
    /// Creates a new builder-style object to manufacture [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
  548         -
    pub fn builder() -> crate::input::test_get_no_payload_input::Builder {
  549         -
        crate::input::test_get_no_payload_input::Builder::default()
         715  +
impl TimestampFormatHeadersInput {
         716  +
    /// Creates a new builder-style object to manufacture [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
         717  +
    pub fn builder() -> crate::input::timestamp_format_headers_input::Builder {
         718  +
        crate::input::timestamp_format_headers_input::Builder::default()
  550    719   
    }
  551    720   
}
  552    721   
  553    722   
#[::pyo3::pyclass]
  554         -
/// :param content_type typing.Optional\[str\]:
  555         -
/// :param data typing.Optional\[rest_json.types.Blob\]:
         723  +
/// :param json typing.Optional\[str\]:
  556    724   
/// :rtype None:
  557    725   
#[allow(missing_docs)] // documentation missing in model
  558    726   
#[derive(
  559    727   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  560    728   
)]
  561         -
pub struct TestPayloadBlobInput {
         729  +
pub struct MediaTypeHeaderInput {
  562    730   
    #[pyo3(get, set)]
  563    731   
    /// :type typing.Optional\[str\]:
  564    732   
    #[allow(missing_docs)] // documentation missing in model
  565         -
    pub content_type: ::std::option::Option<::std::string::String>,
  566         -
    #[pyo3(get, set)]
  567         -
    /// :type typing.Optional\[rest_json.types.Blob\]:
  568         -
    #[allow(missing_docs)] // documentation missing in model
  569         -
    pub data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
         733  +
    pub json: ::std::option::Option<::std::string::String>,
  570    734   
}
  571         -
impl TestPayloadBlobInput {
  572         -
    #[allow(missing_docs)] // documentation missing in model
  573         -
    pub fn content_type(&self) -> ::std::option::Option<&str> {
  574         -
        self.content_type.as_deref()
  575         -
    }
         735  +
impl MediaTypeHeaderInput {
  576    736   
    #[allow(missing_docs)] // documentation missing in model
  577         -
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
  578         -
        self.data.as_ref()
         737  +
    pub fn json(&self) -> ::std::option::Option<&str> {
         738  +
        self.json.as_deref()
  579    739   
    }
  580    740   
}
  581    741   
#[allow(clippy::new_without_default)]
  582    742   
#[allow(clippy::too_many_arguments)]
  583    743   
#[::pyo3::pymethods]
  584         -
impl TestPayloadBlobInput {
         744  +
impl MediaTypeHeaderInput {
  585    745   
    #[new]
  586         -
    pub fn new(
  587         -
        content_type: ::std::option::Option<::std::string::String>,
  588         -
        data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
  589         -
    ) -> Self {
  590         -
        Self { content_type, data }
         746  +
    pub fn new(json: ::std::option::Option<::std::string::String>) -> Self {
         747  +
        Self { json }
  591    748   
    }
  592    749   
    fn __repr__(&self) -> String {
  593    750   
        format!("{self:?}")
  594    751   
    }
  595    752   
    fn __str__(&self) -> String {
  596    753   
        format!("{self:?}")
  597    754   
    }
  598    755   
}
  599         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPayloadBlobInput> {
         756  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MediaTypeHeaderInput> {
  600    757   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  601         -
        ob.extract::<TestPayloadBlobInput>().map(Box::new)
         758  +
        ob.extract::<MediaTypeHeaderInput>().map(Box::new)
  602    759   
    }
  603    760   
}
  604    761   
  605         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPayloadBlobInput> {
         762  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MediaTypeHeaderInput> {
  606    763   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  607    764   
        (*self).into_py(py)
  608    765   
    }
  609    766   
}
  610         -
impl crate::constrained::Constrained for crate::input::TestPayloadBlobInput {
  611         -
    type Unconstrained = crate::input::test_payload_blob_input_internal::Builder;
         767  +
impl crate::constrained::Constrained for crate::input::MediaTypeHeaderInput {
         768  +
    type Unconstrained = crate::input::media_type_header_input_internal::Builder;
  612    769   
}
  613         -
impl TestPayloadBlobInput {
  614         -
    /// Creates a new builder-style object to manufacture [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
  615         -
    pub fn builder() -> crate::input::test_payload_blob_input::Builder {
  616         -
        crate::input::test_payload_blob_input::Builder::default()
         770  +
impl MediaTypeHeaderInput {
         771  +
    /// Creates a new builder-style object to manufacture [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
         772  +
    pub fn builder() -> crate::input::media_type_header_input::Builder {
         773  +
        crate::input::media_type_header_input::Builder::default()
  617    774   
    }
  618    775   
}
  619    776   
  620    777   
#[::pyo3::pyclass]
  621         -
/// :param test_id typing.Optional\[str\]:
  622         -
/// :param payload_config typing.Optional\[rest_json.model.PayloadConfig\]:
         778  +
/// :param string str:
         779  +
/// :param short int:
         780  +
/// :param integer int:
         781  +
/// :param long int:
         782  +
/// :param float float:
         783  +
/// :param double float:
         784  +
/// :param boolean bool:
         785  +
/// :param timestamp rest_json.types.DateTime:
  623    786   
/// :rtype None:
  624    787   
#[allow(missing_docs)] // documentation missing in model
  625         -
#[derive(
  626         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  627         -
)]
  628         -
pub struct TestPayloadStructureInput {
         788  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         789  +
pub struct HttpRequestWithLabelsInput {
  629    790   
    #[pyo3(get, set)]
  630         -
    /// :type typing.Optional\[str\]:
         791  +
    /// :type str:
  631    792   
    #[allow(missing_docs)] // documentation missing in model
  632         -
    pub test_id: ::std::option::Option<::std::string::String>,
         793  +
    pub string: ::std::string::String,
  633    794   
    #[pyo3(get, set)]
  634         -
    /// :type typing.Optional\[rest_json.model.PayloadConfig\]:
         795  +
    /// :type int:
  635    796   
    #[allow(missing_docs)] // documentation missing in model
  636         -
    pub payload_config: ::std::option::Option<crate::model::PayloadConfig>,
         797  +
    pub short: i16,
         798  +
    #[pyo3(get, set)]
         799  +
    /// :type int:
         800  +
    #[allow(missing_docs)] // documentation missing in model
         801  +
    pub integer: i32,
         802  +
    #[pyo3(get, set)]
         803  +
    /// :type int:
         804  +
    #[allow(missing_docs)] // documentation missing in model
         805  +
    pub long: i64,
         806  +
    #[pyo3(get, set)]
         807  +
    /// :type float:
         808  +
    #[allow(missing_docs)] // documentation missing in model
         809  +
    pub float: f32,
         810  +
    #[pyo3(get, set)]
         811  +
    /// :type float:
         812  +
    #[allow(missing_docs)] // documentation missing in model
         813  +
    pub double: f64,
         814  +
    #[pyo3(get, set)]
         815  +
    /// :type bool:
         816  +
    /// Serialized in the path as true or false.
         817  +
    pub boolean: bool,
         818  +
    #[pyo3(get, set)]
         819  +
    /// :type rest_json.types.DateTime:
         820  +
    /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
         821  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
  637    822   
}
  638         -
impl TestPayloadStructureInput {
         823  +
impl HttpRequestWithLabelsInput {
  639    824   
    #[allow(missing_docs)] // documentation missing in model
  640         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  641         -
        self.test_id.as_deref()
         825  +
    pub fn string(&self) -> &str {
         826  +
        use std::ops::Deref;
         827  +
        self.string.deref()
  642    828   
    }
  643    829   
    #[allow(missing_docs)] // documentation missing in model
  644         -
    pub fn payload_config(&self) -> ::std::option::Option<&crate::model::PayloadConfig> {
  645         -
        self.payload_config.as_ref()
         830  +
    pub fn short(&self) -> i16 {
         831  +
        self.short
         832  +
    }
         833  +
    #[allow(missing_docs)] // documentation missing in model
         834  +
    pub fn integer(&self) -> i32 {
         835  +
        self.integer
         836  +
    }
         837  +
    #[allow(missing_docs)] // documentation missing in model
         838  +
    pub fn long(&self) -> i64 {
         839  +
        self.long
         840  +
    }
         841  +
    #[allow(missing_docs)] // documentation missing in model
         842  +
    pub fn float(&self) -> f32 {
         843  +
        self.float
         844  +
    }
         845  +
    #[allow(missing_docs)] // documentation missing in model
         846  +
    pub fn double(&self) -> f64 {
         847  +
        self.double
         848  +
    }
         849  +
    /// Serialized in the path as true or false.
         850  +
    pub fn boolean(&self) -> bool {
         851  +
        self.boolean
         852  +
    }
         853  +
    /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
         854  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         855  +
        &self.timestamp
  646    856   
    }
  647    857   
}
  648    858   
#[allow(clippy::new_without_default)]
  649    859   
#[allow(clippy::too_many_arguments)]
  650    860   
#[::pyo3::pymethods]
  651         -
impl TestPayloadStructureInput {
         861  +
impl HttpRequestWithLabelsInput {
  652    862   
    #[new]
  653    863   
    pub fn new(
  654         -
        test_id: ::std::option::Option<::std::string::String>,
  655         -
        payload_config: ::std::option::Option<crate::model::PayloadConfig>,
         864  +
        string: ::std::string::String,
         865  +
        short: i16,
         866  +
        integer: i32,
         867  +
        long: i64,
         868  +
        float: f32,
         869  +
        double: f64,
         870  +
        boolean: bool,
         871  +
        timestamp: ::aws_smithy_http_server_python::types::DateTime,
  656    872   
    ) -> Self {
  657    873   
        Self {
  658         -
            test_id,
  659         -
            payload_config,
         874  +
            string,
         875  +
            short,
         876  +
            integer,
         877  +
            long,
         878  +
            float,
         879  +
            double,
         880  +
            boolean,
         881  +
            timestamp,
  660    882   
        }
  661    883   
    }
  662    884   
    fn __repr__(&self) -> String {
  663    885   
        format!("{self:?}")
  664    886   
    }
  665    887   
    fn __str__(&self) -> String {
  666    888   
        format!("{self:?}")
  667    889   
    }
  668    890   
}
  669         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPayloadStructureInput> {
         891  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpRequestWithLabelsInput> {
  670    892   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  671         -
        ob.extract::<TestPayloadStructureInput>().map(Box::new)
         893  +
        ob.extract::<HttpRequestWithLabelsInput>().map(Box::new)
  672    894   
    }
  673    895   
}
  674    896   
  675         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPayloadStructureInput> {
         897  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithLabelsInput> {
  676    898   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  677    899   
        (*self).into_py(py)
  678    900   
    }
  679    901   
}
  680         -
impl crate::constrained::Constrained for crate::input::TestPayloadStructureInput {
  681         -
    type Unconstrained = crate::input::test_payload_structure_input_internal::Builder;
         902  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithLabelsInput {
         903  +
    type Unconstrained = crate::input::http_request_with_labels_input_internal::Builder;
  682    904   
}
  683         -
impl TestPayloadStructureInput {
  684         -
    /// Creates a new builder-style object to manufacture [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
  685         -
    pub fn builder() -> crate::input::test_payload_structure_input::Builder {
  686         -
        crate::input::test_payload_structure_input::Builder::default()
         905  +
impl HttpRequestWithLabelsInput {
         906  +
    /// Creates a new builder-style object to manufacture [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
         907  +
    pub fn builder() -> crate::input::http_request_with_labels_input::Builder {
         908  +
        crate::input::http_request_with_labels_input::Builder::default()
  687    909   
    }
  688    910   
}
  689    911   
  690    912   
#[::pyo3::pyclass]
  691         -
/// :param test_id typing.Optional\[str\]:
  692         -
/// :param test_config typing.Optional\[rest_json.model.TestConfig\]:
         913  +
/// :param member_epoch_seconds rest_json.types.DateTime:
         914  +
/// :param member_http_date rest_json.types.DateTime:
         915  +
/// :param member_date_time rest_json.types.DateTime:
         916  +
/// :param default_format rest_json.types.DateTime:
         917  +
/// :param target_epoch_seconds rest_json.types.DateTime:
         918  +
/// :param target_http_date rest_json.types.DateTime:
         919  +
/// :param target_date_time rest_json.types.DateTime:
  693    920   
/// :rtype None:
  694    921   
#[allow(missing_docs)] // documentation missing in model
  695    922   
#[derive(
  696    923   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  697    924   
)]
  698         -
pub struct TestBodyStructureInput {
         925  +
pub struct HttpRequestWithLabelsAndTimestampFormatInput {
  699    926   
    #[pyo3(get, set)]
  700         -
    /// :type typing.Optional\[str\]:
         927  +
    /// :type rest_json.types.DateTime:
  701    928   
    #[allow(missing_docs)] // documentation missing in model
  702         -
    pub test_id: ::std::option::Option<::std::string::String>,
         929  +
    pub member_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
  703    930   
    #[pyo3(get, set)]
  704         -
    /// :type typing.Optional\[rest_json.model.TestConfig\]:
         931  +
    /// :type rest_json.types.DateTime:
  705    932   
    #[allow(missing_docs)] // documentation missing in model
  706         -
    pub test_config: ::std::option::Option<crate::model::TestConfig>,
         933  +
    pub member_http_date: ::aws_smithy_http_server_python::types::DateTime,
         934  +
    #[pyo3(get, set)]
         935  +
    /// :type rest_json.types.DateTime:
         936  +
    #[allow(missing_docs)] // documentation missing in model
         937  +
    pub member_date_time: ::aws_smithy_http_server_python::types::DateTime,
         938  +
    #[pyo3(get, set)]
         939  +
    /// :type rest_json.types.DateTime:
         940  +
    #[allow(missing_docs)] // documentation missing in model
         941  +
    pub default_format: ::aws_smithy_http_server_python::types::DateTime,
         942  +
    #[pyo3(get, set)]
         943  +
    /// :type rest_json.types.DateTime:
         944  +
    #[allow(missing_docs)] // documentation missing in model
         945  +
    pub target_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
         946  +
    #[pyo3(get, set)]
         947  +
    /// :type rest_json.types.DateTime:
         948  +
    #[allow(missing_docs)] // documentation missing in model
         949  +
    pub target_http_date: ::aws_smithy_http_server_python::types::DateTime,
         950  +
    #[pyo3(get, set)]
         951  +
    /// :type rest_json.types.DateTime:
         952  +
    #[allow(missing_docs)] // documentation missing in model
         953  +
    pub target_date_time: ::aws_smithy_http_server_python::types::DateTime,
  707    954   
}
  708         -
impl TestBodyStructureInput {
         955  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
  709    956   
    #[allow(missing_docs)] // documentation missing in model
  710         -
    pub fn test_id(&self) -> ::std::option::Option<&str> {
  711         -
        self.test_id.as_deref()
         957  +
    pub fn member_epoch_seconds(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         958  +
        &self.member_epoch_seconds
  712    959   
    }
  713    960   
    #[allow(missing_docs)] // documentation missing in model
  714         -
    pub fn test_config(&self) -> ::std::option::Option<&crate::model::TestConfig> {
  715         -
        self.test_config.as_ref()
         961  +
    pub fn member_http_date(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         962  +
        &self.member_http_date
         963  +
    }
         964  +
    #[allow(missing_docs)] // documentation missing in model
         965  +
    pub fn member_date_time(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         966  +
        &self.member_date_time
         967  +
    }
         968  +
    #[allow(missing_docs)] // documentation missing in model
         969  +
    pub fn default_format(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         970  +
        &self.default_format
         971  +
    }
         972  +
    #[allow(missing_docs)] // documentation missing in model
         973  +
    pub fn target_epoch_seconds(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         974  +
        &self.target_epoch_seconds
         975  +
    }
         976  +
    #[allow(missing_docs)] // documentation missing in model
         977  +
    pub fn target_http_date(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         978  +
        &self.target_http_date
         979  +
    }
         980  +
    #[allow(missing_docs)] // documentation missing in model
         981  +
    pub fn target_date_time(&self) -> &::aws_smithy_http_server_python::types::DateTime {
         982  +
        &self.target_date_time
  716    983   
    }
  717    984   
}
  718    985   
#[allow(clippy::new_without_default)]
  719    986   
#[allow(clippy::too_many_arguments)]
  720    987   
#[::pyo3::pymethods]
  721         -
impl TestBodyStructureInput {
         988  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
  722    989   
    #[new]
  723    990   
    pub fn new(
  724         -
        test_id: ::std::option::Option<::std::string::String>,
  725         -
        test_config: ::std::option::Option<crate::model::TestConfig>,
         991  +
        member_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
         992  +
        member_http_date: ::aws_smithy_http_server_python::types::DateTime,
         993  +
        member_date_time: ::aws_smithy_http_server_python::types::DateTime,
         994  +
        default_format: ::aws_smithy_http_server_python::types::DateTime,
         995  +
        target_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
         996  +
        target_http_date: ::aws_smithy_http_server_python::types::DateTime,
         997  +
        target_date_time: ::aws_smithy_http_server_python::types::DateTime,
  726    998   
    ) -> Self {
  727    999   
        Self {
  728         -
            test_id,
  729         -
            test_config,
        1000  +
            member_epoch_seconds,
        1001  +
            member_http_date,
        1002  +
            member_date_time,
        1003  +
            default_format,
        1004  +
            target_epoch_seconds,
        1005  +
            target_http_date,
        1006  +
            target_date_time,
  730   1007   
        }
  731   1008   
    }
  732   1009   
    fn __repr__(&self) -> String {
  733   1010   
        format!("{self:?}")
  734   1011   
    }
  735   1012   
    fn __str__(&self) -> String {
  736   1013   
        format!("{self:?}")
  737   1014   
    }
  738   1015   
}
  739         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestBodyStructureInput> {
  740         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  741         -
        ob.extract::<TestBodyStructureInput>().map(Box::new)
  742         -
    }
  743         -
}
  744         -
  745         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestBodyStructureInput> {
  746         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  747         -
        (*self).into_py(py)
  748         -
    }
  749         -
}
  750         -
impl crate::constrained::Constrained for crate::input::TestBodyStructureInput {
  751         -
    type Unconstrained = crate::input::test_body_structure_input_internal::Builder;
  752         -
}
  753         -
impl TestBodyStructureInput {
  754         -
    /// Creates a new builder-style object to manufacture [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
  755         -
    pub fn builder() -> crate::input::test_body_structure_input::Builder {
  756         -
        crate::input::test_body_structure_input::Builder::default()
  757         -
    }
  758         -
}
  759         -
  760         -
#[::pyo3::pyclass]
  761         -
/// :rtype None:
  762         -
#[allow(missing_docs)] // documentation missing in model
  763         -
#[derive(
  764         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  765         -
)]
  766         -
pub struct MalformedAcceptWithGenericStringInput {}
  767         -
#[allow(clippy::new_without_default)]
  768         -
#[allow(clippy::too_many_arguments)]
  769         -
#[::pyo3::pymethods]
  770         -
impl MalformedAcceptWithGenericStringInput {
  771         -
    #[new]
  772         -
    pub fn new() -> Self {
  773         -
        Self {}
  774         -
    }
  775         -
    fn __repr__(&self) -> String {
  776         -
        format!("{self:?}")
  777         -
    }
  778         -
    fn __str__(&self) -> String {
  779         -
        format!("{self:?}")
  780         -
    }
  781         -
}
  782   1016   
impl<'source> ::pyo3::FromPyObject<'source>
  783         -
    for std::boxed::Box<MalformedAcceptWithGenericStringInput>
        1017  +
    for std::boxed::Box<HttpRequestWithLabelsAndTimestampFormatInput>
  784   1018   
{
  785   1019   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  786         -
        ob.extract::<MalformedAcceptWithGenericStringInput>()
        1020  +
        ob.extract::<HttpRequestWithLabelsAndTimestampFormatInput>()
  787   1021   
            .map(Box::new)
  788   1022   
    }
  789   1023   
}
  790   1024   
  791         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedAcceptWithGenericStringInput> {
        1025  +
impl ::pyo3::IntoPy<::pyo3::PyObject>
        1026  +
    for std::boxed::Box<HttpRequestWithLabelsAndTimestampFormatInput>
        1027  +
{
  792   1028   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  793   1029   
        (*self).into_py(py)
  794   1030   
    }
  795   1031   
}
  796         -
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithGenericStringInput {
  797         -
    type Unconstrained = crate::input::malformed_accept_with_generic_string_input_internal::Builder;
        1032  +
impl crate::constrained::Constrained
        1033  +
    for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
        1034  +
{
        1035  +
    type Unconstrained =
        1036  +
        crate::input::http_request_with_labels_and_timestamp_format_input_internal::Builder;
  798   1037   
}
  799         -
impl MalformedAcceptWithGenericStringInput {
  800         -
    /// Creates a new builder-style object to manufacture [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
  801         -
    pub fn builder() -> crate::input::malformed_accept_with_generic_string_input::Builder {
  802         -
        crate::input::malformed_accept_with_generic_string_input::Builder::default()
        1038  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
        1039  +
    /// Creates a new builder-style object to manufacture [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        1040  +
    pub fn builder() -> crate::input::http_request_with_labels_and_timestamp_format_input::Builder {
        1041  +
        crate::input::http_request_with_labels_and_timestamp_format_input::Builder::default()
  803   1042   
    }
  804   1043   
}
  805   1044   
  806   1045   
#[::pyo3::pyclass]
        1046  +
/// :param foo str:
        1047  +
/// :param baz str:
  807   1048   
/// :rtype None:
  808   1049   
#[allow(missing_docs)] // documentation missing in model
  809   1050   
#[derive(
  810   1051   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  811   1052   
)]
  812         -
pub struct MalformedAcceptWithPayloadInput {}
  813         -
#[allow(clippy::new_without_default)]
  814         -
#[allow(clippy::too_many_arguments)]
  815         -
#[::pyo3::pymethods]
  816         -
impl MalformedAcceptWithPayloadInput {
  817         -
    #[new]
  818         -
    pub fn new() -> Self {
  819         -
        Self {}
  820         -
    }
  821         -
    fn __repr__(&self) -> String {
  822         -
        format!("{self:?}")
  823         -
    }
  824         -
    fn __str__(&self) -> String {
  825         -
        format!("{self:?}")
  826         -
    }
  827         -
}
  828         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedAcceptWithPayloadInput> {
  829         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  830         -
        ob.extract::<MalformedAcceptWithPayloadInput>()
  831         -
            .map(Box::new)
  832         -
    }
        1053  +
pub struct HttpRequestWithGreedyLabelInPathInput {
        1054  +
    #[pyo3(get, set)]
        1055  +
    /// :type str:
        1056  +
    #[allow(missing_docs)] // documentation missing in model
        1057  +
    pub foo: ::std::string::String,
        1058  +
    #[pyo3(get, set)]
        1059  +
    /// :type str:
        1060  +
    #[allow(missing_docs)] // documentation missing in model
        1061  +
    pub baz: ::std::string::String,
  833   1062   
}
  834         -
  835         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedAcceptWithPayloadInput> {
  836         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  837         -
        (*self).into_py(py)
        1063  +
impl HttpRequestWithGreedyLabelInPathInput {
        1064  +
    #[allow(missing_docs)] // documentation missing in model
        1065  +
    pub fn foo(&self) -> &str {
        1066  +
        use std::ops::Deref;
        1067  +
        self.foo.deref()
  838   1068   
    }
  839         -
}
  840         -
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithPayloadInput {
  841         -
    type Unconstrained = crate::input::malformed_accept_with_payload_input_internal::Builder;
  842         -
}
  843         -
impl MalformedAcceptWithPayloadInput {
  844         -
    /// Creates a new builder-style object to manufacture [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
  845         -
    pub fn builder() -> crate::input::malformed_accept_with_payload_input::Builder {
  846         -
        crate::input::malformed_accept_with_payload_input::Builder::default()
        1069  +
    #[allow(missing_docs)] // documentation missing in model
        1070  +
    pub fn baz(&self) -> &str {
        1071  +
        use std::ops::Deref;
        1072  +
        self.baz.deref()
  847   1073   
    }
  848   1074   
}
  849         -
  850         -
#[::pyo3::pyclass]
  851         -
/// :rtype None:
  852         -
#[allow(missing_docs)] // documentation missing in model
  853         -
#[derive(
  854         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  855         -
)]
  856         -
pub struct MalformedAcceptWithBodyInput {}
  857   1075   
#[allow(clippy::new_without_default)]
  858   1076   
#[allow(clippy::too_many_arguments)]
  859   1077   
#[::pyo3::pymethods]
  860         -
impl MalformedAcceptWithBodyInput {
        1078  +
impl HttpRequestWithGreedyLabelInPathInput {
  861   1079   
    #[new]
  862         -
    pub fn new() -> Self {
  863         -
        Self {}
        1080  +
    pub fn new(foo: ::std::string::String, baz: ::std::string::String) -> Self {
        1081  +
        Self { foo, baz }
  864   1082   
    }
  865   1083   
    fn __repr__(&self) -> String {
  866   1084   
        format!("{self:?}")
  867   1085   
    }
  868   1086   
    fn __str__(&self) -> String {
  869   1087   
        format!("{self:?}")
  870   1088   
    }
  871   1089   
}
  872         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedAcceptWithBodyInput> {
        1090  +
impl<'source> ::pyo3::FromPyObject<'source>
        1091  +
    for std::boxed::Box<HttpRequestWithGreedyLabelInPathInput>
        1092  +
{
  873   1093   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  874         -
        ob.extract::<MalformedAcceptWithBodyInput>().map(Box::new)
        1094  +
        ob.extract::<HttpRequestWithGreedyLabelInPathInput>()
        1095  +
            .map(Box::new)
  875   1096   
    }
  876   1097   
}
  877   1098   
  878         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedAcceptWithBodyInput> {
        1099  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithGreedyLabelInPathInput> {
  879   1100   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  880   1101   
        (*self).into_py(py)
  881   1102   
    }
  882   1103   
}
  883         -
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithBodyInput {
  884         -
    type Unconstrained = crate::input::malformed_accept_with_body_input_internal::Builder;
        1104  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithGreedyLabelInPathInput {
        1105  +
    type Unconstrained =
        1106  +
        crate::input::http_request_with_greedy_label_in_path_input_internal::Builder;
  885   1107   
}
  886         -
impl MalformedAcceptWithBodyInput {
  887         -
    /// Creates a new builder-style object to manufacture [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
  888         -
    pub fn builder() -> crate::input::malformed_accept_with_body_input::Builder {
  889         -
        crate::input::malformed_accept_with_body_input::Builder::default()
        1108  +
impl HttpRequestWithGreedyLabelInPathInput {
        1109  +
    /// Creates a new builder-style object to manufacture [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
        1110  +
    pub fn builder() -> crate::input::http_request_with_greedy_label_in_path_input::Builder {
        1111  +
        crate::input::http_request_with_greedy_label_in_path_input::Builder::default()
  890   1112   
    }
  891   1113   
}
  892   1114   
  893   1115   
#[::pyo3::pyclass]
  894         -
/// :param payload typing.Optional\[str\]:
        1116  +
/// :param float float:
        1117  +
/// :param double float:
  895   1118   
/// :rtype None:
  896   1119   
#[allow(missing_docs)] // documentation missing in model
  897         -
#[derive(
  898         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  899         -
)]
  900         -
pub struct MalformedContentTypeWithGenericStringInput {
        1120  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1121  +
pub struct HttpRequestWithFloatLabelsInput {
  901   1122   
    #[pyo3(get, set)]
  902         -
    /// :type typing.Optional\[str\]:
        1123  +
    /// :type float:
  903   1124   
    #[allow(missing_docs)] // documentation missing in model
  904         -
    pub payload: ::std::option::Option<::std::string::String>,
        1125  +
    pub float: f32,
        1126  +
    #[pyo3(get, set)]
        1127  +
    /// :type float:
        1128  +
    #[allow(missing_docs)] // documentation missing in model
        1129  +
    pub double: f64,
  905   1130   
}
  906         -
impl MalformedContentTypeWithGenericStringInput {
        1131  +
impl HttpRequestWithFloatLabelsInput {
  907   1132   
    #[allow(missing_docs)] // documentation missing in model
  908         -
    pub fn payload(&self) -> ::std::option::Option<&str> {
  909         -
        self.payload.as_deref()
        1133  +
    pub fn float(&self) -> f32 {
        1134  +
        self.float
        1135  +
    }
        1136  +
    #[allow(missing_docs)] // documentation missing in model
        1137  +
    pub fn double(&self) -> f64 {
        1138  +
        self.double
  910   1139   
    }
  911   1140   
}
  912   1141   
#[allow(clippy::new_without_default)]
  913   1142   
#[allow(clippy::too_many_arguments)]
  914   1143   
#[::pyo3::pymethods]
  915         -
impl MalformedContentTypeWithGenericStringInput {
        1144  +
impl HttpRequestWithFloatLabelsInput {
  916   1145   
    #[new]
  917         -
    pub fn new(payload: ::std::option::Option<::std::string::String>) -> Self {
  918         -
        Self { payload }
        1146  +
    pub fn new(float: f32, double: f64) -> Self {
        1147  +
        Self { float, double }
  919   1148   
    }
  920   1149   
    fn __repr__(&self) -> String {
  921   1150   
        format!("{self:?}")
  922   1151   
    }
  923   1152   
    fn __str__(&self) -> String {
  924   1153   
        format!("{self:?}")
  925   1154   
    }
  926   1155   
}
  927         -
impl<'source> ::pyo3::FromPyObject<'source>
  928         -
    for std::boxed::Box<MalformedContentTypeWithGenericStringInput>
  929         -
{
        1156  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpRequestWithFloatLabelsInput> {
  930   1157   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  931         -
        ob.extract::<MalformedContentTypeWithGenericStringInput>()
        1158  +
        ob.extract::<HttpRequestWithFloatLabelsInput>()
  932   1159   
            .map(Box::new)
  933   1160   
    }
  934   1161   
}
  935   1162   
  936         -
impl ::pyo3::IntoPy<::pyo3::PyObject>
  937         -
    for std::boxed::Box<MalformedContentTypeWithGenericStringInput>
  938         -
{
        1163  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithFloatLabelsInput> {
  939   1164   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  940   1165   
        (*self).into_py(py)
  941   1166   
    }
  942   1167   
}
  943         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithGenericStringInput {
  944         -
    type Unconstrained =
  945         -
        crate::input::malformed_content_type_with_generic_string_input_internal::Builder;
        1168  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithFloatLabelsInput {
        1169  +
    type Unconstrained = crate::input::http_request_with_float_labels_input_internal::Builder;
  946   1170   
}
  947         -
impl MalformedContentTypeWithGenericStringInput {
  948         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
  949         -
    pub fn builder() -> crate::input::malformed_content_type_with_generic_string_input::Builder {
  950         -
        crate::input::malformed_content_type_with_generic_string_input::Builder::default()
        1171  +
impl HttpRequestWithFloatLabelsInput {
        1172  +
    /// Creates a new builder-style object to manufacture [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
        1173  +
    pub fn builder() -> crate::input::http_request_with_float_labels_input::Builder {
        1174  +
        crate::input::http_request_with_float_labels_input::Builder::default()
  951   1175   
    }
  952   1176   
}
  953   1177   
  954   1178   
#[::pyo3::pyclass]
  955         -
/// :param payload typing.Optional\[rest_json.types.Blob\]:
        1179  +
/// :param str str:
  956   1180   
/// :rtype None:
  957   1181   
#[allow(missing_docs)] // documentation missing in model
  958   1182   
#[derive(
  959   1183   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  960   1184   
)]
  961         -
pub struct MalformedContentTypeWithPayloadInput {
        1185  +
pub struct HttpRequestWithRegexLiteralInput {
  962   1186   
    #[pyo3(get, set)]
  963         -
    /// :type typing.Optional\[rest_json.types.Blob\]:
        1187  +
    /// :type str:
  964   1188   
    #[allow(missing_docs)] // documentation missing in model
  965         -
    pub payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1189  +
    pub str: ::std::string::String,
  966   1190   
}
  967         -
impl MalformedContentTypeWithPayloadInput {
        1191  +
impl HttpRequestWithRegexLiteralInput {
  968   1192   
    #[allow(missing_docs)] // documentation missing in model
  969         -
    pub fn payload(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
  970         -
        self.payload.as_ref()
        1193  +
    pub fn str(&self) -> &str {
        1194  +
        use std::ops::Deref;
        1195  +
        self.str.deref()
  971   1196   
    }
  972   1197   
}
  973   1198   
#[allow(clippy::new_without_default)]
  974   1199   
#[allow(clippy::too_many_arguments)]
  975   1200   
#[::pyo3::pymethods]
  976         -
impl MalformedContentTypeWithPayloadInput {
        1201  +
impl HttpRequestWithRegexLiteralInput {
  977   1202   
    #[new]
  978         -
    pub fn new(
  979         -
        payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
  980         -
    ) -> Self {
  981         -
        Self { payload }
        1203  +
    pub fn new(str: ::std::string::String) -> Self {
        1204  +
        Self { str }
  982   1205   
    }
  983   1206   
    fn __repr__(&self) -> String {
  984   1207   
        format!("{self:?}")
  985   1208   
    }
  986   1209   
    fn __str__(&self) -> String {
  987   1210   
        format!("{self:?}")
  988   1211   
    }
  989   1212   
}
  990         -
impl<'source> ::pyo3::FromPyObject<'source>
  991         -
    for std::boxed::Box<MalformedContentTypeWithPayloadInput>
  992         -
{
        1213  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpRequestWithRegexLiteralInput> {
  993   1214   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  994         -
        ob.extract::<MalformedContentTypeWithPayloadInput>()
        1215  +
        ob.extract::<HttpRequestWithRegexLiteralInput>()
  995   1216   
            .map(Box::new)
  996   1217   
    }
  997   1218   
}
  998   1219   
  999         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedContentTypeWithPayloadInput> {
        1220  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithRegexLiteralInput> {
 1000   1221   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1001   1222   
        (*self).into_py(py)
 1002   1223   
    }
 1003   1224   
}
 1004         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithPayloadInput {
 1005         -
    type Unconstrained = crate::input::malformed_content_type_with_payload_input_internal::Builder;
        1225  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithRegexLiteralInput {
        1226  +
    type Unconstrained = crate::input::http_request_with_regex_literal_input_internal::Builder;
 1006   1227   
}
 1007         -
impl MalformedContentTypeWithPayloadInput {
 1008         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 1009         -
    pub fn builder() -> crate::input::malformed_content_type_with_payload_input::Builder {
 1010         -
        crate::input::malformed_content_type_with_payload_input::Builder::default()
        1228  +
impl HttpRequestWithRegexLiteralInput {
        1229  +
    /// Creates a new builder-style object to manufacture [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
        1230  +
    pub fn builder() -> crate::input::http_request_with_regex_literal_input::Builder {
        1231  +
        crate::input::http_request_with_regex_literal_input::Builder::default()
 1011   1232   
    }
 1012   1233   
}
 1013   1234   
 1014   1235   
#[::pyo3::pyclass]
 1015         -
/// :param hi typing.Optional\[str\]:
 1016         -
/// :rtype None:
 1017         -
#[allow(missing_docs)] // documentation missing in model
 1018         -
#[derive(
 1019         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1020         -
)]
 1021         -
pub struct MalformedContentTypeWithBodyInput {
        1236  +
/// :param query_string typing.Optional\[str\]:
        1237  +
/// :param query_string_list typing.Optional\[typing.List\[str\]\]:
        1238  +
/// :param query_string_set typing.Optional\[typing.List\[str\]\]:
        1239  +
/// :param query_byte typing.Optional\[int\]:
        1240  +
/// :param query_short typing.Optional\[int\]:
        1241  +
/// :param query_integer typing.Optional\[int\]:
        1242  +
/// :param query_integer_list typing.Optional\[typing.List\[int\]\]:
        1243  +
/// :param query_integer_set typing.Optional\[typing.List\[int\]\]:
        1244  +
/// :param query_long typing.Optional\[int\]:
        1245  +
/// :param query_float typing.Optional\[float\]:
        1246  +
/// :param query_double typing.Optional\[float\]:
        1247  +
/// :param query_double_list typing.Optional\[typing.List\[float\]\]:
        1248  +
/// :param query_boolean typing.Optional\[bool\]:
        1249  +
/// :param query_boolean_list typing.Optional\[typing.List\[bool\]\]:
        1250  +
/// :param query_timestamp typing.Optional\[rest_json.types.DateTime\]:
        1251  +
/// :param query_timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
        1252  +
/// :param query_enum typing.Optional\[rest_json.model.FooEnum\]:
        1253  +
/// :param query_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        1254  +
/// :param query_integer_enum typing.Optional\[int\]:
        1255  +
/// :param query_integer_enum_list typing.Optional\[typing.List\[int\]\]:
        1256  +
/// :param query_params_map_of_string_list typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        1257  +
/// :rtype None:
        1258  +
#[allow(missing_docs)] // documentation missing in model
        1259  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1260  +
pub struct AllQueryStringTypesInput {
 1022   1261   
    #[pyo3(get, set)]
 1023   1262   
    /// :type typing.Optional\[str\]:
 1024   1263   
    #[allow(missing_docs)] // documentation missing in model
 1025         -
    pub hi: ::std::option::Option<::std::string::String>,
        1264  +
    pub query_string: ::std::option::Option<::std::string::String>,
        1265  +
    #[pyo3(get, set)]
        1266  +
    /// :type typing.Optional\[typing.List\[str\]\]:
        1267  +
    #[allow(missing_docs)] // documentation missing in model
        1268  +
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1269  +
    #[pyo3(get, set)]
        1270  +
    /// :type typing.Optional\[typing.List\[str\]\]:
        1271  +
    #[allow(missing_docs)] // documentation missing in model
        1272  +
    pub query_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1273  +
    #[pyo3(get, set)]
        1274  +
    /// :type typing.Optional\[int\]:
        1275  +
    #[allow(missing_docs)] // documentation missing in model
        1276  +
    pub query_byte: ::std::option::Option<i8>,
        1277  +
    #[pyo3(get, set)]
        1278  +
    /// :type typing.Optional\[int\]:
        1279  +
    #[allow(missing_docs)] // documentation missing in model
        1280  +
    pub query_short: ::std::option::Option<i16>,
        1281  +
    #[pyo3(get, set)]
        1282  +
    /// :type typing.Optional\[int\]:
        1283  +
    #[allow(missing_docs)] // documentation missing in model
        1284  +
    pub query_integer: ::std::option::Option<i32>,
        1285  +
    #[pyo3(get, set)]
        1286  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        1287  +
    #[allow(missing_docs)] // documentation missing in model
        1288  +
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1289  +
    #[pyo3(get, set)]
        1290  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        1291  +
    #[allow(missing_docs)] // documentation missing in model
        1292  +
    pub query_integer_set: ::std::option::Option<::std::vec::Vec<i32>>,
        1293  +
    #[pyo3(get, set)]
        1294  +
    /// :type typing.Optional\[int\]:
        1295  +
    #[allow(missing_docs)] // documentation missing in model
        1296  +
    pub query_long: ::std::option::Option<i64>,
        1297  +
    #[pyo3(get, set)]
        1298  +
    /// :type typing.Optional\[float\]:
        1299  +
    #[allow(missing_docs)] // documentation missing in model
        1300  +
    pub query_float: ::std::option::Option<f32>,
        1301  +
    #[pyo3(get, set)]
        1302  +
    /// :type typing.Optional\[float\]:
        1303  +
    #[allow(missing_docs)] // documentation missing in model
        1304  +
    pub query_double: ::std::option::Option<f64>,
        1305  +
    #[pyo3(get, set)]
        1306  +
    /// :type typing.Optional\[typing.List\[float\]\]:
        1307  +
    #[allow(missing_docs)] // documentation missing in model
        1308  +
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        1309  +
    #[pyo3(get, set)]
        1310  +
    /// :type typing.Optional\[bool\]:
        1311  +
    #[allow(missing_docs)] // documentation missing in model
        1312  +
    pub query_boolean: ::std::option::Option<bool>,
        1313  +
    #[pyo3(get, set)]
        1314  +
    /// :type typing.Optional\[typing.List\[bool\]\]:
        1315  +
    #[allow(missing_docs)] // documentation missing in model
        1316  +
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        1317  +
    #[pyo3(get, set)]
        1318  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        1319  +
    #[allow(missing_docs)] // documentation missing in model
        1320  +
    pub query_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1321  +
    #[pyo3(get, set)]
        1322  +
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
        1323  +
    #[allow(missing_docs)] // documentation missing in model
        1324  +
    pub query_timestamp_list:
        1325  +
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
        1326  +
    #[pyo3(get, set)]
        1327  +
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
        1328  +
    #[allow(missing_docs)] // documentation missing in model
        1329  +
    pub query_enum: ::std::option::Option<crate::model::FooEnum>,
        1330  +
    #[pyo3(get, set)]
        1331  +
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        1332  +
    #[allow(missing_docs)] // documentation missing in model
        1333  +
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1334  +
    #[pyo3(get, set)]
        1335  +
    /// :type typing.Optional\[int\]:
        1336  +
    #[allow(missing_docs)] // documentation missing in model
        1337  +
    pub query_integer_enum: ::std::option::Option<i32>,
        1338  +
    #[pyo3(get, set)]
        1339  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        1340  +
    #[allow(missing_docs)] // documentation missing in model
        1341  +
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1342  +
    #[pyo3(get, set)]
        1343  +
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        1344  +
    #[allow(missing_docs)] // documentation missing in model
        1345  +
    pub query_params_map_of_string_list: ::std::option::Option<
        1346  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        1347  +
    >,
 1026   1348   
}
 1027         -
impl MalformedContentTypeWithBodyInput {
        1349  +
impl AllQueryStringTypesInput {
 1028   1350   
    #[allow(missing_docs)] // documentation missing in model
 1029         -
    pub fn hi(&self) -> ::std::option::Option<&str> {
 1030         -
        self.hi.as_deref()
        1351  +
    pub fn query_string(&self) -> ::std::option::Option<&str> {
        1352  +
        self.query_string.as_deref()
 1031   1353   
    }
 1032         -
}
 1033         -
#[allow(clippy::new_without_default)]
 1034         -
#[allow(clippy::too_many_arguments)]
 1035         -
#[::pyo3::pymethods]
 1036         -
impl MalformedContentTypeWithBodyInput {
 1037         -
    #[new]
 1038         -
    pub fn new(hi: ::std::option::Option<::std::string::String>) -> Self {
 1039         -
        Self { hi }
        1354  +
    #[allow(missing_docs)] // documentation missing in model
        1355  +
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        1356  +
        self.query_string_list.as_deref()
 1040   1357   
    }
 1041         -
    fn __repr__(&self) -> String {
 1042         -
        format!("{self:?}")
        1358  +
    #[allow(missing_docs)] // documentation missing in model
        1359  +
    pub fn query_string_set(&self) -> ::std::option::Option<&[::std::string::String]> {
        1360  +
        self.query_string_set.as_deref()
 1043   1361   
    }
 1044         -
    fn __str__(&self) -> String {
 1045         -
        format!("{self:?}")
        1362  +
    #[allow(missing_docs)] // documentation missing in model
        1363  +
    pub fn query_byte(&self) -> ::std::option::Option<i8> {
        1364  +
        self.query_byte
 1046   1365   
    }
 1047         -
}
 1048         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedContentTypeWithBodyInput> {
 1049         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1050         -
        ob.extract::<MalformedContentTypeWithBodyInput>()
 1051         -
            .map(Box::new)
        1366  +
    #[allow(missing_docs)] // documentation missing in model
        1367  +
    pub fn query_short(&self) -> ::std::option::Option<i16> {
        1368  +
        self.query_short
 1052   1369   
    }
 1053         -
}
 1054         -
 1055         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedContentTypeWithBodyInput> {
 1056         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1057         -
        (*self).into_py(py)
        1370  +
    #[allow(missing_docs)] // documentation missing in model
        1371  +
    pub fn query_integer(&self) -> ::std::option::Option<i32> {
        1372  +
        self.query_integer
 1058   1373   
    }
 1059         -
}
 1060         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithBodyInput {
 1061         -
    type Unconstrained = crate::input::malformed_content_type_with_body_input_internal::Builder;
 1062         -
}
 1063         -
impl MalformedContentTypeWithBodyInput {
 1064         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 1065         -
    pub fn builder() -> crate::input::malformed_content_type_with_body_input::Builder {
 1066         -
        crate::input::malformed_content_type_with_body_input::Builder::default()
        1374  +
    #[allow(missing_docs)] // documentation missing in model
        1375  +
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        1376  +
        self.query_integer_list.as_deref()
 1067   1377   
    }
 1068         -
}
 1069         -
 1070         -
#[::pyo3::pyclass]
 1071         -
/// :param header typing.Optional\[str\]:
 1072         -
/// :rtype None:
 1073         -
#[allow(missing_docs)] // documentation missing in model
 1074         -
#[derive(
 1075         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1076         -
)]
 1077         -
pub struct MalformedContentTypeWithoutBodyEmptyInputInput {
 1078         -
    #[pyo3(get, set)]
 1079         -
    /// :type typing.Optional\[str\]:
 1080   1378   
    #[allow(missing_docs)] // documentation missing in model
 1081         -
    pub header: ::std::option::Option<::std::string::String>,
 1082         -
}
 1083         -
impl MalformedContentTypeWithoutBodyEmptyInputInput {
        1379  +
    pub fn query_integer_set(&self) -> ::std::option::Option<&[i32]> {
        1380  +
        self.query_integer_set.as_deref()
        1381  +
    }
 1084   1382   
    #[allow(missing_docs)] // documentation missing in model
 1085         -
    pub fn header(&self) -> ::std::option::Option<&str> {
 1086         -
        self.header.as_deref()
        1383  +
    pub fn query_long(&self) -> ::std::option::Option<i64> {
        1384  +
        self.query_long
 1087   1385   
    }
 1088         -
}
 1089         -
#[allow(clippy::new_without_default)]
 1090         -
#[allow(clippy::too_many_arguments)]
 1091         -
#[::pyo3::pymethods]
 1092         -
impl MalformedContentTypeWithoutBodyEmptyInputInput {
 1093         -
    #[new]
 1094         -
    pub fn new(header: ::std::option::Option<::std::string::String>) -> Self {
 1095         -
        Self { header }
        1386  +
    #[allow(missing_docs)] // documentation missing in model
        1387  +
    pub fn query_float(&self) -> ::std::option::Option<f32> {
        1388  +
        self.query_float
 1096   1389   
    }
 1097         -
    fn __repr__(&self) -> String {
 1098         -
        format!("{self:?}")
        1390  +
    #[allow(missing_docs)] // documentation missing in model
        1391  +
    pub fn query_double(&self) -> ::std::option::Option<f64> {
        1392  +
        self.query_double
 1099   1393   
    }
 1100         -
    fn __str__(&self) -> String {
 1101         -
        format!("{self:?}")
        1394  +
    #[allow(missing_docs)] // documentation missing in model
        1395  +
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
        1396  +
        self.query_double_list.as_deref()
 1102   1397   
    }
 1103         -
}
 1104         -
impl<'source> ::pyo3::FromPyObject<'source>
 1105         -
    for std::boxed::Box<MalformedContentTypeWithoutBodyEmptyInputInput>
 1106         -
{
 1107         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1108         -
        ob.extract::<MalformedContentTypeWithoutBodyEmptyInputInput>()
 1109         -
            .map(Box::new)
        1398  +
    #[allow(missing_docs)] // documentation missing in model
        1399  +
    pub fn query_boolean(&self) -> ::std::option::Option<bool> {
        1400  +
        self.query_boolean
 1110   1401   
    }
 1111         -
}
 1112         -
 1113         -
impl ::pyo3::IntoPy<::pyo3::PyObject>
 1114         -
    for std::boxed::Box<MalformedContentTypeWithoutBodyEmptyInputInput>
 1115         -
{
 1116         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1117         -
        (*self).into_py(py)
        1402  +
    #[allow(missing_docs)] // documentation missing in model
        1403  +
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        1404  +
        self.query_boolean_list.as_deref()
 1118   1405   
    }
 1119         -
}
 1120         -
impl crate::constrained::Constrained
 1121         -
    for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
 1122         -
{
 1123         -
    type Unconstrained =
 1124         -
        crate::input::malformed_content_type_without_body_empty_input_input_internal::Builder;
 1125         -
}
 1126         -
impl MalformedContentTypeWithoutBodyEmptyInputInput {
 1127         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 1128         -
    pub fn builder() -> crate::input::malformed_content_type_without_body_empty_input_input::Builder
 1129         -
    {
 1130         -
        crate::input::malformed_content_type_without_body_empty_input_input::Builder::default()
        1406  +
    #[allow(missing_docs)] // documentation missing in model
        1407  +
    pub fn query_timestamp(
        1408  +
        &self,
        1409  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1410  +
        self.query_timestamp.as_ref()
 1131   1411   
    }
 1132         -
}
 1133         -
 1134         -
#[::pyo3::pyclass]
 1135         -
/// :rtype None:
 1136         -
#[allow(missing_docs)] // documentation missing in model
 1137         -
#[derive(
 1138         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1139         -
)]
 1140         -
pub struct MalformedContentTypeWithoutBodyInput {}
        1412  +
    #[allow(missing_docs)] // documentation missing in model
        1413  +
    pub fn query_timestamp_list(
        1414  +
        &self,
        1415  +
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
        1416  +
        self.query_timestamp_list.as_deref()
        1417  +
    }
        1418  +
    #[allow(missing_docs)] // documentation missing in model
        1419  +
    pub fn query_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        1420  +
        self.query_enum.as_ref()
        1421  +
    }
        1422  +
    #[allow(missing_docs)] // documentation missing in model
        1423  +
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        1424  +
        self.query_enum_list.as_deref()
        1425  +
    }
        1426  +
    #[allow(missing_docs)] // documentation missing in model
        1427  +
    pub fn query_integer_enum(&self) -> ::std::option::Option<i32> {
        1428  +
        self.query_integer_enum
        1429  +
    }
        1430  +
    #[allow(missing_docs)] // documentation missing in model
        1431  +
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        1432  +
        self.query_integer_enum_list.as_deref()
        1433  +
    }
        1434  +
    #[allow(missing_docs)] // documentation missing in model
        1435  +
    pub fn query_params_map_of_string_list(
        1436  +
        &self,
        1437  +
    ) -> ::std::option::Option<
        1438  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        1439  +
    > {
        1440  +
        self.query_params_map_of_string_list.as_ref()
        1441  +
    }
        1442  +
}
 1141   1443   
#[allow(clippy::new_without_default)]
 1142   1444   
#[allow(clippy::too_many_arguments)]
 1143   1445   
#[::pyo3::pymethods]
 1144         -
impl MalformedContentTypeWithoutBodyInput {
        1446  +
impl AllQueryStringTypesInput {
 1145   1447   
    #[new]
 1146         -
    pub fn new() -> Self {
 1147         -
        Self {}
        1448  +
    pub fn new(
        1449  +
        query_string: ::std::option::Option<::std::string::String>,
        1450  +
        query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1451  +
        query_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1452  +
        query_byte: ::std::option::Option<i8>,
        1453  +
        query_short: ::std::option::Option<i16>,
        1454  +
        query_integer: ::std::option::Option<i32>,
        1455  +
        query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1456  +
        query_integer_set: ::std::option::Option<::std::vec::Vec<i32>>,
        1457  +
        query_long: ::std::option::Option<i64>,
        1458  +
        query_float: ::std::option::Option<f32>,
        1459  +
        query_double: ::std::option::Option<f64>,
        1460  +
        query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        1461  +
        query_boolean: ::std::option::Option<bool>,
        1462  +
        query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        1463  +
        query_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1464  +
        query_timestamp_list: ::std::option::Option<
        1465  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        1466  +
        >,
        1467  +
        query_enum: ::std::option::Option<crate::model::FooEnum>,
        1468  +
        query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1469  +
        query_integer_enum: ::std::option::Option<i32>,
        1470  +
        query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1471  +
        query_params_map_of_string_list: ::std::option::Option<
        1472  +
            ::std::collections::HashMap<
        1473  +
                ::std::string::String,
        1474  +
                ::std::vec::Vec<::std::string::String>,
        1475  +
            >,
        1476  +
        >,
        1477  +
    ) -> Self {
        1478  +
        Self {
        1479  +
            query_string,
        1480  +
            query_string_list,
        1481  +
            query_string_set,
        1482  +
            query_byte,
        1483  +
            query_short,
        1484  +
            query_integer,
        1485  +
            query_integer_list,
        1486  +
            query_integer_set,
        1487  +
            query_long,
        1488  +
            query_float,
        1489  +
            query_double,
        1490  +
            query_double_list,
        1491  +
            query_boolean,
        1492  +
            query_boolean_list,
        1493  +
            query_timestamp,
        1494  +
            query_timestamp_list,
        1495  +
            query_enum,
        1496  +
            query_enum_list,
        1497  +
            query_integer_enum,
        1498  +
            query_integer_enum_list,
        1499  +
            query_params_map_of_string_list,
        1500  +
        }
 1148   1501   
    }
 1149   1502   
    fn __repr__(&self) -> String {
 1150   1503   
        format!("{self:?}")
 1151   1504   
    }
 1152   1505   
    fn __str__(&self) -> String {
 1153   1506   
        format!("{self:?}")
 1154   1507   
    }
 1155   1508   
}
 1156         -
impl<'source> ::pyo3::FromPyObject<'source>
 1157         -
    for std::boxed::Box<MalformedContentTypeWithoutBodyInput>
 1158         -
{
        1509  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<AllQueryStringTypesInput> {
 1159   1510   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1160         -
        ob.extract::<MalformedContentTypeWithoutBodyInput>()
 1161         -
            .map(Box::new)
        1511  +
        ob.extract::<AllQueryStringTypesInput>().map(Box::new)
 1162   1512   
    }
 1163   1513   
}
 1164   1514   
 1165         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedContentTypeWithoutBodyInput> {
        1515  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<AllQueryStringTypesInput> {
 1166   1516   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1167   1517   
        (*self).into_py(py)
 1168   1518   
    }
 1169   1519   
}
 1170         -
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithoutBodyInput {
 1171         -
    type Unconstrained = crate::input::malformed_content_type_without_body_input_internal::Builder;
        1520  +
impl crate::constrained::Constrained for crate::input::AllQueryStringTypesInput {
        1521  +
    type Unconstrained = crate::input::all_query_string_types_input_internal::Builder;
 1172   1522   
}
 1173         -
impl MalformedContentTypeWithoutBodyInput {
 1174         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 1175         -
    pub fn builder() -> crate::input::malformed_content_type_without_body_input::Builder {
 1176         -
        crate::input::malformed_content_type_without_body_input::Builder::default()
        1523  +
impl AllQueryStringTypesInput {
        1524  +
    /// Creates a new builder-style object to manufacture [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
        1525  +
    pub fn builder() -> crate::input::all_query_string_types_input::Builder {
        1526  +
        crate::input::all_query_string_types_input::Builder::default()
 1177   1527   
    }
 1178   1528   
}
 1179   1529   
 1180   1530   
#[::pyo3::pyclass]
 1181         -
/// :param timestamp rest_json.types.DateTime:
        1531  +
/// :param hello str:
 1182   1532   
/// :rtype None:
 1183   1533   
#[allow(missing_docs)] // documentation missing in model
 1184   1534   
#[derive(
 1185   1535   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1186   1536   
)]
 1187         -
pub struct MalformedTimestampBodyHttpDateInput {
        1537  +
pub struct ConstantQueryStringInput {
 1188   1538   
    #[pyo3(get, set)]
 1189         -
    /// :type rest_json.types.DateTime:
        1539  +
    /// :type str:
 1190   1540   
    #[allow(missing_docs)] // documentation missing in model
 1191         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        1541  +
    pub hello: ::std::string::String,
 1192   1542   
}
 1193         -
impl MalformedTimestampBodyHttpDateInput {
        1543  +
impl ConstantQueryStringInput {
 1194   1544   
    #[allow(missing_docs)] // documentation missing in model
 1195         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1196         -
        &self.timestamp
        1545  +
    pub fn hello(&self) -> &str {
        1546  +
        use std::ops::Deref;
        1547  +
        self.hello.deref()
 1197   1548   
    }
 1198   1549   
}
 1199   1550   
#[allow(clippy::new_without_default)]
 1200   1551   
#[allow(clippy::too_many_arguments)]
 1201   1552   
#[::pyo3::pymethods]
 1202         -
impl MalformedTimestampBodyHttpDateInput {
        1553  +
impl ConstantQueryStringInput {
 1203   1554   
    #[new]
 1204         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1205         -
        Self { timestamp }
        1555  +
    pub fn new(hello: ::std::string::String) -> Self {
        1556  +
        Self { hello }
 1206   1557   
    }
 1207   1558   
    fn __repr__(&self) -> String {
 1208   1559   
        format!("{self:?}")
 1209   1560   
    }
 1210   1561   
    fn __str__(&self) -> String {
 1211   1562   
        format!("{self:?}")
 1212   1563   
    }
 1213   1564   
}
 1214         -
impl<'source> ::pyo3::FromPyObject<'source>
 1215         -
    for std::boxed::Box<MalformedTimestampBodyHttpDateInput>
 1216         -
{
        1565  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ConstantQueryStringInput> {
 1217   1566   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1218         -
        ob.extract::<MalformedTimestampBodyHttpDateInput>()
 1219         -
            .map(Box::new)
        1567  +
        ob.extract::<ConstantQueryStringInput>().map(Box::new)
 1220   1568   
    }
 1221   1569   
}
 1222   1570   
 1223         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampBodyHttpDateInput> {
        1571  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ConstantQueryStringInput> {
 1224   1572   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1225   1573   
        (*self).into_py(py)
 1226   1574   
    }
 1227   1575   
}
 1228         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyHttpDateInput {
 1229         -
    type Unconstrained = crate::input::malformed_timestamp_body_http_date_input_internal::Builder;
        1576  +
impl crate::constrained::Constrained for crate::input::ConstantQueryStringInput {
        1577  +
    type Unconstrained = crate::input::constant_query_string_input_internal::Builder;
 1230   1578   
}
 1231         -
impl MalformedTimestampBodyHttpDateInput {
 1232         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 1233         -
    pub fn builder() -> crate::input::malformed_timestamp_body_http_date_input::Builder {
 1234         -
        crate::input::malformed_timestamp_body_http_date_input::Builder::default()
        1579  +
impl ConstantQueryStringInput {
        1580  +
    /// Creates a new builder-style object to manufacture [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
        1581  +
    pub fn builder() -> crate::input::constant_query_string_input::Builder {
        1582  +
        crate::input::constant_query_string_input::Builder::default()
 1235   1583   
    }
 1236   1584   
}
 1237   1585   
 1238   1586   
#[::pyo3::pyclass]
 1239         -
/// :param timestamp rest_json.types.DateTime:
        1587  +
/// :param baz typing.Optional\[str\]:
        1588  +
/// :param maybe_set typing.Optional\[str\]:
 1240   1589   
/// :rtype None:
 1241   1590   
#[allow(missing_docs)] // documentation missing in model
 1242   1591   
#[derive(
 1243   1592   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1244   1593   
)]
 1245         -
pub struct MalformedTimestampBodyDateTimeInput {
        1594  +
pub struct ConstantAndVariableQueryStringInput {
 1246   1595   
    #[pyo3(get, set)]
 1247         -
    /// :type rest_json.types.DateTime:
        1596  +
    /// :type typing.Optional\[str\]:
 1248   1597   
    #[allow(missing_docs)] // documentation missing in model
 1249         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        1598  +
    pub baz: ::std::option::Option<::std::string::String>,
        1599  +
    #[pyo3(get, set)]
        1600  +
    /// :type typing.Optional\[str\]:
        1601  +
    #[allow(missing_docs)] // documentation missing in model
        1602  +
    pub maybe_set: ::std::option::Option<::std::string::String>,
 1250   1603   
}
 1251         -
impl MalformedTimestampBodyDateTimeInput {
        1604  +
impl ConstantAndVariableQueryStringInput {
 1252   1605   
    #[allow(missing_docs)] // documentation missing in model
 1253         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1254         -
        &self.timestamp
        1606  +
    pub fn baz(&self) -> ::std::option::Option<&str> {
        1607  +
        self.baz.as_deref()
        1608  +
    }
        1609  +
    #[allow(missing_docs)] // documentation missing in model
        1610  +
    pub fn maybe_set(&self) -> ::std::option::Option<&str> {
        1611  +
        self.maybe_set.as_deref()
 1255   1612   
    }
 1256   1613   
}
 1257   1614   
#[allow(clippy::new_without_default)]
 1258   1615   
#[allow(clippy::too_many_arguments)]
 1259   1616   
#[::pyo3::pymethods]
 1260         -
impl MalformedTimestampBodyDateTimeInput {
        1617  +
impl ConstantAndVariableQueryStringInput {
 1261   1618   
    #[new]
 1262         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1263         -
        Self { timestamp }
        1619  +
    pub fn new(
        1620  +
        baz: ::std::option::Option<::std::string::String>,
        1621  +
        maybe_set: ::std::option::Option<::std::string::String>,
        1622  +
    ) -> Self {
        1623  +
        Self { baz, maybe_set }
 1264   1624   
    }
 1265   1625   
    fn __repr__(&self) -> String {
 1266   1626   
        format!("{self:?}")
 1267   1627   
    }
 1268   1628   
    fn __str__(&self) -> String {
 1269   1629   
        format!("{self:?}")
 1270   1630   
    }
 1271   1631   
}
 1272   1632   
impl<'source> ::pyo3::FromPyObject<'source>
 1273         -
    for std::boxed::Box<MalformedTimestampBodyDateTimeInput>
        1633  +
    for std::boxed::Box<ConstantAndVariableQueryStringInput>
 1274   1634   
{
 1275   1635   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1276         -
        ob.extract::<MalformedTimestampBodyDateTimeInput>()
        1636  +
        ob.extract::<ConstantAndVariableQueryStringInput>()
 1277   1637   
            .map(Box::new)
 1278   1638   
    }
 1279   1639   
}
 1280   1640   
 1281         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampBodyDateTimeInput> {
        1641  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ConstantAndVariableQueryStringInput> {
 1282   1642   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1283   1643   
        (*self).into_py(py)
 1284   1644   
    }
 1285   1645   
}
 1286         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDateTimeInput {
 1287         -
    type Unconstrained = crate::input::malformed_timestamp_body_date_time_input_internal::Builder;
        1646  +
impl crate::constrained::Constrained for crate::input::ConstantAndVariableQueryStringInput {
        1647  +
    type Unconstrained = crate::input::constant_and_variable_query_string_input_internal::Builder;
 1288   1648   
}
 1289         -
impl MalformedTimestampBodyDateTimeInput {
 1290         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 1291         -
    pub fn builder() -> crate::input::malformed_timestamp_body_date_time_input::Builder {
 1292         -
        crate::input::malformed_timestamp_body_date_time_input::Builder::default()
        1649  +
impl ConstantAndVariableQueryStringInput {
        1650  +
    /// Creates a new builder-style object to manufacture [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
        1651  +
    pub fn builder() -> crate::input::constant_and_variable_query_string_input::Builder {
        1652  +
        crate::input::constant_and_variable_query_string_input::Builder::default()
 1293   1653   
    }
 1294   1654   
}
 1295   1655   
 1296   1656   
#[::pyo3::pyclass]
 1297         -
/// :param timestamp rest_json.types.DateTime:
 1298   1657   
/// :rtype None:
 1299   1658   
#[allow(missing_docs)] // documentation missing in model
 1300   1659   
#[derive(
 1301   1660   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1302   1661   
)]
 1303         -
pub struct MalformedTimestampBodyDefaultInput {
 1304         -
    #[pyo3(get, set)]
 1305         -
    /// :type rest_json.types.DateTime:
 1306         -
    #[allow(missing_docs)] // documentation missing in model
 1307         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 1308         -
}
 1309         -
impl MalformedTimestampBodyDefaultInput {
 1310         -
    #[allow(missing_docs)] // documentation missing in model
 1311         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1312         -
        &self.timestamp
 1313         -
    }
 1314         -
}
        1662  +
pub struct IgnoreQueryParamsInResponseInput {}
 1315   1663   
#[allow(clippy::new_without_default)]
 1316   1664   
#[allow(clippy::too_many_arguments)]
 1317   1665   
#[::pyo3::pymethods]
 1318         -
impl MalformedTimestampBodyDefaultInput {
        1666  +
impl IgnoreQueryParamsInResponseInput {
 1319   1667   
    #[new]
 1320         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1321         -
        Self { timestamp }
        1668  +
    pub fn new() -> Self {
        1669  +
        Self {}
 1322   1670   
    }
 1323   1671   
    fn __repr__(&self) -> String {
 1324   1672   
        format!("{self:?}")
 1325   1673   
    }
 1326   1674   
    fn __str__(&self) -> String {
 1327   1675   
        format!("{self:?}")
 1328   1676   
    }
 1329   1677   
}
 1330         -
impl<'source> ::pyo3::FromPyObject<'source>
 1331         -
    for std::boxed::Box<MalformedTimestampBodyDefaultInput>
 1332         -
{
        1678  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<IgnoreQueryParamsInResponseInput> {
 1333   1679   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1334         -
        ob.extract::<MalformedTimestampBodyDefaultInput>()
        1680  +
        ob.extract::<IgnoreQueryParamsInResponseInput>()
 1335   1681   
            .map(Box::new)
 1336   1682   
    }
 1337   1683   
}
 1338   1684   
 1339         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampBodyDefaultInput> {
        1685  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<IgnoreQueryParamsInResponseInput> {
 1340   1686   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1341   1687   
        (*self).into_py(py)
 1342   1688   
    }
 1343   1689   
}
 1344         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDefaultInput {
 1345         -
    type Unconstrained = crate::input::malformed_timestamp_body_default_input_internal::Builder;
        1690  +
impl crate::constrained::Constrained for crate::input::IgnoreQueryParamsInResponseInput {
        1691  +
    type Unconstrained = crate::input::ignore_query_params_in_response_input_internal::Builder;
 1346   1692   
}
 1347         -
impl MalformedTimestampBodyDefaultInput {
 1348         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 1349         -
    pub fn builder() -> crate::input::malformed_timestamp_body_default_input::Builder {
 1350         -
        crate::input::malformed_timestamp_body_default_input::Builder::default()
        1693  +
impl IgnoreQueryParamsInResponseInput {
        1694  +
    /// Creates a new builder-style object to manufacture [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
        1695  +
    pub fn builder() -> crate::input::ignore_query_params_in_response_input::Builder {
        1696  +
        crate::input::ignore_query_params_in_response_input::Builder::default()
 1351   1697   
    }
 1352   1698   
}
 1353   1699   
 1354   1700   
#[::pyo3::pyclass]
 1355         -
/// :param timestamp rest_json.types.DateTime:
        1701  +
/// :param null_value typing.Optional\[str\]:
        1702  +
/// :param empty_string typing.Optional\[str\]:
 1356   1703   
/// :rtype None:
 1357   1704   
#[allow(missing_docs)] // documentation missing in model
 1358   1705   
#[derive(
 1359   1706   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1360   1707   
)]
 1361         -
pub struct MalformedTimestampHeaderEpochInput {
        1708  +
pub struct OmitsNullSerializesEmptyStringInput {
 1362   1709   
    #[pyo3(get, set)]
 1363         -
    /// :type rest_json.types.DateTime:
        1710  +
    /// :type typing.Optional\[str\]:
 1364   1711   
    #[allow(missing_docs)] // documentation missing in model
 1365         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 1366         -
}
 1367         -
impl MalformedTimestampHeaderEpochInput {
        1712  +
    pub null_value: ::std::option::Option<::std::string::String>,
        1713  +
    #[pyo3(get, set)]
        1714  +
    /// :type typing.Optional\[str\]:
 1368   1715   
    #[allow(missing_docs)] // documentation missing in model
 1369         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1370         -
        &self.timestamp
        1716  +
    pub empty_string: ::std::option::Option<::std::string::String>,
        1717  +
}
        1718  +
impl OmitsNullSerializesEmptyStringInput {
        1719  +
    #[allow(missing_docs)] // documentation missing in model
        1720  +
    pub fn null_value(&self) -> ::std::option::Option<&str> {
        1721  +
        self.null_value.as_deref()
        1722  +
    }
        1723  +
    #[allow(missing_docs)] // documentation missing in model
        1724  +
    pub fn empty_string(&self) -> ::std::option::Option<&str> {
        1725  +
        self.empty_string.as_deref()
 1371   1726   
    }
 1372   1727   
}
 1373   1728   
#[allow(clippy::new_without_default)]
 1374   1729   
#[allow(clippy::too_many_arguments)]
 1375   1730   
#[::pyo3::pymethods]
 1376         -
impl MalformedTimestampHeaderEpochInput {
        1731  +
impl OmitsNullSerializesEmptyStringInput {
 1377   1732   
    #[new]
 1378         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1379         -
        Self { timestamp }
        1733  +
    pub fn new(
        1734  +
        null_value: ::std::option::Option<::std::string::String>,
        1735  +
        empty_string: ::std::option::Option<::std::string::String>,
        1736  +
    ) -> Self {
        1737  +
        Self {
        1738  +
            null_value,
        1739  +
            empty_string,
        1740  +
        }
 1380   1741   
    }
 1381   1742   
    fn __repr__(&self) -> String {
 1382   1743   
        format!("{self:?}")
 1383   1744   
    }
 1384   1745   
    fn __str__(&self) -> String {
 1385   1746   
        format!("{self:?}")
 1386   1747   
    }
 1387   1748   
}
 1388   1749   
impl<'source> ::pyo3::FromPyObject<'source>
 1389         -
    for std::boxed::Box<MalformedTimestampHeaderEpochInput>
        1750  +
    for std::boxed::Box<OmitsNullSerializesEmptyStringInput>
 1390   1751   
{
 1391   1752   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1392         -
        ob.extract::<MalformedTimestampHeaderEpochInput>()
        1753  +
        ob.extract::<OmitsNullSerializesEmptyStringInput>()
 1393   1754   
            .map(Box::new)
 1394   1755   
    }
 1395   1756   
}
 1396   1757   
 1397         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampHeaderEpochInput> {
        1758  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OmitsNullSerializesEmptyStringInput> {
 1398   1759   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1399   1760   
        (*self).into_py(py)
 1400   1761   
    }
 1401   1762   
}
 1402         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderEpochInput {
 1403         -
    type Unconstrained = crate::input::malformed_timestamp_header_epoch_input_internal::Builder;
        1763  +
impl crate::constrained::Constrained for crate::input::OmitsNullSerializesEmptyStringInput {
        1764  +
    type Unconstrained = crate::input::omits_null_serializes_empty_string_input_internal::Builder;
 1404   1765   
}
 1405         -
impl MalformedTimestampHeaderEpochInput {
 1406         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 1407         -
    pub fn builder() -> crate::input::malformed_timestamp_header_epoch_input::Builder {
 1408         -
        crate::input::malformed_timestamp_header_epoch_input::Builder::default()
        1766  +
impl OmitsNullSerializesEmptyStringInput {
        1767  +
    /// Creates a new builder-style object to manufacture [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
        1768  +
    pub fn builder() -> crate::input::omits_null_serializes_empty_string_input::Builder {
        1769  +
        crate::input::omits_null_serializes_empty_string_input::Builder::default()
 1409   1770   
    }
 1410   1771   
}
 1411   1772   
 1412   1773   
#[::pyo3::pyclass]
 1413         -
/// :param timestamp rest_json.types.DateTime:
        1774  +
/// :param query_string_list typing.Optional\[typing.List\[str\]\]:
        1775  +
/// :param query_integer_list typing.Optional\[typing.List\[int\]\]:
        1776  +
/// :param query_double_list typing.Optional\[typing.List\[float\]\]:
        1777  +
/// :param query_boolean_list typing.Optional\[typing.List\[bool\]\]:
        1778  +
/// :param query_timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
        1779  +
/// :param query_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        1780  +
/// :param query_integer_enum_list typing.Optional\[typing.List\[int\]\]:
 1414   1781   
/// :rtype None:
 1415   1782   
#[allow(missing_docs)] // documentation missing in model
 1416         -
#[derive(
 1417         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1418         -
)]
 1419         -
pub struct MalformedTimestampHeaderDateTimeInput {
        1783  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1784  +
pub struct OmitsSerializingEmptyListsInput {
 1420   1785   
    #[pyo3(get, set)]
 1421         -
    /// :type rest_json.types.DateTime:
        1786  +
    /// :type typing.Optional\[typing.List\[str\]\]:
 1422   1787   
    #[allow(missing_docs)] // documentation missing in model
 1423         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        1788  +
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1789  +
    #[pyo3(get, set)]
        1790  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        1791  +
    #[allow(missing_docs)] // documentation missing in model
        1792  +
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1793  +
    #[pyo3(get, set)]
        1794  +
    /// :type typing.Optional\[typing.List\[float\]\]:
        1795  +
    #[allow(missing_docs)] // documentation missing in model
        1796  +
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        1797  +
    #[pyo3(get, set)]
        1798  +
    /// :type typing.Optional\[typing.List\[bool\]\]:
        1799  +
    #[allow(missing_docs)] // documentation missing in model
        1800  +
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        1801  +
    #[pyo3(get, set)]
        1802  +
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
        1803  +
    #[allow(missing_docs)] // documentation missing in model
        1804  +
    pub query_timestamp_list:
        1805  +
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
        1806  +
    #[pyo3(get, set)]
        1807  +
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        1808  +
    #[allow(missing_docs)] // documentation missing in model
        1809  +
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1810  +
    #[pyo3(get, set)]
        1811  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        1812  +
    #[allow(missing_docs)] // documentation missing in model
        1813  +
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 1424   1814   
}
 1425         -
impl MalformedTimestampHeaderDateTimeInput {
        1815  +
impl OmitsSerializingEmptyListsInput {
 1426   1816   
    #[allow(missing_docs)] // documentation missing in model
 1427         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1428         -
        &self.timestamp
        1817  +
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        1818  +
        self.query_string_list.as_deref()
        1819  +
    }
        1820  +
    #[allow(missing_docs)] // documentation missing in model
        1821  +
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        1822  +
        self.query_integer_list.as_deref()
        1823  +
    }
        1824  +
    #[allow(missing_docs)] // documentation missing in model
        1825  +
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
        1826  +
        self.query_double_list.as_deref()
        1827  +
    }
        1828  +
    #[allow(missing_docs)] // documentation missing in model
        1829  +
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        1830  +
        self.query_boolean_list.as_deref()
        1831  +
    }
        1832  +
    #[allow(missing_docs)] // documentation missing in model
        1833  +
    pub fn query_timestamp_list(
        1834  +
        &self,
        1835  +
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
        1836  +
        self.query_timestamp_list.as_deref()
        1837  +
    }
        1838  +
    #[allow(missing_docs)] // documentation missing in model
        1839  +
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        1840  +
        self.query_enum_list.as_deref()
        1841  +
    }
        1842  +
    #[allow(missing_docs)] // documentation missing in model
        1843  +
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        1844  +
        self.query_integer_enum_list.as_deref()
 1429   1845   
    }
 1430   1846   
}
 1431   1847   
#[allow(clippy::new_without_default)]
 1432   1848   
#[allow(clippy::too_many_arguments)]
 1433   1849   
#[::pyo3::pymethods]
 1434         -
impl MalformedTimestampHeaderDateTimeInput {
        1850  +
impl OmitsSerializingEmptyListsInput {
 1435   1851   
    #[new]
 1436         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1437         -
        Self { timestamp }
        1852  +
    pub fn new(
        1853  +
        query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1854  +
        query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1855  +
        query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        1856  +
        query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        1857  +
        query_timestamp_list: ::std::option::Option<
        1858  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        1859  +
        >,
        1860  +
        query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1861  +
        query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1862  +
    ) -> Self {
        1863  +
        Self {
        1864  +
            query_string_list,
        1865  +
            query_integer_list,
        1866  +
            query_double_list,
        1867  +
            query_boolean_list,
        1868  +
            query_timestamp_list,
        1869  +
            query_enum_list,
        1870  +
            query_integer_enum_list,
        1871  +
        }
 1438   1872   
    }
 1439   1873   
    fn __repr__(&self) -> String {
 1440   1874   
        format!("{self:?}")
 1441   1875   
    }
 1442   1876   
    fn __str__(&self) -> String {
 1443   1877   
        format!("{self:?}")
 1444   1878   
    }
 1445   1879   
}
 1446         -
impl<'source> ::pyo3::FromPyObject<'source>
 1447         -
    for std::boxed::Box<MalformedTimestampHeaderDateTimeInput>
 1448         -
{
        1880  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OmitsSerializingEmptyListsInput> {
 1449   1881   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1450         -
        ob.extract::<MalformedTimestampHeaderDateTimeInput>()
        1882  +
        ob.extract::<OmitsSerializingEmptyListsInput>()
 1451   1883   
            .map(Box::new)
 1452   1884   
    }
 1453   1885   
}
 1454   1886   
 1455         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampHeaderDateTimeInput> {
        1887  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OmitsSerializingEmptyListsInput> {
 1456   1888   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1457   1889   
        (*self).into_py(py)
 1458   1890   
    }
 1459   1891   
}
 1460         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDateTimeInput {
 1461         -
    type Unconstrained = crate::input::malformed_timestamp_header_date_time_input_internal::Builder;
        1892  +
impl crate::constrained::Constrained for crate::input::OmitsSerializingEmptyListsInput {
        1893  +
    type Unconstrained = crate::input::omits_serializing_empty_lists_input_internal::Builder;
 1462   1894   
}
 1463         -
impl MalformedTimestampHeaderDateTimeInput {
 1464         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 1465         -
    pub fn builder() -> crate::input::malformed_timestamp_header_date_time_input::Builder {
 1466         -
        crate::input::malformed_timestamp_header_date_time_input::Builder::default()
        1895  +
impl OmitsSerializingEmptyListsInput {
        1896  +
    /// Creates a new builder-style object to manufacture [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
        1897  +
    pub fn builder() -> crate::input::omits_serializing_empty_lists_input::Builder {
        1898  +
        crate::input::omits_serializing_empty_lists_input::Builder::default()
 1467   1899   
    }
 1468   1900   
}
 1469   1901   
 1470   1902   
#[::pyo3::pyclass]
 1471         -
/// :param timestamp rest_json.types.DateTime:
        1903  +
/// :param token typing.Optional\[str\]:
 1472   1904   
/// :rtype None:
 1473   1905   
#[allow(missing_docs)] // documentation missing in model
 1474   1906   
#[derive(
 1475   1907   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1476   1908   
)]
 1477         -
pub struct MalformedTimestampHeaderDefaultInput {
        1909  +
pub struct QueryIdempotencyTokenAutoFillInput {
 1478   1910   
    #[pyo3(get, set)]
 1479         -
    /// :type rest_json.types.DateTime:
        1911  +
    /// :type typing.Optional\[str\]:
 1480   1912   
    #[allow(missing_docs)] // documentation missing in model
 1481         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        1913  +
    pub token: ::std::option::Option<::std::string::String>,
 1482   1914   
}
 1483         -
impl MalformedTimestampHeaderDefaultInput {
        1915  +
impl QueryIdempotencyTokenAutoFillInput {
 1484   1916   
    #[allow(missing_docs)] // documentation missing in model
 1485         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1486         -
        &self.timestamp
        1917  +
    pub fn token(&self) -> ::std::option::Option<&str> {
        1918  +
        self.token.as_deref()
 1487   1919   
    }
 1488   1920   
}
 1489   1921   
#[allow(clippy::new_without_default)]
 1490   1922   
#[allow(clippy::too_many_arguments)]
 1491   1923   
#[::pyo3::pymethods]
 1492         -
impl MalformedTimestampHeaderDefaultInput {
        1924  +
impl QueryIdempotencyTokenAutoFillInput {
 1493   1925   
    #[new]
 1494         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1495         -
        Self { timestamp }
        1926  +
    pub fn new(token: ::std::option::Option<::std::string::String>) -> Self {
        1927  +
        Self { token }
 1496   1928   
    }
 1497   1929   
    fn __repr__(&self) -> String {
 1498   1930   
        format!("{self:?}")
 1499   1931   
    }
 1500   1932   
    fn __str__(&self) -> String {
 1501   1933   
        format!("{self:?}")
 1502   1934   
    }
 1503   1935   
}
 1504   1936   
impl<'source> ::pyo3::FromPyObject<'source>
 1505         -
    for std::boxed::Box<MalformedTimestampHeaderDefaultInput>
        1937  +
    for std::boxed::Box<QueryIdempotencyTokenAutoFillInput>
 1506   1938   
{
 1507   1939   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1508         -
        ob.extract::<MalformedTimestampHeaderDefaultInput>()
        1940  +
        ob.extract::<QueryIdempotencyTokenAutoFillInput>()
 1509   1941   
            .map(Box::new)
 1510   1942   
    }
 1511   1943   
}
 1512   1944   
 1513         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampHeaderDefaultInput> {
        1945  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<QueryIdempotencyTokenAutoFillInput> {
 1514   1946   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1515   1947   
        (*self).into_py(py)
 1516   1948   
    }
 1517   1949   
}
 1518         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDefaultInput {
 1519         -
    type Unconstrained = crate::input::malformed_timestamp_header_default_input_internal::Builder;
        1950  +
impl crate::constrained::Constrained for crate::input::QueryIdempotencyTokenAutoFillInput {
        1951  +
    type Unconstrained = crate::input::query_idempotency_token_auto_fill_input_internal::Builder;
 1520   1952   
}
 1521         -
impl MalformedTimestampHeaderDefaultInput {
 1522         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
 1523         -
    pub fn builder() -> crate::input::malformed_timestamp_header_default_input::Builder {
 1524         -
        crate::input::malformed_timestamp_header_default_input::Builder::default()
        1953  +
impl QueryIdempotencyTokenAutoFillInput {
        1954  +
    /// Creates a new builder-style object to manufacture [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
        1955  +
    pub fn builder() -> crate::input::query_idempotency_token_auto_fill_input::Builder {
        1956  +
        crate::input::query_idempotency_token_auto_fill_input::Builder::default()
 1525   1957   
    }
 1526   1958   
}
 1527   1959   
 1528   1960   
#[::pyo3::pyclass]
 1529         -
/// :param timestamp rest_json.types.DateTime:
        1961  +
/// :param foo typing.Optional\[str\]:
        1962  +
/// :param baz typing.Optional\[typing.Dict\[str, str\]\]:
 1530   1963   
/// :rtype None:
 1531   1964   
#[allow(missing_docs)] // documentation missing in model
 1532         -
#[derive(
 1533         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1534         -
)]
 1535         -
pub struct MalformedTimestampQueryEpochInput {
        1965  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1966  +
pub struct QueryPrecedenceInput {
 1536   1967   
    #[pyo3(get, set)]
 1537         -
    /// :type rest_json.types.DateTime:
        1968  +
    /// :type typing.Optional\[str\]:
 1538   1969   
    #[allow(missing_docs)] // documentation missing in model
 1539         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        1970  +
    pub foo: ::std::option::Option<::std::string::String>,
        1971  +
    #[pyo3(get, set)]
        1972  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
        1973  +
    #[allow(missing_docs)] // documentation missing in model
        1974  +
    pub baz: ::std::option::Option<
        1975  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1976  +
    >,
 1540   1977   
}
 1541         -
impl MalformedTimestampQueryEpochInput {
        1978  +
impl QueryPrecedenceInput {
 1542   1979   
    #[allow(missing_docs)] // documentation missing in model
 1543         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1544         -
        &self.timestamp
        1980  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        1981  +
        self.foo.as_deref()
        1982  +
    }
        1983  +
    #[allow(missing_docs)] // documentation missing in model
        1984  +
    pub fn baz(
        1985  +
        &self,
        1986  +
    ) -> ::std::option::Option<
        1987  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1988  +
    > {
        1989  +
        self.baz.as_ref()
 1545   1990   
    }
 1546   1991   
}
 1547   1992   
#[allow(clippy::new_without_default)]
 1548   1993   
#[allow(clippy::too_many_arguments)]
 1549   1994   
#[::pyo3::pymethods]
 1550         -
impl MalformedTimestampQueryEpochInput {
        1995  +
impl QueryPrecedenceInput {
 1551   1996   
    #[new]
 1552         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1553         -
        Self { timestamp }
        1997  +
    pub fn new(
        1998  +
        foo: ::std::option::Option<::std::string::String>,
        1999  +
        baz: ::std::option::Option<
        2000  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2001  +
        >,
        2002  +
    ) -> Self {
        2003  +
        Self { foo, baz }
 1554   2004   
    }
 1555   2005   
    fn __repr__(&self) -> String {
 1556   2006   
        format!("{self:?}")
 1557   2007   
    }
 1558   2008   
    fn __str__(&self) -> String {
 1559   2009   
        format!("{self:?}")
 1560   2010   
    }
 1561   2011   
}
 1562         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedTimestampQueryEpochInput> {
        2012  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<QueryPrecedenceInput> {
 1563   2013   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1564         -
        ob.extract::<MalformedTimestampQueryEpochInput>()
 1565         -
            .map(Box::new)
        2014  +
        ob.extract::<QueryPrecedenceInput>().map(Box::new)
 1566   2015   
    }
 1567   2016   
}
 1568   2017   
 1569         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampQueryEpochInput> {
        2018  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<QueryPrecedenceInput> {
 1570   2019   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1571   2020   
        (*self).into_py(py)
 1572   2021   
    }
 1573   2022   
}
 1574         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryEpochInput {
 1575         -
    type Unconstrained = crate::input::malformed_timestamp_query_epoch_input_internal::Builder;
        2023  +
impl crate::constrained::Constrained for crate::input::QueryPrecedenceInput {
        2024  +
    type Unconstrained = crate::input::query_precedence_input_internal::Builder;
 1576   2025   
}
 1577         -
impl MalformedTimestampQueryEpochInput {
 1578         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
 1579         -
    pub fn builder() -> crate::input::malformed_timestamp_query_epoch_input::Builder {
 1580         -
        crate::input::malformed_timestamp_query_epoch_input::Builder::default()
        2026  +
impl QueryPrecedenceInput {
        2027  +
    /// Creates a new builder-style object to manufacture [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
        2028  +
    pub fn builder() -> crate::input::query_precedence_input::Builder {
        2029  +
        crate::input::query_precedence_input::Builder::default()
 1581   2030   
    }
 1582   2031   
}
 1583   2032   
 1584   2033   
#[::pyo3::pyclass]
 1585         -
/// :param timestamp rest_json.types.DateTime:
        2034  +
/// :param query_map typing.Optional\[typing.Dict\[str, str\]\]:
 1586   2035   
/// :rtype None:
 1587   2036   
#[allow(missing_docs)] // documentation missing in model
 1588         -
#[derive(
 1589         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1590         -
)]
 1591         -
pub struct MalformedTimestampQueryHttpDateInput {
        2037  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2038  +
pub struct HttpQueryParamsOnlyOperationInput {
 1592   2039   
    #[pyo3(get, set)]
 1593         -
    /// :type rest_json.types.DateTime:
        2040  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 1594   2041   
    #[allow(missing_docs)] // documentation missing in model
 1595         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        2042  +
    pub query_map: ::std::option::Option<
        2043  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2044  +
    >,
 1596   2045   
}
 1597         -
impl MalformedTimestampQueryHttpDateInput {
        2046  +
impl HttpQueryParamsOnlyOperationInput {
 1598   2047   
    #[allow(missing_docs)] // documentation missing in model
 1599         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1600         -
        &self.timestamp
        2048  +
    pub fn query_map(
        2049  +
        &self,
        2050  +
    ) -> ::std::option::Option<
        2051  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2052  +
    > {
        2053  +
        self.query_map.as_ref()
 1601   2054   
    }
 1602   2055   
}
 1603   2056   
#[allow(clippy::new_without_default)]
 1604   2057   
#[allow(clippy::too_many_arguments)]
 1605   2058   
#[::pyo3::pymethods]
 1606         -
impl MalformedTimestampQueryHttpDateInput {
        2059  +
impl HttpQueryParamsOnlyOperationInput {
 1607   2060   
    #[new]
 1608         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1609         -
        Self { timestamp }
        2061  +
    pub fn new(
        2062  +
        query_map: ::std::option::Option<
        2063  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2064  +
        >,
        2065  +
    ) -> Self {
        2066  +
        Self { query_map }
 1610   2067   
    }
 1611   2068   
    fn __repr__(&self) -> String {
 1612   2069   
        format!("{self:?}")
 1613   2070   
    }
 1614   2071   
    fn __str__(&self) -> String {
 1615   2072   
        format!("{self:?}")
 1616   2073   
    }
 1617   2074   
}
 1618         -
impl<'source> ::pyo3::FromPyObject<'source>
 1619         -
    for std::boxed::Box<MalformedTimestampQueryHttpDateInput>
 1620         -
{
        2075  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpQueryParamsOnlyOperationInput> {
 1621   2076   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1622         -
        ob.extract::<MalformedTimestampQueryHttpDateInput>()
        2077  +
        ob.extract::<HttpQueryParamsOnlyOperationInput>()
 1623   2078   
            .map(Box::new)
 1624   2079   
    }
 1625   2080   
}
 1626   2081   
 1627         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampQueryHttpDateInput> {
        2082  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpQueryParamsOnlyOperationInput> {
 1628   2083   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1629   2084   
        (*self).into_py(py)
 1630   2085   
    }
 1631   2086   
}
 1632         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryHttpDateInput {
 1633         -
    type Unconstrained = crate::input::malformed_timestamp_query_http_date_input_internal::Builder;
        2087  +
impl crate::constrained::Constrained for crate::input::HttpQueryParamsOnlyOperationInput {
        2088  +
    type Unconstrained = crate::input::http_query_params_only_operation_input_internal::Builder;
 1634   2089   
}
 1635         -
impl MalformedTimestampQueryHttpDateInput {
 1636         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
 1637         -
    pub fn builder() -> crate::input::malformed_timestamp_query_http_date_input::Builder {
 1638         -
        crate::input::malformed_timestamp_query_http_date_input::Builder::default()
        2090  +
impl HttpQueryParamsOnlyOperationInput {
        2091  +
    /// Creates a new builder-style object to manufacture [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
        2092  +
    pub fn builder() -> crate::input::http_query_params_only_operation_input::Builder {
        2093  +
        crate::input::http_query_params_only_operation_input::Builder::default()
 1639   2094   
    }
 1640   2095   
}
 1641   2096   
 1642   2097   
#[::pyo3::pyclass]
 1643         -
/// :param timestamp rest_json.types.DateTime:
        2098  +
/// :param qux typing.Optional\[str\]:
        2099  +
/// :param foo typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
 1644   2100   
/// :rtype None:
 1645   2101   
#[allow(missing_docs)] // documentation missing in model
 1646         -
#[derive(
 1647         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1648         -
)]
 1649         -
pub struct MalformedTimestampQueryDefaultInput {
        2102  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2103  +
pub struct QueryParamsAsStringListMapInput {
 1650   2104   
    #[pyo3(get, set)]
 1651         -
    /// :type rest_json.types.DateTime:
        2105  +
    /// :type typing.Optional\[str\]:
 1652   2106   
    #[allow(missing_docs)] // documentation missing in model
 1653         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        2107  +
    pub qux: ::std::option::Option<::std::string::String>,
        2108  +
    #[pyo3(get, set)]
        2109  +
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        2110  +
    #[allow(missing_docs)] // documentation missing in model
        2111  +
    pub foo: ::std::option::Option<
        2112  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        2113  +
    >,
 1654   2114   
}
 1655         -
impl MalformedTimestampQueryDefaultInput {
        2115  +
impl QueryParamsAsStringListMapInput {
 1656   2116   
    #[allow(missing_docs)] // documentation missing in model
 1657         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1658         -
        &self.timestamp
        2117  +
    pub fn qux(&self) -> ::std::option::Option<&str> {
        2118  +
        self.qux.as_deref()
        2119  +
    }
        2120  +
    #[allow(missing_docs)] // documentation missing in model
        2121  +
    pub fn foo(
        2122  +
        &self,
        2123  +
    ) -> ::std::option::Option<
        2124  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        2125  +
    > {
        2126  +
        self.foo.as_ref()
 1659   2127   
    }
 1660   2128   
}
 1661   2129   
#[allow(clippy::new_without_default)]
 1662   2130   
#[allow(clippy::too_many_arguments)]
 1663   2131   
#[::pyo3::pymethods]
 1664         -
impl MalformedTimestampQueryDefaultInput {
        2132  +
impl QueryParamsAsStringListMapInput {
 1665   2133   
    #[new]
 1666         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1667         -
        Self { timestamp }
        2134  +
    pub fn new(
        2135  +
        qux: ::std::option::Option<::std::string::String>,
        2136  +
        foo: ::std::option::Option<
        2137  +
            ::std::collections::HashMap<
        2138  +
                ::std::string::String,
        2139  +
                ::std::vec::Vec<::std::string::String>,
        2140  +
            >,
        2141  +
        >,
        2142  +
    ) -> Self {
        2143  +
        Self { qux, foo }
 1668   2144   
    }
 1669   2145   
    fn __repr__(&self) -> String {
 1670   2146   
        format!("{self:?}")
 1671   2147   
    }
 1672   2148   
    fn __str__(&self) -> String {
 1673   2149   
        format!("{self:?}")
 1674   2150   
    }
 1675   2151   
}
 1676         -
impl<'source> ::pyo3::FromPyObject<'source>
 1677         -
    for std::boxed::Box<MalformedTimestampQueryDefaultInput>
 1678         -
{
        2152  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<QueryParamsAsStringListMapInput> {
 1679   2153   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1680         -
        ob.extract::<MalformedTimestampQueryDefaultInput>()
        2154  +
        ob.extract::<QueryParamsAsStringListMapInput>()
 1681   2155   
            .map(Box::new)
 1682   2156   
    }
 1683   2157   
}
 1684   2158   
 1685         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampQueryDefaultInput> {
        2159  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<QueryParamsAsStringListMapInput> {
 1686   2160   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1687   2161   
        (*self).into_py(py)
 1688   2162   
    }
 1689   2163   
}
 1690         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryDefaultInput {
 1691         -
    type Unconstrained = crate::input::malformed_timestamp_query_default_input_internal::Builder;
        2164  +
impl crate::constrained::Constrained for crate::input::QueryParamsAsStringListMapInput {
        2165  +
    type Unconstrained = crate::input::query_params_as_string_list_map_input_internal::Builder;
 1692   2166   
}
 1693         -
impl MalformedTimestampQueryDefaultInput {
 1694         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
 1695         -
    pub fn builder() -> crate::input::malformed_timestamp_query_default_input::Builder {
 1696         -
        crate::input::malformed_timestamp_query_default_input::Builder::default()
        2167  +
impl QueryParamsAsStringListMapInput {
        2168  +
    /// Creates a new builder-style object to manufacture [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
        2169  +
    pub fn builder() -> crate::input::query_params_as_string_list_map_input::Builder {
        2170  +
        crate::input::query_params_as_string_list_map_input::Builder::default()
 1697   2171   
    }
 1698   2172   
}
 1699   2173   
 1700   2174   
#[::pyo3::pyclass]
 1701         -
/// :param timestamp rest_json.types.DateTime:
        2175  +
/// :param foo typing.Optional\[str\]:
        2176  +
/// :param foo_map typing.Optional\[typing.Dict\[str, str\]\]:
 1702   2177   
/// :rtype None:
 1703   2178   
#[allow(missing_docs)] // documentation missing in model
 1704         -
#[derive(
 1705         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1706         -
)]
 1707         -
pub struct MalformedTimestampPathEpochInput {
        2179  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2180  +
pub struct HttpPrefixHeadersInput {
 1708   2181   
    #[pyo3(get, set)]
 1709         -
    /// :type rest_json.types.DateTime:
        2182  +
    /// :type typing.Optional\[str\]:
 1710   2183   
    #[allow(missing_docs)] // documentation missing in model
 1711         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        2184  +
    pub foo: ::std::option::Option<::std::string::String>,
        2185  +
    #[pyo3(get, set)]
        2186  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
        2187  +
    #[allow(missing_docs)] // documentation missing in model
        2188  +
    pub foo_map: ::std::option::Option<
        2189  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2190  +
    >,
 1712   2191   
}
 1713         -
impl MalformedTimestampPathEpochInput {
        2192  +
impl HttpPrefixHeadersInput {
 1714   2193   
    #[allow(missing_docs)] // documentation missing in model
 1715         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1716         -
        &self.timestamp
        2194  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2195  +
        self.foo.as_deref()
        2196  +
    }
        2197  +
    #[allow(missing_docs)] // documentation missing in model
        2198  +
    pub fn foo_map(
        2199  +
        &self,
        2200  +
    ) -> ::std::option::Option<
        2201  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2202  +
    > {
        2203  +
        self.foo_map.as_ref()
 1717   2204   
    }
 1718   2205   
}
 1719   2206   
#[allow(clippy::new_without_default)]
 1720   2207   
#[allow(clippy::too_many_arguments)]
 1721   2208   
#[::pyo3::pymethods]
 1722         -
impl MalformedTimestampPathEpochInput {
        2209  +
impl HttpPrefixHeadersInput {
 1723   2210   
    #[new]
 1724         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1725         -
        Self { timestamp }
        2211  +
    pub fn new(
        2212  +
        foo: ::std::option::Option<::std::string::String>,
        2213  +
        foo_map: ::std::option::Option<
        2214  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2215  +
        >,
        2216  +
    ) -> Self {
        2217  +
        Self { foo, foo_map }
 1726   2218   
    }
 1727   2219   
    fn __repr__(&self) -> String {
 1728   2220   
        format!("{self:?}")
 1729   2221   
    }
 1730   2222   
    fn __str__(&self) -> String {
 1731   2223   
        format!("{self:?}")
 1732   2224   
    }
 1733   2225   
}
 1734         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedTimestampPathEpochInput> {
        2226  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPrefixHeadersInput> {
 1735   2227   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1736         -
        ob.extract::<MalformedTimestampPathEpochInput>()
 1737         -
            .map(Box::new)
        2228  +
        ob.extract::<HttpPrefixHeadersInput>().map(Box::new)
 1738   2229   
    }
 1739   2230   
}
 1740   2231   
 1741         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampPathEpochInput> {
        2232  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPrefixHeadersInput> {
 1742   2233   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1743   2234   
        (*self).into_py(py)
 1744   2235   
    }
 1745   2236   
}
 1746         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathEpochInput {
 1747         -
    type Unconstrained = crate::input::malformed_timestamp_path_epoch_input_internal::Builder;
        2237  +
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInput {
        2238  +
    type Unconstrained = crate::input::http_prefix_headers_input_internal::Builder;
 1748   2239   
}
 1749         -
impl MalformedTimestampPathEpochInput {
 1750         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
 1751         -
    pub fn builder() -> crate::input::malformed_timestamp_path_epoch_input::Builder {
 1752         -
        crate::input::malformed_timestamp_path_epoch_input::Builder::default()
        2240  +
impl HttpPrefixHeadersInput {
        2241  +
    /// Creates a new builder-style object to manufacture [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
        2242  +
    pub fn builder() -> crate::input::http_prefix_headers_input::Builder {
        2243  +
        crate::input::http_prefix_headers_input::Builder::default()
 1753   2244   
    }
 1754   2245   
}
 1755   2246   
 1756   2247   
#[::pyo3::pyclass]
 1757         -
/// :param timestamp rest_json.types.DateTime:
 1758   2248   
/// :rtype None:
 1759   2249   
#[allow(missing_docs)] // documentation missing in model
 1760   2250   
#[derive(
 1761   2251   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1762   2252   
)]
 1763         -
pub struct MalformedTimestampPathHttpDateInput {
 1764         -
    #[pyo3(get, set)]
 1765         -
    /// :type rest_json.types.DateTime:
 1766         -
    #[allow(missing_docs)] // documentation missing in model
 1767         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 1768         -
}
 1769         -
impl MalformedTimestampPathHttpDateInput {
 1770         -
    #[allow(missing_docs)] // documentation missing in model
 1771         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1772         -
        &self.timestamp
 1773         -
    }
 1774         -
}
        2253  +
pub struct HttpPrefixHeadersInResponseInput {}
 1775   2254   
#[allow(clippy::new_without_default)]
 1776   2255   
#[allow(clippy::too_many_arguments)]
 1777   2256   
#[::pyo3::pymethods]
 1778         -
impl MalformedTimestampPathHttpDateInput {
        2257  +
impl HttpPrefixHeadersInResponseInput {
 1779   2258   
    #[new]
 1780         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1781         -
        Self { timestamp }
        2259  +
    pub fn new() -> Self {
        2260  +
        Self {}
 1782   2261   
    }
 1783   2262   
    fn __repr__(&self) -> String {
 1784   2263   
        format!("{self:?}")
 1785   2264   
    }
 1786   2265   
    fn __str__(&self) -> String {
 1787   2266   
        format!("{self:?}")
 1788   2267   
    }
 1789   2268   
}
 1790         -
impl<'source> ::pyo3::FromPyObject<'source>
 1791         -
    for std::boxed::Box<MalformedTimestampPathHttpDateInput>
 1792         -
{
        2269  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPrefixHeadersInResponseInput> {
 1793   2270   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1794         -
        ob.extract::<MalformedTimestampPathHttpDateInput>()
        2271  +
        ob.extract::<HttpPrefixHeadersInResponseInput>()
 1795   2272   
            .map(Box::new)
 1796   2273   
    }
 1797   2274   
}
 1798   2275   
 1799         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampPathHttpDateInput> {
        2276  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPrefixHeadersInResponseInput> {
 1800   2277   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1801   2278   
        (*self).into_py(py)
 1802   2279   
    }
 1803   2280   
}
 1804         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathHttpDateInput {
 1805         -
    type Unconstrained = crate::input::malformed_timestamp_path_http_date_input_internal::Builder;
        2281  +
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInResponseInput {
        2282  +
    type Unconstrained = crate::input::http_prefix_headers_in_response_input_internal::Builder;
 1806   2283   
}
 1807         -
impl MalformedTimestampPathHttpDateInput {
 1808         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
 1809         -
    pub fn builder() -> crate::input::malformed_timestamp_path_http_date_input::Builder {
 1810         -
        crate::input::malformed_timestamp_path_http_date_input::Builder::default()
        2284  +
impl HttpPrefixHeadersInResponseInput {
        2285  +
    /// Creates a new builder-style object to manufacture [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
        2286  +
    pub fn builder() -> crate::input::http_prefix_headers_in_response_input::Builder {
        2287  +
        crate::input::http_prefix_headers_in_response_input::Builder::default()
 1811   2288   
    }
 1812   2289   
}
 1813   2290   
 1814   2291   
#[::pyo3::pyclass]
 1815         -
/// :param timestamp rest_json.types.DateTime:
        2292  +
/// :param prefix_headers typing.Optional\[typing.Dict\[str, str\]\]:
        2293  +
/// :param specific_header typing.Optional\[str\]:
 1816   2294   
/// :rtype None:
 1817   2295   
#[allow(missing_docs)] // documentation missing in model
 1818         -
#[derive(
 1819         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1820         -
)]
 1821         -
pub struct MalformedTimestampPathDefaultInput {
        2296  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2297  +
pub struct HttpEmptyPrefixHeadersInput {
 1822   2298   
    #[pyo3(get, set)]
 1823         -
    /// :type rest_json.types.DateTime:
        2299  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 1824   2300   
    #[allow(missing_docs)] // documentation missing in model
 1825         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        2301  +
    pub prefix_headers: ::std::option::Option<
        2302  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2303  +
    >,
        2304  +
    #[pyo3(get, set)]
        2305  +
    /// :type typing.Optional\[str\]:
        2306  +
    #[allow(missing_docs)] // documentation missing in model
        2307  +
    pub specific_header: ::std::option::Option<::std::string::String>,
 1826   2308   
}
 1827         -
impl MalformedTimestampPathDefaultInput {
        2309  +
impl HttpEmptyPrefixHeadersInput {
 1828   2310   
    #[allow(missing_docs)] // documentation missing in model
 1829         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 1830         -
        &self.timestamp
        2311  +
    pub fn prefix_headers(
        2312  +
        &self,
        2313  +
    ) -> ::std::option::Option<
        2314  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2315  +
    > {
        2316  +
        self.prefix_headers.as_ref()
        2317  +
    }
        2318  +
    #[allow(missing_docs)] // documentation missing in model
        2319  +
    pub fn specific_header(&self) -> ::std::option::Option<&str> {
        2320  +
        self.specific_header.as_deref()
 1831   2321   
    }
 1832   2322   
}
 1833   2323   
#[allow(clippy::new_without_default)]
 1834   2324   
#[allow(clippy::too_many_arguments)]
 1835   2325   
#[::pyo3::pymethods]
 1836         -
impl MalformedTimestampPathDefaultInput {
        2326  +
impl HttpEmptyPrefixHeadersInput {
 1837   2327   
    #[new]
 1838         -
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
 1839         -
        Self { timestamp }
 1840         -
    }
 1841         -
    fn __repr__(&self) -> String {
 1842         -
        format!("{self:?}")
 1843         -
    }
 1844         -
    fn __str__(&self) -> String {
 1845         -
        format!("{self:?}")
 1846         -
    }
 1847         -
}
 1848         -
impl<'source> ::pyo3::FromPyObject<'source>
 1849         -
    for std::boxed::Box<MalformedTimestampPathDefaultInput>
 1850         -
{
        2328  +
    pub fn new(
        2329  +
        prefix_headers: ::std::option::Option<
        2330  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2331  +
        >,
        2332  +
        specific_header: ::std::option::Option<::std::string::String>,
        2333  +
    ) -> Self {
        2334  +
        Self {
        2335  +
            prefix_headers,
        2336  +
            specific_header,
        2337  +
        }
        2338  +
    }
        2339  +
    fn __repr__(&self) -> String {
        2340  +
        format!("{self:?}")
        2341  +
    }
        2342  +
    fn __str__(&self) -> String {
        2343  +
        format!("{self:?}")
        2344  +
    }
        2345  +
}
        2346  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpEmptyPrefixHeadersInput> {
 1851   2347   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1852         -
        ob.extract::<MalformedTimestampPathDefaultInput>()
 1853         -
            .map(Box::new)
        2348  +
        ob.extract::<HttpEmptyPrefixHeadersInput>().map(Box::new)
 1854   2349   
    }
 1855   2350   
}
 1856   2351   
 1857         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampPathDefaultInput> {
        2352  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpEmptyPrefixHeadersInput> {
 1858   2353   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1859   2354   
        (*self).into_py(py)
 1860   2355   
    }
 1861   2356   
}
 1862         -
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathDefaultInput {
 1863         -
    type Unconstrained = crate::input::malformed_timestamp_path_default_input_internal::Builder;
        2357  +
impl crate::constrained::Constrained for crate::input::HttpEmptyPrefixHeadersInput {
        2358  +
    type Unconstrained = crate::input::http_empty_prefix_headers_input_internal::Builder;
 1864   2359   
}
 1865         -
impl MalformedTimestampPathDefaultInput {
 1866         -
    /// Creates a new builder-style object to manufacture [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
 1867         -
    pub fn builder() -> crate::input::malformed_timestamp_path_default_input::Builder {
 1868         -
        crate::input::malformed_timestamp_path_default_input::Builder::default()
        2360  +
impl HttpEmptyPrefixHeadersInput {
        2361  +
    /// Creates a new builder-style object to manufacture [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
        2362  +
    pub fn builder() -> crate::input::http_empty_prefix_headers_input::Builder {
        2363  +
        crate::input::http_empty_prefix_headers_input::Builder::default()
 1869   2364   
    }
 1870   2365   
}
 1871   2366   
 1872   2367   
#[::pyo3::pyclass]
 1873         -
/// :param blob typing.Optional\[str\]:
        2368  +
/// :param foo typing.Optional\[str\]:
        2369  +
/// :param blob typing.Optional\[rest_json.types.Blob\]:
 1874   2370   
/// :rtype None:
 1875   2371   
#[allow(missing_docs)] // documentation missing in model
 1876   2372   
#[derive(
 1877   2373   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1878   2374   
)]
 1879         -
pub struct MalformedStringInput {
        2375  +
pub struct HttpPayloadTraitsInput {
 1880   2376   
    #[pyo3(get, set)]
 1881   2377   
    /// :type typing.Optional\[str\]:
 1882   2378   
    #[allow(missing_docs)] // documentation missing in model
 1883         -
    pub blob: ::std::option::Option<::std::string::String>,
        2379  +
    pub foo: ::std::option::Option<::std::string::String>,
        2380  +
    #[pyo3(get, set)]
        2381  +
    /// :type typing.Optional\[rest_json.types.Blob\]:
        2382  +
    #[allow(missing_docs)] // documentation missing in model
        2383  +
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1884   2384   
}
 1885         -
impl MalformedStringInput {
        2385  +
impl HttpPayloadTraitsInput {
 1886   2386   
    #[allow(missing_docs)] // documentation missing in model
 1887         -
    pub fn blob(&self) -> ::std::option::Option<&str> {
 1888         -
        self.blob.as_deref()
        2387  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2388  +
        self.foo.as_deref()
        2389  +
    }
        2390  +
    #[allow(missing_docs)] // documentation missing in model
        2391  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        2392  +
        self.blob.as_ref()
 1889   2393   
    }
 1890   2394   
}
 1891   2395   
#[allow(clippy::new_without_default)]
 1892   2396   
#[allow(clippy::too_many_arguments)]
 1893   2397   
#[::pyo3::pymethods]
 1894         -
impl MalformedStringInput {
        2398  +
impl HttpPayloadTraitsInput {
 1895   2399   
    #[new]
 1896         -
    pub fn new(blob: ::std::option::Option<::std::string::String>) -> Self {
 1897         -
        Self { blob }
        2400  +
    pub fn new(
        2401  +
        foo: ::std::option::Option<::std::string::String>,
        2402  +
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        2403  +
    ) -> Self {
        2404  +
        Self { foo, blob }
 1898   2405   
    }
 1899   2406   
    fn __repr__(&self) -> String {
 1900   2407   
        format!("{self:?}")
 1901   2408   
    }
 1902   2409   
    fn __str__(&self) -> String {
 1903   2410   
        format!("{self:?}")
 1904   2411   
    }
 1905   2412   
}
 1906         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedStringInput> {
        2413  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPayloadTraitsInput> {
 1907   2414   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1908         -
        ob.extract::<MalformedStringInput>().map(Box::new)
        2415  +
        ob.extract::<HttpPayloadTraitsInput>().map(Box::new)
 1909   2416   
    }
 1910   2417   
}
 1911   2418   
 1912         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedStringInput> {
        2419  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadTraitsInput> {
 1913   2420   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1914   2421   
        (*self).into_py(py)
 1915   2422   
    }
 1916   2423   
}
 1917         -
impl crate::constrained::Constrained for crate::input::MalformedStringInput {
 1918         -
    type Unconstrained = crate::input::malformed_string_input_internal::Builder;
        2424  +
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsInput {
        2425  +
    type Unconstrained = crate::input::http_payload_traits_input_internal::Builder;
 1919   2426   
}
 1920         -
impl MalformedStringInput {
 1921         -
    /// Creates a new builder-style object to manufacture [`MalformedStringInput`](crate::input::MalformedStringInput).
 1922         -
    pub fn builder() -> crate::input::malformed_string_input::Builder {
 1923         -
        crate::input::malformed_string_input::Builder::default()
        2427  +
impl HttpPayloadTraitsInput {
        2428  +
    /// Creates a new builder-style object to manufacture [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
        2429  +
    pub fn builder() -> crate::input::http_payload_traits_input::Builder {
        2430  +
        crate::input::http_payload_traits_input::Builder::default()
 1924   2431   
    }
 1925   2432   
}
 1926   2433   
 1927   2434   
#[::pyo3::pyclass]
 1928         -
/// :param double_in_path float:
 1929         -
/// :param double_in_body typing.Optional\[float\]:
 1930         -
/// :param double_in_query typing.Optional\[float\]:
 1931         -
/// :param double_in_header typing.Optional\[float\]:
        2435  +
/// :param foo typing.Optional\[str\]:
        2436  +
/// :param blob typing.Optional\[rest_json.types.Blob\]:
 1932   2437   
/// :rtype None:
 1933   2438   
#[allow(missing_docs)] // documentation missing in model
 1934         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 1935         -
pub struct MalformedDoubleInput {
 1936         -
    #[pyo3(get, set)]
 1937         -
    /// :type typing.Optional\[float\]:
 1938         -
    #[allow(missing_docs)] // documentation missing in model
 1939         -
    pub double_in_body: ::std::option::Option<f64>,
 1940         -
    #[pyo3(get, set)]
 1941         -
    /// :type float:
 1942         -
    #[allow(missing_docs)] // documentation missing in model
 1943         -
    pub double_in_path: f64,
        2439  +
#[derive(
        2440  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2441  +
)]
        2442  +
pub struct HttpPayloadTraitsWithMediaTypeInput {
 1944   2443   
    #[pyo3(get, set)]
 1945         -
    /// :type typing.Optional\[float\]:
        2444  +
    /// :type typing.Optional\[str\]:
 1946   2445   
    #[allow(missing_docs)] // documentation missing in model
 1947         -
    pub double_in_query: ::std::option::Option<f64>,
        2446  +
    pub foo: ::std::option::Option<::std::string::String>,
 1948   2447   
    #[pyo3(get, set)]
 1949         -
    /// :type typing.Optional\[float\]:
        2448  +
    /// :type typing.Optional\[rest_json.types.Blob\]:
 1950   2449   
    #[allow(missing_docs)] // documentation missing in model
 1951         -
    pub double_in_header: ::std::option::Option<f64>,
        2450  +
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1952   2451   
}
 1953         -
impl MalformedDoubleInput {
 1954         -
    #[allow(missing_docs)] // documentation missing in model
 1955         -
    pub fn double_in_body(&self) -> ::std::option::Option<f64> {
 1956         -
        self.double_in_body
 1957         -
    }
 1958         -
    #[allow(missing_docs)] // documentation missing in model
 1959         -
    pub fn double_in_path(&self) -> f64 {
 1960         -
        self.double_in_path
 1961         -
    }
        2452  +
impl HttpPayloadTraitsWithMediaTypeInput {
 1962   2453   
    #[allow(missing_docs)] // documentation missing in model
 1963         -
    pub fn double_in_query(&self) -> ::std::option::Option<f64> {
 1964         -
        self.double_in_query
        2454  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2455  +
        self.foo.as_deref()
 1965   2456   
    }
 1966   2457   
    #[allow(missing_docs)] // documentation missing in model
 1967         -
    pub fn double_in_header(&self) -> ::std::option::Option<f64> {
 1968         -
        self.double_in_header
        2458  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        2459  +
        self.blob.as_ref()
 1969   2460   
    }
 1970   2461   
}
 1971   2462   
#[allow(clippy::new_without_default)]
 1972   2463   
#[allow(clippy::too_many_arguments)]
 1973   2464   
#[::pyo3::pymethods]
 1974         -
impl MalformedDoubleInput {
        2465  +
impl HttpPayloadTraitsWithMediaTypeInput {
 1975   2466   
    #[new]
 1976   2467   
    pub fn new(
 1977         -
        double_in_path: f64,
 1978         -
        double_in_body: ::std::option::Option<f64>,
 1979         -
        double_in_query: ::std::option::Option<f64>,
 1980         -
        double_in_header: ::std::option::Option<f64>,
        2468  +
        foo: ::std::option::Option<::std::string::String>,
        2469  +
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1981   2470   
    ) -> Self {
 1982         -
        Self {
 1983         -
            double_in_path,
 1984         -
            double_in_body,
 1985         -
            double_in_query,
 1986         -
            double_in_header,
 1987         -
        }
        2471  +
        Self { foo, blob }
 1988   2472   
    }
 1989   2473   
    fn __repr__(&self) -> String {
 1990   2474   
        format!("{self:?}")
 1991   2475   
    }
 1992   2476   
    fn __str__(&self) -> String {
 1993   2477   
        format!("{self:?}")
 1994   2478   
    }
 1995   2479   
}
 1996         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedDoubleInput> {
        2480  +
impl<'source> ::pyo3::FromPyObject<'source>
        2481  +
    for std::boxed::Box<HttpPayloadTraitsWithMediaTypeInput>
        2482  +
{
 1997   2483   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1998         -
        ob.extract::<MalformedDoubleInput>().map(Box::new)
        2484  +
        ob.extract::<HttpPayloadTraitsWithMediaTypeInput>()
        2485  +
            .map(Box::new)
 1999   2486   
    }
 2000   2487   
}
 2001   2488   
 2002         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedDoubleInput> {
        2489  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadTraitsWithMediaTypeInput> {
 2003   2490   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2004   2491   
        (*self).into_py(py)
 2005   2492   
    }
 2006   2493   
}
 2007         -
impl crate::constrained::Constrained for crate::input::MalformedDoubleInput {
 2008         -
    type Unconstrained = crate::input::malformed_double_input_internal::Builder;
        2494  +
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsWithMediaTypeInput {
        2495  +
    type Unconstrained = crate::input::http_payload_traits_with_media_type_input_internal::Builder;
 2009   2496   
}
 2010         -
impl MalformedDoubleInput {
 2011         -
    /// Creates a new builder-style object to manufacture [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
 2012         -
    pub fn builder() -> crate::input::malformed_double_input::Builder {
 2013         -
        crate::input::malformed_double_input::Builder::default()
        2497  +
impl HttpPayloadTraitsWithMediaTypeInput {
        2498  +
    /// Creates a new builder-style object to manufacture [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
        2499  +
    pub fn builder() -> crate::input::http_payload_traits_with_media_type_input::Builder {
        2500  +
        crate::input::http_payload_traits_with_media_type_input::Builder::default()
 2014   2501   
    }
 2015   2502   
}
 2016   2503   
 2017   2504   
#[::pyo3::pyclass]
 2018         -
/// :param float_in_path float:
 2019         -
/// :param float_in_body typing.Optional\[float\]:
 2020         -
/// :param float_in_query typing.Optional\[float\]:
 2021         -
/// :param float_in_header typing.Optional\[float\]:
        2505  +
/// :param nested typing.Optional\[rest_json.model.NestedPayload\]:
 2022   2506   
/// :rtype None:
 2023   2507   
#[allow(missing_docs)] // documentation missing in model
 2024         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2025         -
pub struct MalformedFloatInput {
 2026         -
    #[pyo3(get, set)]
 2027         -
    /// :type typing.Optional\[float\]:
 2028         -
    #[allow(missing_docs)] // documentation missing in model
 2029         -
    pub float_in_body: ::std::option::Option<f32>,
 2030         -
    #[pyo3(get, set)]
 2031         -
    /// :type float:
 2032         -
    #[allow(missing_docs)] // documentation missing in model
 2033         -
    pub float_in_path: f32,
 2034         -
    #[pyo3(get, set)]
 2035         -
    /// :type typing.Optional\[float\]:
 2036         -
    #[allow(missing_docs)] // documentation missing in model
 2037         -
    pub float_in_query: ::std::option::Option<f32>,
        2508  +
#[derive(
        2509  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2510  +
)]
        2511  +
pub struct HttpPayloadWithStructureInput {
 2038   2512   
    #[pyo3(get, set)]
 2039         -
    /// :type typing.Optional\[float\]:
        2513  +
    /// :type typing.Optional\[rest_json.model.NestedPayload\]:
 2040   2514   
    #[allow(missing_docs)] // documentation missing in model
 2041         -
    pub float_in_header: ::std::option::Option<f32>,
        2515  +
    pub nested: ::std::option::Option<crate::model::NestedPayload>,
 2042   2516   
}
 2043         -
impl MalformedFloatInput {
 2044         -
    #[allow(missing_docs)] // documentation missing in model
 2045         -
    pub fn float_in_body(&self) -> ::std::option::Option<f32> {
 2046         -
        self.float_in_body
 2047         -
    }
 2048         -
    #[allow(missing_docs)] // documentation missing in model
 2049         -
    pub fn float_in_path(&self) -> f32 {
 2050         -
        self.float_in_path
 2051         -
    }
 2052         -
    #[allow(missing_docs)] // documentation missing in model
 2053         -
    pub fn float_in_query(&self) -> ::std::option::Option<f32> {
 2054         -
        self.float_in_query
 2055         -
    }
        2517  +
impl HttpPayloadWithStructureInput {
 2056   2518   
    #[allow(missing_docs)] // documentation missing in model
 2057         -
    pub fn float_in_header(&self) -> ::std::option::Option<f32> {
 2058         -
        self.float_in_header
        2519  +
    pub fn nested(&self) -> ::std::option::Option<&crate::model::NestedPayload> {
        2520  +
        self.nested.as_ref()
 2059   2521   
    }
 2060   2522   
}
 2061   2523   
#[allow(clippy::new_without_default)]
 2062   2524   
#[allow(clippy::too_many_arguments)]
 2063   2525   
#[::pyo3::pymethods]
 2064         -
impl MalformedFloatInput {
        2526  +
impl HttpPayloadWithStructureInput {
 2065   2527   
    #[new]
 2066         -
    pub fn new(
 2067         -
        float_in_path: f32,
 2068         -
        float_in_body: ::std::option::Option<f32>,
 2069         -
        float_in_query: ::std::option::Option<f32>,
 2070         -
        float_in_header: ::std::option::Option<f32>,
 2071         -
    ) -> Self {
 2072         -
        Self {
 2073         -
            float_in_path,
 2074         -
            float_in_body,
 2075         -
            float_in_query,
 2076         -
            float_in_header,
 2077         -
        }
        2528  +
    pub fn new(nested: ::std::option::Option<crate::model::NestedPayload>) -> Self {
        2529  +
        Self { nested }
 2078   2530   
    }
 2079   2531   
    fn __repr__(&self) -> String {
 2080   2532   
        format!("{self:?}")
 2081   2533   
    }
 2082   2534   
    fn __str__(&self) -> String {
 2083   2535   
        format!("{self:?}")
 2084   2536   
    }
 2085   2537   
}
 2086         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedFloatInput> {
        2538  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPayloadWithStructureInput> {
 2087   2539   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2088         -
        ob.extract::<MalformedFloatInput>().map(Box::new)
        2540  +
        ob.extract::<HttpPayloadWithStructureInput>().map(Box::new)
 2089   2541   
    }
 2090   2542   
}
 2091   2543   
 2092         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedFloatInput> {
        2544  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadWithStructureInput> {
 2093   2545   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2094   2546   
        (*self).into_py(py)
 2095   2547   
    }
 2096   2548   
}
 2097         -
impl crate::constrained::Constrained for crate::input::MalformedFloatInput {
 2098         -
    type Unconstrained = crate::input::malformed_float_input_internal::Builder;
        2549  +
impl crate::constrained::Constrained for crate::input::HttpPayloadWithStructureInput {
        2550  +
    type Unconstrained = crate::input::http_payload_with_structure_input_internal::Builder;
 2099   2551   
}
 2100         -
impl MalformedFloatInput {
 2101         -
    /// Creates a new builder-style object to manufacture [`MalformedFloatInput`](crate::input::MalformedFloatInput).
 2102         -
    pub fn builder() -> crate::input::malformed_float_input::Builder {
 2103         -
        crate::input::malformed_float_input::Builder::default()
        2552  +
impl HttpPayloadWithStructureInput {
        2553  +
    /// Creates a new builder-style object to manufacture [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
        2554  +
    pub fn builder() -> crate::input::http_payload_with_structure_input::Builder {
        2555  +
        crate::input::http_payload_with_structure_input::Builder::default()
 2104   2556   
    }
 2105   2557   
}
 2106   2558   
 2107   2559   
#[::pyo3::pyclass]
 2108         -
/// :param long_in_path int:
 2109         -
/// :param long_in_body typing.Optional\[int\]:
 2110         -
/// :param long_in_query typing.Optional\[int\]:
 2111         -
/// :param long_in_header typing.Optional\[int\]:
        2560  +
/// :param payload typing.Optional\[rest_json.model.StringEnum\]:
 2112   2561   
/// :rtype None:
 2113   2562   
#[allow(missing_docs)] // documentation missing in model
 2114   2563   
#[derive(
 2115   2564   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2116   2565   
)]
 2117         -
pub struct MalformedLongInput {
        2566  +
pub struct HttpEnumPayloadInput {
 2118   2567   
    #[pyo3(get, set)]
 2119         -
    /// :type typing.Optional\[int\]:
 2120         -
    #[allow(missing_docs)] // documentation missing in model
 2121         -
    pub long_in_body: ::std::option::Option<i64>,
 2122         -
    #[pyo3(get, set)]
 2123         -
    /// :type int:
 2124         -
    #[allow(missing_docs)] // documentation missing in model
 2125         -
    pub long_in_path: i64,
 2126         -
    #[pyo3(get, set)]
 2127         -
    /// :type typing.Optional\[int\]:
 2128         -
    #[allow(missing_docs)] // documentation missing in model
 2129         -
    pub long_in_query: ::std::option::Option<i64>,
 2130         -
    #[pyo3(get, set)]
 2131         -
    /// :type typing.Optional\[int\]:
        2568  +
    /// :type typing.Optional\[rest_json.model.StringEnum\]:
 2132   2569   
    #[allow(missing_docs)] // documentation missing in model
 2133         -
    pub long_in_header: ::std::option::Option<i64>,
        2570  +
    pub payload: ::std::option::Option<crate::model::StringEnum>,
 2134   2571   
}
 2135         -
impl MalformedLongInput {
 2136         -
    #[allow(missing_docs)] // documentation missing in model
 2137         -
    pub fn long_in_body(&self) -> ::std::option::Option<i64> {
 2138         -
        self.long_in_body
 2139         -
    }
 2140         -
    #[allow(missing_docs)] // documentation missing in model
 2141         -
    pub fn long_in_path(&self) -> i64 {
 2142         -
        self.long_in_path
 2143         -
    }
 2144         -
    #[allow(missing_docs)] // documentation missing in model
 2145         -
    pub fn long_in_query(&self) -> ::std::option::Option<i64> {
 2146         -
        self.long_in_query
 2147         -
    }
        2572  +
impl HttpEnumPayloadInput {
 2148   2573   
    #[allow(missing_docs)] // documentation missing in model
 2149         -
    pub fn long_in_header(&self) -> ::std::option::Option<i64> {
 2150         -
        self.long_in_header
        2574  +
    pub fn payload(&self) -> ::std::option::Option<&crate::model::StringEnum> {
        2575  +
        self.payload.as_ref()
 2151   2576   
    }
 2152   2577   
}
 2153   2578   
#[allow(clippy::new_without_default)]
 2154   2579   
#[allow(clippy::too_many_arguments)]
 2155   2580   
#[::pyo3::pymethods]
 2156         -
impl MalformedLongInput {
        2581  +
impl HttpEnumPayloadInput {
 2157   2582   
    #[new]
 2158         -
    pub fn new(
 2159         -
        long_in_path: i64,
 2160         -
        long_in_body: ::std::option::Option<i64>,
 2161         -
        long_in_query: ::std::option::Option<i64>,
 2162         -
        long_in_header: ::std::option::Option<i64>,
 2163         -
    ) -> Self {
 2164         -
        Self {
 2165         -
            long_in_path,
 2166         -
            long_in_body,
 2167         -
            long_in_query,
 2168         -
            long_in_header,
 2169         -
        }
        2583  +
    pub fn new(payload: ::std::option::Option<crate::model::StringEnum>) -> Self {
        2584  +
        Self { payload }
 2170   2585   
    }
 2171   2586   
    fn __repr__(&self) -> String {
 2172   2587   
        format!("{self:?}")
 2173   2588   
    }
 2174   2589   
    fn __str__(&self) -> String {
 2175   2590   
        format!("{self:?}")
 2176   2591   
    }
 2177   2592   
}
 2178         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedLongInput> {
        2593  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpEnumPayloadInput> {
 2179   2594   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2180         -
        ob.extract::<MalformedLongInput>().map(Box::new)
        2595  +
        ob.extract::<HttpEnumPayloadInput>().map(Box::new)
 2181   2596   
    }
 2182   2597   
}
 2183   2598   
 2184         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedLongInput> {
        2599  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpEnumPayloadInput> {
 2185   2600   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2186   2601   
        (*self).into_py(py)
 2187   2602   
    }
 2188   2603   
}
 2189         -
impl crate::constrained::Constrained for crate::input::MalformedLongInput {
 2190         -
    type Unconstrained = crate::input::malformed_long_input_internal::Builder;
        2604  +
impl crate::constrained::Constrained for crate::input::HttpEnumPayloadInput {
        2605  +
    type Unconstrained = crate::input::http_enum_payload_input_internal::Builder;
 2191   2606   
}
 2192         -
impl MalformedLongInput {
 2193         -
    /// Creates a new builder-style object to manufacture [`MalformedLongInput`](crate::input::MalformedLongInput).
 2194         -
    pub fn builder() -> crate::input::malformed_long_input::Builder {
 2195         -
        crate::input::malformed_long_input::Builder::default()
        2607  +
impl HttpEnumPayloadInput {
        2608  +
    /// Creates a new builder-style object to manufacture [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
        2609  +
    pub fn builder() -> crate::input::http_enum_payload_input::Builder {
        2610  +
        crate::input::http_enum_payload_input::Builder::default()
 2196   2611   
    }
 2197   2612   
}
 2198   2613   
 2199   2614   
#[::pyo3::pyclass]
 2200         -
/// :param short_in_path int:
 2201         -
/// :param short_in_body typing.Optional\[int\]:
 2202         -
/// :param short_in_query typing.Optional\[int\]:
 2203         -
/// :param short_in_header typing.Optional\[int\]:
        2615  +
/// :param payload typing.Optional\[str\]:
 2204   2616   
/// :rtype None:
 2205   2617   
#[allow(missing_docs)] // documentation missing in model
 2206   2618   
#[derive(
 2207   2619   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2208   2620   
)]
 2209         -
pub struct MalformedShortInput {
 2210         -
    #[pyo3(get, set)]
 2211         -
    /// :type typing.Optional\[int\]:
 2212         -
    #[allow(missing_docs)] // documentation missing in model
 2213         -
    pub short_in_body: ::std::option::Option<i16>,
 2214         -
    #[pyo3(get, set)]
 2215         -
    /// :type int:
 2216         -
    #[allow(missing_docs)] // documentation missing in model
 2217         -
    pub short_in_path: i16,
 2218         -
    #[pyo3(get, set)]
 2219         -
    /// :type typing.Optional\[int\]:
 2220         -
    #[allow(missing_docs)] // documentation missing in model
 2221         -
    pub short_in_query: ::std::option::Option<i16>,
        2621  +
pub struct HttpStringPayloadInput {
 2222   2622   
    #[pyo3(get, set)]
 2223         -
    /// :type typing.Optional\[int\]:
        2623  +
    /// :type typing.Optional\[str\]:
 2224   2624   
    #[allow(missing_docs)] // documentation missing in model
 2225         -
    pub short_in_header: ::std::option::Option<i16>,
        2625  +
    pub payload: ::std::option::Option<::std::string::String>,
 2226   2626   
}
 2227         -
impl MalformedShortInput {
 2228         -
    #[allow(missing_docs)] // documentation missing in model
 2229         -
    pub fn short_in_body(&self) -> ::std::option::Option<i16> {
 2230         -
        self.short_in_body
 2231         -
    }
 2232         -
    #[allow(missing_docs)] // documentation missing in model
 2233         -
    pub fn short_in_path(&self) -> i16 {
 2234         -
        self.short_in_path
 2235         -
    }
 2236         -
    #[allow(missing_docs)] // documentation missing in model
 2237         -
    pub fn short_in_query(&self) -> ::std::option::Option<i16> {
 2238         -
        self.short_in_query
 2239         -
    }
        2627  +
impl HttpStringPayloadInput {
 2240   2628   
    #[allow(missing_docs)] // documentation missing in model
 2241         -
    pub fn short_in_header(&self) -> ::std::option::Option<i16> {
 2242         -
        self.short_in_header
        2629  +
    pub fn payload(&self) -> ::std::option::Option<&str> {
        2630  +
        self.payload.as_deref()
 2243   2631   
    }
 2244   2632   
}
 2245   2633   
#[allow(clippy::new_without_default)]
 2246   2634   
#[allow(clippy::too_many_arguments)]
 2247   2635   
#[::pyo3::pymethods]
 2248         -
impl MalformedShortInput {
        2636  +
impl HttpStringPayloadInput {
 2249   2637   
    #[new]
 2250         -
    pub fn new(
 2251         -
        short_in_path: i16,
 2252         -
        short_in_body: ::std::option::Option<i16>,
 2253         -
        short_in_query: ::std::option::Option<i16>,
 2254         -
        short_in_header: ::std::option::Option<i16>,
 2255         -
    ) -> Self {
 2256         -
        Self {
 2257         -
            short_in_path,
 2258         -
            short_in_body,
 2259         -
            short_in_query,
 2260         -
            short_in_header,
 2261         -
        }
        2638  +
    pub fn new(payload: ::std::option::Option<::std::string::String>) -> Self {
        2639  +
        Self { payload }
 2262   2640   
    }
 2263   2641   
    fn __repr__(&self) -> String {
 2264   2642   
        format!("{self:?}")
 2265   2643   
    }
 2266   2644   
    fn __str__(&self) -> String {
 2267   2645   
        format!("{self:?}")
 2268   2646   
    }
 2269   2647   
}
 2270         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedShortInput> {
        2648  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpStringPayloadInput> {
 2271   2649   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2272         -
        ob.extract::<MalformedShortInput>().map(Box::new)
        2650  +
        ob.extract::<HttpStringPayloadInput>().map(Box::new)
 2273   2651   
    }
 2274   2652   
}
 2275   2653   
 2276         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedShortInput> {
        2654  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpStringPayloadInput> {
 2277   2655   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2278   2656   
        (*self).into_py(py)
 2279   2657   
    }
 2280   2658   
}
 2281         -
impl crate::constrained::Constrained for crate::input::MalformedShortInput {
 2282         -
    type Unconstrained = crate::input::malformed_short_input_internal::Builder;
        2659  +
impl crate::constrained::Constrained for crate::input::HttpStringPayloadInput {
        2660  +
    type Unconstrained = crate::input::http_string_payload_input_internal::Builder;
 2283   2661   
}
 2284         -
impl MalformedShortInput {
 2285         -
    /// Creates a new builder-style object to manufacture [`MalformedShortInput`](crate::input::MalformedShortInput).
 2286         -
    pub fn builder() -> crate::input::malformed_short_input::Builder {
 2287         -
        crate::input::malformed_short_input::Builder::default()
        2662  +
impl HttpStringPayloadInput {
        2663  +
    /// Creates a new builder-style object to manufacture [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
        2664  +
    pub fn builder() -> crate::input::http_string_payload_input::Builder {
        2665  +
        crate::input::http_string_payload_input::Builder::default()
 2288   2666   
    }
 2289   2667   
}
 2290   2668   
 2291   2669   
#[::pyo3::pyclass]
 2292         -
/// :param byte_in_path int:
 2293         -
/// :param byte_in_body typing.Optional\[int\]:
 2294         -
/// :param byte_in_query typing.Optional\[int\]:
 2295         -
/// :param byte_in_header typing.Optional\[int\]:
        2670  +
/// :param nested typing.Optional\[rest_json.model.UnionPayload\]:
 2296   2671   
/// :rtype None:
 2297   2672   
#[allow(missing_docs)] // documentation missing in model
 2298   2673   
#[derive(
 2299   2674   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2300   2675   
)]
 2301         -
pub struct MalformedByteInput {
 2302         -
    #[pyo3(get, set)]
 2303         -
    /// :type typing.Optional\[int\]:
 2304         -
    #[allow(missing_docs)] // documentation missing in model
 2305         -
    pub byte_in_body: ::std::option::Option<i8>,
 2306         -
    #[pyo3(get, set)]
 2307         -
    /// :type int:
 2308         -
    #[allow(missing_docs)] // documentation missing in model
 2309         -
    pub byte_in_path: i8,
 2310         -
    #[pyo3(get, set)]
 2311         -
    /// :type typing.Optional\[int\]:
 2312         -
    #[allow(missing_docs)] // documentation missing in model
 2313         -
    pub byte_in_query: ::std::option::Option<i8>,
        2676  +
pub struct HttpPayloadWithUnionInput {
 2314   2677   
    #[pyo3(get, set)]
 2315         -
    /// :type typing.Optional\[int\]:
        2678  +
    /// :type typing.Optional\[rest_json.model.UnionPayload\]:
 2316   2679   
    #[allow(missing_docs)] // documentation missing in model
 2317         -
    pub byte_in_header: ::std::option::Option<i8>,
        2680  +
    pub nested: ::std::option::Option<crate::model::UnionPayload>,
 2318   2681   
}
 2319         -
impl MalformedByteInput {
 2320         -
    #[allow(missing_docs)] // documentation missing in model
 2321         -
    pub fn byte_in_body(&self) -> ::std::option::Option<i8> {
 2322         -
        self.byte_in_body
 2323         -
    }
 2324         -
    #[allow(missing_docs)] // documentation missing in model
 2325         -
    pub fn byte_in_path(&self) -> i8 {
 2326         -
        self.byte_in_path
 2327         -
    }
 2328         -
    #[allow(missing_docs)] // documentation missing in model
 2329         -
    pub fn byte_in_query(&self) -> ::std::option::Option<i8> {
 2330         -
        self.byte_in_query
 2331         -
    }
        2682  +
impl HttpPayloadWithUnionInput {
 2332   2683   
    #[allow(missing_docs)] // documentation missing in model
 2333         -
    pub fn byte_in_header(&self) -> ::std::option::Option<i8> {
 2334         -
        self.byte_in_header
        2684  +
    pub fn nested(&self) -> ::std::option::Option<&crate::model::UnionPayload> {
        2685  +
        self.nested.as_ref()
 2335   2686   
    }
 2336   2687   
}
 2337   2688   
#[allow(clippy::new_without_default)]
 2338   2689   
#[allow(clippy::too_many_arguments)]
 2339   2690   
#[::pyo3::pymethods]
 2340         -
impl MalformedByteInput {
        2691  +
impl HttpPayloadWithUnionInput {
 2341   2692   
    #[new]
 2342         -
    pub fn new(
 2343         -
        byte_in_path: i8,
 2344         -
        byte_in_body: ::std::option::Option<i8>,
 2345         -
        byte_in_query: ::std::option::Option<i8>,
 2346         -
        byte_in_header: ::std::option::Option<i8>,
 2347         -
    ) -> Self {
 2348         -
        Self {
 2349         -
            byte_in_path,
 2350         -
            byte_in_body,
 2351         -
            byte_in_query,
 2352         -
            byte_in_header,
 2353         -
        }
        2693  +
    pub fn new(nested: ::std::option::Option<crate::model::UnionPayload>) -> Self {
        2694  +
        Self { nested }
 2354   2695   
    }
 2355   2696   
    fn __repr__(&self) -> String {
 2356   2697   
        format!("{self:?}")
 2357   2698   
    }
 2358   2699   
    fn __str__(&self) -> String {
 2359   2700   
        format!("{self:?}")
 2360   2701   
    }
 2361   2702   
}
 2362         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedByteInput> {
        2703  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPayloadWithUnionInput> {
 2363   2704   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2364         -
        ob.extract::<MalformedByteInput>().map(Box::new)
        2705  +
        ob.extract::<HttpPayloadWithUnionInput>().map(Box::new)
 2365   2706   
    }
 2366   2707   
}
 2367   2708   
 2368         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedByteInput> {
        2709  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadWithUnionInput> {
 2369   2710   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2370   2711   
        (*self).into_py(py)
 2371   2712   
    }
 2372   2713   
}
 2373         -
impl crate::constrained::Constrained for crate::input::MalformedByteInput {
 2374         -
    type Unconstrained = crate::input::malformed_byte_input_internal::Builder;
        2714  +
impl crate::constrained::Constrained for crate::input::HttpPayloadWithUnionInput {
        2715  +
    type Unconstrained = crate::input::http_payload_with_union_input_internal::Builder;
 2375   2716   
}
 2376         -
impl MalformedByteInput {
 2377         -
    /// Creates a new builder-style object to manufacture [`MalformedByteInput`](crate::input::MalformedByteInput).
 2378         -
    pub fn builder() -> crate::input::malformed_byte_input::Builder {
 2379         -
        crate::input::malformed_byte_input::Builder::default()
        2717  +
impl HttpPayloadWithUnionInput {
        2718  +
    /// Creates a new builder-style object to manufacture [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
        2719  +
    pub fn builder() -> crate::input::http_payload_with_union_input::Builder {
        2720  +
        crate::input::http_payload_with_union_input::Builder::default()
 2380   2721   
    }
 2381   2722   
}
 2382   2723   
 2383   2724   
#[::pyo3::pyclass]
 2384         -
/// :param blob typing.Optional\[rest_json.types.Blob\]:
 2385   2725   
/// :rtype None:
 2386   2726   
#[allow(missing_docs)] // documentation missing in model
 2387   2727   
#[derive(
 2388   2728   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2389   2729   
)]
 2390         -
pub struct MalformedBlobInput {
 2391         -
    #[pyo3(get, set)]
 2392         -
    /// :type typing.Optional\[rest_json.types.Blob\]:
 2393         -
    #[allow(missing_docs)] // documentation missing in model
 2394         -
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 2395         -
}
 2396         -
impl MalformedBlobInput {
 2397         -
    #[allow(missing_docs)] // documentation missing in model
 2398         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
 2399         -
        self.blob.as_ref()
 2400         -
    }
 2401         -
}
        2730  +
pub struct HttpResponseCodeInput {}
 2402   2731   
#[allow(clippy::new_without_default)]
 2403   2732   
#[allow(clippy::too_many_arguments)]
 2404   2733   
#[::pyo3::pymethods]
 2405         -
impl MalformedBlobInput {
        2734  +
impl HttpResponseCodeInput {
 2406   2735   
    #[new]
 2407         -
    pub fn new(blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>) -> Self {
 2408         -
        Self { blob }
        2736  +
    pub fn new() -> Self {
        2737  +
        Self {}
 2409   2738   
    }
 2410   2739   
    fn __repr__(&self) -> String {
 2411   2740   
        format!("{self:?}")
 2412   2741   
    }
 2413   2742   
    fn __str__(&self) -> String {
 2414   2743   
        format!("{self:?}")
 2415   2744   
    }
 2416   2745   
}
 2417         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedBlobInput> {
        2746  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpResponseCodeInput> {
 2418   2747   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2419         -
        ob.extract::<MalformedBlobInput>().map(Box::new)
        2748  +
        ob.extract::<HttpResponseCodeInput>().map(Box::new)
 2420   2749   
    }
 2421   2750   
}
 2422   2751   
 2423         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedBlobInput> {
        2752  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpResponseCodeInput> {
 2424   2753   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2425   2754   
        (*self).into_py(py)
 2426   2755   
    }
 2427   2756   
}
 2428         -
impl crate::constrained::Constrained for crate::input::MalformedBlobInput {
 2429         -
    type Unconstrained = crate::input::malformed_blob_input_internal::Builder;
        2757  +
impl crate::constrained::Constrained for crate::input::HttpResponseCodeInput {
        2758  +
    type Unconstrained = crate::input::http_response_code_input_internal::Builder;
 2430   2759   
}
 2431         -
impl MalformedBlobInput {
 2432         -
    /// Creates a new builder-style object to manufacture [`MalformedBlobInput`](crate::input::MalformedBlobInput).
 2433         -
    pub fn builder() -> crate::input::malformed_blob_input::Builder {
 2434         -
        crate::input::malformed_blob_input::Builder::default()
        2760  +
impl HttpResponseCodeInput {
        2761  +
    /// Creates a new builder-style object to manufacture [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
        2762  +
    pub fn builder() -> crate::input::http_response_code_input::Builder {
        2763  +
        crate::input::http_response_code_input::Builder::default()
 2435   2764   
    }
 2436   2765   
}
 2437   2766   
 2438   2767   
#[::pyo3::pyclass]
 2439         -
/// :param body_map typing.Optional\[typing.Dict\[str, str\]\]:
 2440   2768   
/// :rtype None:
 2441   2769   
#[allow(missing_docs)] // documentation missing in model
 2442         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2443         -
pub struct MalformedMapInput {
 2444         -
    #[pyo3(get, set)]
 2445         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 2446         -
    #[allow(missing_docs)] // documentation missing in model
 2447         -
    pub body_map: ::std::option::Option<
 2448         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2449         -
    >,
 2450         -
}
 2451         -
impl MalformedMapInput {
 2452         -
    #[allow(missing_docs)] // documentation missing in model
 2453         -
    pub fn body_map(
 2454         -
        &self,
 2455         -
    ) -> ::std::option::Option<
 2456         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2457         -
    > {
 2458         -
        self.body_map.as_ref()
 2459         -
    }
 2460         -
}
        2770  +
#[derive(
        2771  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2772  +
)]
        2773  +
pub struct ResponseCodeRequiredInput {}
 2461   2774   
#[allow(clippy::new_without_default)]
 2462   2775   
#[allow(clippy::too_many_arguments)]
 2463   2776   
#[::pyo3::pymethods]
 2464         -
impl MalformedMapInput {
        2777  +
impl ResponseCodeRequiredInput {
 2465   2778   
    #[new]
 2466         -
    pub fn new(
 2467         -
        body_map: ::std::option::Option<
 2468         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2469         -
        >,
 2470         -
    ) -> Self {
 2471         -
        Self { body_map }
        2779  +
    pub fn new() -> Self {
        2780  +
        Self {}
 2472   2781   
    }
 2473   2782   
    fn __repr__(&self) -> String {
 2474   2783   
        format!("{self:?}")
 2475   2784   
    }
 2476   2785   
    fn __str__(&self) -> String {
 2477   2786   
        format!("{self:?}")
 2478   2787   
    }
 2479   2788   
}
 2480         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedMapInput> {
        2789  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ResponseCodeRequiredInput> {
 2481   2790   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2482         -
        ob.extract::<MalformedMapInput>().map(Box::new)
        2791  +
        ob.extract::<ResponseCodeRequiredInput>().map(Box::new)
 2483   2792   
    }
 2484   2793   
}
 2485   2794   
 2486         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedMapInput> {
        2795  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeRequiredInput> {
 2487   2796   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2488   2797   
        (*self).into_py(py)
 2489   2798   
    }
 2490   2799   
}
 2491         -
impl crate::constrained::Constrained for crate::input::MalformedMapInput {
 2492         -
    type Unconstrained = crate::input::malformed_map_input_internal::Builder;
        2800  +
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredInput {
        2801  +
    type Unconstrained = crate::input::response_code_required_input_internal::Builder;
 2493   2802   
}
 2494         -
impl MalformedMapInput {
 2495         -
    /// Creates a new builder-style object to manufacture [`MalformedMapInput`](crate::input::MalformedMapInput).
 2496         -
    pub fn builder() -> crate::input::malformed_map_input::Builder {
 2497         -
        crate::input::malformed_map_input::Builder::default()
        2803  +
impl ResponseCodeRequiredInput {
        2804  +
    /// Creates a new builder-style object to manufacture [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
        2805  +
    pub fn builder() -> crate::input::response_code_required_input::Builder {
        2806  +
        crate::input::response_code_required_input::Builder::default()
 2498   2807   
    }
 2499   2808   
}
 2500   2809   
 2501   2810   
#[::pyo3::pyclass]
 2502         -
/// :param body_list typing.Optional\[typing.List\[str\]\]:
 2503   2811   
/// :rtype None:
 2504   2812   
#[allow(missing_docs)] // documentation missing in model
 2505   2813   
#[derive(
 2506   2814   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2507   2815   
)]
 2508         -
pub struct MalformedListInput {
 2509         -
    #[pyo3(get, set)]
 2510         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 2511         -
    #[allow(missing_docs)] // documentation missing in model
 2512         -
    pub body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 2513         -
}
 2514         -
impl MalformedListInput {
 2515         -
    #[allow(missing_docs)] // documentation missing in model
 2516         -
    pub fn body_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 2517         -
        self.body_list.as_deref()
 2518         -
    }
 2519         -
}
        2816  +
pub struct ResponseCodeHttpFallbackInput {}
 2520   2817   
#[allow(clippy::new_without_default)]
 2521   2818   
#[allow(clippy::too_many_arguments)]
 2522   2819   
#[::pyo3::pymethods]
 2523         -
impl MalformedListInput {
        2820  +
impl ResponseCodeHttpFallbackInput {
 2524   2821   
    #[new]
 2525         -
    pub fn new(body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
 2526         -
        Self { body_list }
        2822  +
    pub fn new() -> Self {
        2823  +
        Self {}
 2527   2824   
    }
 2528   2825   
    fn __repr__(&self) -> String {
 2529   2826   
        format!("{self:?}")
 2530   2827   
    }
 2531   2828   
    fn __str__(&self) -> String {
 2532   2829   
        format!("{self:?}")
 2533   2830   
    }
 2534   2831   
}
 2535         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedListInput> {
        2832  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ResponseCodeHttpFallbackInput> {
 2536   2833   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2537         -
        ob.extract::<MalformedListInput>().map(Box::new)
        2834  +
        ob.extract::<ResponseCodeHttpFallbackInput>().map(Box::new)
 2538   2835   
    }
 2539   2836   
}
 2540   2837   
 2541         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedListInput> {
        2838  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeHttpFallbackInput> {
 2542   2839   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2543   2840   
        (*self).into_py(py)
 2544   2841   
    }
 2545   2842   
}
 2546         -
impl crate::constrained::Constrained for crate::input::MalformedListInput {
 2547         -
    type Unconstrained = crate::input::malformed_list_input_internal::Builder;
        2843  +
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackInput {
        2844  +
    type Unconstrained = crate::input::response_code_http_fallback_input_internal::Builder;
 2548   2845   
}
 2549         -
impl MalformedListInput {
 2550         -
    /// Creates a new builder-style object to manufacture [`MalformedListInput`](crate::input::MalformedListInput).
 2551         -
    pub fn builder() -> crate::input::malformed_list_input::Builder {
 2552         -
        crate::input::malformed_list_input::Builder::default()
        2846  +
impl ResponseCodeHttpFallbackInput {
        2847  +
    /// Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
        2848  +
    pub fn builder() -> crate::input::response_code_http_fallback_input::Builder {
        2849  +
        crate::input::response_code_http_fallback_input::Builder::default()
 2553   2850   
    }
 2554   2851   
}
 2555   2852   
 2556   2853   
#[::pyo3::pyclass]
 2557         -
/// :param boolean_in_path bool:
 2558         -
/// :param boolean_in_body typing.Optional\[bool\]:
 2559         -
/// :param boolean_in_query typing.Optional\[bool\]:
 2560         -
/// :param boolean_in_header typing.Optional\[bool\]:
        2854  +
/// :param blob rest_json.types.ByteStream:
        2855  +
/// :param foo typing.Optional\[str\]:
 2561   2856   
/// :rtype None:
 2562   2857   
#[allow(missing_docs)] // documentation missing in model
 2563         -
#[derive(
 2564         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2565         -
)]
 2566         -
pub struct MalformedBooleanInput {
 2567         -
    #[pyo3(get, set)]
 2568         -
    /// :type typing.Optional\[bool\]:
 2569         -
    #[allow(missing_docs)] // documentation missing in model
 2570         -
    pub boolean_in_body: ::std::option::Option<bool>,
 2571         -
    #[pyo3(get, set)]
 2572         -
    /// :type bool:
 2573         -
    #[allow(missing_docs)] // documentation missing in model
 2574         -
    pub boolean_in_path: bool,
        2858  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        2859  +
pub struct StreamingTraitsInput {
 2575   2860   
    #[pyo3(get, set)]
 2576         -
    /// :type typing.Optional\[bool\]:
        2861  +
    /// :type typing.Optional\[str\]:
 2577   2862   
    #[allow(missing_docs)] // documentation missing in model
 2578         -
    pub boolean_in_query: ::std::option::Option<bool>,
        2863  +
    pub foo: ::std::option::Option<::std::string::String>,
 2579   2864   
    #[pyo3(get, set)]
 2580         -
    /// :type typing.Optional\[bool\]:
        2865  +
    /// :type rest_json.types.ByteStream:
 2581   2866   
    #[allow(missing_docs)] // documentation missing in model
 2582         -
    pub boolean_in_header: ::std::option::Option<bool>,
        2867  +
    pub blob: ::aws_smithy_http_server_python::types::ByteStream,
 2583   2868   
}
 2584         -
impl MalformedBooleanInput {
 2585         -
    #[allow(missing_docs)] // documentation missing in model
 2586         -
    pub fn boolean_in_body(&self) -> ::std::option::Option<bool> {
 2587         -
        self.boolean_in_body
 2588         -
    }
 2589         -
    #[allow(missing_docs)] // documentation missing in model
 2590         -
    pub fn boolean_in_path(&self) -> bool {
 2591         -
        self.boolean_in_path
 2592         -
    }
        2869  +
impl StreamingTraitsInput {
 2593   2870   
    #[allow(missing_docs)] // documentation missing in model
 2594         -
    pub fn boolean_in_query(&self) -> ::std::option::Option<bool> {
 2595         -
        self.boolean_in_query
        2871  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2872  +
        self.foo.as_deref()
 2596   2873   
    }
 2597   2874   
    #[allow(missing_docs)] // documentation missing in model
 2598         -
    pub fn boolean_in_header(&self) -> ::std::option::Option<bool> {
 2599         -
        self.boolean_in_header
        2875  +
    pub fn blob(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
        2876  +
        &self.blob
 2600   2877   
    }
 2601   2878   
}
 2602   2879   
#[allow(clippy::new_without_default)]
 2603   2880   
#[allow(clippy::too_many_arguments)]
 2604   2881   
#[::pyo3::pymethods]
 2605         -
impl MalformedBooleanInput {
        2882  +
impl StreamingTraitsInput {
 2606   2883   
    #[new]
 2607   2884   
    pub fn new(
 2608         -
        boolean_in_path: bool,
 2609         -
        boolean_in_body: ::std::option::Option<bool>,
 2610         -
        boolean_in_query: ::std::option::Option<bool>,
 2611         -
        boolean_in_header: ::std::option::Option<bool>,
        2885  +
        blob: ::aws_smithy_http_server_python::types::ByteStream,
        2886  +
        foo: ::std::option::Option<::std::string::String>,
 2612   2887   
    ) -> Self {
 2613         -
        Self {
 2614         -
            boolean_in_path,
 2615         -
            boolean_in_body,
 2616         -
            boolean_in_query,
 2617         -
            boolean_in_header,
 2618         -
        }
        2888  +
        Self { blob, foo }
 2619   2889   
    }
 2620   2890   
    fn __repr__(&self) -> String {
 2621   2891   
        format!("{self:?}")
 2622   2892   
    }
 2623   2893   
    fn __str__(&self) -> String {
 2624   2894   
        format!("{self:?}")
 2625   2895   
    }
 2626   2896   
}
 2627         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedBooleanInput> {
        2897  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StreamingTraitsInput> {
 2628   2898   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2629         -
        ob.extract::<MalformedBooleanInput>().map(Box::new)
        2899  +
        ob.extract::<StreamingTraitsInput>().map(Box::new)
 2630   2900   
    }
 2631   2901   
}
 2632   2902   
 2633         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedBooleanInput> {
        2903  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StreamingTraitsInput> {
 2634   2904   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2635   2905   
        (*self).into_py(py)
 2636   2906   
    }
 2637   2907   
}
 2638         -
impl crate::constrained::Constrained for crate::input::MalformedBooleanInput {
 2639         -
    type Unconstrained = crate::input::malformed_boolean_input_internal::Builder;
        2908  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsInput {
        2909  +
    type Unconstrained = crate::input::streaming_traits_input_internal::Builder;
 2640   2910   
}
 2641         -
impl MalformedBooleanInput {
 2642         -
    /// Creates a new builder-style object to manufacture [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
 2643         -
    pub fn builder() -> crate::input::malformed_boolean_input::Builder {
 2644         -
        crate::input::malformed_boolean_input::Builder::default()
        2911  +
impl StreamingTraitsInput {
        2912  +
    /// Creates a new builder-style object to manufacture [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
        2913  +
    pub fn builder() -> crate::input::streaming_traits_input::Builder {
        2914  +
        crate::input::streaming_traits_input::Builder::default()
 2645   2915   
    }
 2646   2916   
}
 2647   2917   
 2648   2918   
#[::pyo3::pyclass]
 2649         -
/// :param union typing.Optional\[rest_json.model.SimpleUnion\]:
        2919  +
/// :param blob rest_json.types.ByteStream:
        2920  +
/// :param foo typing.Optional\[str\]:
 2650   2921   
/// :rtype None:
 2651   2922   
#[allow(missing_docs)] // documentation missing in model
 2652         -
#[derive(
 2653         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2654         -
)]
 2655         -
pub struct MalformedUnionInput {
        2923  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        2924  +
pub struct StreamingTraitsRequireLengthInput {
 2656   2925   
    #[pyo3(get, set)]
 2657         -
    /// :type typing.Optional\[rest_json.model.SimpleUnion\]:
        2926  +
    /// :type typing.Optional\[str\]:
 2658   2927   
    #[allow(missing_docs)] // documentation missing in model
 2659         -
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
        2928  +
    pub foo: ::std::option::Option<::std::string::String>,
        2929  +
    #[pyo3(get, set)]
        2930  +
    /// :type rest_json.types.ByteStream:
        2931  +
    #[allow(missing_docs)] // documentation missing in model
        2932  +
    pub blob: ::aws_smithy_http_server_python::types::ByteStream,
 2660   2933   
}
 2661         -
impl MalformedUnionInput {
        2934  +
impl StreamingTraitsRequireLengthInput {
 2662   2935   
    #[allow(missing_docs)] // documentation missing in model
 2663         -
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
 2664         -
        self.union.as_ref()
        2936  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2937  +
        self.foo.as_deref()
        2938  +
    }
        2939  +
    #[allow(missing_docs)] // documentation missing in model
        2940  +
    pub fn blob(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
        2941  +
        &self.blob
 2665   2942   
    }
 2666   2943   
}
 2667   2944   
#[allow(clippy::new_without_default)]
 2668   2945   
#[allow(clippy::too_many_arguments)]
 2669   2946   
#[::pyo3::pymethods]
 2670         -
impl MalformedUnionInput {
        2947  +
impl StreamingTraitsRequireLengthInput {
 2671   2948   
    #[new]
 2672         -
    pub fn new(union: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
 2673         -
        Self { union }
        2949  +
    pub fn new(
        2950  +
        blob: ::aws_smithy_http_server_python::types::ByteStream,
        2951  +
        foo: ::std::option::Option<::std::string::String>,
        2952  +
    ) -> Self {
        2953  +
        Self { blob, foo }
 2674   2954   
    }
 2675   2955   
    fn __repr__(&self) -> String {
 2676   2956   
        format!("{self:?}")
 2677   2957   
    }
 2678   2958   
    fn __str__(&self) -> String {
 2679   2959   
        format!("{self:?}")
 2680   2960   
    }
 2681   2961   
}
 2682         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedUnionInput> {
        2962  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StreamingTraitsRequireLengthInput> {
 2683   2963   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2684         -
        ob.extract::<MalformedUnionInput>().map(Box::new)
        2964  +
        ob.extract::<StreamingTraitsRequireLengthInput>()
        2965  +
            .map(Box::new)
 2685   2966   
    }
 2686   2967   
}
 2687   2968   
 2688         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedUnionInput> {
        2969  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StreamingTraitsRequireLengthInput> {
 2689   2970   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2690   2971   
        (*self).into_py(py)
 2691   2972   
    }
 2692   2973   
}
 2693         -
impl crate::constrained::Constrained for crate::input::MalformedUnionInput {
 2694         -
    type Unconstrained = crate::input::malformed_union_input_internal::Builder;
        2974  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsRequireLengthInput {
        2975  +
    type Unconstrained = crate::input::streaming_traits_require_length_input_internal::Builder;
 2695   2976   
}
 2696         -
impl MalformedUnionInput {
 2697         -
    /// Creates a new builder-style object to manufacture [`MalformedUnionInput`](crate::input::MalformedUnionInput).
 2698         -
    pub fn builder() -> crate::input::malformed_union_input::Builder {
 2699         -
        crate::input::malformed_union_input::Builder::default()
        2977  +
impl StreamingTraitsRequireLengthInput {
        2978  +
    /// Creates a new builder-style object to manufacture [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
        2979  +
    pub fn builder() -> crate::input::streaming_traits_require_length_input::Builder {
        2980  +
        crate::input::streaming_traits_require_length_input::Builder::default()
 2700   2981   
    }
 2701   2982   
}
 2702   2983   
 2703   2984   
#[::pyo3::pyclass]
 2704         -
/// :param integer_in_path int:
 2705         -
/// :param integer_in_body typing.Optional\[int\]:
 2706         -
/// :param integer_in_query typing.Optional\[int\]:
 2707         -
/// :param integer_in_header typing.Optional\[int\]:
        2985  +
/// :param blob rest_json.types.ByteStream:
        2986  +
/// :param foo typing.Optional\[str\]:
 2708   2987   
/// :rtype None:
 2709   2988   
#[allow(missing_docs)] // documentation missing in model
 2710         -
#[derive(
 2711         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2712         -
)]
 2713         -
pub struct MalformedIntegerInput {
 2714         -
    #[pyo3(get, set)]
 2715         -
    /// :type typing.Optional\[int\]:
 2716         -
    #[allow(missing_docs)] // documentation missing in model
 2717         -
    pub integer_in_body: ::std::option::Option<i32>,
 2718         -
    #[pyo3(get, set)]
 2719         -
    /// :type int:
 2720         -
    #[allow(missing_docs)] // documentation missing in model
 2721         -
    pub integer_in_path: i32,
        2989  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        2990  +
pub struct StreamingTraitsWithMediaTypeInput {
 2722   2991   
    #[pyo3(get, set)]
 2723         -
    /// :type typing.Optional\[int\]:
        2992  +
    /// :type typing.Optional\[str\]:
 2724   2993   
    #[allow(missing_docs)] // documentation missing in model
 2725         -
    pub integer_in_query: ::std::option::Option<i32>,
        2994  +
    pub foo: ::std::option::Option<::std::string::String>,
 2726   2995   
    #[pyo3(get, set)]
 2727         -
    /// :type typing.Optional\[int\]:
        2996  +
    /// :type rest_json.types.ByteStream:
 2728   2997   
    #[allow(missing_docs)] // documentation missing in model
 2729         -
    pub integer_in_header: ::std::option::Option<i32>,
        2998  +
    pub blob: ::aws_smithy_http_server_python::types::ByteStream,
 2730   2999   
}
 2731         -
impl MalformedIntegerInput {
        3000  +
impl StreamingTraitsWithMediaTypeInput {
 2732   3001   
    #[allow(missing_docs)] // documentation missing in model
 2733         -
    pub fn integer_in_body(&self) -> ::std::option::Option<i32> {
 2734         -
        self.integer_in_body
 2735         -
    }
 2736         -
    #[allow(missing_docs)] // documentation missing in model
 2737         -
    pub fn integer_in_path(&self) -> i32 {
 2738         -
        self.integer_in_path
 2739         -
    }
 2740         -
    #[allow(missing_docs)] // documentation missing in model
 2741         -
    pub fn integer_in_query(&self) -> ::std::option::Option<i32> {
 2742         -
        self.integer_in_query
        3002  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3003  +
        self.foo.as_deref()
 2743   3004   
    }
 2744   3005   
    #[allow(missing_docs)] // documentation missing in model
 2745         -
    pub fn integer_in_header(&self) -> ::std::option::Option<i32> {
 2746         -
        self.integer_in_header
        3006  +
    pub fn blob(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
        3007  +
        &self.blob
 2747   3008   
    }
 2748   3009   
}
 2749   3010   
#[allow(clippy::new_without_default)]
 2750   3011   
#[allow(clippy::too_many_arguments)]
 2751   3012   
#[::pyo3::pymethods]
 2752         -
impl MalformedIntegerInput {
        3013  +
impl StreamingTraitsWithMediaTypeInput {
 2753   3014   
    #[new]
 2754   3015   
    pub fn new(
 2755         -
        integer_in_path: i32,
 2756         -
        integer_in_body: ::std::option::Option<i32>,
 2757         -
        integer_in_query: ::std::option::Option<i32>,
 2758         -
        integer_in_header: ::std::option::Option<i32>,
        3016  +
        blob: ::aws_smithy_http_server_python::types::ByteStream,
        3017  +
        foo: ::std::option::Option<::std::string::String>,
 2759   3018   
    ) -> Self {
 2760         -
        Self {
 2761         -
            integer_in_path,
 2762         -
            integer_in_body,
 2763         -
            integer_in_query,
 2764         -
            integer_in_header,
 2765         -
        }
        3019  +
        Self { blob, foo }
 2766   3020   
    }
 2767   3021   
    fn __repr__(&self) -> String {
 2768   3022   
        format!("{self:?}")
 2769   3023   
    }
 2770   3024   
    fn __str__(&self) -> String {
 2771   3025   
        format!("{self:?}")
 2772   3026   
    }
 2773   3027   
}
 2774         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedIntegerInput> {
        3028  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StreamingTraitsWithMediaTypeInput> {
 2775   3029   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2776         -
        ob.extract::<MalformedIntegerInput>().map(Box::new)
        3030  +
        ob.extract::<StreamingTraitsWithMediaTypeInput>()
        3031  +
            .map(Box::new)
 2777   3032   
    }
 2778   3033   
}
 2779   3034   
 2780         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedIntegerInput> {
        3035  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StreamingTraitsWithMediaTypeInput> {
 2781   3036   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2782   3037   
        (*self).into_py(py)
 2783   3038   
    }
 2784   3039   
}
 2785         -
impl crate::constrained::Constrained for crate::input::MalformedIntegerInput {
 2786         -
    type Unconstrained = crate::input::malformed_integer_input_internal::Builder;
        3040  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsWithMediaTypeInput {
        3041  +
    type Unconstrained = crate::input::streaming_traits_with_media_type_input_internal::Builder;
 2787   3042   
}
 2788         -
impl MalformedIntegerInput {
 2789         -
    /// Creates a new builder-style object to manufacture [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
 2790         -
    pub fn builder() -> crate::input::malformed_integer_input::Builder {
 2791         -
        crate::input::malformed_integer_input::Builder::default()
        3043  +
impl StreamingTraitsWithMediaTypeInput {
        3044  +
    /// Creates a new builder-style object to manufacture [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
        3045  +
    pub fn builder() -> crate::input::streaming_traits_with_media_type_input::Builder {
        3046  +
        crate::input::streaming_traits_with_media_type_input::Builder::default()
 2792   3047   
    }
 2793   3048   
}
 2794   3049   
 2795   3050   
#[::pyo3::pyclass]
 2796         -
/// :param int typing.Optional\[int\]:
 2797         -
/// :param float typing.Optional\[float\]:
 2798   3051   
/// :rtype None:
 2799   3052   
#[allow(missing_docs)] // documentation missing in model
 2800         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 2801         -
pub struct MalformedRequestBodyInput {
 2802         -
    #[pyo3(get, set)]
 2803         -
    /// :type typing.Optional\[int\]:
 2804         -
    #[allow(missing_docs)] // documentation missing in model
 2805         -
    pub int: ::std::option::Option<i32>,
 2806         -
    #[pyo3(get, set)]
 2807         -
    /// :type typing.Optional\[float\]:
 2808         -
    #[allow(missing_docs)] // documentation missing in model
 2809         -
    pub float: ::std::option::Option<f32>,
 2810         -
}
 2811         -
impl MalformedRequestBodyInput {
 2812         -
    #[allow(missing_docs)] // documentation missing in model
 2813         -
    pub fn int(&self) -> ::std::option::Option<i32> {
 2814         -
        self.int
 2815         -
    }
 2816         -
    #[allow(missing_docs)] // documentation missing in model
 2817         -
    pub fn float(&self) -> ::std::option::Option<f32> {
 2818         -
        self.float
 2819         -
    }
 2820         -
}
        3053  +
#[derive(
        3054  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3055  +
)]
        3056  +
pub struct GreetingWithErrorsInput {}
 2821   3057   
#[allow(clippy::new_without_default)]
 2822   3058   
#[allow(clippy::too_many_arguments)]
 2823   3059   
#[::pyo3::pymethods]
 2824         -
impl MalformedRequestBodyInput {
        3060  +
impl GreetingWithErrorsInput {
 2825   3061   
    #[new]
 2826         -
    pub fn new(int: ::std::option::Option<i32>, float: ::std::option::Option<f32>) -> Self {
 2827         -
        Self { int, float }
        3062  +
    pub fn new() -> Self {
        3063  +
        Self {}
 2828   3064   
    }
 2829   3065   
    fn __repr__(&self) -> String {
 2830   3066   
        format!("{self:?}")
 2831   3067   
    }
 2832   3068   
    fn __str__(&self) -> String {
 2833   3069   
        format!("{self:?}")
 2834   3070   
    }
 2835   3071   
}
 2836         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedRequestBodyInput> {
        3072  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingWithErrorsInput> {
 2837   3073   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2838         -
        ob.extract::<MalformedRequestBodyInput>().map(Box::new)
        3074  +
        ob.extract::<GreetingWithErrorsInput>().map(Box::new)
 2839   3075   
    }
 2840   3076   
}
 2841   3077   
 2842         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedRequestBodyInput> {
        3078  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingWithErrorsInput> {
 2843   3079   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2844   3080   
        (*self).into_py(py)
 2845   3081   
    }
 2846   3082   
}
 2847         -
impl crate::constrained::Constrained for crate::input::MalformedRequestBodyInput {
 2848         -
    type Unconstrained = crate::input::malformed_request_body_input_internal::Builder;
        3083  +
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
        3084  +
    type Unconstrained = crate::input::greeting_with_errors_input_internal::Builder;
 2849   3085   
}
 2850         -
impl MalformedRequestBodyInput {
 2851         -
    /// Creates a new builder-style object to manufacture [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
 2852         -
    pub fn builder() -> crate::input::malformed_request_body_input::Builder {
 2853         -
        crate::input::malformed_request_body_input::Builder::default()
        3086  +
impl GreetingWithErrorsInput {
        3087  +
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3088  +
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
        3089  +
        crate::input::greeting_with_errors_input::Builder::default()
 2854   3090   
    }
 2855   3091   
}
 2856   3092   
 2857   3093   
#[::pyo3::pyclass]
 2858   3094   
/// :param foo typing.Optional\[str\]:
        3095  +
/// :param string_value typing.Optional\[str\]:
        3096  +
/// :param true_boolean_value typing.Optional\[bool\]:
        3097  +
/// :param false_boolean_value typing.Optional\[bool\]:
        3098  +
/// :param byte_value typing.Optional\[int\]:
        3099  +
/// :param short_value typing.Optional\[int\]:
        3100  +
/// :param integer_value typing.Optional\[int\]:
        3101  +
/// :param long_value typing.Optional\[int\]:
        3102  +
/// :param float_value typing.Optional\[float\]:
        3103  +
/// :param double_value typing.Optional\[float\]:
 2859   3104   
/// :rtype None:
 2860   3105   
#[allow(missing_docs)] // documentation missing in model
 2861         -
#[derive(
 2862         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2863         -
)]
 2864         -
pub struct HttpChecksumRequiredInput {
        3106  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3107  +
pub struct SimpleScalarPropertiesInput {
 2865   3108   
    #[pyo3(get, set)]
 2866   3109   
    /// :type typing.Optional\[str\]:
 2867   3110   
    #[allow(missing_docs)] // documentation missing in model
 2868   3111   
    pub foo: ::std::option::Option<::std::string::String>,
        3112  +
    #[pyo3(get, set)]
        3113  +
    /// :type typing.Optional\[str\]:
        3114  +
    #[allow(missing_docs)] // documentation missing in model
        3115  +
    pub string_value: ::std::option::Option<::std::string::String>,
        3116  +
    #[pyo3(get, set)]
        3117  +
    /// :type typing.Optional\[bool\]:
        3118  +
    #[allow(missing_docs)] // documentation missing in model
        3119  +
    pub true_boolean_value: ::std::option::Option<bool>,
        3120  +
    #[pyo3(get, set)]
        3121  +
    /// :type typing.Optional\[bool\]:
        3122  +
    #[allow(missing_docs)] // documentation missing in model
        3123  +
    pub false_boolean_value: ::std::option::Option<bool>,
        3124  +
    #[pyo3(get, set)]
        3125  +
    /// :type typing.Optional\[int\]:
        3126  +
    #[allow(missing_docs)] // documentation missing in model
        3127  +
    pub byte_value: ::std::option::Option<i8>,
        3128  +
    #[pyo3(get, set)]
        3129  +
    /// :type typing.Optional\[int\]:
        3130  +
    #[allow(missing_docs)] // documentation missing in model
        3131  +
    pub short_value: ::std::option::Option<i16>,
        3132  +
    #[pyo3(get, set)]
        3133  +
    /// :type typing.Optional\[int\]:
        3134  +
    #[allow(missing_docs)] // documentation missing in model
        3135  +
    pub integer_value: ::std::option::Option<i32>,
        3136  +
    #[pyo3(get, set)]
        3137  +
    /// :type typing.Optional\[int\]:
        3138  +
    #[allow(missing_docs)] // documentation missing in model
        3139  +
    pub long_value: ::std::option::Option<i64>,
        3140  +
    #[pyo3(get, set)]
        3141  +
    /// :type typing.Optional\[float\]:
        3142  +
    #[allow(missing_docs)] // documentation missing in model
        3143  +
    pub float_value: ::std::option::Option<f32>,
        3144  +
    #[pyo3(get, set)]
        3145  +
    /// :type typing.Optional\[float\]:
        3146  +
    #[allow(missing_docs)] // documentation missing in model
        3147  +
    pub double_value: ::std::option::Option<f64>,
 2869   3148   
}
 2870         -
impl HttpChecksumRequiredInput {
        3149  +
impl SimpleScalarPropertiesInput {
 2871   3150   
    #[allow(missing_docs)] // documentation missing in model
 2872   3151   
    pub fn foo(&self) -> ::std::option::Option<&str> {
 2873   3152   
        self.foo.as_deref()
 2874   3153   
    }
        3154  +
    #[allow(missing_docs)] // documentation missing in model
        3155  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
        3156  +
        self.string_value.as_deref()
        3157  +
    }
        3158  +
    #[allow(missing_docs)] // documentation missing in model
        3159  +
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
        3160  +
        self.true_boolean_value
        3161  +
    }
        3162  +
    #[allow(missing_docs)] // documentation missing in model
        3163  +
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
        3164  +
        self.false_boolean_value
        3165  +
    }
        3166  +
    #[allow(missing_docs)] // documentation missing in model
        3167  +
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
        3168  +
        self.byte_value
        3169  +
    }
        3170  +
    #[allow(missing_docs)] // documentation missing in model
        3171  +
    pub fn short_value(&self) -> ::std::option::Option<i16> {
        3172  +
        self.short_value
        3173  +
    }
        3174  +
    #[allow(missing_docs)] // documentation missing in model
        3175  +
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
        3176  +
        self.integer_value
        3177  +
    }
        3178  +
    #[allow(missing_docs)] // documentation missing in model
        3179  +
    pub fn long_value(&self) -> ::std::option::Option<i64> {
        3180  +
        self.long_value
        3181  +
    }
        3182  +
    #[allow(missing_docs)] // documentation missing in model
        3183  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
        3184  +
        self.float_value
        3185  +
    }
        3186  +
    #[allow(missing_docs)] // documentation missing in model
        3187  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
        3188  +
        self.double_value
        3189  +
    }
 2875   3190   
}
 2876   3191   
#[allow(clippy::new_without_default)]
 2877   3192   
#[allow(clippy::too_many_arguments)]
 2878   3193   
#[::pyo3::pymethods]
 2879         -
impl HttpChecksumRequiredInput {
        3194  +
impl SimpleScalarPropertiesInput {
 2880   3195   
    #[new]
 2881         -
    pub fn new(foo: ::std::option::Option<::std::string::String>) -> Self {
 2882         -
        Self { foo }
        3196  +
    pub fn new(
        3197  +
        foo: ::std::option::Option<::std::string::String>,
        3198  +
        string_value: ::std::option::Option<::std::string::String>,
        3199  +
        true_boolean_value: ::std::option::Option<bool>,
        3200  +
        false_boolean_value: ::std::option::Option<bool>,
        3201  +
        byte_value: ::std::option::Option<i8>,
        3202  +
        short_value: ::std::option::Option<i16>,
        3203  +
        integer_value: ::std::option::Option<i32>,
        3204  +
        long_value: ::std::option::Option<i64>,
        3205  +
        float_value: ::std::option::Option<f32>,
        3206  +
        double_value: ::std::option::Option<f64>,
        3207  +
    ) -> Self {
        3208  +
        Self {
        3209  +
            foo,
        3210  +
            string_value,
        3211  +
            true_boolean_value,
        3212  +
            false_boolean_value,
        3213  +
            byte_value,
        3214  +
            short_value,
        3215  +
            integer_value,
        3216  +
            long_value,
        3217  +
            float_value,
        3218  +
            double_value,
        3219  +
        }
 2883   3220   
    }
 2884   3221   
    fn __repr__(&self) -> String {
 2885   3222   
        format!("{self:?}")
 2886   3223   
    }
 2887   3224   
    fn __str__(&self) -> String {
 2888   3225   
        format!("{self:?}")
 2889   3226   
    }
 2890   3227   
}
 2891         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpChecksumRequiredInput> {
        3228  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleScalarPropertiesInput> {
 2892   3229   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2893         -
        ob.extract::<HttpChecksumRequiredInput>().map(Box::new)
        3230  +
        ob.extract::<SimpleScalarPropertiesInput>().map(Box::new)
 2894   3231   
    }
 2895   3232   
}
 2896   3233   
 2897         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpChecksumRequiredInput> {
        3234  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleScalarPropertiesInput> {
 2898   3235   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2899   3236   
        (*self).into_py(py)
 2900   3237   
    }
 2901   3238   
}
 2902         -
impl crate::constrained::Constrained for crate::input::HttpChecksumRequiredInput {
 2903         -
    type Unconstrained = crate::input::http_checksum_required_input_internal::Builder;
        3239  +
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
        3240  +
    type Unconstrained = crate::input::simple_scalar_properties_input_internal::Builder;
 2904   3241   
}
 2905         -
impl HttpChecksumRequiredInput {
 2906         -
    /// Creates a new builder-style object to manufacture [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
 2907         -
    pub fn builder() -> crate::input::http_checksum_required_input::Builder {
 2908         -
        crate::input::http_checksum_required_input::Builder::default()
        3242  +
impl SimpleScalarPropertiesInput {
        3243  +
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        3244  +
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
        3245  +
        crate::input::simple_scalar_properties_input::Builder::default()
 2909   3246   
    }
 2910   3247   
}
 2911   3248   
 2912   3249   
#[::pyo3::pyclass]
        3250  +
/// :param normal typing.Optional\[rest_json.types.DateTime\]:
        3251  +
/// :param date_time typing.Optional\[rest_json.types.DateTime\]:
        3252  +
/// :param date_time_on_target typing.Optional\[rest_json.types.DateTime\]:
        3253  +
/// :param epoch_seconds typing.Optional\[rest_json.types.DateTime\]:
        3254  +
/// :param epoch_seconds_on_target typing.Optional\[rest_json.types.DateTime\]:
        3255  +
/// :param http_date typing.Optional\[rest_json.types.DateTime\]:
        3256  +
/// :param http_date_on_target typing.Optional\[rest_json.types.DateTime\]:
 2913   3257   
/// :rtype None:
 2914   3258   
#[allow(missing_docs)] // documentation missing in model
 2915   3259   
#[derive(
 2916   3260   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2917   3261   
)]
 2918         -
pub struct HostWithPathOperationInput {}
 2919         -
#[allow(clippy::new_without_default)]
 2920         -
#[allow(clippy::too_many_arguments)]
 2921         -
#[::pyo3::pymethods]
 2922         -
impl HostWithPathOperationInput {
 2923         -
    #[new]
 2924         -
    pub fn new() -> Self {
 2925         -
        Self {}
 2926         -
    }
 2927         -
    fn __repr__(&self) -> String {
 2928         -
        format!("{self:?}")
 2929         -
    }
 2930         -
    fn __str__(&self) -> String {
 2931         -
        format!("{self:?}")
 2932         -
    }
 2933         -
}
 2934         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HostWithPathOperationInput> {
 2935         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2936         -
        ob.extract::<HostWithPathOperationInput>().map(Box::new)
 2937         -
    }
        3262  +
pub struct JsonTimestampsInput {
        3263  +
    #[pyo3(get, set)]
        3264  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3265  +
    #[allow(missing_docs)] // documentation missing in model
        3266  +
    pub normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3267  +
    #[pyo3(get, set)]
        3268  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3269  +
    #[allow(missing_docs)] // documentation missing in model
        3270  +
    pub date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3271  +
    #[pyo3(get, set)]
        3272  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3273  +
    #[allow(missing_docs)] // documentation missing in model
        3274  +
    pub date_time_on_target:
        3275  +
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3276  +
    #[pyo3(get, set)]
        3277  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3278  +
    #[allow(missing_docs)] // documentation missing in model
        3279  +
    pub epoch_seconds: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3280  +
    #[pyo3(get, set)]
        3281  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3282  +
    #[allow(missing_docs)] // documentation missing in model
        3283  +
    pub epoch_seconds_on_target:
        3284  +
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3285  +
    #[pyo3(get, set)]
        3286  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3287  +
    #[allow(missing_docs)] // documentation missing in model
        3288  +
    pub http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3289  +
    #[pyo3(get, set)]
        3290  +
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        3291  +
    #[allow(missing_docs)] // documentation missing in model
        3292  +
    pub http_date_on_target:
        3293  +
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2938   3294   
}
 2939         -
 2940         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HostWithPathOperationInput> {
 2941         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 2942         -
        (*self).into_py(py)
        3295  +
impl JsonTimestampsInput {
        3296  +
    #[allow(missing_docs)] // documentation missing in model
        3297  +
    pub fn normal(
        3298  +
        &self,
        3299  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3300  +
        self.normal.as_ref()
 2943   3301   
    }
 2944         -
}
 2945         -
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
 2946         -
    type Unconstrained = crate::input::host_with_path_operation_input_internal::Builder;
 2947         -
}
 2948         -
impl HostWithPathOperationInput {
 2949         -
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 2950         -
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
 2951         -
        crate::input::host_with_path_operation_input::Builder::default()
        3302  +
    #[allow(missing_docs)] // documentation missing in model
        3303  +
    pub fn date_time(
        3304  +
        &self,
        3305  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3306  +
        self.date_time.as_ref()
 2952   3307   
    }
 2953         -
}
 2954         -
 2955         -
#[::pyo3::pyclass]
 2956         -
/// :param label str:
 2957         -
/// :rtype None:
 2958         -
#[allow(missing_docs)] // documentation missing in model
 2959         -
#[derive(
 2960         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 2961         -
)]
 2962         -
pub struct EndpointWithHostLabelOperationInput {
 2963         -
    #[pyo3(get, set)]
 2964         -
    /// :type str:
 2965   3308   
    #[allow(missing_docs)] // documentation missing in model
 2966         -
    pub label: ::std::string::String,
 2967         -
}
 2968         -
impl EndpointWithHostLabelOperationInput {
        3309  +
    pub fn date_time_on_target(
        3310  +
        &self,
        3311  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3312  +
        self.date_time_on_target.as_ref()
        3313  +
    }
 2969   3314   
    #[allow(missing_docs)] // documentation missing in model
 2970         -
    pub fn label(&self) -> &str {
 2971         -
        use std::ops::Deref;
 2972         -
        self.label.deref()
        3315  +
    pub fn epoch_seconds(
        3316  +
        &self,
        3317  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3318  +
        self.epoch_seconds.as_ref()
        3319  +
    }
        3320  +
    #[allow(missing_docs)] // documentation missing in model
        3321  +
    pub fn epoch_seconds_on_target(
        3322  +
        &self,
        3323  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3324  +
        self.epoch_seconds_on_target.as_ref()
        3325  +
    }
        3326  +
    #[allow(missing_docs)] // documentation missing in model
        3327  +
    pub fn http_date(
        3328  +
        &self,
        3329  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3330  +
        self.http_date.as_ref()
        3331  +
    }
        3332  +
    #[allow(missing_docs)] // documentation missing in model
        3333  +
    pub fn http_date_on_target(
        3334  +
        &self,
        3335  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        3336  +
        self.http_date_on_target.as_ref()
 2973   3337   
    }
 2974   3338   
}
 2975   3339   
#[allow(clippy::new_without_default)]
 2976   3340   
#[allow(clippy::too_many_arguments)]
 2977   3341   
#[::pyo3::pymethods]
 2978         -
impl EndpointWithHostLabelOperationInput {
        3342  +
impl JsonTimestampsInput {
 2979   3343   
    #[new]
 2980         -
    pub fn new(label: ::std::string::String) -> Self {
 2981         -
        Self { label }
        3344  +
    pub fn new(
        3345  +
        normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3346  +
        date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3347  +
        date_time_on_target: ::std::option::Option<
        3348  +
            ::aws_smithy_http_server_python::types::DateTime,
        3349  +
        >,
        3350  +
        epoch_seconds: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3351  +
        epoch_seconds_on_target: ::std::option::Option<
        3352  +
            ::aws_smithy_http_server_python::types::DateTime,
        3353  +
        >,
        3354  +
        http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3355  +
        http_date_on_target: ::std::option::Option<
        3356  +
            ::aws_smithy_http_server_python::types::DateTime,
        3357  +
        >,
        3358  +
    ) -> Self {
        3359  +
        Self {
        3360  +
            normal,
        3361  +
            date_time,
        3362  +
            date_time_on_target,
        3363  +
            epoch_seconds,
        3364  +
            epoch_seconds_on_target,
        3365  +
            http_date,
        3366  +
            http_date_on_target,
        3367  +
        }
 2982   3368   
    }
 2983   3369   
    fn __repr__(&self) -> String {
 2984   3370   
        format!("{self:?}")
 2985   3371   
    }
 2986   3372   
    fn __str__(&self) -> String {
 2987   3373   
        format!("{self:?}")
 2988   3374   
    }
 2989   3375   
}
 2990         -
impl<'source> ::pyo3::FromPyObject<'source>
 2991         -
    for std::boxed::Box<EndpointWithHostLabelOperationInput>
 2992         -
{
        3376  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonTimestampsInput> {
 2993   3377   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 2994         -
        ob.extract::<EndpointWithHostLabelOperationInput>()
 2995         -
            .map(Box::new)
        3378  +
        ob.extract::<JsonTimestampsInput>().map(Box::new)
 2996   3379   
    }
 2997   3380   
}
 2998   3381   
 2999         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointWithHostLabelOperationInput> {
        3382  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonTimestampsInput> {
 3000   3383   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3001   3384   
        (*self).into_py(py)
 3002   3385   
    }
 3003   3386   
}
 3004         -
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
 3005         -
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input_internal::Builder;
        3387  +
impl crate::constrained::Constrained for crate::input::JsonTimestampsInput {
        3388  +
    type Unconstrained = crate::input::json_timestamps_input_internal::Builder;
 3006   3389   
}
 3007         -
impl EndpointWithHostLabelOperationInput {
 3008         -
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 3009         -
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
 3010         -
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
        3390  +
impl JsonTimestampsInput {
        3391  +
    /// Creates a new builder-style object to manufacture [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
        3392  +
    pub fn builder() -> crate::input::json_timestamps_input::Builder {
        3393  +
        crate::input::json_timestamps_input::Builder::default()
 3011   3394   
    }
 3012   3395   
}
 3013   3396   
 3014   3397   
#[::pyo3::pyclass]
        3398  +
/// :param foo_enum1 typing.Optional\[rest_json.model.FooEnum\]:
        3399  +
/// :param foo_enum2 typing.Optional\[rest_json.model.FooEnum\]:
        3400  +
/// :param foo_enum3 typing.Optional\[rest_json.model.FooEnum\]:
        3401  +
/// :param foo_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        3402  +
/// :param foo_enum_set typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        3403  +
/// :param foo_enum_map typing.Optional\[typing.Dict\[str, rest_json.model.FooEnum\]\]:
 3015   3404   
/// :rtype None:
 3016   3405   
#[allow(missing_docs)] // documentation missing in model
 3017         -
#[derive(
 3018         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3019         -
)]
 3020         -
pub struct EndpointOperationInput {}
        3406  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3407  +
pub struct JsonEnumsInput {
        3408  +
    #[pyo3(get, set)]
        3409  +
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
        3410  +
    #[allow(missing_docs)] // documentation missing in model
        3411  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        3412  +
    #[pyo3(get, set)]
        3413  +
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
        3414  +
    #[allow(missing_docs)] // documentation missing in model
        3415  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        3416  +
    #[pyo3(get, set)]
        3417  +
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
        3418  +
    #[allow(missing_docs)] // documentation missing in model
        3419  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        3420  +
    #[pyo3(get, set)]
        3421  +
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        3422  +
    #[allow(missing_docs)] // documentation missing in model
        3423  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3424  +
    #[pyo3(get, set)]
        3425  +
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        3426  +
    #[allow(missing_docs)] // documentation missing in model
        3427  +
    pub foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3428  +
    #[pyo3(get, set)]
        3429  +
    /// :type typing.Optional\[typing.Dict\[str, rest_json.model.FooEnum\]\]:
        3430  +
    #[allow(missing_docs)] // documentation missing in model
        3431  +
    pub foo_enum_map: ::std::option::Option<
        3432  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3433  +
    >,
        3434  +
}
        3435  +
impl JsonEnumsInput {
        3436  +
    #[allow(missing_docs)] // documentation missing in model
        3437  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        3438  +
        self.foo_enum1.as_ref()
        3439  +
    }
        3440  +
    #[allow(missing_docs)] // documentation missing in model
        3441  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        3442  +
        self.foo_enum2.as_ref()
        3443  +
    }
        3444  +
    #[allow(missing_docs)] // documentation missing in model
        3445  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        3446  +
        self.foo_enum3.as_ref()
        3447  +
    }
        3448  +
    #[allow(missing_docs)] // documentation missing in model
        3449  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        3450  +
        self.foo_enum_list.as_deref()
        3451  +
    }
        3452  +
    #[allow(missing_docs)] // documentation missing in model
        3453  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        3454  +
        self.foo_enum_set.as_deref()
        3455  +
    }
        3456  +
    #[allow(missing_docs)] // documentation missing in model
        3457  +
    pub fn foo_enum_map(
        3458  +
        &self,
        3459  +
    ) -> ::std::option::Option<
        3460  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3461  +
    > {
        3462  +
        self.foo_enum_map.as_ref()
        3463  +
    }
        3464  +
}
 3021   3465   
#[allow(clippy::new_without_default)]
 3022   3466   
#[allow(clippy::too_many_arguments)]
 3023   3467   
#[::pyo3::pymethods]
 3024         -
impl EndpointOperationInput {
        3468  +
impl JsonEnumsInput {
 3025   3469   
    #[new]
 3026         -
    pub fn new() -> Self {
 3027         -
        Self {}
        3470  +
    pub fn new(
        3471  +
        foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        3472  +
        foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        3473  +
        foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        3474  +
        foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3475  +
        foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3476  +
        foo_enum_map: ::std::option::Option<
        3477  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3478  +
        >,
        3479  +
    ) -> Self {
        3480  +
        Self {
        3481  +
            foo_enum1,
        3482  +
            foo_enum2,
        3483  +
            foo_enum3,
        3484  +
            foo_enum_list,
        3485  +
            foo_enum_set,
        3486  +
            foo_enum_map,
        3487  +
        }
 3028   3488   
    }
 3029   3489   
    fn __repr__(&self) -> String {
 3030   3490   
        format!("{self:?}")
 3031   3491   
    }
 3032   3492   
    fn __str__(&self) -> String {
 3033   3493   
        format!("{self:?}")
 3034   3494   
    }
 3035   3495   
}
 3036         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EndpointOperationInput> {
        3496  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonEnumsInput> {
 3037   3497   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3038         -
        ob.extract::<EndpointOperationInput>().map(Box::new)
        3498  +
        ob.extract::<JsonEnumsInput>().map(Box::new)
 3039   3499   
    }
 3040   3500   
}
 3041   3501   
 3042         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointOperationInput> {
        3502  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonEnumsInput> {
 3043   3503   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3044   3504   
        (*self).into_py(py)
 3045   3505   
    }
 3046   3506   
}
 3047         -
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
 3048         -
    type Unconstrained = crate::input::endpoint_operation_input_internal::Builder;
        3507  +
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
        3508  +
    type Unconstrained = crate::input::json_enums_input_internal::Builder;
 3049   3509   
}
 3050         -
impl EndpointOperationInput {
 3051         -
    /// Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 3052         -
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
 3053         -
        crate::input::endpoint_operation_input::Builder::default()
        3510  +
impl JsonEnumsInput {
        3511  +
    /// Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        3512  +
    pub fn builder() -> crate::input::json_enums_input::Builder {
        3513  +
        crate::input::json_enums_input::Builder::default()
 3054   3514   
    }
 3055   3515   
}
 3056   3516   
 3057   3517   
#[::pyo3::pyclass]
 3058         -
/// :param value typing.Optional\[rest_json.model.UnionWithJsonName\]:
        3518  +
/// :param integer_enum1 typing.Optional\[int\]:
        3519  +
/// :param integer_enum2 typing.Optional\[int\]:
        3520  +
/// :param integer_enum3 typing.Optional\[int\]:
        3521  +
/// :param integer_enum_list typing.Optional\[typing.List\[int\]\]:
        3522  +
/// :param integer_enum_set typing.Optional\[typing.List\[int\]\]:
        3523  +
/// :param integer_enum_map typing.Optional\[typing.Dict\[str, int\]\]:
 3059   3524   
/// :rtype None:
 3060   3525   
#[allow(missing_docs)] // documentation missing in model
 3061         -
#[derive(
 3062         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3063         -
)]
 3064         -
pub struct PostUnionWithJsonNameInput {
        3526  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3527  +
pub struct JsonIntEnumsInput {
 3065   3528   
    #[pyo3(get, set)]
 3066         -
    /// :type typing.Optional\[rest_json.model.UnionWithJsonName\]:
        3529  +
    /// :type typing.Optional\[int\]:
 3067   3530   
    #[allow(missing_docs)] // documentation missing in model
 3068         -
    pub value: ::std::option::Option<crate::model::UnionWithJsonName>,
        3531  +
    pub integer_enum1: ::std::option::Option<i32>,
        3532  +
    #[pyo3(get, set)]
        3533  +
    /// :type typing.Optional\[int\]:
        3534  +
    #[allow(missing_docs)] // documentation missing in model
        3535  +
    pub integer_enum2: ::std::option::Option<i32>,
        3536  +
    #[pyo3(get, set)]
        3537  +
    /// :type typing.Optional\[int\]:
        3538  +
    #[allow(missing_docs)] // documentation missing in model
        3539  +
    pub integer_enum3: ::std::option::Option<i32>,
        3540  +
    #[pyo3(get, set)]
        3541  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        3542  +
    #[allow(missing_docs)] // documentation missing in model
        3543  +
    pub integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        3544  +
    #[pyo3(get, set)]
        3545  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        3546  +
    #[allow(missing_docs)] // documentation missing in model
        3547  +
    pub integer_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
        3548  +
    #[pyo3(get, set)]
        3549  +
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
        3550  +
    #[allow(missing_docs)] // documentation missing in model
        3551  +
    pub integer_enum_map:
        3552  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
 3069   3553   
}
 3070         -
impl PostUnionWithJsonNameInput {
        3554  +
impl JsonIntEnumsInput {
 3071   3555   
    #[allow(missing_docs)] // documentation missing in model
 3072         -
    pub fn value(&self) -> ::std::option::Option<&crate::model::UnionWithJsonName> {
 3073         -
        self.value.as_ref()
        3556  +
    pub fn integer_enum1(&self) -> ::std::option::Option<i32> {
        3557  +
        self.integer_enum1
        3558  +
    }
        3559  +
    #[allow(missing_docs)] // documentation missing in model
        3560  +
    pub fn integer_enum2(&self) -> ::std::option::Option<i32> {
        3561  +
        self.integer_enum2
        3562  +
    }
        3563  +
    #[allow(missing_docs)] // documentation missing in model
        3564  +
    pub fn integer_enum3(&self) -> ::std::option::Option<i32> {
        3565  +
        self.integer_enum3
        3566  +
    }
        3567  +
    #[allow(missing_docs)] // documentation missing in model
        3568  +
    pub fn integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        3569  +
        self.integer_enum_list.as_deref()
        3570  +
    }
        3571  +
    #[allow(missing_docs)] // documentation missing in model
        3572  +
    pub fn integer_enum_set(&self) -> ::std::option::Option<&[i32]> {
        3573  +
        self.integer_enum_set.as_deref()
        3574  +
    }
        3575  +
    #[allow(missing_docs)] // documentation missing in model
        3576  +
    pub fn integer_enum_map(
        3577  +
        &self,
        3578  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
        3579  +
        self.integer_enum_map.as_ref()
 3074   3580   
    }
 3075   3581   
}
 3076   3582   
#[allow(clippy::new_without_default)]
 3077   3583   
#[allow(clippy::too_many_arguments)]
 3078   3584   
#[::pyo3::pymethods]
 3079         -
impl PostUnionWithJsonNameInput {
        3585  +
impl JsonIntEnumsInput {
 3080   3586   
    #[new]
 3081         -
    pub fn new(value: ::std::option::Option<crate::model::UnionWithJsonName>) -> Self {
 3082         -
        Self { value }
        3587  +
    pub fn new(
        3588  +
        integer_enum1: ::std::option::Option<i32>,
        3589  +
        integer_enum2: ::std::option::Option<i32>,
        3590  +
        integer_enum3: ::std::option::Option<i32>,
        3591  +
        integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        3592  +
        integer_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
        3593  +
        integer_enum_map: ::std::option::Option<
        3594  +
            ::std::collections::HashMap<::std::string::String, i32>,
        3595  +
        >,
        3596  +
    ) -> Self {
        3597  +
        Self {
        3598  +
            integer_enum1,
        3599  +
            integer_enum2,
        3600  +
            integer_enum3,
        3601  +
            integer_enum_list,
        3602  +
            integer_enum_set,
        3603  +
            integer_enum_map,
        3604  +
        }
 3083   3605   
    }
 3084   3606   
    fn __repr__(&self) -> String {
 3085   3607   
        format!("{self:?}")
 3086   3608   
    }
 3087   3609   
    fn __str__(&self) -> String {
 3088   3610   
        format!("{self:?}")
 3089   3611   
    }
 3090   3612   
}
 3091         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PostUnionWithJsonNameInput> {
        3613  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonIntEnumsInput> {
 3092   3614   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3093         -
        ob.extract::<PostUnionWithJsonNameInput>().map(Box::new)
        3615  +
        ob.extract::<JsonIntEnumsInput>().map(Box::new)
 3094   3616   
    }
 3095   3617   
}
 3096   3618   
 3097         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PostUnionWithJsonNameInput> {
        3619  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonIntEnumsInput> {
 3098   3620   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3099   3621   
        (*self).into_py(py)
 3100   3622   
    }
 3101   3623   
}
 3102         -
impl crate::constrained::Constrained for crate::input::PostUnionWithJsonNameInput {
 3103         -
    type Unconstrained = crate::input::post_union_with_json_name_input_internal::Builder;
        3624  +
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
        3625  +
    type Unconstrained = crate::input::json_int_enums_input_internal::Builder;
 3104   3626   
}
 3105         -
impl PostUnionWithJsonNameInput {
 3106         -
    /// Creates a new builder-style object to manufacture [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
 3107         -
    pub fn builder() -> crate::input::post_union_with_json_name_input::Builder {
 3108         -
        crate::input::post_union_with_json_name_input::Builder::default()
        3627  +
impl JsonIntEnumsInput {
        3628  +
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        3629  +
    pub fn builder() -> crate::input::json_int_enums_input::Builder {
        3630  +
        crate::input::json_int_enums_input::Builder::default()
 3109   3631   
    }
 3110   3632   
}
 3111   3633   
 3112   3634   
#[::pyo3::pyclass]
 3113         -
/// :param action typing.Optional\[rest_json.model.PlayerAction\]:
        3635  +
/// :param nested typing.Optional\[rest_json.model.RecursiveShapesInputOutputNested1\]:
 3114   3636   
/// :rtype None:
 3115   3637   
#[allow(missing_docs)] // documentation missing in model
 3116   3638   
#[derive(
 3117   3639   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3118   3640   
)]
 3119         -
pub struct PostPlayerActionInput {
        3641  +
pub struct RecursiveShapesInput {
 3120   3642   
    #[pyo3(get, set)]
 3121         -
    /// :type typing.Optional\[rest_json.model.PlayerAction\]:
        3643  +
    /// :type typing.Optional\[rest_json.model.RecursiveShapesInputOutputNested1\]:
 3122   3644   
    #[allow(missing_docs)] // documentation missing in model
 3123         -
    pub action: ::std::option::Option<crate::model::PlayerAction>,
        3645  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
 3124   3646   
}
 3125         -
impl PostPlayerActionInput {
        3647  +
impl RecursiveShapesInput {
 3126   3648   
    #[allow(missing_docs)] // documentation missing in model
 3127         -
    pub fn action(&self) -> ::std::option::Option<&crate::model::PlayerAction> {
 3128         -
        self.action.as_ref()
        3649  +
    pub fn nested(
        3650  +
        &self,
        3651  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
        3652  +
        self.nested.as_ref()
 3129   3653   
    }
 3130   3654   
}
 3131   3655   
#[allow(clippy::new_without_default)]
 3132   3656   
#[allow(clippy::too_many_arguments)]
 3133   3657   
#[::pyo3::pymethods]
 3134         -
impl PostPlayerActionInput {
        3658  +
impl RecursiveShapesInput {
 3135   3659   
    #[new]
 3136         -
    pub fn new(action: ::std::option::Option<crate::model::PlayerAction>) -> Self {
 3137         -
        Self { action }
        3660  +
    pub fn new(
        3661  +
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        3662  +
    ) -> Self {
        3663  +
        Self { nested }
 3138   3664   
    }
 3139   3665   
    fn __repr__(&self) -> String {
 3140   3666   
        format!("{self:?}")
 3141   3667   
    }
 3142   3668   
    fn __str__(&self) -> String {
 3143   3669   
        format!("{self:?}")
 3144   3670   
    }
 3145   3671   
}
 3146         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PostPlayerActionInput> {
        3672  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<RecursiveShapesInput> {
 3147   3673   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3148         -
        ob.extract::<PostPlayerActionInput>().map(Box::new)
        3674  +
        ob.extract::<RecursiveShapesInput>().map(Box::new)
 3149   3675   
    }
 3150   3676   
}
 3151   3677   
 3152         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PostPlayerActionInput> {
        3678  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<RecursiveShapesInput> {
 3153   3679   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3154   3680   
        (*self).into_py(py)
 3155   3681   
    }
 3156   3682   
}
 3157         -
impl crate::constrained::Constrained for crate::input::PostPlayerActionInput {
 3158         -
    type Unconstrained = crate::input::post_player_action_input_internal::Builder;
        3683  +
impl crate::constrained::Constrained for crate::input::RecursiveShapesInput {
        3684  +
    type Unconstrained = crate::input::recursive_shapes_input_internal::Builder;
 3159   3685   
}
 3160         -
impl PostPlayerActionInput {
 3161         -
    /// Creates a new builder-style object to manufacture [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
 3162         -
    pub fn builder() -> crate::input::post_player_action_input::Builder {
 3163         -
        crate::input::post_player_action_input::Builder::default()
        3686  +
impl RecursiveShapesInput {
        3687  +
    /// Creates a new builder-style object to manufacture [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
        3688  +
    pub fn builder() -> crate::input::recursive_shapes_input::Builder {
        3689  +
        crate::input::recursive_shapes_input::Builder::default()
 3164   3690   
    }
 3165   3691   
}
 3166   3692   
 3167   3693   
#[::pyo3::pyclass]
 3168         -
/// :param contents typing.Optional\[rest_json.model.MyUnion\]:
        3694  +
/// :param string_list typing.Optional\[typing.List\[str\]\]:
        3695  +
/// :param string_set typing.Optional\[typing.List\[str\]\]:
        3696  +
/// :param integer_list typing.Optional\[typing.List\[int\]\]:
        3697  +
/// :param boolean_list typing.Optional\[typing.List\[bool\]\]:
        3698  +
/// :param timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
        3699  +
/// :param enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        3700  +
/// :param int_enum_list typing.Optional\[typing.List\[int\]\]:
        3701  +
/// :param nested_string_list typing.Optional\[typing.List\[typing.List\[str\]\]\]:
        3702  +
/// :param structure_list typing.Optional\[typing.List\[rest_json.model.StructureListMember\]\]:
 3169   3703   
/// :rtype None:
 3170         -
/// A shared structure that contains a single union member.
 3171         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3172         -
pub struct JsonUnionsInput {
        3704  +
#[allow(missing_docs)] // documentation missing in model
        3705  +
#[derive(
        3706  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3707  +
)]
        3708  +
pub struct JsonListsInput {
 3173   3709   
    #[pyo3(get, set)]
 3174         -
    /// :type typing.Optional\[rest_json.model.MyUnion\]:
 3175         -
    /// A union with a representative set of types for members.
 3176         -
    pub contents: ::std::option::Option<crate::model::MyUnion>,
 3177         -
}
 3178         -
impl JsonUnionsInput {
 3179         -
    /// A union with a representative set of types for members.
 3180         -
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
 3181         -
        self.contents.as_ref()
 3182         -
    }
        3710  +
    /// :type typing.Optional\[typing.List\[str\]\]:
        3711  +
    #[allow(missing_docs)] // documentation missing in model
        3712  +
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        3713  +
    #[pyo3(get, set)]
        3714  +
    /// :type typing.Optional\[typing.List\[str\]\]:
        3715  +
    #[allow(missing_docs)] // documentation missing in model
        3716  +
    pub string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        3717  +
    #[pyo3(get, set)]
        3718  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        3719  +
    #[allow(missing_docs)] // documentation missing in model
        3720  +
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        3721  +
    #[pyo3(get, set)]
        3722  +
    /// :type typing.Optional\[typing.List\[bool\]\]:
        3723  +
    #[allow(missing_docs)] // documentation missing in model
        3724  +
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        3725  +
    #[pyo3(get, set)]
        3726  +
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
        3727  +
    #[allow(missing_docs)] // documentation missing in model
        3728  +
    pub timestamp_list:
        3729  +
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
        3730  +
    #[pyo3(get, set)]
        3731  +
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
        3732  +
    #[allow(missing_docs)] // documentation missing in model
        3733  +
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3734  +
    #[pyo3(get, set)]
        3735  +
    /// :type typing.Optional\[typing.List\[int\]\]:
        3736  +
    #[allow(missing_docs)] // documentation missing in model
        3737  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        3738  +
    #[pyo3(get, set)]
        3739  +
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
        3740  +
    /// A list of lists of strings.
        3741  +
    pub nested_string_list:
        3742  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        3743  +
    #[pyo3(get, set)]
        3744  +
    /// :type typing.Optional\[typing.List\[rest_json.model.StructureListMember\]\]:
        3745  +
    #[allow(missing_docs)] // documentation missing in model
        3746  +
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
 3183   3747   
}
 3184         -
#[allow(clippy::new_without_default)]
 3185         -
#[allow(clippy::too_many_arguments)]
 3186         -
#[::pyo3::pymethods]
 3187         -
impl JsonUnionsInput {
 3188         -
    #[new]
 3189         -
    pub fn new(contents: ::std::option::Option<crate::model::MyUnion>) -> Self {
 3190         -
        Self { contents }
        3748  +
impl JsonListsInput {
        3749  +
    #[allow(missing_docs)] // documentation missing in model
        3750  +
    pub fn string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        3751  +
        self.string_list.as_deref()
 3191   3752   
    }
 3192         -
    fn __repr__(&self) -> String {
 3193         -
        format!("{self:?}")
        3753  +
    #[allow(missing_docs)] // documentation missing in model
        3754  +
    pub fn string_set(&self) -> ::std::option::Option<&[::std::string::String]> {
        3755  +
        self.string_set.as_deref()
 3194   3756   
    }
 3195         -
    fn __str__(&self) -> String {
 3196         -
        format!("{self:?}")
        3757  +
    #[allow(missing_docs)] // documentation missing in model
        3758  +
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
        3759  +
        self.integer_list.as_deref()
 3197   3760   
    }
 3198         -
}
 3199         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonUnionsInput> {
 3200         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3201         -
        ob.extract::<JsonUnionsInput>().map(Box::new)
        3761  +
    #[allow(missing_docs)] // documentation missing in model
        3762  +
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
        3763  +
        self.boolean_list.as_deref()
 3202   3764   
    }
 3203         -
}
 3204         -
 3205         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonUnionsInput> {
 3206         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3207         -
        (*self).into_py(py)
        3765  +
    #[allow(missing_docs)] // documentation missing in model
        3766  +
    pub fn timestamp_list(
        3767  +
        &self,
        3768  +
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
        3769  +
        self.timestamp_list.as_deref()
 3208   3770   
    }
 3209         -
}
 3210         -
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
 3211         -
    type Unconstrained = crate::input::json_unions_input_internal::Builder;
 3212         -
}
 3213         -
impl JsonUnionsInput {
 3214         -
    /// Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 3215         -
    pub fn builder() -> crate::input::json_unions_input::Builder {
 3216         -
        crate::input::json_unions_input::Builder::default()
 3217         -
    }
 3218         -
}
 3219         -
 3220         -
#[::pyo3::pyclass]
 3221         -
/// :param doc_valued_map typing.Optional\[typing.Dict\[str, rest_json.types.Document\]\]:
 3222         -
/// :rtype None:
 3223         -
#[allow(missing_docs)] // documentation missing in model
 3224         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3225         -
pub struct DocumentTypeAsMapValueInput {
 3226         -
    #[pyo3(get, set)]
 3227         -
    /// :type typing.Optional\[typing.Dict\[str, rest_json.types.Document\]\]:
 3228   3771   
    #[allow(missing_docs)] // documentation missing in model
 3229         -
    pub doc_valued_map: ::std::option::Option<
 3230         -
        ::std::collections::HashMap<
 3231         -
            ::std::string::String,
 3232         -
            ::aws_smithy_http_server_python::types::Document,
 3233         -
        >,
 3234         -
    >,
 3235         -
}
 3236         -
impl DocumentTypeAsMapValueInput {
        3772  +
    pub fn enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        3773  +
        self.enum_list.as_deref()
        3774  +
    }
 3237   3775   
    #[allow(missing_docs)] // documentation missing in model
 3238         -
    pub fn doc_valued_map(
        3776  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
        3777  +
        self.int_enum_list.as_deref()
        3778  +
    }
        3779  +
    /// A list of lists of strings.
        3780  +
    pub fn nested_string_list(
 3239   3781   
        &self,
 3240         -
    ) -> ::std::option::Option<
 3241         -
        &::std::collections::HashMap<
 3242         -
            ::std::string::String,
 3243         -
            ::aws_smithy_http_server_python::types::Document,
 3244         -
        >,
 3245         -
    > {
 3246         -
        self.doc_valued_map.as_ref()
        3782  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
        3783  +
        self.nested_string_list.as_deref()
        3784  +
    }
        3785  +
    #[allow(missing_docs)] // documentation missing in model
        3786  +
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::StructureListMember]> {
        3787  +
        self.structure_list.as_deref()
 3247   3788   
    }
 3248   3789   
}
 3249   3790   
#[allow(clippy::new_without_default)]
 3250   3791   
#[allow(clippy::too_many_arguments)]
 3251   3792   
#[::pyo3::pymethods]
 3252         -
impl DocumentTypeAsMapValueInput {
        3793  +
impl JsonListsInput {
 3253   3794   
    #[new]
 3254   3795   
    pub fn new(
 3255         -
        doc_valued_map: ::std::option::Option<
 3256         -
            ::std::collections::HashMap<
 3257         -
                ::std::string::String,
 3258         -
                ::aws_smithy_http_server_python::types::Document,
 3259         -
            >,
        3796  +
        string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        3797  +
        string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        3798  +
        integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        3799  +
        boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        3800  +
        timestamp_list: ::std::option::Option<
        3801  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        3802  +
        >,
        3803  +
        enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3804  +
        int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        3805  +
        nested_string_list: ::std::option::Option<
        3806  +
            ::std::vec::Vec<::std::vec::Vec<::std::string::String>>,
 3260   3807   
        >,
        3808  +
        structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
 3261   3809   
    ) -> Self {
 3262         -
        Self { doc_valued_map }
        3810  +
        Self {
        3811  +
            string_list,
        3812  +
            string_set,
        3813  +
            integer_list,
        3814  +
            boolean_list,
        3815  +
            timestamp_list,
        3816  +
            enum_list,
        3817  +
            int_enum_list,
        3818  +
            nested_string_list,
        3819  +
            structure_list,
        3820  +
        }
 3263   3821   
    }
 3264   3822   
    fn __repr__(&self) -> String {
 3265   3823   
        format!("{self:?}")
 3266   3824   
    }
 3267   3825   
    fn __str__(&self) -> String {
 3268   3826   
        format!("{self:?}")
 3269   3827   
    }
 3270   3828   
}
 3271         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DocumentTypeAsMapValueInput> {
        3829  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonListsInput> {
 3272   3830   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3273         -
        ob.extract::<DocumentTypeAsMapValueInput>().map(Box::new)
        3831  +
        ob.extract::<JsonListsInput>().map(Box::new)
 3274   3832   
    }
 3275   3833   
}
 3276   3834   
 3277         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DocumentTypeAsMapValueInput> {
        3835  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonListsInput> {
 3278   3836   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3279   3837   
        (*self).into_py(py)
 3280   3838   
    }
 3281   3839   
}
 3282         -
impl crate::constrained::Constrained for crate::input::DocumentTypeAsMapValueInput {
 3283         -
    type Unconstrained = crate::input::document_type_as_map_value_input_internal::Builder;
        3840  +
impl crate::constrained::Constrained for crate::input::JsonListsInput {
        3841  +
    type Unconstrained = crate::input::json_lists_input_internal::Builder;
 3284   3842   
}
 3285         -
impl DocumentTypeAsMapValueInput {
 3286         -
    /// Creates a new builder-style object to manufacture [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
 3287         -
    pub fn builder() -> crate::input::document_type_as_map_value_input::Builder {
 3288         -
        crate::input::document_type_as_map_value_input::Builder::default()
        3843  +
impl JsonListsInput {
        3844  +
    /// Creates a new builder-style object to manufacture [`JsonListsInput`](crate::input::JsonListsInput).
        3845  +
    pub fn builder() -> crate::input::json_lists_input::Builder {
        3846  +
        crate::input::json_lists_input::Builder::default()
 3289   3847   
    }
 3290   3848   
}
 3291   3849   
 3292   3850   
#[::pyo3::pyclass]
 3293         -
/// :param document_value typing.Optional\[rest_json.types.Document\]:
        3851  +
/// :param sparse_string_list typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
        3852  +
/// :param sparse_short_list typing.Optional\[typing.List\[typing.Optional\[int\]\]\]:
 3294   3853   
/// :rtype None:
 3295   3854   
#[allow(missing_docs)] // documentation missing in model
 3296         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3297         -
pub struct DocumentTypeAsPayloadInput {
        3855  +
#[derive(
        3856  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3857  +
)]
        3858  +
pub struct SparseJsonListsInput {
 3298   3859   
    #[pyo3(get, set)]
 3299         -
    /// :type typing.Optional\[rest_json.types.Document\]:
        3860  +
    /// :type typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
 3300   3861   
    #[allow(missing_docs)] // documentation missing in model
 3301         -
    pub document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        3862  +
    pub sparse_string_list:
        3863  +
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        3864  +
    #[pyo3(get, set)]
        3865  +
    /// :type typing.Optional\[typing.List\[typing.Optional\[int\]\]\]:
        3866  +
    #[allow(missing_docs)] // documentation missing in model
        3867  +
    pub sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
 3302   3868   
}
 3303         -
impl DocumentTypeAsPayloadInput {
        3869  +
impl SparseJsonListsInput {
 3304   3870   
    #[allow(missing_docs)] // documentation missing in model
 3305         -
    pub fn document_value(
        3871  +
    pub fn sparse_string_list(
 3306   3872   
        &self,
 3307         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
 3308         -
        self.document_value.as_ref()
        3873  +
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
        3874  +
        self.sparse_string_list.as_deref()
        3875  +
    }
        3876  +
    #[allow(missing_docs)] // documentation missing in model
        3877  +
    pub fn sparse_short_list(&self) -> ::std::option::Option<&[::std::option::Option<i16>]> {
        3878  +
        self.sparse_short_list.as_deref()
 3309   3879   
    }
 3310   3880   
}
 3311   3881   
#[allow(clippy::new_without_default)]
 3312   3882   
#[allow(clippy::too_many_arguments)]
 3313   3883   
#[::pyo3::pymethods]
 3314         -
impl DocumentTypeAsPayloadInput {
        3884  +
impl SparseJsonListsInput {
 3315   3885   
    #[new]
 3316   3886   
    pub fn new(
 3317         -
        document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        3887  +
        sparse_string_list: ::std::option::Option<
        3888  +
            ::std::vec::Vec<::std::option::Option<::std::string::String>>,
        3889  +
        >,
        3890  +
        sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
 3318   3891   
    ) -> Self {
 3319         -
        Self { document_value }
        3892  +
        Self {
        3893  +
            sparse_string_list,
        3894  +
            sparse_short_list,
        3895  +
        }
 3320   3896   
    }
 3321   3897   
    fn __repr__(&self) -> String {
 3322   3898   
        format!("{self:?}")
 3323   3899   
    }
 3324   3900   
    fn __str__(&self) -> String {
 3325   3901   
        format!("{self:?}")
 3326   3902   
    }
 3327   3903   
}
 3328         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DocumentTypeAsPayloadInput> {
        3904  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SparseJsonListsInput> {
 3329   3905   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3330         -
        ob.extract::<DocumentTypeAsPayloadInput>().map(Box::new)
        3906  +
        ob.extract::<SparseJsonListsInput>().map(Box::new)
 3331   3907   
    }
 3332   3908   
}
 3333   3909   
 3334         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DocumentTypeAsPayloadInput> {
        3910  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SparseJsonListsInput> {
 3335   3911   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3336   3912   
        (*self).into_py(py)
 3337   3913   
    }
 3338   3914   
}
 3339         -
impl crate::constrained::Constrained for crate::input::DocumentTypeAsPayloadInput {
 3340         -
    type Unconstrained = crate::input::document_type_as_payload_input_internal::Builder;
        3915  +
impl crate::constrained::Constrained for crate::input::SparseJsonListsInput {
        3916  +
    type Unconstrained = crate::input::sparse_json_lists_input_internal::Builder;
 3341   3917   
}
 3342         -
impl DocumentTypeAsPayloadInput {
 3343         -
    /// Creates a new builder-style object to manufacture [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
 3344         -
    pub fn builder() -> crate::input::document_type_as_payload_input::Builder {
 3345         -
        crate::input::document_type_as_payload_input::Builder::default()
        3918  +
impl SparseJsonListsInput {
        3919  +
    /// Creates a new builder-style object to manufacture [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
        3920  +
    pub fn builder() -> crate::input::sparse_json_lists_input::Builder {
        3921  +
        crate::input::sparse_json_lists_input::Builder::default()
 3346   3922   
    }
 3347   3923   
}
 3348   3924   
 3349   3925   
#[::pyo3::pyclass]
 3350         -
/// :param string_value typing.Optional\[str\]:
 3351         -
/// :param document_value typing.Optional\[rest_json.types.Document\]:
        3926  +
/// :param dense_struct_map typing.Optional\[typing.Dict\[str, rest_json.model.GreetingStruct\]\]:
        3927  +
/// :param dense_number_map typing.Optional\[typing.Dict\[str, int\]\]:
        3928  +
/// :param dense_boolean_map typing.Optional\[typing.Dict\[str, bool\]\]:
        3929  +
/// :param dense_string_map typing.Optional\[typing.Dict\[str, str\]\]:
        3930  +
/// :param dense_set_map typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
 3352   3931   
/// :rtype None:
 3353   3932   
#[allow(missing_docs)] // documentation missing in model
 3354         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3355         -
pub struct DocumentTypeInput {
        3933  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3934  +
pub struct JsonMapsInput {
 3356   3935   
    #[pyo3(get, set)]
 3357         -
    /// :type typing.Optional\[str\]:
        3936  +
    /// :type typing.Optional\[typing.Dict\[str, rest_json.model.GreetingStruct\]\]:
 3358   3937   
    #[allow(missing_docs)] // documentation missing in model
 3359         -
    pub string_value: ::std::option::Option<::std::string::String>,
        3938  +
    pub dense_struct_map: ::std::option::Option<
        3939  +
        ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        3940  +
    >,
 3360   3941   
    #[pyo3(get, set)]
 3361         -
    /// :type typing.Optional\[rest_json.types.Document\]:
        3942  +
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
 3362   3943   
    #[allow(missing_docs)] // documentation missing in model
 3363         -
    pub document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        3944  +
    pub dense_number_map:
        3945  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        3946  +
    #[pyo3(get, set)]
        3947  +
    /// :type typing.Optional\[typing.Dict\[str, bool\]\]:
        3948  +
    #[allow(missing_docs)] // documentation missing in model
        3949  +
    pub dense_boolean_map:
        3950  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
        3951  +
    #[pyo3(get, set)]
        3952  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
        3953  +
    #[allow(missing_docs)] // documentation missing in model
        3954  +
    pub dense_string_map: ::std::option::Option<
        3955  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3956  +
    >,
        3957  +
    #[pyo3(get, set)]
        3958  +
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        3959  +
    #[allow(missing_docs)] // documentation missing in model
        3960  +
    pub dense_set_map: ::std::option::Option<
        3961  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        3962  +
    >,
 3364   3963   
}
 3365         -
impl DocumentTypeInput {
        3964  +
impl JsonMapsInput {
 3366   3965   
    #[allow(missing_docs)] // documentation missing in model
 3367         -
    pub fn string_value(&self) -> ::std::option::Option<&str> {
 3368         -
        self.string_value.as_deref()
        3966  +
    pub fn dense_struct_map(
        3967  +
        &self,
        3968  +
    ) -> ::std::option::Option<
        3969  +
        &::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        3970  +
    > {
        3971  +
        self.dense_struct_map.as_ref()
 3369   3972   
    }
 3370   3973   
    #[allow(missing_docs)] // documentation missing in model
 3371         -
    pub fn document_value(
        3974  +
    pub fn dense_number_map(
 3372   3975   
        &self,
 3373         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
 3374         -
        self.document_value.as_ref()
        3976  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
        3977  +
        self.dense_number_map.as_ref()
        3978  +
    }
        3979  +
    #[allow(missing_docs)] // documentation missing in model
        3980  +
    pub fn dense_boolean_map(
        3981  +
        &self,
        3982  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, bool>> {
        3983  +
        self.dense_boolean_map.as_ref()
        3984  +
    }
        3985  +
    #[allow(missing_docs)] // documentation missing in model
        3986  +
    pub fn dense_string_map(
        3987  +
        &self,
        3988  +
    ) -> ::std::option::Option<
        3989  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3990  +
    > {
        3991  +
        self.dense_string_map.as_ref()
        3992  +
    }
        3993  +
    #[allow(missing_docs)] // documentation missing in model
        3994  +
    pub fn dense_set_map(
        3995  +
        &self,
        3996  +
    ) -> ::std::option::Option<
        3997  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        3998  +
    > {
        3999  +
        self.dense_set_map.as_ref()
 3375   4000   
    }
 3376   4001   
}
 3377   4002   
#[allow(clippy::new_without_default)]
 3378   4003   
#[allow(clippy::too_many_arguments)]
 3379   4004   
#[::pyo3::pymethods]
 3380         -
impl DocumentTypeInput {
        4005  +
impl JsonMapsInput {
 3381   4006   
    #[new]
 3382   4007   
    pub fn new(
 3383         -
        string_value: ::std::option::Option<::std::string::String>,
 3384         -
        document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 3385         -
    ) -> Self {
 3386         -
        Self {
 3387         -
            string_value,
 3388         -
            document_value,
 3389         -
        }
 3390         -
    }
 3391         -
    fn __repr__(&self) -> String {
 3392         -
        format!("{self:?}")
 3393         -
    }
 3394         -
    fn __str__(&self) -> String {
 3395         -
        format!("{self:?}")
 3396         -
    }
 3397         -
}
 3398         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DocumentTypeInput> {
 3399         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3400         -
        ob.extract::<DocumentTypeInput>().map(Box::new)
 3401         -
    }
 3402         -
}
 3403         -
 3404         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DocumentTypeInput> {
 3405         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3406         -
        (*self).into_py(py)
 3407         -
    }
 3408         -
}
 3409         -
impl crate::constrained::Constrained for crate::input::DocumentTypeInput {
 3410         -
    type Unconstrained = crate::input::document_type_input_internal::Builder;
 3411         -
}
 3412         -
impl DocumentTypeInput {
 3413         -
    /// Creates a new builder-style object to manufacture [`DocumentTypeInput`](crate::input::DocumentTypeInput).
 3414         -
    pub fn builder() -> crate::input::document_type_input::Builder {
 3415         -
        crate::input::document_type_input::Builder::default()
 3416         -
    }
 3417         -
}
 3418         -
 3419         -
#[::pyo3::pyclass]
 3420         -
/// :param data typing.Optional\[rest_json.types.Blob\]:
 3421         -
/// :rtype None:
 3422         -
#[allow(missing_docs)] // documentation missing in model
 3423         -
#[derive(
 3424         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3425         -
)]
 3426         -
pub struct JsonBlobsInput {
 3427         -
    #[pyo3(get, set)]
 3428         -
    /// :type typing.Optional\[rest_json.types.Blob\]:
 3429         -
    #[allow(missing_docs)] // documentation missing in model
 3430         -
    pub data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 3431         -
}
 3432         -
impl JsonBlobsInput {
 3433         -
    #[allow(missing_docs)] // documentation missing in model
 3434         -
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
 3435         -
        self.data.as_ref()
 3436         -
    }
 3437         -
}
 3438         -
#[allow(clippy::new_without_default)]
 3439         -
#[allow(clippy::too_many_arguments)]
 3440         -
#[::pyo3::pymethods]
 3441         -
impl JsonBlobsInput {
 3442         -
    #[new]
 3443         -
    pub fn new(data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>) -> Self {
 3444         -
        Self { data }
        4008  +
        dense_struct_map: ::std::option::Option<
        4009  +
            ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        4010  +
        >,
        4011  +
        dense_number_map: ::std::option::Option<
        4012  +
            ::std::collections::HashMap<::std::string::String, i32>,
        4013  +
        >,
        4014  +
        dense_boolean_map: ::std::option::Option<
        4015  +
            ::std::collections::HashMap<::std::string::String, bool>,
        4016  +
        >,
        4017  +
        dense_string_map: ::std::option::Option<
        4018  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        4019  +
        >,
        4020  +
        dense_set_map: ::std::option::Option<
        4021  +
            ::std::collections::HashMap<
        4022  +
                ::std::string::String,
        4023  +
                ::std::vec::Vec<::std::string::String>,
        4024  +
            >,
        4025  +
        >,
        4026  +
    ) -> Self {
        4027  +
        Self {
        4028  +
            dense_struct_map,
        4029  +
            dense_number_map,
        4030  +
            dense_boolean_map,
        4031  +
            dense_string_map,
        4032  +
            dense_set_map,
        4033  +
        }
 3445   4034   
    }
 3446   4035   
    fn __repr__(&self) -> String {
 3447   4036   
        format!("{self:?}")
 3448   4037   
    }
 3449   4038   
    fn __str__(&self) -> String {
 3450   4039   
        format!("{self:?}")
 3451   4040   
    }
 3452   4041   
}
 3453         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonBlobsInput> {
        4042  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonMapsInput> {
 3454   4043   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3455         -
        ob.extract::<JsonBlobsInput>().map(Box::new)
        4044  +
        ob.extract::<JsonMapsInput>().map(Box::new)
 3456   4045   
    }
 3457   4046   
}
 3458   4047   
 3459         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonBlobsInput> {
        4048  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonMapsInput> {
 3460   4049   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3461   4050   
        (*self).into_py(py)
 3462   4051   
    }
 3463   4052   
}
 3464         -
impl crate::constrained::Constrained for crate::input::JsonBlobsInput {
 3465         -
    type Unconstrained = crate::input::json_blobs_input_internal::Builder;
        4053  +
impl crate::constrained::Constrained for crate::input::JsonMapsInput {
        4054  +
    type Unconstrained = crate::input::json_maps_input_internal::Builder;
 3466   4055   
}
 3467         -
impl JsonBlobsInput {
 3468         -
    /// Creates a new builder-style object to manufacture [`JsonBlobsInput`](crate::input::JsonBlobsInput).
 3469         -
    pub fn builder() -> crate::input::json_blobs_input::Builder {
 3470         -
        crate::input::json_blobs_input::Builder::default()
        4056  +
impl JsonMapsInput {
        4057  +
    /// Creates a new builder-style object to manufacture [`JsonMapsInput`](crate::input::JsonMapsInput).
        4058  +
    pub fn builder() -> crate::input::json_maps_input::Builder {
        4059  +
        crate::input::json_maps_input::Builder::default()
 3471   4060   
    }
 3472   4061   
}
 3473   4062   
 3474   4063   
#[::pyo3::pyclass]
 3475   4064   
/// :param sparse_struct_map typing.Optional\[typing.Dict\[str, typing.Optional\[rest_json.model.GreetingStruct\]\]\]:
 3476   4065   
/// :param sparse_number_map typing.Optional\[typing.Dict\[str, typing.Optional\[int\]\]\]:
 3477   4066   
/// :param sparse_boolean_map typing.Optional\[typing.Dict\[str, typing.Optional\[bool\]\]\]:
 3478   4067   
/// :param sparse_string_map typing.Optional\[typing.Dict\[str, typing.Optional\[str\]\]\]:
 3479   4068   
/// :param sparse_set_map typing.Optional\[typing.Dict\[str, typing.Optional\[typing.List\[str\]\]\]\]:
 3480   4069   
/// :rtype None:
@@ -3613,4202 +14090,14784 @@
 3633   4222   
    type Unconstrained = crate::input::sparse_json_maps_input_internal::Builder;
 3634   4223   
}
 3635   4224   
impl SparseJsonMapsInput {
 3636   4225   
    /// Creates a new builder-style object to manufacture [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
 3637   4226   
    pub fn builder() -> crate::input::sparse_json_maps_input::Builder {
 3638   4227   
        crate::input::sparse_json_maps_input::Builder::default()
 3639   4228   
    }
 3640   4229   
}
 3641   4230   
 3642   4231   
#[::pyo3::pyclass]
 3643         -
/// :param dense_struct_map typing.Optional\[typing.Dict\[str, rest_json.model.GreetingStruct\]\]:
 3644         -
/// :param dense_number_map typing.Optional\[typing.Dict\[str, int\]\]:
 3645         -
/// :param dense_boolean_map typing.Optional\[typing.Dict\[str, bool\]\]:
 3646         -
/// :param dense_string_map typing.Optional\[typing.Dict\[str, str\]\]:
 3647         -
/// :param dense_set_map typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        4232  +
/// :param data typing.Optional\[rest_json.types.Blob\]:
 3648   4233   
/// :rtype None:
 3649   4234   
#[allow(missing_docs)] // documentation missing in model
 3650         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 3651         -
pub struct JsonMapsInput {
 3652         -
    #[pyo3(get, set)]
 3653         -
    /// :type typing.Optional\[typing.Dict\[str, rest_json.model.GreetingStruct\]\]:
 3654         -
    #[allow(missing_docs)] // documentation missing in model
 3655         -
    pub dense_struct_map: ::std::option::Option<
 3656         -
        ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
 3657         -
    >,
 3658         -
    #[pyo3(get, set)]
 3659         -
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
 3660         -
    #[allow(missing_docs)] // documentation missing in model
 3661         -
    pub dense_number_map:
 3662         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
 3663         -
    #[pyo3(get, set)]
 3664         -
    /// :type typing.Optional\[typing.Dict\[str, bool\]\]:
 3665         -
    #[allow(missing_docs)] // documentation missing in model
 3666         -
    pub dense_boolean_map:
 3667         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
 3668         -
    #[pyo3(get, set)]
 3669         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 3670         -
    #[allow(missing_docs)] // documentation missing in model
 3671         -
    pub dense_string_map: ::std::option::Option<
 3672         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3673         -
    >,
        4235  +
#[derive(
        4236  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4237  +
)]
        4238  +
pub struct JsonBlobsInput {
 3674   4239   
    #[pyo3(get, set)]
 3675         -
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        4240  +
    /// :type typing.Optional\[rest_json.types.Blob\]:
 3676   4241   
    #[allow(missing_docs)] // documentation missing in model
 3677         -
    pub dense_set_map: ::std::option::Option<
 3678         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 3679         -
    >,
        4242  +
    pub data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 3680   4243   
}
 3681         -
impl JsonMapsInput {
 3682         -
    #[allow(missing_docs)] // documentation missing in model
 3683         -
    pub fn dense_struct_map(
 3684         -
        &self,
 3685         -
    ) -> ::std::option::Option<
 3686         -
        &::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
 3687         -
    > {
 3688         -
        self.dense_struct_map.as_ref()
 3689         -
    }
 3690         -
    #[allow(missing_docs)] // documentation missing in model
 3691         -
    pub fn dense_number_map(
 3692         -
        &self,
 3693         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
 3694         -
        self.dense_number_map.as_ref()
 3695         -
    }
 3696         -
    #[allow(missing_docs)] // documentation missing in model
 3697         -
    pub fn dense_boolean_map(
 3698         -
        &self,
 3699         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, bool>> {
 3700         -
        self.dense_boolean_map.as_ref()
 3701         -
    }
 3702         -
    #[allow(missing_docs)] // documentation missing in model
 3703         -
    pub fn dense_string_map(
 3704         -
        &self,
 3705         -
    ) -> ::std::option::Option<
 3706         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3707         -
    > {
 3708         -
        self.dense_string_map.as_ref()
 3709         -
    }
        4244  +
impl JsonBlobsInput {
 3710   4245   
    #[allow(missing_docs)] // documentation missing in model
 3711         -
    pub fn dense_set_map(
 3712         -
        &self,
 3713         -
    ) -> ::std::option::Option<
 3714         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 3715         -
    > {
 3716         -
        self.dense_set_map.as_ref()
        4246  +
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        4247  +
        self.data.as_ref()
 3717   4248   
    }
 3718   4249   
}
 3719   4250   
#[allow(clippy::new_without_default)]
 3720   4251   
#[allow(clippy::too_many_arguments)]
 3721   4252   
#[::pyo3::pymethods]
 3722         -
impl JsonMapsInput {
        4253  +
impl JsonBlobsInput {
 3723   4254   
    #[new]
 3724         -
    pub fn new(
 3725         -
        dense_struct_map: ::std::option::Option<
 3726         -
            ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
 3727         -
        >,
 3728         -
        dense_number_map: ::std::option::Option<
 3729         -
            ::std::collections::HashMap<::std::string::String, i32>,
 3730         -
        >,
 3731         -
        dense_boolean_map: ::std::option::Option<
 3732         -
            ::std::collections::HashMap<::std::string::String, bool>,
 3733         -
        >,
 3734         -
        dense_string_map: ::std::option::Option<
 3735         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3736         -
        >,
 3737         -
        dense_set_map: ::std::option::Option<
 3738         -
            ::std::collections::HashMap<
 3739         -
                ::std::string::String,
 3740         -
                ::std::vec::Vec<::std::string::String>,
 3741         -
            >,
 3742         -
        >,
 3743         -
    ) -> Self {
 3744         -
        Self {
 3745         -
            dense_struct_map,
 3746         -
            dense_number_map,
 3747         -
            dense_boolean_map,
 3748         -
            dense_string_map,
 3749         -
            dense_set_map,
 3750         -
        }
        4255  +
    pub fn new(data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>) -> Self {
        4256  +
        Self { data }
 3751   4257   
    }
 3752   4258   
    fn __repr__(&self) -> String {
 3753   4259   
        format!("{self:?}")
 3754   4260   
    }
 3755   4261   
    fn __str__(&self) -> String {
 3756   4262   
        format!("{self:?}")
 3757   4263   
    }
 3758   4264   
}
 3759         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonMapsInput> {
        4265  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonBlobsInput> {
 3760   4266   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3761         -
        ob.extract::<JsonMapsInput>().map(Box::new)
        4267  +
        ob.extract::<JsonBlobsInput>().map(Box::new)
 3762   4268   
    }
 3763   4269   
}
 3764   4270   
 3765         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonMapsInput> {
        4271  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonBlobsInput> {
 3766   4272   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3767   4273   
        (*self).into_py(py)
 3768   4274   
    }
 3769   4275   
}
 3770         -
impl crate::constrained::Constrained for crate::input::JsonMapsInput {
 3771         -
    type Unconstrained = crate::input::json_maps_input_internal::Builder;
        4276  +
impl crate::constrained::Constrained for crate::input::JsonBlobsInput {
        4277  +
    type Unconstrained = crate::input::json_blobs_input_internal::Builder;
 3772   4278   
}
 3773         -
impl JsonMapsInput {
 3774         -
    /// Creates a new builder-style object to manufacture [`JsonMapsInput`](crate::input::JsonMapsInput).
 3775         -
    pub fn builder() -> crate::input::json_maps_input::Builder {
 3776         -
        crate::input::json_maps_input::Builder::default()
        4279  +
impl JsonBlobsInput {
        4280  +
    /// Creates a new builder-style object to manufacture [`JsonBlobsInput`](crate::input::JsonBlobsInput).
        4281  +
    pub fn builder() -> crate::input::json_blobs_input::Builder {
        4282  +
        crate::input::json_blobs_input::Builder::default()
 3777   4283   
    }
 3778   4284   
}
 3779   4285   
 3780   4286   
#[::pyo3::pyclass]
 3781         -
/// :param sparse_string_list typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
 3782         -
/// :param sparse_short_list typing.Optional\[typing.List\[typing.Optional\[int\]\]\]:
        4287  +
/// :param string_value typing.Optional\[str\]:
        4288  +
/// :param document_value typing.Optional\[rest_json.types.Document\]:
 3783   4289   
/// :rtype None:
 3784   4290   
#[allow(missing_docs)] // documentation missing in model
 3785         -
#[derive(
 3786         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3787         -
)]
 3788         -
pub struct SparseJsonListsInput {
        4291  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4292  +
pub struct DocumentTypeInput {
 3789   4293   
    #[pyo3(get, set)]
 3790         -
    /// :type typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
        4294  +
    /// :type typing.Optional\[str\]:
 3791   4295   
    #[allow(missing_docs)] // documentation missing in model
 3792         -
    pub sparse_string_list:
 3793         -
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        4296  +
    pub string_value: ::std::option::Option<::std::string::String>,
 3794   4297   
    #[pyo3(get, set)]
 3795         -
    /// :type typing.Optional\[typing.List\[typing.Optional\[int\]\]\]:
        4298  +
    /// :type typing.Optional\[rest_json.types.Document\]:
 3796   4299   
    #[allow(missing_docs)] // documentation missing in model
 3797         -
    pub sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
        4300  +
    pub document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 3798   4301   
}
 3799         -
impl SparseJsonListsInput {
        4302  +
impl DocumentTypeInput {
 3800   4303   
    #[allow(missing_docs)] // documentation missing in model
 3801         -
    pub fn sparse_string_list(
 3802         -
        &self,
 3803         -
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
 3804         -
        self.sparse_string_list.as_deref()
        4304  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
        4305  +
        self.string_value.as_deref()
 3805   4306   
    }
 3806   4307   
    #[allow(missing_docs)] // documentation missing in model
 3807         -
    pub fn sparse_short_list(&self) -> ::std::option::Option<&[::std::option::Option<i16>]> {
 3808         -
        self.sparse_short_list.as_deref()
        4308  +
    pub fn document_value(
        4309  +
        &self,
        4310  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
        4311  +
        self.document_value.as_ref()
 3809   4312   
    }
 3810   4313   
}
 3811   4314   
#[allow(clippy::new_without_default)]
 3812   4315   
#[allow(clippy::too_many_arguments)]
 3813   4316   
#[::pyo3::pymethods]
 3814         -
impl SparseJsonListsInput {
        4317  +
impl DocumentTypeInput {
 3815   4318   
    #[new]
 3816   4319   
    pub fn new(
 3817         -
        sparse_string_list: ::std::option::Option<
 3818         -
            ::std::vec::Vec<::std::option::Option<::std::string::String>>,
 3819         -
        >,
 3820         -
        sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
        4320  +
        string_value: ::std::option::Option<::std::string::String>,
        4321  +
        document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 3821   4322   
    ) -> Self {
 3822   4323   
        Self {
 3823         -
            sparse_string_list,
 3824         -
            sparse_short_list,
        4324  +
            string_value,
        4325  +
            document_value,
 3825   4326   
        }
 3826   4327   
    }
 3827   4328   
    fn __repr__(&self) -> String {
 3828   4329   
        format!("{self:?}")
 3829   4330   
    }
 3830   4331   
    fn __str__(&self) -> String {
 3831   4332   
        format!("{self:?}")
 3832   4333   
    }
 3833   4334   
}
 3834         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SparseJsonListsInput> {
        4335  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DocumentTypeInput> {
 3835   4336   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3836         -
        ob.extract::<SparseJsonListsInput>().map(Box::new)
        4337  +
        ob.extract::<DocumentTypeInput>().map(Box::new)
 3837   4338   
    }
 3838   4339   
}
 3839   4340   
 3840         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SparseJsonListsInput> {
        4341  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DocumentTypeInput> {
 3841   4342   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3842   4343   
        (*self).into_py(py)
 3843   4344   
    }
 3844   4345   
}
 3845         -
impl crate::constrained::Constrained for crate::input::SparseJsonListsInput {
 3846         -
    type Unconstrained = crate::input::sparse_json_lists_input_internal::Builder;
        4346  +
impl crate::constrained::Constrained for crate::input::DocumentTypeInput {
        4347  +
    type Unconstrained = crate::input::document_type_input_internal::Builder;
 3847   4348   
}
 3848         -
impl SparseJsonListsInput {
 3849         -
    /// Creates a new builder-style object to manufacture [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
 3850         -
    pub fn builder() -> crate::input::sparse_json_lists_input::Builder {
 3851         -
        crate::input::sparse_json_lists_input::Builder::default()
        4349  +
impl DocumentTypeInput {
        4350  +
    /// Creates a new builder-style object to manufacture [`DocumentTypeInput`](crate::input::DocumentTypeInput).
        4351  +
    pub fn builder() -> crate::input::document_type_input::Builder {
        4352  +
        crate::input::document_type_input::Builder::default()
 3852   4353   
    }
 3853   4354   
}
 3854   4355   
 3855   4356   
#[::pyo3::pyclass]
 3856         -
/// :param string_list typing.Optional\[typing.List\[str\]\]:
 3857         -
/// :param string_set typing.Optional\[typing.List\[str\]\]:
 3858         -
/// :param integer_list typing.Optional\[typing.List\[int\]\]:
 3859         -
/// :param boolean_list typing.Optional\[typing.List\[bool\]\]:
 3860         -
/// :param timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 3861         -
/// :param enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 3862         -
/// :param int_enum_list typing.Optional\[typing.List\[int\]\]:
 3863         -
/// :param nested_string_list typing.Optional\[typing.List\[typing.List\[str\]\]\]:
 3864         -
/// :param structure_list typing.Optional\[typing.List\[rest_json.model.StructureListMember\]\]:
        4357  +
/// :param document_value typing.Optional\[rest_json.types.Document\]:
 3865   4358   
/// :rtype None:
 3866   4359   
#[allow(missing_docs)] // documentation missing in model
 3867         -
#[derive(
 3868         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 3869         -
)]
 3870         -
pub struct JsonListsInput {
 3871         -
    #[pyo3(get, set)]
 3872         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 3873         -
    #[allow(missing_docs)] // documentation missing in model
 3874         -
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3875         -
    #[pyo3(get, set)]
 3876         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 3877         -
    #[allow(missing_docs)] // documentation missing in model
 3878         -
    pub string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3879         -
    #[pyo3(get, set)]
 3880         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 3881         -
    #[allow(missing_docs)] // documentation missing in model
 3882         -
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 3883         -
    #[pyo3(get, set)]
 3884         -
    /// :type typing.Optional\[typing.List\[bool\]\]:
 3885         -
    #[allow(missing_docs)] // documentation missing in model
 3886         -
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 3887         -
    #[pyo3(get, set)]
 3888         -
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 3889         -
    #[allow(missing_docs)] // documentation missing in model
 3890         -
    pub timestamp_list:
 3891         -
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
 3892         -
    #[pyo3(get, set)]
 3893         -
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 3894         -
    #[allow(missing_docs)] // documentation missing in model
 3895         -
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 3896         -
    #[pyo3(get, set)]
 3897         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 3898         -
    #[allow(missing_docs)] // documentation missing in model
 3899         -
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 3900         -
    #[pyo3(get, set)]
 3901         -
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
 3902         -
    /// A list of lists of strings.
 3903         -
    pub nested_string_list:
 3904         -
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        4360  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4361  +
pub struct DocumentTypeAsPayloadInput {
 3905   4362   
    #[pyo3(get, set)]
 3906         -
    /// :type typing.Optional\[typing.List\[rest_json.model.StructureListMember\]\]:
        4363  +
    /// :type typing.Optional\[rest_json.types.Document\]:
 3907   4364   
    #[allow(missing_docs)] // documentation missing in model
 3908         -
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
        4365  +
    pub document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 3909   4366   
}
 3910         -
impl JsonListsInput {
 3911         -
    #[allow(missing_docs)] // documentation missing in model
 3912         -
    pub fn string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 3913         -
        self.string_list.as_deref()
 3914         -
    }
 3915         -
    #[allow(missing_docs)] // documentation missing in model
 3916         -
    pub fn string_set(&self) -> ::std::option::Option<&[::std::string::String]> {
 3917         -
        self.string_set.as_deref()
 3918         -
    }
 3919         -
    #[allow(missing_docs)] // documentation missing in model
 3920         -
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
 3921         -
        self.integer_list.as_deref()
 3922         -
    }
 3923         -
    #[allow(missing_docs)] // documentation missing in model
 3924         -
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
 3925         -
        self.boolean_list.as_deref()
 3926         -
    }
 3927         -
    #[allow(missing_docs)] // documentation missing in model
 3928         -
    pub fn timestamp_list(
 3929         -
        &self,
 3930         -
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
 3931         -
        self.timestamp_list.as_deref()
 3932         -
    }
 3933         -
    #[allow(missing_docs)] // documentation missing in model
 3934         -
    pub fn enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 3935         -
        self.enum_list.as_deref()
 3936         -
    }
        4367  +
impl DocumentTypeAsPayloadInput {
 3937   4368   
    #[allow(missing_docs)] // documentation missing in model
 3938         -
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
 3939         -
        self.int_enum_list.as_deref()
 3940         -
    }
 3941         -
    /// A list of lists of strings.
 3942         -
    pub fn nested_string_list(
        4369  +
    pub fn document_value(
 3943   4370   
        &self,
 3944         -
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
 3945         -
        self.nested_string_list.as_deref()
 3946         -
    }
 3947         -
    #[allow(missing_docs)] // documentation missing in model
 3948         -
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::StructureListMember]> {
 3949         -
        self.structure_list.as_deref()
        4371  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
        4372  +
        self.document_value.as_ref()
 3950   4373   
    }
 3951   4374   
}
 3952   4375   
#[allow(clippy::new_without_default)]
 3953   4376   
#[allow(clippy::too_many_arguments)]
 3954   4377   
#[::pyo3::pymethods]
 3955         -
impl JsonListsInput {
        4378  +
impl DocumentTypeAsPayloadInput {
 3956   4379   
    #[new]
 3957   4380   
    pub fn new(
 3958         -
        string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3959         -
        string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3960         -
        integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 3961         -
        boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 3962         -
        timestamp_list: ::std::option::Option<
 3963         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
 3964         -
        >,
 3965         -
        enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 3966         -
        int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 3967         -
        nested_string_list: ::std::option::Option<
 3968         -
            ::std::vec::Vec<::std::vec::Vec<::std::string::String>>,
 3969         -
        >,
 3970         -
        structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
        4381  +
        document_value: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 3971   4382   
    ) -> Self {
 3972         -
        Self {
 3973         -
            string_list,
 3974         -
            string_set,
 3975         -
            integer_list,
 3976         -
            boolean_list,
 3977         -
            timestamp_list,
 3978         -
            enum_list,
 3979         -
            int_enum_list,
 3980         -
            nested_string_list,
 3981         -
            structure_list,
 3982         -
        }
        4383  +
        Self { document_value }
 3983   4384   
    }
 3984   4385   
    fn __repr__(&self) -> String {
 3985   4386   
        format!("{self:?}")
 3986   4387   
    }
 3987   4388   
    fn __str__(&self) -> String {
 3988   4389   
        format!("{self:?}")
 3989   4390   
    }
 3990   4391   
}
 3991         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonListsInput> {
        4392  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DocumentTypeAsPayloadInput> {
 3992   4393   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 3993         -
        ob.extract::<JsonListsInput>().map(Box::new)
        4394  +
        ob.extract::<DocumentTypeAsPayloadInput>().map(Box::new)
 3994   4395   
    }
 3995   4396   
}
 3996   4397   
 3997         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonListsInput> {
        4398  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DocumentTypeAsPayloadInput> {
 3998   4399   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 3999   4400   
        (*self).into_py(py)
 4000   4401   
    }
 4001   4402   
}
 4002         -
impl crate::constrained::Constrained for crate::input::JsonListsInput {
 4003         -
    type Unconstrained = crate::input::json_lists_input_internal::Builder;
        4403  +
impl crate::constrained::Constrained for crate::input::DocumentTypeAsPayloadInput {
        4404  +
    type Unconstrained = crate::input::document_type_as_payload_input_internal::Builder;
 4004   4405   
}
 4005         -
impl JsonListsInput {
 4006         -
    /// Creates a new builder-style object to manufacture [`JsonListsInput`](crate::input::JsonListsInput).
 4007         -
    pub fn builder() -> crate::input::json_lists_input::Builder {
 4008         -
        crate::input::json_lists_input::Builder::default()
        4406  +
impl DocumentTypeAsPayloadInput {
        4407  +
    /// Creates a new builder-style object to manufacture [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
        4408  +
    pub fn builder() -> crate::input::document_type_as_payload_input::Builder {
        4409  +
        crate::input::document_type_as_payload_input::Builder::default()
 4009   4410   
    }
 4010   4411   
}
 4011   4412   
 4012   4413   
#[::pyo3::pyclass]
 4013         -
/// :param nested typing.Optional\[rest_json.model.RecursiveShapesInputOutputNested1\]:
        4414  +
/// :param doc_valued_map typing.Optional\[typing.Dict\[str, rest_json.types.Document\]\]:
 4014   4415   
/// :rtype None:
 4015   4416   
#[allow(missing_docs)] // documentation missing in model
 4016         -
#[derive(
 4017         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4018         -
)]
 4019         -
pub struct RecursiveShapesInput {
        4417  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4418  +
pub struct DocumentTypeAsMapValueInput {
 4020   4419   
    #[pyo3(get, set)]
 4021         -
    /// :type typing.Optional\[rest_json.model.RecursiveShapesInputOutputNested1\]:
        4420  +
    /// :type typing.Optional\[typing.Dict\[str, rest_json.types.Document\]\]:
 4022   4421   
    #[allow(missing_docs)] // documentation missing in model
 4023         -
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        4422  +
    pub doc_valued_map: ::std::option::Option<
        4423  +
        ::std::collections::HashMap<
        4424  +
            ::std::string::String,
        4425  +
            ::aws_smithy_http_server_python::types::Document,
        4426  +
        >,
        4427  +
    >,
 4024   4428   
}
 4025         -
impl RecursiveShapesInput {
        4429  +
impl DocumentTypeAsMapValueInput {
 4026   4430   
    #[allow(missing_docs)] // documentation missing in model
 4027         -
    pub fn nested(
        4431  +
    pub fn doc_valued_map(
 4028   4432   
        &self,
 4029         -
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
 4030         -
        self.nested.as_ref()
        4433  +
    ) -> ::std::option::Option<
        4434  +
        &::std::collections::HashMap<
        4435  +
            ::std::string::String,
        4436  +
            ::aws_smithy_http_server_python::types::Document,
        4437  +
        >,
        4438  +
    > {
        4439  +
        self.doc_valued_map.as_ref()
 4031   4440   
    }
 4032   4441   
}
 4033   4442   
#[allow(clippy::new_without_default)]
 4034   4443   
#[allow(clippy::too_many_arguments)]
 4035   4444   
#[::pyo3::pymethods]
 4036         -
impl RecursiveShapesInput {
        4445  +
impl DocumentTypeAsMapValueInput {
 4037   4446   
    #[new]
 4038   4447   
    pub fn new(
 4039         -
        nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        4448  +
        doc_valued_map: ::std::option::Option<
        4449  +
            ::std::collections::HashMap<
        4450  +
                ::std::string::String,
        4451  +
                ::aws_smithy_http_server_python::types::Document,
        4452  +
            >,
        4453  +
        >,
 4040   4454   
    ) -> Self {
 4041         -
        Self { nested }
        4455  +
        Self { doc_valued_map }
 4042   4456   
    }
 4043   4457   
    fn __repr__(&self) -> String {
 4044   4458   
        format!("{self:?}")
 4045   4459   
    }
 4046   4460   
    fn __str__(&self) -> String {
 4047   4461   
        format!("{self:?}")
 4048   4462   
    }
 4049   4463   
}
 4050         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<RecursiveShapesInput> {
        4464  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DocumentTypeAsMapValueInput> {
 4051   4465   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4052         -
        ob.extract::<RecursiveShapesInput>().map(Box::new)
        4466  +
        ob.extract::<DocumentTypeAsMapValueInput>().map(Box::new)
 4053   4467   
    }
 4054   4468   
}
 4055   4469   
 4056         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<RecursiveShapesInput> {
        4470  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DocumentTypeAsMapValueInput> {
 4057   4471   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4058   4472   
        (*self).into_py(py)
 4059   4473   
    }
 4060   4474   
}
 4061         -
impl crate::constrained::Constrained for crate::input::RecursiveShapesInput {
 4062         -
    type Unconstrained = crate::input::recursive_shapes_input_internal::Builder;
        4475  +
impl crate::constrained::Constrained for crate::input::DocumentTypeAsMapValueInput {
        4476  +
    type Unconstrained = crate::input::document_type_as_map_value_input_internal::Builder;
 4063   4477   
}
 4064         -
impl RecursiveShapesInput {
 4065         -
    /// Creates a new builder-style object to manufacture [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
 4066         -
    pub fn builder() -> crate::input::recursive_shapes_input::Builder {
 4067         -
        crate::input::recursive_shapes_input::Builder::default()
        4478  +
impl DocumentTypeAsMapValueInput {
        4479  +
    /// Creates a new builder-style object to manufacture [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
        4480  +
    pub fn builder() -> crate::input::document_type_as_map_value_input::Builder {
        4481  +
        crate::input::document_type_as_map_value_input::Builder::default()
 4068   4482   
    }
 4069   4483   
}
 4070   4484   
 4071   4485   
#[::pyo3::pyclass]
 4072         -
/// :param integer_enum1 typing.Optional\[int\]:
 4073         -
/// :param integer_enum2 typing.Optional\[int\]:
 4074         -
/// :param integer_enum3 typing.Optional\[int\]:
 4075         -
/// :param integer_enum_list typing.Optional\[typing.List\[int\]\]:
 4076         -
/// :param integer_enum_set typing.Optional\[typing.List\[int\]\]:
 4077         -
/// :param integer_enum_map typing.Optional\[typing.Dict\[str, int\]\]:
        4486  +
/// :param contents typing.Optional\[rest_json.model.MyUnion\]:
 4078   4487   
/// :rtype None:
 4079         -
#[allow(missing_docs)] // documentation missing in model
        4488  +
/// A shared structure that contains a single union member.
 4080   4489   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4081         -
pub struct JsonIntEnumsInput {
 4082         -
    #[pyo3(get, set)]
 4083         -
    /// :type typing.Optional\[int\]:
 4084         -
    #[allow(missing_docs)] // documentation missing in model
 4085         -
    pub integer_enum1: ::std::option::Option<i32>,
 4086         -
    #[pyo3(get, set)]
 4087         -
    /// :type typing.Optional\[int\]:
 4088         -
    #[allow(missing_docs)] // documentation missing in model
 4089         -
    pub integer_enum2: ::std::option::Option<i32>,
 4090         -
    #[pyo3(get, set)]
 4091         -
    /// :type typing.Optional\[int\]:
 4092         -
    #[allow(missing_docs)] // documentation missing in model
 4093         -
    pub integer_enum3: ::std::option::Option<i32>,
 4094         -
    #[pyo3(get, set)]
 4095         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 4096         -
    #[allow(missing_docs)] // documentation missing in model
 4097         -
    pub integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 4098         -
    #[pyo3(get, set)]
 4099         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 4100         -
    #[allow(missing_docs)] // documentation missing in model
 4101         -
    pub integer_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
        4490  +
pub struct JsonUnionsInput {
 4102   4491   
    #[pyo3(get, set)]
 4103         -
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
 4104         -
    #[allow(missing_docs)] // documentation missing in model
 4105         -
    pub integer_enum_map:
 4106         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        4492  +
    /// :type typing.Optional\[rest_json.model.MyUnion\]:
        4493  +
    /// A union with a representative set of types for members.
        4494  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
 4107   4495   
}
 4108         -
impl JsonIntEnumsInput {
 4109         -
    #[allow(missing_docs)] // documentation missing in model
 4110         -
    pub fn integer_enum1(&self) -> ::std::option::Option<i32> {
 4111         -
        self.integer_enum1
 4112         -
    }
 4113         -
    #[allow(missing_docs)] // documentation missing in model
 4114         -
    pub fn integer_enum2(&self) -> ::std::option::Option<i32> {
 4115         -
        self.integer_enum2
 4116         -
    }
 4117         -
    #[allow(missing_docs)] // documentation missing in model
 4118         -
    pub fn integer_enum3(&self) -> ::std::option::Option<i32> {
 4119         -
        self.integer_enum3
 4120         -
    }
 4121         -
    #[allow(missing_docs)] // documentation missing in model
 4122         -
    pub fn integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
 4123         -
        self.integer_enum_list.as_deref()
 4124         -
    }
 4125         -
    #[allow(missing_docs)] // documentation missing in model
 4126         -
    pub fn integer_enum_set(&self) -> ::std::option::Option<&[i32]> {
 4127         -
        self.integer_enum_set.as_deref()
 4128         -
    }
 4129         -
    #[allow(missing_docs)] // documentation missing in model
 4130         -
    pub fn integer_enum_map(
 4131         -
        &self,
 4132         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
 4133         -
        self.integer_enum_map.as_ref()
        4496  +
impl JsonUnionsInput {
        4497  +
    /// A union with a representative set of types for members.
        4498  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
        4499  +
        self.contents.as_ref()
 4134   4500   
    }
 4135   4501   
}
 4136   4502   
#[allow(clippy::new_without_default)]
 4137   4503   
#[allow(clippy::too_many_arguments)]
 4138   4504   
#[::pyo3::pymethods]
 4139         -
impl JsonIntEnumsInput {
        4505  +
impl JsonUnionsInput {
 4140   4506   
    #[new]
 4141         -
    pub fn new(
 4142         -
        integer_enum1: ::std::option::Option<i32>,
 4143         -
        integer_enum2: ::std::option::Option<i32>,
 4144         -
        integer_enum3: ::std::option::Option<i32>,
 4145         -
        integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 4146         -
        integer_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
 4147         -
        integer_enum_map: ::std::option::Option<
 4148         -
            ::std::collections::HashMap<::std::string::String, i32>,
 4149         -
        >,
 4150         -
    ) -> Self {
 4151         -
        Self {
 4152         -
            integer_enum1,
 4153         -
            integer_enum2,
 4154         -
            integer_enum3,
 4155         -
            integer_enum_list,
 4156         -
            integer_enum_set,
 4157         -
            integer_enum_map,
 4158         -
        }
        4507  +
    pub fn new(contents: ::std::option::Option<crate::model::MyUnion>) -> Self {
        4508  +
        Self { contents }
 4159   4509   
    }
 4160   4510   
    fn __repr__(&self) -> String {
 4161   4511   
        format!("{self:?}")
 4162   4512   
    }
 4163   4513   
    fn __str__(&self) -> String {
 4164   4514   
        format!("{self:?}")
 4165   4515   
    }
 4166   4516   
}
 4167         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonIntEnumsInput> {
        4517  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonUnionsInput> {
 4168   4518   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4169         -
        ob.extract::<JsonIntEnumsInput>().map(Box::new)
        4519  +
        ob.extract::<JsonUnionsInput>().map(Box::new)
 4170   4520   
    }
 4171   4521   
}
 4172   4522   
 4173         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonIntEnumsInput> {
        4523  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonUnionsInput> {
 4174   4524   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4175   4525   
        (*self).into_py(py)
 4176   4526   
    }
 4177   4527   
}
 4178         -
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
 4179         -
    type Unconstrained = crate::input::json_int_enums_input_internal::Builder;
        4528  +
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
        4529  +
    type Unconstrained = crate::input::json_unions_input_internal::Builder;
 4180   4530   
}
 4181         -
impl JsonIntEnumsInput {
 4182         -
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
 4183         -
    pub fn builder() -> crate::input::json_int_enums_input::Builder {
 4184         -
        crate::input::json_int_enums_input::Builder::default()
        4531  +
impl JsonUnionsInput {
        4532  +
    /// Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        4533  +
    pub fn builder() -> crate::input::json_unions_input::Builder {
        4534  +
        crate::input::json_unions_input::Builder::default()
 4185   4535   
    }
 4186   4536   
}
 4187   4537   
 4188   4538   
#[::pyo3::pyclass]
 4189         -
/// :param foo_enum1 typing.Optional\[rest_json.model.FooEnum\]:
 4190         -
/// :param foo_enum2 typing.Optional\[rest_json.model.FooEnum\]:
 4191         -
/// :param foo_enum3 typing.Optional\[rest_json.model.FooEnum\]:
 4192         -
/// :param foo_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 4193         -
/// :param foo_enum_set typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 4194         -
/// :param foo_enum_map typing.Optional\[typing.Dict\[str, rest_json.model.FooEnum\]\]:
        4539  +
/// :param action typing.Optional\[rest_json.model.PlayerAction\]:
 4195   4540   
/// :rtype None:
 4196   4541   
#[allow(missing_docs)] // documentation missing in model
 4197         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4198         -
pub struct JsonEnumsInput {
 4199         -
    #[pyo3(get, set)]
 4200         -
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
 4201         -
    #[allow(missing_docs)] // documentation missing in model
 4202         -
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
 4203         -
    #[pyo3(get, set)]
 4204         -
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
 4205         -
    #[allow(missing_docs)] // documentation missing in model
 4206         -
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
 4207         -
    #[pyo3(get, set)]
 4208         -
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
 4209         -
    #[allow(missing_docs)] // documentation missing in model
 4210         -
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
 4211         -
    #[pyo3(get, set)]
 4212         -
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 4213         -
    #[allow(missing_docs)] // documentation missing in model
 4214         -
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 4215         -
    #[pyo3(get, set)]
 4216         -
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 4217         -
    #[allow(missing_docs)] // documentation missing in model
 4218         -
    pub foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        4542  +
#[derive(
        4543  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4544  +
)]
        4545  +
pub struct PostPlayerActionInput {
 4219   4546   
    #[pyo3(get, set)]
 4220         -
    /// :type typing.Optional\[typing.Dict\[str, rest_json.model.FooEnum\]\]:
        4547  +
    /// :type typing.Optional\[rest_json.model.PlayerAction\]:
 4221   4548   
    #[allow(missing_docs)] // documentation missing in model
 4222         -
    pub foo_enum_map: ::std::option::Option<
 4223         -
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 4224         -
    >,
        4549  +
    pub action: ::std::option::Option<crate::model::PlayerAction>,
 4225   4550   
}
 4226         -
impl JsonEnumsInput {
 4227         -
    #[allow(missing_docs)] // documentation missing in model
 4228         -
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 4229         -
        self.foo_enum1.as_ref()
 4230         -
    }
 4231         -
    #[allow(missing_docs)] // documentation missing in model
 4232         -
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 4233         -
        self.foo_enum2.as_ref()
 4234         -
    }
 4235         -
    #[allow(missing_docs)] // documentation missing in model
 4236         -
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 4237         -
        self.foo_enum3.as_ref()
 4238         -
    }
 4239         -
    #[allow(missing_docs)] // documentation missing in model
 4240         -
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 4241         -
        self.foo_enum_list.as_deref()
 4242         -
    }
 4243         -
    #[allow(missing_docs)] // documentation missing in model
 4244         -
    pub fn foo_enum_set(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 4245         -
        self.foo_enum_set.as_deref()
 4246         -
    }
        4551  +
impl PostPlayerActionInput {
 4247   4552   
    #[allow(missing_docs)] // documentation missing in model
 4248         -
    pub fn foo_enum_map(
 4249         -
        &self,
 4250         -
    ) -> ::std::option::Option<
 4251         -
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 4252         -
    > {
 4253         -
        self.foo_enum_map.as_ref()
        4553  +
    pub fn action(&self) -> ::std::option::Option<&crate::model::PlayerAction> {
        4554  +
        self.action.as_ref()
 4254   4555   
    }
 4255   4556   
}
 4256   4557   
#[allow(clippy::new_without_default)]
 4257   4558   
#[allow(clippy::too_many_arguments)]
 4258   4559   
#[::pyo3::pymethods]
 4259         -
impl JsonEnumsInput {
        4560  +
impl PostPlayerActionInput {
 4260   4561   
    #[new]
 4261         -
    pub fn new(
 4262         -
        foo_enum1: ::std::option::Option<crate::model::FooEnum>,
 4263         -
        foo_enum2: ::std::option::Option<crate::model::FooEnum>,
 4264         -
        foo_enum3: ::std::option::Option<crate::model::FooEnum>,
 4265         -
        foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 4266         -
        foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 4267         -
        foo_enum_map: ::std::option::Option<
 4268         -
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 4269         -
        >,
 4270         -
    ) -> Self {
 4271         -
        Self {
 4272         -
            foo_enum1,
 4273         -
            foo_enum2,
 4274         -
            foo_enum3,
 4275         -
            foo_enum_list,
 4276         -
            foo_enum_set,
 4277         -
            foo_enum_map,
 4278         -
        }
        4562  +
    pub fn new(action: ::std::option::Option<crate::model::PlayerAction>) -> Self {
        4563  +
        Self { action }
 4279   4564   
    }
 4280   4565   
    fn __repr__(&self) -> String {
 4281   4566   
        format!("{self:?}")
 4282   4567   
    }
 4283   4568   
    fn __str__(&self) -> String {
 4284   4569   
        format!("{self:?}")
 4285   4570   
    }
 4286   4571   
}
 4287         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonEnumsInput> {
        4572  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PostPlayerActionInput> {
 4288   4573   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4289         -
        ob.extract::<JsonEnumsInput>().map(Box::new)
        4574  +
        ob.extract::<PostPlayerActionInput>().map(Box::new)
 4290   4575   
    }
 4291   4576   
}
 4292   4577   
 4293         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonEnumsInput> {
        4578  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PostPlayerActionInput> {
 4294   4579   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4295   4580   
        (*self).into_py(py)
 4296   4581   
    }
 4297   4582   
}
 4298         -
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
 4299         -
    type Unconstrained = crate::input::json_enums_input_internal::Builder;
        4583  +
impl crate::constrained::Constrained for crate::input::PostPlayerActionInput {
        4584  +
    type Unconstrained = crate::input::post_player_action_input_internal::Builder;
 4300   4585   
}
 4301         -
impl JsonEnumsInput {
 4302         -
    /// Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 4303         -
    pub fn builder() -> crate::input::json_enums_input::Builder {
 4304         -
        crate::input::json_enums_input::Builder::default()
        4586  +
impl PostPlayerActionInput {
        4587  +
    /// Creates a new builder-style object to manufacture [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
        4588  +
    pub fn builder() -> crate::input::post_player_action_input::Builder {
        4589  +
        crate::input::post_player_action_input::Builder::default()
 4305   4590   
    }
 4306   4591   
}
 4307   4592   
 4308   4593   
#[::pyo3::pyclass]
 4309         -
/// :param normal typing.Optional\[rest_json.types.DateTime\]:
 4310         -
/// :param date_time typing.Optional\[rest_json.types.DateTime\]:
 4311         -
/// :param date_time_on_target typing.Optional\[rest_json.types.DateTime\]:
 4312         -
/// :param epoch_seconds typing.Optional\[rest_json.types.DateTime\]:
 4313         -
/// :param epoch_seconds_on_target typing.Optional\[rest_json.types.DateTime\]:
 4314         -
/// :param http_date typing.Optional\[rest_json.types.DateTime\]:
 4315         -
/// :param http_date_on_target typing.Optional\[rest_json.types.DateTime\]:
        4594  +
/// :param value typing.Optional\[rest_json.model.UnionWithJsonName\]:
 4316   4595   
/// :rtype None:
 4317   4596   
#[allow(missing_docs)] // documentation missing in model
 4318   4597   
#[derive(
 4319   4598   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4320   4599   
)]
 4321         -
pub struct JsonTimestampsInput {
 4322         -
    #[pyo3(get, set)]
 4323         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 4324         -
    #[allow(missing_docs)] // documentation missing in model
 4325         -
    pub normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4326         -
    #[pyo3(get, set)]
 4327         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 4328         -
    #[allow(missing_docs)] // documentation missing in model
 4329         -
    pub date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4330         -
    #[pyo3(get, set)]
 4331         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 4332         -
    #[allow(missing_docs)] // documentation missing in model
 4333         -
    pub date_time_on_target:
 4334         -
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4335         -
    #[pyo3(get, set)]
 4336         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 4337         -
    #[allow(missing_docs)] // documentation missing in model
 4338         -
    pub epoch_seconds: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4339         -
    #[pyo3(get, set)]
 4340         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 4341         -
    #[allow(missing_docs)] // documentation missing in model
 4342         -
    pub epoch_seconds_on_target:
 4343         -
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4344         -
    #[pyo3(get, set)]
 4345         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 4346         -
    #[allow(missing_docs)] // documentation missing in model
 4347         -
    pub http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        4600  +
pub struct PostUnionWithJsonNameInput {
 4348   4601   
    #[pyo3(get, set)]
 4349         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        4602  +
    /// :type typing.Optional\[rest_json.model.UnionWithJsonName\]:
 4350   4603   
    #[allow(missing_docs)] // documentation missing in model
 4351         -
    pub http_date_on_target:
 4352         -
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        4604  +
    pub value: ::std::option::Option<crate::model::UnionWithJsonName>,
 4353   4605   
}
 4354         -
impl JsonTimestampsInput {
        4606  +
impl PostUnionWithJsonNameInput {
 4355   4607   
    #[allow(missing_docs)] // documentation missing in model
 4356         -
    pub fn normal(
 4357         -
        &self,
 4358         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4359         -
        self.normal.as_ref()
        4608  +
    pub fn value(&self) -> ::std::option::Option<&crate::model::UnionWithJsonName> {
        4609  +
        self.value.as_ref()
 4360   4610   
    }
 4361         -
    #[allow(missing_docs)] // documentation missing in model
 4362         -
    pub fn date_time(
 4363         -
        &self,
 4364         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4365         -
        self.date_time.as_ref()
        4611  +
}
        4612  +
#[allow(clippy::new_without_default)]
        4613  +
#[allow(clippy::too_many_arguments)]
        4614  +
#[::pyo3::pymethods]
        4615  +
impl PostUnionWithJsonNameInput {
        4616  +
    #[new]
        4617  +
    pub fn new(value: ::std::option::Option<crate::model::UnionWithJsonName>) -> Self {
        4618  +
        Self { value }
 4366   4619   
    }
 4367         -
    #[allow(missing_docs)] // documentation missing in model
 4368         -
    pub fn date_time_on_target(
 4369         -
        &self,
 4370         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4371         -
        self.date_time_on_target.as_ref()
        4620  +
    fn __repr__(&self) -> String {
        4621  +
        format!("{self:?}")
 4372   4622   
    }
 4373         -
    #[allow(missing_docs)] // documentation missing in model
 4374         -
    pub fn epoch_seconds(
 4375         -
        &self,
 4376         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4377         -
        self.epoch_seconds.as_ref()
        4623  +
    fn __str__(&self) -> String {
        4624  +
        format!("{self:?}")
 4378   4625   
    }
 4379         -
    #[allow(missing_docs)] // documentation missing in model
 4380         -
    pub fn epoch_seconds_on_target(
 4381         -
        &self,
 4382         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4383         -
        self.epoch_seconds_on_target.as_ref()
        4626  +
}
        4627  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PostUnionWithJsonNameInput> {
        4628  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        4629  +
        ob.extract::<PostUnionWithJsonNameInput>().map(Box::new)
 4384   4630   
    }
 4385         -
    #[allow(missing_docs)] // documentation missing in model
 4386         -
    pub fn http_date(
 4387         -
        &self,
 4388         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4389         -
        self.http_date.as_ref()
        4631  +
}
        4632  +
        4633  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PostUnionWithJsonNameInput> {
        4634  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        4635  +
        (*self).into_py(py)
 4390   4636   
    }
 4391         -
    #[allow(missing_docs)] // documentation missing in model
 4392         -
    pub fn http_date_on_target(
 4393         -
        &self,
 4394         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 4395         -
        self.http_date_on_target.as_ref()
        4637  +
}
        4638  +
impl crate::constrained::Constrained for crate::input::PostUnionWithJsonNameInput {
        4639  +
    type Unconstrained = crate::input::post_union_with_json_name_input_internal::Builder;
        4640  +
}
        4641  +
impl PostUnionWithJsonNameInput {
        4642  +
    /// Creates a new builder-style object to manufacture [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
        4643  +
    pub fn builder() -> crate::input::post_union_with_json_name_input::Builder {
        4644  +
        crate::input::post_union_with_json_name_input::Builder::default()
 4396   4645   
    }
 4397   4646   
}
        4647  +
        4648  +
#[::pyo3::pyclass]
        4649  +
/// :rtype None:
        4650  +
#[allow(missing_docs)] // documentation missing in model
        4651  +
#[derive(
        4652  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4653  +
)]
        4654  +
pub struct EndpointOperationInput {}
 4398   4655   
#[allow(clippy::new_without_default)]
 4399   4656   
#[allow(clippy::too_many_arguments)]
 4400   4657   
#[::pyo3::pymethods]
 4401         -
impl JsonTimestampsInput {
        4658  +
impl EndpointOperationInput {
 4402   4659   
    #[new]
 4403         -
    pub fn new(
 4404         -
        normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4405         -
        date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4406         -
        date_time_on_target: ::std::option::Option<
 4407         -
            ::aws_smithy_http_server_python::types::DateTime,
 4408         -
        >,
 4409         -
        epoch_seconds: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4410         -
        epoch_seconds_on_target: ::std::option::Option<
 4411         -
            ::aws_smithy_http_server_python::types::DateTime,
 4412         -
        >,
 4413         -
        http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 4414         -
        http_date_on_target: ::std::option::Option<
 4415         -
            ::aws_smithy_http_server_python::types::DateTime,
 4416         -
        >,
 4417         -
    ) -> Self {
 4418         -
        Self {
 4419         -
            normal,
 4420         -
            date_time,
 4421         -
            date_time_on_target,
 4422         -
            epoch_seconds,
 4423         -
            epoch_seconds_on_target,
 4424         -
            http_date,
 4425         -
            http_date_on_target,
 4426         -
        }
        4660  +
    pub fn new() -> Self {
        4661  +
        Self {}
 4427   4662   
    }
 4428   4663   
    fn __repr__(&self) -> String {
 4429   4664   
        format!("{self:?}")
 4430   4665   
    }
 4431   4666   
    fn __str__(&self) -> String {
 4432   4667   
        format!("{self:?}")
 4433   4668   
    }
 4434   4669   
}
 4435         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonTimestampsInput> {
        4670  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EndpointOperationInput> {
 4436   4671   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4437         -
        ob.extract::<JsonTimestampsInput>().map(Box::new)
        4672  +
        ob.extract::<EndpointOperationInput>().map(Box::new)
 4438   4673   
    }
 4439   4674   
}
 4440   4675   
 4441         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonTimestampsInput> {
        4676  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointOperationInput> {
 4442   4677   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4443   4678   
        (*self).into_py(py)
 4444   4679   
    }
 4445   4680   
}
 4446         -
impl crate::constrained::Constrained for crate::input::JsonTimestampsInput {
 4447         -
    type Unconstrained = crate::input::json_timestamps_input_internal::Builder;
        4681  +
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
        4682  +
    type Unconstrained = crate::input::endpoint_operation_input_internal::Builder;
 4448   4683   
}
 4449         -
impl JsonTimestampsInput {
 4450         -
    /// Creates a new builder-style object to manufacture [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
 4451         -
    pub fn builder() -> crate::input::json_timestamps_input::Builder {
 4452         -
        crate::input::json_timestamps_input::Builder::default()
        4684  +
impl EndpointOperationInput {
        4685  +
    /// Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        4686  +
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
        4687  +
        crate::input::endpoint_operation_input::Builder::default()
 4453   4688   
    }
 4454   4689   
}
 4455   4690   
 4456   4691   
#[::pyo3::pyclass]
 4457         -
/// :param foo typing.Optional\[str\]:
 4458         -
/// :param string_value typing.Optional\[str\]:
 4459         -
/// :param true_boolean_value typing.Optional\[bool\]:
 4460         -
/// :param false_boolean_value typing.Optional\[bool\]:
 4461         -
/// :param byte_value typing.Optional\[int\]:
 4462         -
/// :param short_value typing.Optional\[int\]:
 4463         -
/// :param integer_value typing.Optional\[int\]:
 4464         -
/// :param long_value typing.Optional\[int\]:
 4465         -
/// :param float_value typing.Optional\[float\]:
 4466         -
/// :param double_value typing.Optional\[float\]:
        4692  +
/// :param label str:
 4467   4693   
/// :rtype None:
 4468   4694   
#[allow(missing_docs)] // documentation missing in model
 4469         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 4470         -
pub struct SimpleScalarPropertiesInput {
 4471         -
    #[pyo3(get, set)]
 4472         -
    /// :type typing.Optional\[str\]:
 4473         -
    #[allow(missing_docs)] // documentation missing in model
 4474         -
    pub foo: ::std::option::Option<::std::string::String>,
 4475         -
    #[pyo3(get, set)]
 4476         -
    /// :type typing.Optional\[str\]:
 4477         -
    #[allow(missing_docs)] // documentation missing in model
 4478         -
    pub string_value: ::std::option::Option<::std::string::String>,
 4479         -
    #[pyo3(get, set)]
 4480         -
    /// :type typing.Optional\[bool\]:
 4481         -
    #[allow(missing_docs)] // documentation missing in model
 4482         -
    pub true_boolean_value: ::std::option::Option<bool>,
 4483         -
    #[pyo3(get, set)]
 4484         -
    /// :type typing.Optional\[bool\]:
 4485         -
    #[allow(missing_docs)] // documentation missing in model
 4486         -
    pub false_boolean_value: ::std::option::Option<bool>,
 4487         -
    #[pyo3(get, set)]
 4488         -
    /// :type typing.Optional\[int\]:
 4489         -
    #[allow(missing_docs)] // documentation missing in model
 4490         -
    pub byte_value: ::std::option::Option<i8>,
 4491         -
    #[pyo3(get, set)]
 4492         -
    /// :type typing.Optional\[int\]:
 4493         -
    #[allow(missing_docs)] // documentation missing in model
 4494         -
    pub short_value: ::std::option::Option<i16>,
 4495         -
    #[pyo3(get, set)]
 4496         -
    /// :type typing.Optional\[int\]:
 4497         -
    #[allow(missing_docs)] // documentation missing in model
 4498         -
    pub integer_value: ::std::option::Option<i32>,
 4499         -
    #[pyo3(get, set)]
 4500         -
    /// :type typing.Optional\[int\]:
 4501         -
    #[allow(missing_docs)] // documentation missing in model
 4502         -
    pub long_value: ::std::option::Option<i64>,
 4503         -
    #[pyo3(get, set)]
 4504         -
    /// :type typing.Optional\[float\]:
 4505         -
    #[allow(missing_docs)] // documentation missing in model
 4506         -
    pub float_value: ::std::option::Option<f32>,
        4695  +
#[derive(
        4696  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4697  +
)]
        4698  +
pub struct EndpointWithHostLabelOperationInput {
 4507   4699   
    #[pyo3(get, set)]
 4508         -
    /// :type typing.Optional\[float\]:
        4700  +
    /// :type str:
 4509   4701   
    #[allow(missing_docs)] // documentation missing in model
 4510         -
    pub double_value: ::std::option::Option<f64>,
        4702  +
    pub label: ::std::string::String,
 4511   4703   
}
 4512         -
impl SimpleScalarPropertiesInput {
 4513         -
    #[allow(missing_docs)] // documentation missing in model
 4514         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 4515         -
        self.foo.as_deref()
 4516         -
    }
 4517         -
    #[allow(missing_docs)] // documentation missing in model
 4518         -
    pub fn string_value(&self) -> ::std::option::Option<&str> {
 4519         -
        self.string_value.as_deref()
 4520         -
    }
 4521         -
    #[allow(missing_docs)] // documentation missing in model
 4522         -
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
 4523         -
        self.true_boolean_value
 4524         -
    }
 4525         -
    #[allow(missing_docs)] // documentation missing in model
 4526         -
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
 4527         -
        self.false_boolean_value
 4528         -
    }
 4529         -
    #[allow(missing_docs)] // documentation missing in model
 4530         -
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
 4531         -
        self.byte_value
 4532         -
    }
 4533         -
    #[allow(missing_docs)] // documentation missing in model
 4534         -
    pub fn short_value(&self) -> ::std::option::Option<i16> {
 4535         -
        self.short_value
 4536         -
    }
 4537         -
    #[allow(missing_docs)] // documentation missing in model
 4538         -
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
 4539         -
        self.integer_value
 4540         -
    }
 4541         -
    #[allow(missing_docs)] // documentation missing in model
 4542         -
    pub fn long_value(&self) -> ::std::option::Option<i64> {
 4543         -
        self.long_value
 4544         -
    }
 4545         -
    #[allow(missing_docs)] // documentation missing in model
 4546         -
    pub fn float_value(&self) -> ::std::option::Option<f32> {
 4547         -
        self.float_value
 4548         -
    }
        4704  +
impl EndpointWithHostLabelOperationInput {
 4549   4705   
    #[allow(missing_docs)] // documentation missing in model
 4550         -
    pub fn double_value(&self) -> ::std::option::Option<f64> {
 4551         -
        self.double_value
        4706  +
    pub fn label(&self) -> &str {
        4707  +
        use std::ops::Deref;
        4708  +
        self.label.deref()
 4552   4709   
    }
 4553   4710   
}
 4554   4711   
#[allow(clippy::new_without_default)]
 4555   4712   
#[allow(clippy::too_many_arguments)]
 4556   4713   
#[::pyo3::pymethods]
 4557         -
impl SimpleScalarPropertiesInput {
        4714  +
impl EndpointWithHostLabelOperationInput {
 4558   4715   
    #[new]
 4559         -
    pub fn new(
 4560         -
        foo: ::std::option::Option<::std::string::String>,
 4561         -
        string_value: ::std::option::Option<::std::string::String>,
 4562         -
        true_boolean_value: ::std::option::Option<bool>,
 4563         -
        false_boolean_value: ::std::option::Option<bool>,
 4564         -
        byte_value: ::std::option::Option<i8>,
 4565         -
        short_value: ::std::option::Option<i16>,
 4566         -
        integer_value: ::std::option::Option<i32>,
 4567         -
        long_value: ::std::option::Option<i64>,
 4568         -
        float_value: ::std::option::Option<f32>,
 4569         -
        double_value: ::std::option::Option<f64>,
 4570         -
    ) -> Self {
 4571         -
        Self {
 4572         -
            foo,
 4573         -
            string_value,
 4574         -
            true_boolean_value,
 4575         -
            false_boolean_value,
 4576         -
            byte_value,
 4577         -
            short_value,
 4578         -
            integer_value,
 4579         -
            long_value,
 4580         -
            float_value,
 4581         -
            double_value,
 4582         -
        }
        4716  +
    pub fn new(label: ::std::string::String) -> Self {
        4717  +
        Self { label }
 4583   4718   
    }
 4584   4719   
    fn __repr__(&self) -> String {
 4585   4720   
        format!("{self:?}")
 4586   4721   
    }
 4587   4722   
    fn __str__(&self) -> String {
 4588   4723   
        format!("{self:?}")
 4589   4724   
    }
 4590   4725   
}
 4591         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleScalarPropertiesInput> {
        4726  +
impl<'source> ::pyo3::FromPyObject<'source>
        4727  +
    for std::boxed::Box<EndpointWithHostLabelOperationInput>
        4728  +
{
 4592   4729   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4593         -
        ob.extract::<SimpleScalarPropertiesInput>().map(Box::new)
        4730  +
        ob.extract::<EndpointWithHostLabelOperationInput>()
        4731  +
            .map(Box::new)
 4594   4732   
    }
 4595   4733   
}
 4596   4734   
 4597         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleScalarPropertiesInput> {
        4735  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointWithHostLabelOperationInput> {
 4598   4736   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4599   4737   
        (*self).into_py(py)
 4600   4738   
    }
 4601   4739   
}
 4602         -
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
 4603         -
    type Unconstrained = crate::input::simple_scalar_properties_input_internal::Builder;
        4740  +
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
        4741  +
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input_internal::Builder;
 4604   4742   
}
 4605         -
impl SimpleScalarPropertiesInput {
 4606         -
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 4607         -
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
 4608         -
        crate::input::simple_scalar_properties_input::Builder::default()
        4743  +
impl EndpointWithHostLabelOperationInput {
        4744  +
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        4745  +
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
        4746  +
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
 4609   4747   
    }
 4610   4748   
}
 4611   4749   
 4612   4750   
#[::pyo3::pyclass]
 4613   4751   
/// :rtype None:
 4614   4752   
#[allow(missing_docs)] // documentation missing in model
 4615   4753   
#[derive(
 4616   4754   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4617   4755   
)]
 4618         -
pub struct GreetingWithErrorsInput {}
        4756  +
pub struct HostWithPathOperationInput {}
 4619   4757   
#[allow(clippy::new_without_default)]
 4620   4758   
#[allow(clippy::too_many_arguments)]
 4621   4759   
#[::pyo3::pymethods]
 4622         -
impl GreetingWithErrorsInput {
        4760  +
impl HostWithPathOperationInput {
 4623   4761   
    #[new]
 4624   4762   
    pub fn new() -> Self {
 4625   4763   
        Self {}
 4626   4764   
    }
 4627   4765   
    fn __repr__(&self) -> String {
 4628   4766   
        format!("{self:?}")
 4629   4767   
    }
 4630   4768   
    fn __str__(&self) -> String {
 4631   4769   
        format!("{self:?}")
 4632   4770   
    }
 4633   4771   
}
 4634         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingWithErrorsInput> {
        4772  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HostWithPathOperationInput> {
 4635   4773   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4636         -
        ob.extract::<GreetingWithErrorsInput>().map(Box::new)
        4774  +
        ob.extract::<HostWithPathOperationInput>().map(Box::new)
 4637   4775   
    }
 4638   4776   
}
 4639   4777   
 4640         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingWithErrorsInput> {
        4778  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HostWithPathOperationInput> {
 4641   4779   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4642   4780   
        (*self).into_py(py)
 4643   4781   
    }
 4644   4782   
}
 4645         -
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
 4646         -
    type Unconstrained = crate::input::greeting_with_errors_input_internal::Builder;
        4783  +
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
        4784  +
    type Unconstrained = crate::input::host_with_path_operation_input_internal::Builder;
 4647   4785   
}
 4648         -
impl GreetingWithErrorsInput {
 4649         -
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 4650         -
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
 4651         -
        crate::input::greeting_with_errors_input::Builder::default()
        4786  +
impl HostWithPathOperationInput {
        4787  +
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        4788  +
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
        4789  +
        crate::input::host_with_path_operation_input::Builder::default()
 4652   4790   
    }
 4653   4791   
}
 4654   4792   
 4655   4793   
#[::pyo3::pyclass]
 4656         -
/// :param blob rest_json.types.ByteStream:
 4657   4794   
/// :param foo typing.Optional\[str\]:
 4658   4795   
/// :rtype None:
 4659   4796   
#[allow(missing_docs)] // documentation missing in model
 4660         -
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
 4661         -
pub struct StreamingTraitsWithMediaTypeInput {
        4797  +
#[derive(
        4798  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4799  +
)]
        4800  +
pub struct HttpChecksumRequiredInput {
 4662   4801   
    #[pyo3(get, set)]
 4663   4802   
    /// :type typing.Optional\[str\]:
 4664   4803   
    #[allow(missing_docs)] // documentation missing in model
 4665   4804   
    pub foo: ::std::option::Option<::std::string::String>,
 4666         -
    #[pyo3(get, set)]
 4667         -
    /// :type rest_json.types.ByteStream:
 4668         -
    #[allow(missing_docs)] // documentation missing in model
 4669         -
    pub blob: ::aws_smithy_http_server_python::types::ByteStream,
 4670   4805   
}
 4671         -
impl StreamingTraitsWithMediaTypeInput {
        4806  +
impl HttpChecksumRequiredInput {
 4672   4807   
    #[allow(missing_docs)] // documentation missing in model
 4673   4808   
    pub fn foo(&self) -> ::std::option::Option<&str> {
 4674   4809   
        self.foo.as_deref()
 4675   4810   
    }
 4676         -
    #[allow(missing_docs)] // documentation missing in model
 4677         -
    pub fn blob(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
 4678         -
        &self.blob
 4679         -
    }
 4680   4811   
}
 4681   4812   
#[allow(clippy::new_without_default)]
 4682   4813   
#[allow(clippy::too_many_arguments)]
 4683   4814   
#[::pyo3::pymethods]
 4684         -
impl StreamingTraitsWithMediaTypeInput {
        4815  +
impl HttpChecksumRequiredInput {
 4685   4816   
    #[new]
 4686         -
    pub fn new(
 4687         -
        blob: ::aws_smithy_http_server_python::types::ByteStream,
 4688         -
        foo: ::std::option::Option<::std::string::String>,
 4689         -
    ) -> Self {
 4690         -
        Self { blob, foo }
        4817  +
    pub fn new(foo: ::std::option::Option<::std::string::String>) -> Self {
        4818  +
        Self { foo }
 4691   4819   
    }
 4692   4820   
    fn __repr__(&self) -> String {
 4693   4821   
        format!("{self:?}")
 4694   4822   
    }
 4695   4823   
    fn __str__(&self) -> String {
 4696   4824   
        format!("{self:?}")
 4697   4825   
    }
 4698   4826   
}
 4699         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StreamingTraitsWithMediaTypeInput> {
        4827  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpChecksumRequiredInput> {
 4700   4828   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4701         -
        ob.extract::<StreamingTraitsWithMediaTypeInput>()
 4702         -
            .map(Box::new)
        4829  +
        ob.extract::<HttpChecksumRequiredInput>().map(Box::new)
 4703   4830   
    }
 4704   4831   
}
 4705   4832   
 4706         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StreamingTraitsWithMediaTypeInput> {
        4833  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpChecksumRequiredInput> {
 4707   4834   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4708   4835   
        (*self).into_py(py)
 4709   4836   
    }
 4710   4837   
}
 4711         -
impl crate::constrained::Constrained for crate::input::StreamingTraitsWithMediaTypeInput {
 4712         -
    type Unconstrained = crate::input::streaming_traits_with_media_type_input_internal::Builder;
        4838  +
impl crate::constrained::Constrained for crate::input::HttpChecksumRequiredInput {
        4839  +
    type Unconstrained = crate::input::http_checksum_required_input_internal::Builder;
 4713   4840   
}
 4714         -
impl StreamingTraitsWithMediaTypeInput {
 4715         -
    /// Creates a new builder-style object to manufacture [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
 4716         -
    pub fn builder() -> crate::input::streaming_traits_with_media_type_input::Builder {
 4717         -
        crate::input::streaming_traits_with_media_type_input::Builder::default()
        4841  +
impl HttpChecksumRequiredInput {
        4842  +
    /// Creates a new builder-style object to manufacture [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
        4843  +
    pub fn builder() -> crate::input::http_checksum_required_input::Builder {
        4844  +
        crate::input::http_checksum_required_input::Builder::default()
 4718   4845   
    }
 4719   4846   
}
 4720   4847   
 4721   4848   
#[::pyo3::pyclass]
 4722         -
/// :param blob rest_json.types.ByteStream:
 4723         -
/// :param foo typing.Optional\[str\]:
        4849  +
/// :param int typing.Optional\[int\]:
        4850  +
/// :param float typing.Optional\[float\]:
 4724   4851   
/// :rtype None:
 4725   4852   
#[allow(missing_docs)] // documentation missing in model
 4726         -
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
 4727         -
pub struct StreamingTraitsRequireLengthInput {
        4853  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4854  +
pub struct MalformedRequestBodyInput {
 4728   4855   
    #[pyo3(get, set)]
 4729         -
    /// :type typing.Optional\[str\]:
        4856  +
    /// :type typing.Optional\[int\]:
 4730   4857   
    #[allow(missing_docs)] // documentation missing in model
 4731         -
    pub foo: ::std::option::Option<::std::string::String>,
        4858  +
    pub int: ::std::option::Option<i32>,
 4732   4859   
    #[pyo3(get, set)]
 4733         -
    /// :type rest_json.types.ByteStream:
        4860  +
    /// :type typing.Optional\[float\]:
 4734   4861   
    #[allow(missing_docs)] // documentation missing in model
 4735         -
    pub blob: ::aws_smithy_http_server_python::types::ByteStream,
        4862  +
    pub float: ::std::option::Option<f32>,
 4736   4863   
}
 4737         -
impl StreamingTraitsRequireLengthInput {
        4864  +
impl MalformedRequestBodyInput {
 4738   4865   
    #[allow(missing_docs)] // documentation missing in model
 4739         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 4740         -
        self.foo.as_deref()
        4866  +
    pub fn int(&self) -> ::std::option::Option<i32> {
        4867  +
        self.int
 4741   4868   
    }
 4742   4869   
    #[allow(missing_docs)] // documentation missing in model
 4743         -
    pub fn blob(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
 4744         -
        &self.blob
        4870  +
    pub fn float(&self) -> ::std::option::Option<f32> {
        4871  +
        self.float
 4745   4872   
    }
 4746   4873   
}
 4747   4874   
#[allow(clippy::new_without_default)]
 4748   4875   
#[allow(clippy::too_many_arguments)]
 4749   4876   
#[::pyo3::pymethods]
 4750         -
impl StreamingTraitsRequireLengthInput {
        4877  +
impl MalformedRequestBodyInput {
 4751   4878   
    #[new]
 4752         -
    pub fn new(
 4753         -
        blob: ::aws_smithy_http_server_python::types::ByteStream,
 4754         -
        foo: ::std::option::Option<::std::string::String>,
 4755         -
    ) -> Self {
 4756         -
        Self { blob, foo }
        4879  +
    pub fn new(int: ::std::option::Option<i32>, float: ::std::option::Option<f32>) -> Self {
        4880  +
        Self { int, float }
 4757   4881   
    }
 4758   4882   
    fn __repr__(&self) -> String {
 4759   4883   
        format!("{self:?}")
 4760   4884   
    }
 4761   4885   
    fn __str__(&self) -> String {
 4762   4886   
        format!("{self:?}")
 4763   4887   
    }
 4764   4888   
}
 4765         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StreamingTraitsRequireLengthInput> {
        4889  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedRequestBodyInput> {
 4766   4890   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4767         -
        ob.extract::<StreamingTraitsRequireLengthInput>()
 4768         -
            .map(Box::new)
        4891  +
        ob.extract::<MalformedRequestBodyInput>().map(Box::new)
 4769   4892   
    }
 4770   4893   
}
 4771   4894   
 4772         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StreamingTraitsRequireLengthInput> {
        4895  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedRequestBodyInput> {
 4773   4896   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4774   4897   
        (*self).into_py(py)
 4775   4898   
    }
 4776   4899   
}
 4777         -
impl crate::constrained::Constrained for crate::input::StreamingTraitsRequireLengthInput {
 4778         -
    type Unconstrained = crate::input::streaming_traits_require_length_input_internal::Builder;
        4900  +
impl crate::constrained::Constrained for crate::input::MalformedRequestBodyInput {
        4901  +
    type Unconstrained = crate::input::malformed_request_body_input_internal::Builder;
 4779   4902   
}
 4780         -
impl StreamingTraitsRequireLengthInput {
 4781         -
    /// Creates a new builder-style object to manufacture [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
 4782         -
    pub fn builder() -> crate::input::streaming_traits_require_length_input::Builder {
 4783         -
        crate::input::streaming_traits_require_length_input::Builder::default()
        4903  +
impl MalformedRequestBodyInput {
        4904  +
    /// Creates a new builder-style object to manufacture [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
        4905  +
    pub fn builder() -> crate::input::malformed_request_body_input::Builder {
        4906  +
        crate::input::malformed_request_body_input::Builder::default()
 4784   4907   
    }
 4785   4908   
}
 4786   4909   
 4787   4910   
#[::pyo3::pyclass]
 4788         -
/// :param blob rest_json.types.ByteStream:
 4789         -
/// :param foo typing.Optional\[str\]:
        4911  +
/// :param integer_in_path int:
        4912  +
/// :param integer_in_body typing.Optional\[int\]:
        4913  +
/// :param integer_in_query typing.Optional\[int\]:
        4914  +
/// :param integer_in_header typing.Optional\[int\]:
 4790   4915   
/// :rtype None:
 4791   4916   
#[allow(missing_docs)] // documentation missing in model
 4792         -
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
 4793         -
pub struct StreamingTraitsInput {
        4917  +
#[derive(
        4918  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4919  +
)]
        4920  +
pub struct MalformedIntegerInput {
 4794   4921   
    #[pyo3(get, set)]
 4795         -
    /// :type typing.Optional\[str\]:
        4922  +
    /// :type typing.Optional\[int\]:
 4796   4923   
    #[allow(missing_docs)] // documentation missing in model
 4797         -
    pub foo: ::std::option::Option<::std::string::String>,
        4924  +
    pub integer_in_body: ::std::option::Option<i32>,
 4798   4925   
    #[pyo3(get, set)]
 4799         -
    /// :type rest_json.types.ByteStream:
        4926  +
    /// :type int:
 4800   4927   
    #[allow(missing_docs)] // documentation missing in model
 4801         -
    pub blob: ::aws_smithy_http_server_python::types::ByteStream,
        4928  +
    pub integer_in_path: i32,
        4929  +
    #[pyo3(get, set)]
        4930  +
    /// :type typing.Optional\[int\]:
        4931  +
    #[allow(missing_docs)] // documentation missing in model
        4932  +
    pub integer_in_query: ::std::option::Option<i32>,
        4933  +
    #[pyo3(get, set)]
        4934  +
    /// :type typing.Optional\[int\]:
        4935  +
    #[allow(missing_docs)] // documentation missing in model
        4936  +
    pub integer_in_header: ::std::option::Option<i32>,
 4802   4937   
}
 4803         -
impl StreamingTraitsInput {
        4938  +
impl MalformedIntegerInput {
 4804   4939   
    #[allow(missing_docs)] // documentation missing in model
 4805         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 4806         -
        self.foo.as_deref()
        4940  +
    pub fn integer_in_body(&self) -> ::std::option::Option<i32> {
        4941  +
        self.integer_in_body
 4807   4942   
    }
 4808   4943   
    #[allow(missing_docs)] // documentation missing in model
 4809         -
    pub fn blob(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
 4810         -
        &self.blob
        4944  +
    pub fn integer_in_path(&self) -> i32 {
        4945  +
        self.integer_in_path
        4946  +
    }
        4947  +
    #[allow(missing_docs)] // documentation missing in model
        4948  +
    pub fn integer_in_query(&self) -> ::std::option::Option<i32> {
        4949  +
        self.integer_in_query
        4950  +
    }
        4951  +
    #[allow(missing_docs)] // documentation missing in model
        4952  +
    pub fn integer_in_header(&self) -> ::std::option::Option<i32> {
        4953  +
        self.integer_in_header
 4811   4954   
    }
 4812   4955   
}
 4813   4956   
#[allow(clippy::new_without_default)]
 4814   4957   
#[allow(clippy::too_many_arguments)]
 4815   4958   
#[::pyo3::pymethods]
 4816         -
impl StreamingTraitsInput {
        4959  +
impl MalformedIntegerInput {
 4817   4960   
    #[new]
 4818   4961   
    pub fn new(
 4819         -
        blob: ::aws_smithy_http_server_python::types::ByteStream,
 4820         -
        foo: ::std::option::Option<::std::string::String>,
        4962  +
        integer_in_path: i32,
        4963  +
        integer_in_body: ::std::option::Option<i32>,
        4964  +
        integer_in_query: ::std::option::Option<i32>,
        4965  +
        integer_in_header: ::std::option::Option<i32>,
 4821   4966   
    ) -> Self {
 4822         -
        Self { blob, foo }
        4967  +
        Self {
        4968  +
            integer_in_path,
        4969  +
            integer_in_body,
        4970  +
            integer_in_query,
        4971  +
            integer_in_header,
        4972  +
        }
 4823   4973   
    }
 4824   4974   
    fn __repr__(&self) -> String {
 4825   4975   
        format!("{self:?}")
 4826   4976   
    }
 4827   4977   
    fn __str__(&self) -> String {
 4828   4978   
        format!("{self:?}")
 4829   4979   
    }
 4830   4980   
}
 4831         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StreamingTraitsInput> {
        4981  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedIntegerInput> {
 4832   4982   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4833         -
        ob.extract::<StreamingTraitsInput>().map(Box::new)
        4983  +
        ob.extract::<MalformedIntegerInput>().map(Box::new)
 4834   4984   
    }
 4835   4985   
}
 4836   4986   
 4837         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StreamingTraitsInput> {
        4987  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedIntegerInput> {
 4838   4988   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4839   4989   
        (*self).into_py(py)
 4840   4990   
    }
 4841   4991   
}
 4842         -
impl crate::constrained::Constrained for crate::input::StreamingTraitsInput {
 4843         -
    type Unconstrained = crate::input::streaming_traits_input_internal::Builder;
        4992  +
impl crate::constrained::Constrained for crate::input::MalformedIntegerInput {
        4993  +
    type Unconstrained = crate::input::malformed_integer_input_internal::Builder;
 4844   4994   
}
 4845         -
impl StreamingTraitsInput {
 4846         -
    /// Creates a new builder-style object to manufacture [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
 4847         -
    pub fn builder() -> crate::input::streaming_traits_input::Builder {
 4848         -
        crate::input::streaming_traits_input::Builder::default()
        4995  +
impl MalformedIntegerInput {
        4996  +
    /// Creates a new builder-style object to manufacture [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
        4997  +
    pub fn builder() -> crate::input::malformed_integer_input::Builder {
        4998  +
        crate::input::malformed_integer_input::Builder::default()
 4849   4999   
    }
 4850   5000   
}
 4851   5001   
 4852   5002   
#[::pyo3::pyclass]
        5003  +
/// :param union typing.Optional\[rest_json.model.SimpleUnion\]:
 4853   5004   
/// :rtype None:
 4854   5005   
#[allow(missing_docs)] // documentation missing in model
 4855   5006   
#[derive(
 4856   5007   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4857   5008   
)]
 4858         -
pub struct ResponseCodeHttpFallbackInput {}
        5009  +
pub struct MalformedUnionInput {
        5010  +
    #[pyo3(get, set)]
        5011  +
    /// :type typing.Optional\[rest_json.model.SimpleUnion\]:
        5012  +
    #[allow(missing_docs)] // documentation missing in model
        5013  +
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
        5014  +
}
        5015  +
impl MalformedUnionInput {
        5016  +
    #[allow(missing_docs)] // documentation missing in model
        5017  +
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
        5018  +
        self.union.as_ref()
        5019  +
    }
        5020  +
}
 4859   5021   
#[allow(clippy::new_without_default)]
 4860   5022   
#[allow(clippy::too_many_arguments)]
 4861   5023   
#[::pyo3::pymethods]
 4862         -
impl ResponseCodeHttpFallbackInput {
        5024  +
impl MalformedUnionInput {
 4863   5025   
    #[new]
 4864         -
    pub fn new() -> Self {
 4865         -
        Self {}
        5026  +
    pub fn new(union: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
        5027  +
        Self { union }
 4866   5028   
    }
 4867   5029   
    fn __repr__(&self) -> String {
 4868   5030   
        format!("{self:?}")
 4869   5031   
    }
 4870   5032   
    fn __str__(&self) -> String {
 4871   5033   
        format!("{self:?}")
 4872   5034   
    }
 4873   5035   
}
 4874         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ResponseCodeHttpFallbackInput> {
        5036  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedUnionInput> {
 4875   5037   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4876         -
        ob.extract::<ResponseCodeHttpFallbackInput>().map(Box::new)
        5038  +
        ob.extract::<MalformedUnionInput>().map(Box::new)
 4877   5039   
    }
 4878   5040   
}
 4879   5041   
 4880         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeHttpFallbackInput> {
        5042  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedUnionInput> {
 4881   5043   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4882   5044   
        (*self).into_py(py)
 4883   5045   
    }
 4884   5046   
}
 4885         -
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackInput {
 4886         -
    type Unconstrained = crate::input::response_code_http_fallback_input_internal::Builder;
        5047  +
impl crate::constrained::Constrained for crate::input::MalformedUnionInput {
        5048  +
    type Unconstrained = crate::input::malformed_union_input_internal::Builder;
 4887   5049   
}
 4888         -
impl ResponseCodeHttpFallbackInput {
 4889         -
    /// Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
 4890         -
    pub fn builder() -> crate::input::response_code_http_fallback_input::Builder {
 4891         -
        crate::input::response_code_http_fallback_input::Builder::default()
        5050  +
impl MalformedUnionInput {
        5051  +
    /// Creates a new builder-style object to manufacture [`MalformedUnionInput`](crate::input::MalformedUnionInput).
        5052  +
    pub fn builder() -> crate::input::malformed_union_input::Builder {
        5053  +
        crate::input::malformed_union_input::Builder::default()
 4892   5054   
    }
 4893   5055   
}
 4894   5056   
 4895   5057   
#[::pyo3::pyclass]
        5058  +
/// :param boolean_in_path bool:
        5059  +
/// :param boolean_in_body typing.Optional\[bool\]:
        5060  +
/// :param boolean_in_query typing.Optional\[bool\]:
        5061  +
/// :param boolean_in_header typing.Optional\[bool\]:
 4896   5062   
/// :rtype None:
 4897   5063   
#[allow(missing_docs)] // documentation missing in model
 4898   5064   
#[derive(
 4899   5065   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4900   5066   
)]
 4901         -
pub struct ResponseCodeRequiredInput {}
 4902         -
#[allow(clippy::new_without_default)]
 4903         -
#[allow(clippy::too_many_arguments)]
 4904         -
#[::pyo3::pymethods]
 4905         -
impl ResponseCodeRequiredInput {
 4906         -
    #[new]
 4907         -
    pub fn new() -> Self {
 4908         -
        Self {}
 4909         -
    }
 4910         -
    fn __repr__(&self) -> String {
 4911         -
        format!("{self:?}")
 4912         -
    }
 4913         -
    fn __str__(&self) -> String {
 4914         -
        format!("{self:?}")
 4915         -
    }
        5067  +
pub struct MalformedBooleanInput {
        5068  +
    #[pyo3(get, set)]
        5069  +
    /// :type typing.Optional\[bool\]:
        5070  +
    #[allow(missing_docs)] // documentation missing in model
        5071  +
    pub boolean_in_body: ::std::option::Option<bool>,
        5072  +
    #[pyo3(get, set)]
        5073  +
    /// :type bool:
        5074  +
    #[allow(missing_docs)] // documentation missing in model
        5075  +
    pub boolean_in_path: bool,
        5076  +
    #[pyo3(get, set)]
        5077  +
    /// :type typing.Optional\[bool\]:
        5078  +
    #[allow(missing_docs)] // documentation missing in model
        5079  +
    pub boolean_in_query: ::std::option::Option<bool>,
        5080  +
    #[pyo3(get, set)]
        5081  +
    /// :type typing.Optional\[bool\]:
        5082  +
    #[allow(missing_docs)] // documentation missing in model
        5083  +
    pub boolean_in_header: ::std::option::Option<bool>,
 4916   5084   
}
 4917         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ResponseCodeRequiredInput> {
 4918         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4919         -
        ob.extract::<ResponseCodeRequiredInput>().map(Box::new)
        5085  +
impl MalformedBooleanInput {
        5086  +
    #[allow(missing_docs)] // documentation missing in model
        5087  +
    pub fn boolean_in_body(&self) -> ::std::option::Option<bool> {
        5088  +
        self.boolean_in_body
 4920   5089   
    }
 4921         -
}
 4922         -
 4923         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeRequiredInput> {
 4924         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4925         -
        (*self).into_py(py)
        5090  +
    #[allow(missing_docs)] // documentation missing in model
        5091  +
    pub fn boolean_in_path(&self) -> bool {
        5092  +
        self.boolean_in_path
 4926   5093   
    }
 4927         -
}
 4928         -
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredInput {
 4929         -
    type Unconstrained = crate::input::response_code_required_input_internal::Builder;
 4930         -
}
 4931         -
impl ResponseCodeRequiredInput {
 4932         -
    /// Creates a new builder-style object to manufacture [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
 4933         -
    pub fn builder() -> crate::input::response_code_required_input::Builder {
 4934         -
        crate::input::response_code_required_input::Builder::default()
        5094  +
    #[allow(missing_docs)] // documentation missing in model
        5095  +
    pub fn boolean_in_query(&self) -> ::std::option::Option<bool> {
        5096  +
        self.boolean_in_query
        5097  +
    }
        5098  +
    #[allow(missing_docs)] // documentation missing in model
        5099  +
    pub fn boolean_in_header(&self) -> ::std::option::Option<bool> {
        5100  +
        self.boolean_in_header
 4935   5101   
    }
 4936   5102   
}
 4937         -
 4938         -
#[::pyo3::pyclass]
 4939         -
/// :rtype None:
 4940         -
#[allow(missing_docs)] // documentation missing in model
 4941         -
#[derive(
 4942         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4943         -
)]
 4944         -
pub struct HttpResponseCodeInput {}
 4945   5103   
#[allow(clippy::new_without_default)]
 4946   5104   
#[allow(clippy::too_many_arguments)]
 4947   5105   
#[::pyo3::pymethods]
 4948         -
impl HttpResponseCodeInput {
        5106  +
impl MalformedBooleanInput {
 4949   5107   
    #[new]
 4950         -
    pub fn new() -> Self {
 4951         -
        Self {}
        5108  +
    pub fn new(
        5109  +
        boolean_in_path: bool,
        5110  +
        boolean_in_body: ::std::option::Option<bool>,
        5111  +
        boolean_in_query: ::std::option::Option<bool>,
        5112  +
        boolean_in_header: ::std::option::Option<bool>,
        5113  +
    ) -> Self {
        5114  +
        Self {
        5115  +
            boolean_in_path,
        5116  +
            boolean_in_body,
        5117  +
            boolean_in_query,
        5118  +
            boolean_in_header,
        5119  +
        }
 4952   5120   
    }
 4953   5121   
    fn __repr__(&self) -> String {
 4954   5122   
        format!("{self:?}")
 4955   5123   
    }
 4956   5124   
    fn __str__(&self) -> String {
 4957   5125   
        format!("{self:?}")
 4958   5126   
    }
 4959   5127   
}
 4960         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpResponseCodeInput> {
        5128  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedBooleanInput> {
 4961   5129   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 4962         -
        ob.extract::<HttpResponseCodeInput>().map(Box::new)
        5130  +
        ob.extract::<MalformedBooleanInput>().map(Box::new)
 4963   5131   
    }
 4964   5132   
}
 4965   5133   
 4966         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpResponseCodeInput> {
        5134  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedBooleanInput> {
 4967   5135   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 4968   5136   
        (*self).into_py(py)
 4969   5137   
    }
 4970   5138   
}
 4971         -
impl crate::constrained::Constrained for crate::input::HttpResponseCodeInput {
 4972         -
    type Unconstrained = crate::input::http_response_code_input_internal::Builder;
        5139  +
impl crate::constrained::Constrained for crate::input::MalformedBooleanInput {
        5140  +
    type Unconstrained = crate::input::malformed_boolean_input_internal::Builder;
 4973   5141   
}
 4974         -
impl HttpResponseCodeInput {
 4975         -
    /// Creates a new builder-style object to manufacture [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
 4976         -
    pub fn builder() -> crate::input::http_response_code_input::Builder {
 4977         -
        crate::input::http_response_code_input::Builder::default()
        5142  +
impl MalformedBooleanInput {
        5143  +
    /// Creates a new builder-style object to manufacture [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
        5144  +
    pub fn builder() -> crate::input::malformed_boolean_input::Builder {
        5145  +
        crate::input::malformed_boolean_input::Builder::default()
 4978   5146   
    }
 4979   5147   
}
 4980   5148   
 4981   5149   
#[::pyo3::pyclass]
 4982         -
/// :param nested typing.Optional\[rest_json.model.UnionPayload\]:
        5150  +
/// :param body_list typing.Optional\[typing.List\[str\]\]:
 4983   5151   
/// :rtype None:
 4984   5152   
#[allow(missing_docs)] // documentation missing in model
 4985   5153   
#[derive(
 4986   5154   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 4987   5155   
)]
 4988         -
pub struct HttpPayloadWithUnionInput {
        5156  +
pub struct MalformedListInput {
 4989   5157   
    #[pyo3(get, set)]
 4990         -
    /// :type typing.Optional\[rest_json.model.UnionPayload\]:
        5158  +
    /// :type typing.Optional\[typing.List\[str\]\]:
 4991   5159   
    #[allow(missing_docs)] // documentation missing in model
 4992         -
    pub nested: ::std::option::Option<crate::model::UnionPayload>,
        5160  +
    pub body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 4993   5161   
}
 4994         -
impl HttpPayloadWithUnionInput {
        5162  +
impl MalformedListInput {
 4995   5163   
    #[allow(missing_docs)] // documentation missing in model
 4996         -
    pub fn nested(&self) -> ::std::option::Option<&crate::model::UnionPayload> {
 4997         -
        self.nested.as_ref()
        5164  +
    pub fn body_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        5165  +
        self.body_list.as_deref()
 4998   5166   
    }
 4999   5167   
}
 5000   5168   
#[allow(clippy::new_without_default)]
 5001   5169   
#[allow(clippy::too_many_arguments)]
 5002   5170   
#[::pyo3::pymethods]
 5003         -
impl HttpPayloadWithUnionInput {
        5171  +
impl MalformedListInput {
 5004   5172   
    #[new]
 5005         -
    pub fn new(nested: ::std::option::Option<crate::model::UnionPayload>) -> Self {
 5006         -
        Self { nested }
        5173  +
    pub fn new(body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        5174  +
        Self { body_list }
 5007   5175   
    }
 5008   5176   
    fn __repr__(&self) -> String {
 5009   5177   
        format!("{self:?}")
 5010   5178   
    }
 5011   5179   
    fn __str__(&self) -> String {
 5012   5180   
        format!("{self:?}")
 5013   5181   
    }
 5014   5182   
}
 5015         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPayloadWithUnionInput> {
        5183  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedListInput> {
 5016   5184   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5017         -
        ob.extract::<HttpPayloadWithUnionInput>().map(Box::new)
        5185  +
        ob.extract::<MalformedListInput>().map(Box::new)
 5018   5186   
    }
 5019   5187   
}
 5020   5188   
 5021         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadWithUnionInput> {
        5189  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedListInput> {
 5022   5190   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5023   5191   
        (*self).into_py(py)
 5024   5192   
    }
 5025   5193   
}
 5026         -
impl crate::constrained::Constrained for crate::input::HttpPayloadWithUnionInput {
 5027         -
    type Unconstrained = crate::input::http_payload_with_union_input_internal::Builder;
        5194  +
impl crate::constrained::Constrained for crate::input::MalformedListInput {
        5195  +
    type Unconstrained = crate::input::malformed_list_input_internal::Builder;
 5028   5196   
}
 5029         -
impl HttpPayloadWithUnionInput {
 5030         -
    /// Creates a new builder-style object to manufacture [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
 5031         -
    pub fn builder() -> crate::input::http_payload_with_union_input::Builder {
 5032         -
        crate::input::http_payload_with_union_input::Builder::default()
        5197  +
impl MalformedListInput {
        5198  +
    /// Creates a new builder-style object to manufacture [`MalformedListInput`](crate::input::MalformedListInput).
        5199  +
    pub fn builder() -> crate::input::malformed_list_input::Builder {
        5200  +
        crate::input::malformed_list_input::Builder::default()
 5033   5201   
    }
 5034   5202   
}
 5035   5203   
 5036   5204   
#[::pyo3::pyclass]
 5037         -
/// :param payload typing.Optional\[str\]:
        5205  +
/// :param body_map typing.Optional\[typing.Dict\[str, str\]\]:
 5038   5206   
/// :rtype None:
 5039   5207   
#[allow(missing_docs)] // documentation missing in model
 5040         -
#[derive(
 5041         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5042         -
)]
 5043         -
pub struct HttpStringPayloadInput {
        5208  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        5209  +
pub struct MalformedMapInput {
 5044   5210   
    #[pyo3(get, set)]
 5045         -
    /// :type typing.Optional\[str\]:
        5211  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 5046   5212   
    #[allow(missing_docs)] // documentation missing in model
 5047         -
    pub payload: ::std::option::Option<::std::string::String>,
        5213  +
    pub body_map: ::std::option::Option<
        5214  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        5215  +
    >,
 5048   5216   
}
 5049         -
impl HttpStringPayloadInput {
        5217  +
impl MalformedMapInput {
 5050   5218   
    #[allow(missing_docs)] // documentation missing in model
 5051         -
    pub fn payload(&self) -> ::std::option::Option<&str> {
 5052         -
        self.payload.as_deref()
        5219  +
    pub fn body_map(
        5220  +
        &self,
        5221  +
    ) -> ::std::option::Option<
        5222  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        5223  +
    > {
        5224  +
        self.body_map.as_ref()
 5053   5225   
    }
 5054   5226   
}
 5055   5227   
#[allow(clippy::new_without_default)]
 5056   5228   
#[allow(clippy::too_many_arguments)]
 5057   5229   
#[::pyo3::pymethods]
 5058         -
impl HttpStringPayloadInput {
        5230  +
impl MalformedMapInput {
 5059   5231   
    #[new]
 5060         -
    pub fn new(payload: ::std::option::Option<::std::string::String>) -> Self {
 5061         -
        Self { payload }
        5232  +
    pub fn new(
        5233  +
        body_map: ::std::option::Option<
        5234  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        5235  +
        >,
        5236  +
    ) -> Self {
        5237  +
        Self { body_map }
 5062   5238   
    }
 5063   5239   
    fn __repr__(&self) -> String {
 5064   5240   
        format!("{self:?}")
 5065   5241   
    }
 5066   5242   
    fn __str__(&self) -> String {
 5067   5243   
        format!("{self:?}")
 5068   5244   
    }
 5069   5245   
}
 5070         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpStringPayloadInput> {
        5246  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedMapInput> {
 5071   5247   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5072         -
        ob.extract::<HttpStringPayloadInput>().map(Box::new)
        5248  +
        ob.extract::<MalformedMapInput>().map(Box::new)
 5073   5249   
    }
 5074   5250   
}
 5075   5251   
 5076         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpStringPayloadInput> {
        5252  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedMapInput> {
 5077   5253   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5078   5254   
        (*self).into_py(py)
 5079   5255   
    }
 5080   5256   
}
 5081         -
impl crate::constrained::Constrained for crate::input::HttpStringPayloadInput {
 5082         -
    type Unconstrained = crate::input::http_string_payload_input_internal::Builder;
        5257  +
impl crate::constrained::Constrained for crate::input::MalformedMapInput {
        5258  +
    type Unconstrained = crate::input::malformed_map_input_internal::Builder;
 5083   5259   
}
 5084         -
impl HttpStringPayloadInput {
 5085         -
    /// Creates a new builder-style object to manufacture [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
 5086         -
    pub fn builder() -> crate::input::http_string_payload_input::Builder {
 5087         -
        crate::input::http_string_payload_input::Builder::default()
        5260  +
impl MalformedMapInput {
        5261  +
    /// Creates a new builder-style object to manufacture [`MalformedMapInput`](crate::input::MalformedMapInput).
        5262  +
    pub fn builder() -> crate::input::malformed_map_input::Builder {
        5263  +
        crate::input::malformed_map_input::Builder::default()
 5088   5264   
    }
 5089   5265   
}
 5090   5266   
 5091   5267   
#[::pyo3::pyclass]
 5092         -
/// :param payload typing.Optional\[rest_json.model.StringEnum\]:
        5268  +
/// :param blob typing.Optional\[rest_json.types.Blob\]:
 5093   5269   
/// :rtype None:
 5094   5270   
#[allow(missing_docs)] // documentation missing in model
 5095   5271   
#[derive(
 5096   5272   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5097   5273   
)]
 5098         -
pub struct HttpEnumPayloadInput {
        5274  +
pub struct MalformedBlobInput {
 5099   5275   
    #[pyo3(get, set)]
 5100         -
    /// :type typing.Optional\[rest_json.model.StringEnum\]:
        5276  +
    /// :type typing.Optional\[rest_json.types.Blob\]:
 5101   5277   
    #[allow(missing_docs)] // documentation missing in model
 5102         -
    pub payload: ::std::option::Option<crate::model::StringEnum>,
        5278  +
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 5103   5279   
}
 5104         -
impl HttpEnumPayloadInput {
        5280  +
impl MalformedBlobInput {
 5105   5281   
    #[allow(missing_docs)] // documentation missing in model
 5106         -
    pub fn payload(&self) -> ::std::option::Option<&crate::model::StringEnum> {
 5107         -
        self.payload.as_ref()
        5282  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        5283  +
        self.blob.as_ref()
 5108   5284   
    }
 5109   5285   
}
 5110   5286   
#[allow(clippy::new_without_default)]
 5111   5287   
#[allow(clippy::too_many_arguments)]
 5112   5288   
#[::pyo3::pymethods]
 5113         -
impl HttpEnumPayloadInput {
        5289  +
impl MalformedBlobInput {
 5114   5290   
    #[new]
 5115         -
    pub fn new(payload: ::std::option::Option<crate::model::StringEnum>) -> Self {
 5116         -
        Self { payload }
        5291  +
    pub fn new(blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>) -> Self {
        5292  +
        Self { blob }
 5117   5293   
    }
 5118   5294   
    fn __repr__(&self) -> String {
 5119   5295   
        format!("{self:?}")
 5120   5296   
    }
 5121   5297   
    fn __str__(&self) -> String {
 5122   5298   
        format!("{self:?}")
 5123   5299   
    }
 5124   5300   
}
 5125         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpEnumPayloadInput> {
        5301  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedBlobInput> {
 5126   5302   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5127         -
        ob.extract::<HttpEnumPayloadInput>().map(Box::new)
        5303  +
        ob.extract::<MalformedBlobInput>().map(Box::new)
 5128   5304   
    }
 5129   5305   
}
 5130   5306   
 5131         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpEnumPayloadInput> {
        5307  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedBlobInput> {
 5132   5308   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5133   5309   
        (*self).into_py(py)
 5134   5310   
    }
 5135   5311   
}
 5136         -
impl crate::constrained::Constrained for crate::input::HttpEnumPayloadInput {
 5137         -
    type Unconstrained = crate::input::http_enum_payload_input_internal::Builder;
        5312  +
impl crate::constrained::Constrained for crate::input::MalformedBlobInput {
        5313  +
    type Unconstrained = crate::input::malformed_blob_input_internal::Builder;
 5138   5314   
}
 5139         -
impl HttpEnumPayloadInput {
 5140         -
    /// Creates a new builder-style object to manufacture [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
 5141         -
    pub fn builder() -> crate::input::http_enum_payload_input::Builder {
 5142         -
        crate::input::http_enum_payload_input::Builder::default()
        5315  +
impl MalformedBlobInput {
        5316  +
    /// Creates a new builder-style object to manufacture [`MalformedBlobInput`](crate::input::MalformedBlobInput).
        5317  +
    pub fn builder() -> crate::input::malformed_blob_input::Builder {
        5318  +
        crate::input::malformed_blob_input::Builder::default()
 5143   5319   
    }
 5144   5320   
}
 5145   5321   
 5146   5322   
#[::pyo3::pyclass]
 5147         -
/// :param nested typing.Optional\[rest_json.model.NestedPayload\]:
        5323  +
/// :param byte_in_path int:
        5324  +
/// :param byte_in_body typing.Optional\[int\]:
        5325  +
/// :param byte_in_query typing.Optional\[int\]:
        5326  +
/// :param byte_in_header typing.Optional\[int\]:
 5148   5327   
/// :rtype None:
 5149   5328   
#[allow(missing_docs)] // documentation missing in model
 5150   5329   
#[derive(
 5151   5330   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5152   5331   
)]
 5153         -
pub struct HttpPayloadWithStructureInput {
        5332  +
pub struct MalformedByteInput {
 5154   5333   
    #[pyo3(get, set)]
 5155         -
    /// :type typing.Optional\[rest_json.model.NestedPayload\]:
        5334  +
    /// :type typing.Optional\[int\]:
 5156   5335   
    #[allow(missing_docs)] // documentation missing in model
 5157         -
    pub nested: ::std::option::Option<crate::model::NestedPayload>,
        5336  +
    pub byte_in_body: ::std::option::Option<i8>,
        5337  +
    #[pyo3(get, set)]
        5338  +
    /// :type int:
        5339  +
    #[allow(missing_docs)] // documentation missing in model
        5340  +
    pub byte_in_path: i8,
        5341  +
    #[pyo3(get, set)]
        5342  +
    /// :type typing.Optional\[int\]:
        5343  +
    #[allow(missing_docs)] // documentation missing in model
        5344  +
    pub byte_in_query: ::std::option::Option<i8>,
        5345  +
    #[pyo3(get, set)]
        5346  +
    /// :type typing.Optional\[int\]:
        5347  +
    #[allow(missing_docs)] // documentation missing in model
        5348  +
    pub byte_in_header: ::std::option::Option<i8>,
 5158   5349   
}
 5159         -
impl HttpPayloadWithStructureInput {
        5350  +
impl MalformedByteInput {
 5160   5351   
    #[allow(missing_docs)] // documentation missing in model
 5161         -
    pub fn nested(&self) -> ::std::option::Option<&crate::model::NestedPayload> {
 5162         -
        self.nested.as_ref()
        5352  +
    pub fn byte_in_body(&self) -> ::std::option::Option<i8> {
        5353  +
        self.byte_in_body
        5354  +
    }
        5355  +
    #[allow(missing_docs)] // documentation missing in model
        5356  +
    pub fn byte_in_path(&self) -> i8 {
        5357  +
        self.byte_in_path
        5358  +
    }
        5359  +
    #[allow(missing_docs)] // documentation missing in model
        5360  +
    pub fn byte_in_query(&self) -> ::std::option::Option<i8> {
        5361  +
        self.byte_in_query
        5362  +
    }
        5363  +
    #[allow(missing_docs)] // documentation missing in model
        5364  +
    pub fn byte_in_header(&self) -> ::std::option::Option<i8> {
        5365  +
        self.byte_in_header
 5163   5366   
    }
 5164   5367   
}
 5165   5368   
#[allow(clippy::new_without_default)]
 5166   5369   
#[allow(clippy::too_many_arguments)]
 5167   5370   
#[::pyo3::pymethods]
 5168         -
impl HttpPayloadWithStructureInput {
        5371  +
impl MalformedByteInput {
 5169   5372   
    #[new]
 5170         -
    pub fn new(nested: ::std::option::Option<crate::model::NestedPayload>) -> Self {
 5171         -
        Self { nested }
 5172         -
    }
 5173         -
    fn __repr__(&self) -> String {
 5174         -
        format!("{self:?}")
 5175         -
    }
 5176         -
    fn __str__(&self) -> String {
 5177         -
        format!("{self:?}")
 5178         -
    }
 5179         -
}
 5180         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPayloadWithStructureInput> {
 5181         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5182         -
        ob.extract::<HttpPayloadWithStructureInput>().map(Box::new)
        5373  +
    pub fn new(
        5374  +
        byte_in_path: i8,
        5375  +
        byte_in_body: ::std::option::Option<i8>,
        5376  +
        byte_in_query: ::std::option::Option<i8>,
        5377  +
        byte_in_header: ::std::option::Option<i8>,
        5378  +
    ) -> Self {
        5379  +
        Self {
        5380  +
            byte_in_path,
        5381  +
            byte_in_body,
        5382  +
            byte_in_query,
        5383  +
            byte_in_header,
        5384  +
        }
        5385  +
    }
        5386  +
    fn __repr__(&self) -> String {
        5387  +
        format!("{self:?}")
        5388  +
    }
        5389  +
    fn __str__(&self) -> String {
        5390  +
        format!("{self:?}")
        5391  +
    }
        5392  +
}
        5393  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedByteInput> {
        5394  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        5395  +
        ob.extract::<MalformedByteInput>().map(Box::new)
 5183   5396   
    }
 5184   5397   
}
 5185   5398   
 5186         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadWithStructureInput> {
        5399  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedByteInput> {
 5187   5400   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5188   5401   
        (*self).into_py(py)
 5189   5402   
    }
 5190   5403   
}
 5191         -
impl crate::constrained::Constrained for crate::input::HttpPayloadWithStructureInput {
 5192         -
    type Unconstrained = crate::input::http_payload_with_structure_input_internal::Builder;
        5404  +
impl crate::constrained::Constrained for crate::input::MalformedByteInput {
        5405  +
    type Unconstrained = crate::input::malformed_byte_input_internal::Builder;
 5193   5406   
}
 5194         -
impl HttpPayloadWithStructureInput {
 5195         -
    /// Creates a new builder-style object to manufacture [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
 5196         -
    pub fn builder() -> crate::input::http_payload_with_structure_input::Builder {
 5197         -
        crate::input::http_payload_with_structure_input::Builder::default()
        5407  +
impl MalformedByteInput {
        5408  +
    /// Creates a new builder-style object to manufacture [`MalformedByteInput`](crate::input::MalformedByteInput).
        5409  +
    pub fn builder() -> crate::input::malformed_byte_input::Builder {
        5410  +
        crate::input::malformed_byte_input::Builder::default()
 5198   5411   
    }
 5199   5412   
}
 5200   5413   
 5201   5414   
#[::pyo3::pyclass]
 5202         -
/// :param foo typing.Optional\[str\]:
 5203         -
/// :param blob typing.Optional\[rest_json.types.Blob\]:
        5415  +
/// :param short_in_path int:
        5416  +
/// :param short_in_body typing.Optional\[int\]:
        5417  +
/// :param short_in_query typing.Optional\[int\]:
        5418  +
/// :param short_in_header typing.Optional\[int\]:
 5204   5419   
/// :rtype None:
 5205   5420   
#[allow(missing_docs)] // documentation missing in model
 5206   5421   
#[derive(
 5207   5422   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5208   5423   
)]
 5209         -
pub struct HttpPayloadTraitsWithMediaTypeInput {
        5424  +
pub struct MalformedShortInput {
 5210   5425   
    #[pyo3(get, set)]
 5211         -
    /// :type typing.Optional\[str\]:
        5426  +
    /// :type typing.Optional\[int\]:
 5212   5427   
    #[allow(missing_docs)] // documentation missing in model
 5213         -
    pub foo: ::std::option::Option<::std::string::String>,
        5428  +
    pub short_in_body: ::std::option::Option<i16>,
 5214   5429   
    #[pyo3(get, set)]
 5215         -
    /// :type typing.Optional\[rest_json.types.Blob\]:
        5430  +
    /// :type int:
 5216   5431   
    #[allow(missing_docs)] // documentation missing in model
 5217         -
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        5432  +
    pub short_in_path: i16,
        5433  +
    #[pyo3(get, set)]
        5434  +
    /// :type typing.Optional\[int\]:
        5435  +
    #[allow(missing_docs)] // documentation missing in model
        5436  +
    pub short_in_query: ::std::option::Option<i16>,
        5437  +
    #[pyo3(get, set)]
        5438  +
    /// :type typing.Optional\[int\]:
        5439  +
    #[allow(missing_docs)] // documentation missing in model
        5440  +
    pub short_in_header: ::std::option::Option<i16>,
 5218   5441   
}
 5219         -
impl HttpPayloadTraitsWithMediaTypeInput {
        5442  +
impl MalformedShortInput {
 5220   5443   
    #[allow(missing_docs)] // documentation missing in model
 5221         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 5222         -
        self.foo.as_deref()
        5444  +
    pub fn short_in_body(&self) -> ::std::option::Option<i16> {
        5445  +
        self.short_in_body
 5223   5446   
    }
 5224   5447   
    #[allow(missing_docs)] // documentation missing in model
 5225         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
 5226         -
        self.blob.as_ref()
        5448  +
    pub fn short_in_path(&self) -> i16 {
        5449  +
        self.short_in_path
        5450  +
    }
        5451  +
    #[allow(missing_docs)] // documentation missing in model
        5452  +
    pub fn short_in_query(&self) -> ::std::option::Option<i16> {
        5453  +
        self.short_in_query
        5454  +
    }
        5455  +
    #[allow(missing_docs)] // documentation missing in model
        5456  +
    pub fn short_in_header(&self) -> ::std::option::Option<i16> {
        5457  +
        self.short_in_header
 5227   5458   
    }
 5228   5459   
}
 5229   5460   
#[allow(clippy::new_without_default)]
 5230   5461   
#[allow(clippy::too_many_arguments)]
 5231   5462   
#[::pyo3::pymethods]
 5232         -
impl HttpPayloadTraitsWithMediaTypeInput {
        5463  +
impl MalformedShortInput {
 5233   5464   
    #[new]
 5234   5465   
    pub fn new(
 5235         -
        foo: ::std::option::Option<::std::string::String>,
 5236         -
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        5466  +
        short_in_path: i16,
        5467  +
        short_in_body: ::std::option::Option<i16>,
        5468  +
        short_in_query: ::std::option::Option<i16>,
        5469  +
        short_in_header: ::std::option::Option<i16>,
 5237   5470   
    ) -> Self {
 5238         -
        Self { foo, blob }
        5471  +
        Self {
        5472  +
            short_in_path,
        5473  +
            short_in_body,
        5474  +
            short_in_query,
        5475  +
            short_in_header,
        5476  +
        }
 5239   5477   
    }
 5240   5478   
    fn __repr__(&self) -> String {
 5241   5479   
        format!("{self:?}")
 5242   5480   
    }
 5243   5481   
    fn __str__(&self) -> String {
 5244   5482   
        format!("{self:?}")
 5245   5483   
    }
 5246   5484   
}
 5247         -
impl<'source> ::pyo3::FromPyObject<'source>
 5248         -
    for std::boxed::Box<HttpPayloadTraitsWithMediaTypeInput>
 5249         -
{
        5485  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedShortInput> {
 5250   5486   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5251         -
        ob.extract::<HttpPayloadTraitsWithMediaTypeInput>()
 5252         -
            .map(Box::new)
        5487  +
        ob.extract::<MalformedShortInput>().map(Box::new)
 5253   5488   
    }
 5254   5489   
}
 5255   5490   
 5256         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadTraitsWithMediaTypeInput> {
        5491  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedShortInput> {
 5257   5492   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5258   5493   
        (*self).into_py(py)
 5259   5494   
    }
 5260   5495   
}
 5261         -
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsWithMediaTypeInput {
 5262         -
    type Unconstrained = crate::input::http_payload_traits_with_media_type_input_internal::Builder;
        5496  +
impl crate::constrained::Constrained for crate::input::MalformedShortInput {
        5497  +
    type Unconstrained = crate::input::malformed_short_input_internal::Builder;
 5263   5498   
}
 5264         -
impl HttpPayloadTraitsWithMediaTypeInput {
 5265         -
    /// Creates a new builder-style object to manufacture [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
 5266         -
    pub fn builder() -> crate::input::http_payload_traits_with_media_type_input::Builder {
 5267         -
        crate::input::http_payload_traits_with_media_type_input::Builder::default()
        5499  +
impl MalformedShortInput {
        5500  +
    /// Creates a new builder-style object to manufacture [`MalformedShortInput`](crate::input::MalformedShortInput).
        5501  +
    pub fn builder() -> crate::input::malformed_short_input::Builder {
        5502  +
        crate::input::malformed_short_input::Builder::default()
 5268   5503   
    }
 5269   5504   
}
 5270   5505   
 5271   5506   
#[::pyo3::pyclass]
 5272         -
/// :param foo typing.Optional\[str\]:
 5273         -
/// :param blob typing.Optional\[rest_json.types.Blob\]:
        5507  +
/// :param long_in_path int:
        5508  +
/// :param long_in_body typing.Optional\[int\]:
        5509  +
/// :param long_in_query typing.Optional\[int\]:
        5510  +
/// :param long_in_header typing.Optional\[int\]:
 5274   5511   
/// :rtype None:
 5275   5512   
#[allow(missing_docs)] // documentation missing in model
 5276   5513   
#[derive(
 5277   5514   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5278   5515   
)]
 5279         -
pub struct HttpPayloadTraitsInput {
        5516  +
pub struct MalformedLongInput {
 5280   5517   
    #[pyo3(get, set)]
 5281         -
    /// :type typing.Optional\[str\]:
        5518  +
    /// :type typing.Optional\[int\]:
 5282   5519   
    #[allow(missing_docs)] // documentation missing in model
 5283         -
    pub foo: ::std::option::Option<::std::string::String>,
        5520  +
    pub long_in_body: ::std::option::Option<i64>,
 5284   5521   
    #[pyo3(get, set)]
 5285         -
    /// :type typing.Optional\[rest_json.types.Blob\]:
        5522  +
    /// :type int:
 5286   5523   
    #[allow(missing_docs)] // documentation missing in model
 5287         -
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        5524  +
    pub long_in_path: i64,
        5525  +
    #[pyo3(get, set)]
        5526  +
    /// :type typing.Optional\[int\]:
        5527  +
    #[allow(missing_docs)] // documentation missing in model
        5528  +
    pub long_in_query: ::std::option::Option<i64>,
        5529  +
    #[pyo3(get, set)]
        5530  +
    /// :type typing.Optional\[int\]:
        5531  +
    #[allow(missing_docs)] // documentation missing in model
        5532  +
    pub long_in_header: ::std::option::Option<i64>,
 5288   5533   
}
 5289         -
impl HttpPayloadTraitsInput {
        5534  +
impl MalformedLongInput {
 5290   5535   
    #[allow(missing_docs)] // documentation missing in model
 5291         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 5292         -
        self.foo.as_deref()
        5536  +
    pub fn long_in_body(&self) -> ::std::option::Option<i64> {
        5537  +
        self.long_in_body
 5293   5538   
    }
 5294   5539   
    #[allow(missing_docs)] // documentation missing in model
 5295         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
 5296         -
        self.blob.as_ref()
        5540  +
    pub fn long_in_path(&self) -> i64 {
        5541  +
        self.long_in_path
        5542  +
    }
        5543  +
    #[allow(missing_docs)] // documentation missing in model
        5544  +
    pub fn long_in_query(&self) -> ::std::option::Option<i64> {
        5545  +
        self.long_in_query
        5546  +
    }
        5547  +
    #[allow(missing_docs)] // documentation missing in model
        5548  +
    pub fn long_in_header(&self) -> ::std::option::Option<i64> {
        5549  +
        self.long_in_header
 5297   5550   
    }
 5298   5551   
}
 5299   5552   
#[allow(clippy::new_without_default)]
 5300   5553   
#[allow(clippy::too_many_arguments)]
 5301   5554   
#[::pyo3::pymethods]
 5302         -
impl HttpPayloadTraitsInput {
        5555  +
impl MalformedLongInput {
 5303   5556   
    #[new]
 5304   5557   
    pub fn new(
 5305         -
        foo: ::std::option::Option<::std::string::String>,
 5306         -
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        5558  +
        long_in_path: i64,
        5559  +
        long_in_body: ::std::option::Option<i64>,
        5560  +
        long_in_query: ::std::option::Option<i64>,
        5561  +
        long_in_header: ::std::option::Option<i64>,
 5307   5562   
    ) -> Self {
 5308         -
        Self { foo, blob }
        5563  +
        Self {
        5564  +
            long_in_path,
        5565  +
            long_in_body,
        5566  +
            long_in_query,
        5567  +
            long_in_header,
        5568  +
        }
 5309   5569   
    }
 5310   5570   
    fn __repr__(&self) -> String {
 5311   5571   
        format!("{self:?}")
 5312   5572   
    }
 5313   5573   
    fn __str__(&self) -> String {
 5314   5574   
        format!("{self:?}")
 5315   5575   
    }
 5316   5576   
}
 5317         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPayloadTraitsInput> {
        5577  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedLongInput> {
 5318   5578   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5319         -
        ob.extract::<HttpPayloadTraitsInput>().map(Box::new)
        5579  +
        ob.extract::<MalformedLongInput>().map(Box::new)
 5320   5580   
    }
 5321   5581   
}
 5322   5582   
 5323         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPayloadTraitsInput> {
        5583  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedLongInput> {
 5324   5584   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5325   5585   
        (*self).into_py(py)
 5326   5586   
    }
 5327   5587   
}
 5328         -
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsInput {
 5329         -
    type Unconstrained = crate::input::http_payload_traits_input_internal::Builder;
        5588  +
impl crate::constrained::Constrained for crate::input::MalformedLongInput {
        5589  +
    type Unconstrained = crate::input::malformed_long_input_internal::Builder;
 5330   5590   
}
 5331         -
impl HttpPayloadTraitsInput {
 5332         -
    /// Creates a new builder-style object to manufacture [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
 5333         -
    pub fn builder() -> crate::input::http_payload_traits_input::Builder {
 5334         -
        crate::input::http_payload_traits_input::Builder::default()
        5591  +
impl MalformedLongInput {
        5592  +
    /// Creates a new builder-style object to manufacture [`MalformedLongInput`](crate::input::MalformedLongInput).
        5593  +
    pub fn builder() -> crate::input::malformed_long_input::Builder {
        5594  +
        crate::input::malformed_long_input::Builder::default()
 5335   5595   
    }
 5336   5596   
}
 5337   5597   
 5338   5598   
#[::pyo3::pyclass]
 5339         -
/// :param prefix_headers typing.Optional\[typing.Dict\[str, str\]\]:
 5340         -
/// :param specific_header typing.Optional\[str\]:
        5599  +
/// :param float_in_path float:
        5600  +
/// :param float_in_body typing.Optional\[float\]:
        5601  +
/// :param float_in_query typing.Optional\[float\]:
        5602  +
/// :param float_in_header typing.Optional\[float\]:
 5341   5603   
/// :rtype None:
 5342   5604   
#[allow(missing_docs)] // documentation missing in model
 5343         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 5344         -
pub struct HttpEmptyPrefixHeadersInput {
        5605  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        5606  +
pub struct MalformedFloatInput {
 5345   5607   
    #[pyo3(get, set)]
 5346         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
        5608  +
    /// :type typing.Optional\[float\]:
 5347   5609   
    #[allow(missing_docs)] // documentation missing in model
 5348         -
    pub prefix_headers: ::std::option::Option<
 5349         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5350         -
    >,
        5610  +
    pub float_in_body: ::std::option::Option<f32>,
 5351   5611   
    #[pyo3(get, set)]
 5352         -
    /// :type typing.Optional\[str\]:
        5612  +
    /// :type float:
 5353   5613   
    #[allow(missing_docs)] // documentation missing in model
 5354         -
    pub specific_header: ::std::option::Option<::std::string::String>,
        5614  +
    pub float_in_path: f32,
        5615  +
    #[pyo3(get, set)]
        5616  +
    /// :type typing.Optional\[float\]:
        5617  +
    #[allow(missing_docs)] // documentation missing in model
        5618  +
    pub float_in_query: ::std::option::Option<f32>,
        5619  +
    #[pyo3(get, set)]
        5620  +
    /// :type typing.Optional\[float\]:
        5621  +
    #[allow(missing_docs)] // documentation missing in model
        5622  +
    pub float_in_header: ::std::option::Option<f32>,
 5355   5623   
}
 5356         -
impl HttpEmptyPrefixHeadersInput {
        5624  +
impl MalformedFloatInput {
 5357   5625   
    #[allow(missing_docs)] // documentation missing in model
 5358         -
    pub fn prefix_headers(
 5359         -
        &self,
 5360         -
    ) -> ::std::option::Option<
 5361         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5362         -
    > {
 5363         -
        self.prefix_headers.as_ref()
        5626  +
    pub fn float_in_body(&self) -> ::std::option::Option<f32> {
        5627  +
        self.float_in_body
 5364   5628   
    }
 5365   5629   
    #[allow(missing_docs)] // documentation missing in model
 5366         -
    pub fn specific_header(&self) -> ::std::option::Option<&str> {
 5367         -
        self.specific_header.as_deref()
        5630  +
    pub fn float_in_path(&self) -> f32 {
        5631  +
        self.float_in_path
        5632  +
    }
        5633  +
    #[allow(missing_docs)] // documentation missing in model
        5634  +
    pub fn float_in_query(&self) -> ::std::option::Option<f32> {
        5635  +
        self.float_in_query
        5636  +
    }
        5637  +
    #[allow(missing_docs)] // documentation missing in model
        5638  +
    pub fn float_in_header(&self) -> ::std::option::Option<f32> {
        5639  +
        self.float_in_header
 5368   5640   
    }
 5369   5641   
}
 5370   5642   
#[allow(clippy::new_without_default)]
 5371   5643   
#[allow(clippy::too_many_arguments)]
 5372   5644   
#[::pyo3::pymethods]
 5373         -
impl HttpEmptyPrefixHeadersInput {
        5645  +
impl MalformedFloatInput {
 5374   5646   
    #[new]
 5375   5647   
    pub fn new(
 5376         -
        prefix_headers: ::std::option::Option<
 5377         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5378         -
        >,
 5379         -
        specific_header: ::std::option::Option<::std::string::String>,
        5648  +
        float_in_path: f32,
        5649  +
        float_in_body: ::std::option::Option<f32>,
        5650  +
        float_in_query: ::std::option::Option<f32>,
        5651  +
        float_in_header: ::std::option::Option<f32>,
 5380   5652   
    ) -> Self {
 5381   5653   
        Self {
 5382         -
            prefix_headers,
 5383         -
            specific_header,
        5654  +
            float_in_path,
        5655  +
            float_in_body,
        5656  +
            float_in_query,
        5657  +
            float_in_header,
 5384   5658   
        }
 5385   5659   
    }
 5386   5660   
    fn __repr__(&self) -> String {
 5387   5661   
        format!("{self:?}")
 5388   5662   
    }
 5389   5663   
    fn __str__(&self) -> String {
 5390   5664   
        format!("{self:?}")
 5391   5665   
    }
 5392   5666   
}
 5393         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpEmptyPrefixHeadersInput> {
        5667  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedFloatInput> {
 5394   5668   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5395         -
        ob.extract::<HttpEmptyPrefixHeadersInput>().map(Box::new)
        5669  +
        ob.extract::<MalformedFloatInput>().map(Box::new)
 5396   5670   
    }
 5397   5671   
}
 5398   5672   
 5399         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpEmptyPrefixHeadersInput> {
        5673  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedFloatInput> {
 5400   5674   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5401   5675   
        (*self).into_py(py)
 5402   5676   
    }
 5403   5677   
}
 5404         -
impl crate::constrained::Constrained for crate::input::HttpEmptyPrefixHeadersInput {
 5405         -
    type Unconstrained = crate::input::http_empty_prefix_headers_input_internal::Builder;
        5678  +
impl crate::constrained::Constrained for crate::input::MalformedFloatInput {
        5679  +
    type Unconstrained = crate::input::malformed_float_input_internal::Builder;
 5406   5680   
}
 5407         -
impl HttpEmptyPrefixHeadersInput {
 5408         -
    /// Creates a new builder-style object to manufacture [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
 5409         -
    pub fn builder() -> crate::input::http_empty_prefix_headers_input::Builder {
 5410         -
        crate::input::http_empty_prefix_headers_input::Builder::default()
        5681  +
impl MalformedFloatInput {
        5682  +
    /// Creates a new builder-style object to manufacture [`MalformedFloatInput`](crate::input::MalformedFloatInput).
        5683  +
    pub fn builder() -> crate::input::malformed_float_input::Builder {
        5684  +
        crate::input::malformed_float_input::Builder::default()
 5411   5685   
    }
 5412   5686   
}
 5413   5687   
 5414   5688   
#[::pyo3::pyclass]
        5689  +
/// :param double_in_path float:
        5690  +
/// :param double_in_body typing.Optional\[float\]:
        5691  +
/// :param double_in_query typing.Optional\[float\]:
        5692  +
/// :param double_in_header typing.Optional\[float\]:
 5415   5693   
/// :rtype None:
 5416   5694   
#[allow(missing_docs)] // documentation missing in model
 5417         -
#[derive(
 5418         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5419         -
)]
 5420         -
pub struct HttpPrefixHeadersInResponseInput {}
        5695  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        5696  +
pub struct MalformedDoubleInput {
        5697  +
    #[pyo3(get, set)]
        5698  +
    /// :type typing.Optional\[float\]:
        5699  +
    #[allow(missing_docs)] // documentation missing in model
        5700  +
    pub double_in_body: ::std::option::Option<f64>,
        5701  +
    #[pyo3(get, set)]
        5702  +
    /// :type float:
        5703  +
    #[allow(missing_docs)] // documentation missing in model
        5704  +
    pub double_in_path: f64,
        5705  +
    #[pyo3(get, set)]
        5706  +
    /// :type typing.Optional\[float\]:
        5707  +
    #[allow(missing_docs)] // documentation missing in model
        5708  +
    pub double_in_query: ::std::option::Option<f64>,
        5709  +
    #[pyo3(get, set)]
        5710  +
    /// :type typing.Optional\[float\]:
        5711  +
    #[allow(missing_docs)] // documentation missing in model
        5712  +
    pub double_in_header: ::std::option::Option<f64>,
        5713  +
}
        5714  +
impl MalformedDoubleInput {
        5715  +
    #[allow(missing_docs)] // documentation missing in model
        5716  +
    pub fn double_in_body(&self) -> ::std::option::Option<f64> {
        5717  +
        self.double_in_body
        5718  +
    }
        5719  +
    #[allow(missing_docs)] // documentation missing in model
        5720  +
    pub fn double_in_path(&self) -> f64 {
        5721  +
        self.double_in_path
        5722  +
    }
        5723  +
    #[allow(missing_docs)] // documentation missing in model
        5724  +
    pub fn double_in_query(&self) -> ::std::option::Option<f64> {
        5725  +
        self.double_in_query
        5726  +
    }
        5727  +
    #[allow(missing_docs)] // documentation missing in model
        5728  +
    pub fn double_in_header(&self) -> ::std::option::Option<f64> {
        5729  +
        self.double_in_header
        5730  +
    }
        5731  +
}
 5421   5732   
#[allow(clippy::new_without_default)]
 5422   5733   
#[allow(clippy::too_many_arguments)]
 5423   5734   
#[::pyo3::pymethods]
 5424         -
impl HttpPrefixHeadersInResponseInput {
        5735  +
impl MalformedDoubleInput {
 5425   5736   
    #[new]
 5426         -
    pub fn new() -> Self {
 5427         -
        Self {}
        5737  +
    pub fn new(
        5738  +
        double_in_path: f64,
        5739  +
        double_in_body: ::std::option::Option<f64>,
        5740  +
        double_in_query: ::std::option::Option<f64>,
        5741  +
        double_in_header: ::std::option::Option<f64>,
        5742  +
    ) -> Self {
        5743  +
        Self {
        5744  +
            double_in_path,
        5745  +
            double_in_body,
        5746  +
            double_in_query,
        5747  +
            double_in_header,
        5748  +
        }
 5428   5749   
    }
 5429   5750   
    fn __repr__(&self) -> String {
 5430   5751   
        format!("{self:?}")
 5431   5752   
    }
 5432   5753   
    fn __str__(&self) -> String {
 5433   5754   
        format!("{self:?}")
 5434   5755   
    }
 5435   5756   
}
 5436         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPrefixHeadersInResponseInput> {
        5757  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedDoubleInput> {
 5437   5758   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5438         -
        ob.extract::<HttpPrefixHeadersInResponseInput>()
 5439         -
            .map(Box::new)
        5759  +
        ob.extract::<MalformedDoubleInput>().map(Box::new)
 5440   5760   
    }
 5441   5761   
}
 5442   5762   
 5443         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPrefixHeadersInResponseInput> {
        5763  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedDoubleInput> {
 5444   5764   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5445   5765   
        (*self).into_py(py)
 5446   5766   
    }
 5447   5767   
}
 5448         -
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInResponseInput {
 5449         -
    type Unconstrained = crate::input::http_prefix_headers_in_response_input_internal::Builder;
        5768  +
impl crate::constrained::Constrained for crate::input::MalformedDoubleInput {
        5769  +
    type Unconstrained = crate::input::malformed_double_input_internal::Builder;
 5450   5770   
}
 5451         -
impl HttpPrefixHeadersInResponseInput {
 5452         -
    /// Creates a new builder-style object to manufacture [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
 5453         -
    pub fn builder() -> crate::input::http_prefix_headers_in_response_input::Builder {
 5454         -
        crate::input::http_prefix_headers_in_response_input::Builder::default()
        5771  +
impl MalformedDoubleInput {
        5772  +
    /// Creates a new builder-style object to manufacture [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
        5773  +
    pub fn builder() -> crate::input::malformed_double_input::Builder {
        5774  +
        crate::input::malformed_double_input::Builder::default()
 5455   5775   
    }
 5456   5776   
}
 5457   5777   
 5458   5778   
#[::pyo3::pyclass]
 5459         -
/// :param foo typing.Optional\[str\]:
 5460         -
/// :param foo_map typing.Optional\[typing.Dict\[str, str\]\]:
        5779  +
/// :param blob typing.Optional\[str\]:
 5461   5780   
/// :rtype None:
 5462   5781   
#[allow(missing_docs)] // documentation missing in model
 5463         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 5464         -
pub struct HttpPrefixHeadersInput {
        5782  +
#[derive(
        5783  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5784  +
)]
        5785  +
pub struct MalformedStringInput {
 5465   5786   
    #[pyo3(get, set)]
 5466   5787   
    /// :type typing.Optional\[str\]:
 5467   5788   
    #[allow(missing_docs)] // documentation missing in model
 5468         -
    pub foo: ::std::option::Option<::std::string::String>,
 5469         -
    #[pyo3(get, set)]
 5470         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 5471         -
    #[allow(missing_docs)] // documentation missing in model
 5472         -
    pub foo_map: ::std::option::Option<
 5473         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5474         -
    >,
        5789  +
    pub blob: ::std::option::Option<::std::string::String>,
 5475   5790   
}
 5476         -
impl HttpPrefixHeadersInput {
 5477         -
    #[allow(missing_docs)] // documentation missing in model
 5478         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 5479         -
        self.foo.as_deref()
 5480         -
    }
        5791  +
impl MalformedStringInput {
 5481   5792   
    #[allow(missing_docs)] // documentation missing in model
 5482         -
    pub fn foo_map(
 5483         -
        &self,
 5484         -
    ) -> ::std::option::Option<
 5485         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5486         -
    > {
 5487         -
        self.foo_map.as_ref()
        5793  +
    pub fn blob(&self) -> ::std::option::Option<&str> {
        5794  +
        self.blob.as_deref()
 5488   5795   
    }
 5489   5796   
}
 5490   5797   
#[allow(clippy::new_without_default)]
 5491   5798   
#[allow(clippy::too_many_arguments)]
 5492   5799   
#[::pyo3::pymethods]
 5493         -
impl HttpPrefixHeadersInput {
        5800  +
impl MalformedStringInput {
 5494   5801   
    #[new]
 5495         -
    pub fn new(
 5496         -
        foo: ::std::option::Option<::std::string::String>,
 5497         -
        foo_map: ::std::option::Option<
 5498         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5499         -
        >,
 5500         -
    ) -> Self {
 5501         -
        Self { foo, foo_map }
        5802  +
    pub fn new(blob: ::std::option::Option<::std::string::String>) -> Self {
        5803  +
        Self { blob }
 5502   5804   
    }
 5503   5805   
    fn __repr__(&self) -> String {
 5504   5806   
        format!("{self:?}")
 5505   5807   
    }
 5506   5808   
    fn __str__(&self) -> String {
 5507   5809   
        format!("{self:?}")
 5508   5810   
    }
 5509   5811   
}
 5510         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpPrefixHeadersInput> {
        5812  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedStringInput> {
 5511   5813   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5512         -
        ob.extract::<HttpPrefixHeadersInput>().map(Box::new)
        5814  +
        ob.extract::<MalformedStringInput>().map(Box::new)
 5513   5815   
    }
 5514   5816   
}
 5515   5817   
 5516         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpPrefixHeadersInput> {
        5818  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedStringInput> {
 5517   5819   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5518   5820   
        (*self).into_py(py)
 5519   5821   
    }
 5520   5822   
}
 5521         -
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInput {
 5522         -
    type Unconstrained = crate::input::http_prefix_headers_input_internal::Builder;
        5823  +
impl crate::constrained::Constrained for crate::input::MalformedStringInput {
        5824  +
    type Unconstrained = crate::input::malformed_string_input_internal::Builder;
 5523   5825   
}
 5524         -
impl HttpPrefixHeadersInput {
 5525         -
    /// Creates a new builder-style object to manufacture [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
 5526         -
    pub fn builder() -> crate::input::http_prefix_headers_input::Builder {
 5527         -
        crate::input::http_prefix_headers_input::Builder::default()
        5826  +
impl MalformedStringInput {
        5827  +
    /// Creates a new builder-style object to manufacture [`MalformedStringInput`](crate::input::MalformedStringInput).
        5828  +
    pub fn builder() -> crate::input::malformed_string_input::Builder {
        5829  +
        crate::input::malformed_string_input::Builder::default()
 5528   5830   
    }
 5529   5831   
}
 5530   5832   
 5531   5833   
#[::pyo3::pyclass]
 5532         -
/// :param qux typing.Optional\[str\]:
 5533         -
/// :param foo typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        5834  +
/// :param timestamp rest_json.types.DateTime:
 5534   5835   
/// :rtype None:
 5535   5836   
#[allow(missing_docs)] // documentation missing in model
 5536         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 5537         -
pub struct QueryParamsAsStringListMapInput {
 5538         -
    #[pyo3(get, set)]
 5539         -
    /// :type typing.Optional\[str\]:
 5540         -
    #[allow(missing_docs)] // documentation missing in model
 5541         -
    pub qux: ::std::option::Option<::std::string::String>,
        5837  +
#[derive(
        5838  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5839  +
)]
        5840  +
pub struct MalformedTimestampPathDefaultInput {
 5542   5841   
    #[pyo3(get, set)]
 5543         -
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        5842  +
    /// :type rest_json.types.DateTime:
 5544   5843   
    #[allow(missing_docs)] // documentation missing in model
 5545         -
    pub foo: ::std::option::Option<
 5546         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 5547         -
    >,
        5844  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 5548   5845   
}
 5549         -
impl QueryParamsAsStringListMapInput {
 5550         -
    #[allow(missing_docs)] // documentation missing in model
 5551         -
    pub fn qux(&self) -> ::std::option::Option<&str> {
 5552         -
        self.qux.as_deref()
 5553         -
    }
        5846  +
impl MalformedTimestampPathDefaultInput {
 5554   5847   
    #[allow(missing_docs)] // documentation missing in model
 5555         -
    pub fn foo(
 5556         -
        &self,
 5557         -
    ) -> ::std::option::Option<
 5558         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 5559         -
    > {
 5560         -
        self.foo.as_ref()
        5848  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        5849  +
        &self.timestamp
 5561   5850   
    }
 5562   5851   
}
 5563   5852   
#[allow(clippy::new_without_default)]
 5564   5853   
#[allow(clippy::too_many_arguments)]
 5565   5854   
#[::pyo3::pymethods]
 5566         -
impl QueryParamsAsStringListMapInput {
        5855  +
impl MalformedTimestampPathDefaultInput {
 5567   5856   
    #[new]
 5568         -
    pub fn new(
 5569         -
        qux: ::std::option::Option<::std::string::String>,
 5570         -
        foo: ::std::option::Option<
 5571         -
            ::std::collections::HashMap<
 5572         -
                ::std::string::String,
 5573         -
                ::std::vec::Vec<::std::string::String>,
 5574         -
            >,
 5575         -
        >,
 5576         -
    ) -> Self {
 5577         -
        Self { qux, foo }
        5857  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        5858  +
        Self { timestamp }
 5578   5859   
    }
 5579   5860   
    fn __repr__(&self) -> String {
 5580   5861   
        format!("{self:?}")
 5581   5862   
    }
 5582   5863   
    fn __str__(&self) -> String {
 5583   5864   
        format!("{self:?}")
 5584   5865   
    }
 5585   5866   
}
 5586         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<QueryParamsAsStringListMapInput> {
        5867  +
impl<'source> ::pyo3::FromPyObject<'source>
        5868  +
    for std::boxed::Box<MalformedTimestampPathDefaultInput>
        5869  +
{
 5587   5870   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5588         -
        ob.extract::<QueryParamsAsStringListMapInput>()
        5871  +
        ob.extract::<MalformedTimestampPathDefaultInput>()
 5589   5872   
            .map(Box::new)
 5590   5873   
    }
 5591   5874   
}
 5592   5875   
 5593         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<QueryParamsAsStringListMapInput> {
        5876  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampPathDefaultInput> {
 5594   5877   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5595   5878   
        (*self).into_py(py)
 5596   5879   
    }
 5597   5880   
}
 5598         -
impl crate::constrained::Constrained for crate::input::QueryParamsAsStringListMapInput {
 5599         -
    type Unconstrained = crate::input::query_params_as_string_list_map_input_internal::Builder;
        5881  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathDefaultInput {
        5882  +
    type Unconstrained = crate::input::malformed_timestamp_path_default_input_internal::Builder;
 5600   5883   
}
 5601         -
impl QueryParamsAsStringListMapInput {
 5602         -
    /// Creates a new builder-style object to manufacture [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
 5603         -
    pub fn builder() -> crate::input::query_params_as_string_list_map_input::Builder {
 5604         -
        crate::input::query_params_as_string_list_map_input::Builder::default()
        5884  +
impl MalformedTimestampPathDefaultInput {
        5885  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
        5886  +
    pub fn builder() -> crate::input::malformed_timestamp_path_default_input::Builder {
        5887  +
        crate::input::malformed_timestamp_path_default_input::Builder::default()
 5605   5888   
    }
 5606   5889   
}
 5607   5890   
 5608   5891   
#[::pyo3::pyclass]
 5609         -
/// :param foo typing.Optional\[str\]:
 5610         -
/// :param baz typing.Optional\[typing.Dict\[str, str\]\]:
        5892  +
/// :param timestamp rest_json.types.DateTime:
 5611   5893   
/// :rtype None:
 5612   5894   
#[allow(missing_docs)] // documentation missing in model
 5613         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 5614         -
pub struct QueryPrecedenceInput {
 5615         -
    #[pyo3(get, set)]
 5616         -
    /// :type typing.Optional\[str\]:
 5617         -
    #[allow(missing_docs)] // documentation missing in model
 5618         -
    pub foo: ::std::option::Option<::std::string::String>,
        5895  +
#[derive(
        5896  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5897  +
)]
        5898  +
pub struct MalformedTimestampPathHttpDateInput {
 5619   5899   
    #[pyo3(get, set)]
 5620         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
        5900  +
    /// :type rest_json.types.DateTime:
 5621   5901   
    #[allow(missing_docs)] // documentation missing in model
 5622         -
    pub baz: ::std::option::Option<
 5623         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5624         -
    >,
        5902  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 5625   5903   
}
 5626         -
impl QueryPrecedenceInput {
        5904  +
impl MalformedTimestampPathHttpDateInput {
 5627   5905   
    #[allow(missing_docs)] // documentation missing in model
 5628         -
    pub fn foo(&self) -> ::std::option::Option<&str> {
 5629         -
        self.foo.as_deref()
 5630         -
    }
 5631         -
    #[allow(missing_docs)] // documentation missing in model
 5632         -
    pub fn baz(
 5633         -
        &self,
 5634         -
    ) -> ::std::option::Option<
 5635         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5636         -
    > {
 5637         -
        self.baz.as_ref()
        5906  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        5907  +
        &self.timestamp
 5638   5908   
    }
 5639   5909   
}
 5640   5910   
#[allow(clippy::new_without_default)]
 5641   5911   
#[allow(clippy::too_many_arguments)]
 5642   5912   
#[::pyo3::pymethods]
 5643         -
impl QueryPrecedenceInput {
        5913  +
impl MalformedTimestampPathHttpDateInput {
 5644   5914   
    #[new]
 5645         -
    pub fn new(
 5646         -
        foo: ::std::option::Option<::std::string::String>,
 5647         -
        baz: ::std::option::Option<
 5648         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 5649         -
        >,
 5650         -
    ) -> Self {
 5651         -
        Self { foo, baz }
        5915  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        5916  +
        Self { timestamp }
 5652   5917   
    }
 5653   5918   
    fn __repr__(&self) -> String {
 5654   5919   
        format!("{self:?}")
 5655   5920   
    }
 5656   5921   
    fn __str__(&self) -> String {
 5657   5922   
        format!("{self:?}")
 5658   5923   
    }
 5659   5924   
}
 5660         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<QueryPrecedenceInput> {
        5925  +
impl<'source> ::pyo3::FromPyObject<'source>
        5926  +
    for std::boxed::Box<MalformedTimestampPathHttpDateInput>
        5927  +
{
 5661   5928   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5662         -
        ob.extract::<QueryPrecedenceInput>().map(Box::new)
        5929  +
        ob.extract::<MalformedTimestampPathHttpDateInput>()
        5930  +
            .map(Box::new)
 5663   5931   
    }
 5664   5932   
}
 5665   5933   
 5666         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<QueryPrecedenceInput> {
        5934  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampPathHttpDateInput> {
 5667   5935   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5668   5936   
        (*self).into_py(py)
 5669   5937   
    }
 5670   5938   
}
 5671         -
impl crate::constrained::Constrained for crate::input::QueryPrecedenceInput {
 5672         -
    type Unconstrained = crate::input::query_precedence_input_internal::Builder;
        5939  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathHttpDateInput {
        5940  +
    type Unconstrained = crate::input::malformed_timestamp_path_http_date_input_internal::Builder;
 5673   5941   
}
 5674         -
impl QueryPrecedenceInput {
 5675         -
    /// Creates a new builder-style object to manufacture [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
 5676         -
    pub fn builder() -> crate::input::query_precedence_input::Builder {
 5677         -
        crate::input::query_precedence_input::Builder::default()
        5942  +
impl MalformedTimestampPathHttpDateInput {
        5943  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        5944  +
    pub fn builder() -> crate::input::malformed_timestamp_path_http_date_input::Builder {
        5945  +
        crate::input::malformed_timestamp_path_http_date_input::Builder::default()
 5678   5946   
    }
 5679   5947   
}
 5680   5948   
 5681   5949   
#[::pyo3::pyclass]
 5682         -
/// :param token typing.Optional\[str\]:
        5950  +
/// :param timestamp rest_json.types.DateTime:
 5683   5951   
/// :rtype None:
 5684   5952   
#[allow(missing_docs)] // documentation missing in model
 5685   5953   
#[derive(
 5686   5954   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5687   5955   
)]
 5688         -
pub struct QueryIdempotencyTokenAutoFillInput {
        5956  +
pub struct MalformedTimestampPathEpochInput {
 5689   5957   
    #[pyo3(get, set)]
 5690         -
    /// :type typing.Optional\[str\]:
        5958  +
    /// :type rest_json.types.DateTime:
 5691   5959   
    #[allow(missing_docs)] // documentation missing in model
 5692         -
    pub token: ::std::option::Option<::std::string::String>,
        5960  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 5693   5961   
}
 5694         -
impl QueryIdempotencyTokenAutoFillInput {
        5962  +
impl MalformedTimestampPathEpochInput {
 5695   5963   
    #[allow(missing_docs)] // documentation missing in model
 5696         -
    pub fn token(&self) -> ::std::option::Option<&str> {
 5697         -
        self.token.as_deref()
        5964  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        5965  +
        &self.timestamp
 5698   5966   
    }
 5699   5967   
}
 5700   5968   
#[allow(clippy::new_without_default)]
 5701   5969   
#[allow(clippy::too_many_arguments)]
 5702   5970   
#[::pyo3::pymethods]
 5703         -
impl QueryIdempotencyTokenAutoFillInput {
        5971  +
impl MalformedTimestampPathEpochInput {
 5704   5972   
    #[new]
 5705         -
    pub fn new(token: ::std::option::Option<::std::string::String>) -> Self {
 5706         -
        Self { token }
        5973  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        5974  +
        Self { timestamp }
 5707   5975   
    }
 5708   5976   
    fn __repr__(&self) -> String {
 5709   5977   
        format!("{self:?}")
 5710   5978   
    }
 5711   5979   
    fn __str__(&self) -> String {
 5712   5980   
        format!("{self:?}")
 5713   5981   
    }
 5714   5982   
}
 5715         -
impl<'source> ::pyo3::FromPyObject<'source>
 5716         -
    for std::boxed::Box<QueryIdempotencyTokenAutoFillInput>
 5717         -
{
        5983  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedTimestampPathEpochInput> {
 5718   5984   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5719         -
        ob.extract::<QueryIdempotencyTokenAutoFillInput>()
        5985  +
        ob.extract::<MalformedTimestampPathEpochInput>()
 5720   5986   
            .map(Box::new)
 5721   5987   
    }
 5722   5988   
}
 5723   5989   
 5724         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<QueryIdempotencyTokenAutoFillInput> {
        5990  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampPathEpochInput> {
 5725   5991   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5726   5992   
        (*self).into_py(py)
 5727   5993   
    }
 5728   5994   
}
 5729         -
impl crate::constrained::Constrained for crate::input::QueryIdempotencyTokenAutoFillInput {
 5730         -
    type Unconstrained = crate::input::query_idempotency_token_auto_fill_input_internal::Builder;
        5995  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathEpochInput {
        5996  +
    type Unconstrained = crate::input::malformed_timestamp_path_epoch_input_internal::Builder;
 5731   5997   
}
 5732         -
impl QueryIdempotencyTokenAutoFillInput {
 5733         -
    /// Creates a new builder-style object to manufacture [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
 5734         -
    pub fn builder() -> crate::input::query_idempotency_token_auto_fill_input::Builder {
 5735         -
        crate::input::query_idempotency_token_auto_fill_input::Builder::default()
        5998  +
impl MalformedTimestampPathEpochInput {
        5999  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        6000  +
    pub fn builder() -> crate::input::malformed_timestamp_path_epoch_input::Builder {
        6001  +
        crate::input::malformed_timestamp_path_epoch_input::Builder::default()
 5736   6002   
    }
 5737   6003   
}
 5738   6004   
 5739   6005   
#[::pyo3::pyclass]
 5740         -
/// :param query_string_list typing.Optional\[typing.List\[str\]\]:
 5741         -
/// :param query_integer_list typing.Optional\[typing.List\[int\]\]:
 5742         -
/// :param query_double_list typing.Optional\[typing.List\[float\]\]:
 5743         -
/// :param query_boolean_list typing.Optional\[typing.List\[bool\]\]:
 5744         -
/// :param query_timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 5745         -
/// :param query_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 5746         -
/// :param query_integer_enum_list typing.Optional\[typing.List\[int\]\]:
        6006  +
/// :param timestamp rest_json.types.DateTime:
 5747   6007   
/// :rtype None:
 5748   6008   
#[allow(missing_docs)] // documentation missing in model
 5749         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 5750         -
pub struct OmitsSerializingEmptyListsInput {
 5751         -
    #[pyo3(get, set)]
 5752         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 5753         -
    #[allow(missing_docs)] // documentation missing in model
 5754         -
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 5755         -
    #[pyo3(get, set)]
 5756         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 5757         -
    #[allow(missing_docs)] // documentation missing in model
 5758         -
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 5759         -
    #[pyo3(get, set)]
 5760         -
    /// :type typing.Optional\[typing.List\[float\]\]:
 5761         -
    #[allow(missing_docs)] // documentation missing in model
 5762         -
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
 5763         -
    #[pyo3(get, set)]
 5764         -
    /// :type typing.Optional\[typing.List\[bool\]\]:
 5765         -
    #[allow(missing_docs)] // documentation missing in model
 5766         -
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 5767         -
    #[pyo3(get, set)]
 5768         -
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 5769         -
    #[allow(missing_docs)] // documentation missing in model
 5770         -
    pub query_timestamp_list:
 5771         -
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
 5772         -
    #[pyo3(get, set)]
 5773         -
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 5774         -
    #[allow(missing_docs)] // documentation missing in model
 5775         -
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        6009  +
#[derive(
        6010  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6011  +
)]
        6012  +
pub struct MalformedTimestampQueryDefaultInput {
 5776   6013   
    #[pyo3(get, set)]
 5777         -
    /// :type typing.Optional\[typing.List\[int\]\]:
        6014  +
    /// :type rest_json.types.DateTime:
 5778   6015   
    #[allow(missing_docs)] // documentation missing in model
 5779         -
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        6016  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 5780   6017   
}
 5781         -
impl OmitsSerializingEmptyListsInput {
 5782         -
    #[allow(missing_docs)] // documentation missing in model
 5783         -
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 5784         -
        self.query_string_list.as_deref()
 5785         -
    }
 5786         -
    #[allow(missing_docs)] // documentation missing in model
 5787         -
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
 5788         -
        self.query_integer_list.as_deref()
 5789         -
    }
 5790         -
    #[allow(missing_docs)] // documentation missing in model
 5791         -
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
 5792         -
        self.query_double_list.as_deref()
 5793         -
    }
 5794         -
    #[allow(missing_docs)] // documentation missing in model
 5795         -
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
 5796         -
        self.query_boolean_list.as_deref()
 5797         -
    }
 5798         -
    #[allow(missing_docs)] // documentation missing in model
 5799         -
    pub fn query_timestamp_list(
 5800         -
        &self,
 5801         -
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
 5802         -
        self.query_timestamp_list.as_deref()
 5803         -
    }
 5804         -
    #[allow(missing_docs)] // documentation missing in model
 5805         -
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 5806         -
        self.query_enum_list.as_deref()
 5807         -
    }
        6018  +
impl MalformedTimestampQueryDefaultInput {
 5808   6019   
    #[allow(missing_docs)] // documentation missing in model
 5809         -
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
 5810         -
        self.query_integer_enum_list.as_deref()
        6020  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6021  +
        &self.timestamp
 5811   6022   
    }
 5812   6023   
}
 5813   6024   
#[allow(clippy::new_without_default)]
 5814   6025   
#[allow(clippy::too_many_arguments)]
 5815   6026   
#[::pyo3::pymethods]
 5816         -
impl OmitsSerializingEmptyListsInput {
        6027  +
impl MalformedTimestampQueryDefaultInput {
 5817   6028   
    #[new]
 5818         -
    pub fn new(
 5819         -
        query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 5820         -
        query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 5821         -
        query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
 5822         -
        query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 5823         -
        query_timestamp_list: ::std::option::Option<
 5824         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
 5825         -
        >,
 5826         -
        query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 5827         -
        query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 5828         -
    ) -> Self {
 5829         -
        Self {
 5830         -
            query_string_list,
 5831         -
            query_integer_list,
 5832         -
            query_double_list,
 5833         -
            query_boolean_list,
 5834         -
            query_timestamp_list,
 5835         -
            query_enum_list,
 5836         -
            query_integer_enum_list,
 5837         -
        }
        6029  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6030  +
        Self { timestamp }
 5838   6031   
    }
 5839   6032   
    fn __repr__(&self) -> String {
 5840   6033   
        format!("{self:?}")
 5841   6034   
    }
 5842   6035   
    fn __str__(&self) -> String {
 5843   6036   
        format!("{self:?}")
 5844   6037   
    }
 5845   6038   
}
 5846         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OmitsSerializingEmptyListsInput> {
        6039  +
impl<'source> ::pyo3::FromPyObject<'source>
        6040  +
    for std::boxed::Box<MalformedTimestampQueryDefaultInput>
        6041  +
{
 5847   6042   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5848         -
        ob.extract::<OmitsSerializingEmptyListsInput>()
        6043  +
        ob.extract::<MalformedTimestampQueryDefaultInput>()
 5849   6044   
            .map(Box::new)
 5850   6045   
    }
 5851   6046   
}
 5852   6047   
 5853         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OmitsSerializingEmptyListsInput> {
        6048  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampQueryDefaultInput> {
 5854   6049   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5855   6050   
        (*self).into_py(py)
 5856   6051   
    }
 5857   6052   
}
 5858         -
impl crate::constrained::Constrained for crate::input::OmitsSerializingEmptyListsInput {
 5859         -
    type Unconstrained = crate::input::omits_serializing_empty_lists_input_internal::Builder;
        6053  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryDefaultInput {
        6054  +
    type Unconstrained = crate::input::malformed_timestamp_query_default_input_internal::Builder;
 5860   6055   
}
 5861         -
impl OmitsSerializingEmptyListsInput {
 5862         -
    /// Creates a new builder-style object to manufacture [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
 5863         -
    pub fn builder() -> crate::input::omits_serializing_empty_lists_input::Builder {
 5864         -
        crate::input::omits_serializing_empty_lists_input::Builder::default()
        6056  +
impl MalformedTimestampQueryDefaultInput {
        6057  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
        6058  +
    pub fn builder() -> crate::input::malformed_timestamp_query_default_input::Builder {
        6059  +
        crate::input::malformed_timestamp_query_default_input::Builder::default()
 5865   6060   
    }
 5866   6061   
}
 5867   6062   
 5868   6063   
#[::pyo3::pyclass]
 5869         -
/// :param null_value typing.Optional\[str\]:
 5870         -
/// :param empty_string typing.Optional\[str\]:
        6064  +
/// :param timestamp rest_json.types.DateTime:
 5871   6065   
/// :rtype None:
 5872   6066   
#[allow(missing_docs)] // documentation missing in model
 5873   6067   
#[derive(
 5874   6068   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5875   6069   
)]
 5876         -
pub struct OmitsNullSerializesEmptyStringInput {
 5877         -
    #[pyo3(get, set)]
 5878         -
    /// :type typing.Optional\[str\]:
 5879         -
    #[allow(missing_docs)] // documentation missing in model
 5880         -
    pub null_value: ::std::option::Option<::std::string::String>,
        6070  +
pub struct MalformedTimestampQueryHttpDateInput {
 5881   6071   
    #[pyo3(get, set)]
 5882         -
    /// :type typing.Optional\[str\]:
        6072  +
    /// :type rest_json.types.DateTime:
 5883   6073   
    #[allow(missing_docs)] // documentation missing in model
 5884         -
    pub empty_string: ::std::option::Option<::std::string::String>,
        6074  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 5885   6075   
}
 5886         -
impl OmitsNullSerializesEmptyStringInput {
 5887         -
    #[allow(missing_docs)] // documentation missing in model
 5888         -
    pub fn null_value(&self) -> ::std::option::Option<&str> {
 5889         -
        self.null_value.as_deref()
 5890         -
    }
        6076  +
impl MalformedTimestampQueryHttpDateInput {
 5891   6077   
    #[allow(missing_docs)] // documentation missing in model
 5892         -
    pub fn empty_string(&self) -> ::std::option::Option<&str> {
 5893         -
        self.empty_string.as_deref()
        6078  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6079  +
        &self.timestamp
 5894   6080   
    }
 5895   6081   
}
 5896   6082   
#[allow(clippy::new_without_default)]
 5897   6083   
#[allow(clippy::too_many_arguments)]
 5898   6084   
#[::pyo3::pymethods]
 5899         -
impl OmitsNullSerializesEmptyStringInput {
        6085  +
impl MalformedTimestampQueryHttpDateInput {
 5900   6086   
    #[new]
 5901         -
    pub fn new(
 5902         -
        null_value: ::std::option::Option<::std::string::String>,
 5903         -
        empty_string: ::std::option::Option<::std::string::String>,
 5904         -
    ) -> Self {
 5905         -
        Self {
 5906         -
            null_value,
 5907         -
            empty_string,
 5908         -
        }
        6087  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6088  +
        Self { timestamp }
 5909   6089   
    }
 5910   6090   
    fn __repr__(&self) -> String {
 5911   6091   
        format!("{self:?}")
 5912   6092   
    }
 5913   6093   
    fn __str__(&self) -> String {
 5914   6094   
        format!("{self:?}")
 5915   6095   
    }
 5916   6096   
}
 5917   6097   
impl<'source> ::pyo3::FromPyObject<'source>
 5918         -
    for std::boxed::Box<OmitsNullSerializesEmptyStringInput>
        6098  +
    for std::boxed::Box<MalformedTimestampQueryHttpDateInput>
 5919   6099   
{
 5920   6100   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5921         -
        ob.extract::<OmitsNullSerializesEmptyStringInput>()
        6101  +
        ob.extract::<MalformedTimestampQueryHttpDateInput>()
 5922   6102   
            .map(Box::new)
 5923   6103   
    }
 5924   6104   
}
 5925   6105   
 5926         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OmitsNullSerializesEmptyStringInput> {
        6106  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampQueryHttpDateInput> {
 5927   6107   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5928   6108   
        (*self).into_py(py)
 5929   6109   
    }
 5930   6110   
}
 5931         -
impl crate::constrained::Constrained for crate::input::OmitsNullSerializesEmptyStringInput {
 5932         -
    type Unconstrained = crate::input::omits_null_serializes_empty_string_input_internal::Builder;
        6111  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryHttpDateInput {
        6112  +
    type Unconstrained = crate::input::malformed_timestamp_query_http_date_input_internal::Builder;
 5933   6113   
}
 5934         -
impl OmitsNullSerializesEmptyStringInput {
 5935         -
    /// Creates a new builder-style object to manufacture [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
 5936         -
    pub fn builder() -> crate::input::omits_null_serializes_empty_string_input::Builder {
 5937         -
        crate::input::omits_null_serializes_empty_string_input::Builder::default()
        6114  +
impl MalformedTimestampQueryHttpDateInput {
        6115  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
        6116  +
    pub fn builder() -> crate::input::malformed_timestamp_query_http_date_input::Builder {
        6117  +
        crate::input::malformed_timestamp_query_http_date_input::Builder::default()
 5938   6118   
    }
 5939   6119   
}
 5940   6120   
 5941   6121   
#[::pyo3::pyclass]
        6122  +
/// :param timestamp rest_json.types.DateTime:
 5942   6123   
/// :rtype None:
 5943   6124   
#[allow(missing_docs)] // documentation missing in model
 5944   6125   
#[derive(
 5945   6126   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5946   6127   
)]
 5947         -
pub struct IgnoreQueryParamsInResponseInput {}
 5948         -
#[allow(clippy::new_without_default)]
 5949         -
#[allow(clippy::too_many_arguments)]
 5950         -
#[::pyo3::pymethods]
 5951         -
impl IgnoreQueryParamsInResponseInput {
 5952         -
    #[new]
 5953         -
    pub fn new() -> Self {
 5954         -
        Self {}
 5955         -
    }
        6128  +
pub struct MalformedTimestampQueryEpochInput {
        6129  +
    #[pyo3(get, set)]
        6130  +
    /// :type rest_json.types.DateTime:
        6131  +
    #[allow(missing_docs)] // documentation missing in model
        6132  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        6133  +
}
        6134  +
impl MalformedTimestampQueryEpochInput {
        6135  +
    #[allow(missing_docs)] // documentation missing in model
        6136  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6137  +
        &self.timestamp
        6138  +
    }
        6139  +
}
        6140  +
#[allow(clippy::new_without_default)]
        6141  +
#[allow(clippy::too_many_arguments)]
        6142  +
#[::pyo3::pymethods]
        6143  +
impl MalformedTimestampQueryEpochInput {
        6144  +
    #[new]
        6145  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6146  +
        Self { timestamp }
        6147  +
    }
 5956   6148   
    fn __repr__(&self) -> String {
 5957   6149   
        format!("{self:?}")
 5958   6150   
    }
 5959   6151   
    fn __str__(&self) -> String {
 5960   6152   
        format!("{self:?}")
 5961   6153   
    }
 5962   6154   
}
 5963         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<IgnoreQueryParamsInResponseInput> {
        6155  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedTimestampQueryEpochInput> {
 5964   6156   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 5965         -
        ob.extract::<IgnoreQueryParamsInResponseInput>()
        6157  +
        ob.extract::<MalformedTimestampQueryEpochInput>()
 5966   6158   
            .map(Box::new)
 5967   6159   
    }
 5968   6160   
}
 5969   6161   
 5970         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<IgnoreQueryParamsInResponseInput> {
        6162  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampQueryEpochInput> {
 5971   6163   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 5972   6164   
        (*self).into_py(py)
 5973   6165   
    }
 5974   6166   
}
 5975         -
impl crate::constrained::Constrained for crate::input::IgnoreQueryParamsInResponseInput {
 5976         -
    type Unconstrained = crate::input::ignore_query_params_in_response_input_internal::Builder;
        6167  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryEpochInput {
        6168  +
    type Unconstrained = crate::input::malformed_timestamp_query_epoch_input_internal::Builder;
 5977   6169   
}
 5978         -
impl IgnoreQueryParamsInResponseInput {
 5979         -
    /// Creates a new builder-style object to manufacture [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
 5980         -
    pub fn builder() -> crate::input::ignore_query_params_in_response_input::Builder {
 5981         -
        crate::input::ignore_query_params_in_response_input::Builder::default()
        6170  +
impl MalformedTimestampQueryEpochInput {
        6171  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
        6172  +
    pub fn builder() -> crate::input::malformed_timestamp_query_epoch_input::Builder {
        6173  +
        crate::input::malformed_timestamp_query_epoch_input::Builder::default()
 5982   6174   
    }
 5983   6175   
}
 5984   6176   
 5985   6177   
#[::pyo3::pyclass]
 5986         -
/// :param baz typing.Optional\[str\]:
 5987         -
/// :param maybe_set typing.Optional\[str\]:
        6178  +
/// :param timestamp rest_json.types.DateTime:
 5988   6179   
/// :rtype None:
 5989   6180   
#[allow(missing_docs)] // documentation missing in model
 5990   6181   
#[derive(
 5991   6182   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 5992   6183   
)]
 5993         -
pub struct ConstantAndVariableQueryStringInput {
 5994         -
    #[pyo3(get, set)]
 5995         -
    /// :type typing.Optional\[str\]:
 5996         -
    #[allow(missing_docs)] // documentation missing in model
 5997         -
    pub baz: ::std::option::Option<::std::string::String>,
        6184  +
pub struct MalformedTimestampHeaderDefaultInput {
 5998   6185   
    #[pyo3(get, set)]
 5999         -
    /// :type typing.Optional\[str\]:
        6186  +
    /// :type rest_json.types.DateTime:
 6000   6187   
    #[allow(missing_docs)] // documentation missing in model
 6001         -
    pub maybe_set: ::std::option::Option<::std::string::String>,
        6188  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 6002   6189   
}
 6003         -
impl ConstantAndVariableQueryStringInput {
 6004         -
    #[allow(missing_docs)] // documentation missing in model
 6005         -
    pub fn baz(&self) -> ::std::option::Option<&str> {
 6006         -
        self.baz.as_deref()
 6007         -
    }
        6190  +
impl MalformedTimestampHeaderDefaultInput {
 6008   6191   
    #[allow(missing_docs)] // documentation missing in model
 6009         -
    pub fn maybe_set(&self) -> ::std::option::Option<&str> {
 6010         -
        self.maybe_set.as_deref()
        6192  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6193  +
        &self.timestamp
 6011   6194   
    }
 6012   6195   
}
 6013   6196   
#[allow(clippy::new_without_default)]
 6014   6197   
#[allow(clippy::too_many_arguments)]
 6015   6198   
#[::pyo3::pymethods]
 6016         -
impl ConstantAndVariableQueryStringInput {
        6199  +
impl MalformedTimestampHeaderDefaultInput {
 6017   6200   
    #[new]
 6018         -
    pub fn new(
 6019         -
        baz: ::std::option::Option<::std::string::String>,
 6020         -
        maybe_set: ::std::option::Option<::std::string::String>,
 6021         -
    ) -> Self {
 6022         -
        Self { baz, maybe_set }
        6201  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6202  +
        Self { timestamp }
 6023   6203   
    }
 6024   6204   
    fn __repr__(&self) -> String {
 6025   6205   
        format!("{self:?}")
 6026   6206   
    }
 6027   6207   
    fn __str__(&self) -> String {
 6028   6208   
        format!("{self:?}")
 6029   6209   
    }
 6030   6210   
}
 6031   6211   
impl<'source> ::pyo3::FromPyObject<'source>
 6032         -
    for std::boxed::Box<ConstantAndVariableQueryStringInput>
        6212  +
    for std::boxed::Box<MalformedTimestampHeaderDefaultInput>
 6033   6213   
{
 6034   6214   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6035         -
        ob.extract::<ConstantAndVariableQueryStringInput>()
        6215  +
        ob.extract::<MalformedTimestampHeaderDefaultInput>()
 6036   6216   
            .map(Box::new)
 6037   6217   
    }
 6038   6218   
}
 6039   6219   
 6040         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ConstantAndVariableQueryStringInput> {
        6220  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampHeaderDefaultInput> {
 6041   6221   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6042   6222   
        (*self).into_py(py)
 6043   6223   
    }
 6044   6224   
}
 6045         -
impl crate::constrained::Constrained for crate::input::ConstantAndVariableQueryStringInput {
 6046         -
    type Unconstrained = crate::input::constant_and_variable_query_string_input_internal::Builder;
        6225  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDefaultInput {
        6226  +
    type Unconstrained = crate::input::malformed_timestamp_header_default_input_internal::Builder;
 6047   6227   
}
 6048         -
impl ConstantAndVariableQueryStringInput {
 6049         -
    /// Creates a new builder-style object to manufacture [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
 6050         -
    pub fn builder() -> crate::input::constant_and_variable_query_string_input::Builder {
 6051         -
        crate::input::constant_and_variable_query_string_input::Builder::default()
        6228  +
impl MalformedTimestampHeaderDefaultInput {
        6229  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
        6230  +
    pub fn builder() -> crate::input::malformed_timestamp_header_default_input::Builder {
        6231  +
        crate::input::malformed_timestamp_header_default_input::Builder::default()
 6052   6232   
    }
 6053   6233   
}
 6054   6234   
 6055   6235   
#[::pyo3::pyclass]
 6056         -
/// :param hello str:
        6236  +
/// :param timestamp rest_json.types.DateTime:
 6057   6237   
/// :rtype None:
 6058   6238   
#[allow(missing_docs)] // documentation missing in model
 6059   6239   
#[derive(
 6060   6240   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 6061   6241   
)]
 6062         -
pub struct ConstantQueryStringInput {
        6242  +
pub struct MalformedTimestampHeaderDateTimeInput {
 6063   6243   
    #[pyo3(get, set)]
 6064         -
    /// :type str:
        6244  +
    /// :type rest_json.types.DateTime:
 6065   6245   
    #[allow(missing_docs)] // documentation missing in model
 6066         -
    pub hello: ::std::string::String,
        6246  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 6067   6247   
}
 6068         -
impl ConstantQueryStringInput {
        6248  +
impl MalformedTimestampHeaderDateTimeInput {
 6069   6249   
    #[allow(missing_docs)] // documentation missing in model
 6070         -
    pub fn hello(&self) -> &str {
 6071         -
        use std::ops::Deref;
 6072         -
        self.hello.deref()
        6250  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6251  +
        &self.timestamp
 6073   6252   
    }
 6074   6253   
}
 6075   6254   
#[allow(clippy::new_without_default)]
 6076   6255   
#[allow(clippy::too_many_arguments)]
 6077   6256   
#[::pyo3::pymethods]
 6078         -
impl ConstantQueryStringInput {
        6257  +
impl MalformedTimestampHeaderDateTimeInput {
 6079   6258   
    #[new]
 6080         -
    pub fn new(hello: ::std::string::String) -> Self {
 6081         -
        Self { hello }
        6259  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6260  +
        Self { timestamp }
 6082   6261   
    }
 6083   6262   
    fn __repr__(&self) -> String {
 6084   6263   
        format!("{self:?}")
 6085   6264   
    }
 6086   6265   
    fn __str__(&self) -> String {
 6087   6266   
        format!("{self:?}")
 6088   6267   
    }
 6089   6268   
}
 6090         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ConstantQueryStringInput> {
        6269  +
impl<'source> ::pyo3::FromPyObject<'source>
        6270  +
    for std::boxed::Box<MalformedTimestampHeaderDateTimeInput>
        6271  +
{
 6091   6272   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6092         -
        ob.extract::<ConstantQueryStringInput>().map(Box::new)
        6273  +
        ob.extract::<MalformedTimestampHeaderDateTimeInput>()
        6274  +
            .map(Box::new)
 6093   6275   
    }
 6094   6276   
}
 6095   6277   
 6096         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ConstantQueryStringInput> {
        6278  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampHeaderDateTimeInput> {
 6097   6279   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6098   6280   
        (*self).into_py(py)
 6099   6281   
    }
 6100   6282   
}
 6101         -
impl crate::constrained::Constrained for crate::input::ConstantQueryStringInput {
 6102         -
    type Unconstrained = crate::input::constant_query_string_input_internal::Builder;
        6283  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDateTimeInput {
        6284  +
    type Unconstrained = crate::input::malformed_timestamp_header_date_time_input_internal::Builder;
 6103   6285   
}
 6104         -
impl ConstantQueryStringInput {
 6105         -
    /// Creates a new builder-style object to manufacture [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
 6106         -
    pub fn builder() -> crate::input::constant_query_string_input::Builder {
 6107         -
        crate::input::constant_query_string_input::Builder::default()
        6286  +
impl MalformedTimestampHeaderDateTimeInput {
        6287  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        6288  +
    pub fn builder() -> crate::input::malformed_timestamp_header_date_time_input::Builder {
        6289  +
        crate::input::malformed_timestamp_header_date_time_input::Builder::default()
 6108   6290   
    }
 6109   6291   
}
 6110   6292   
 6111   6293   
#[::pyo3::pyclass]
 6112         -
/// :param query_string typing.Optional\[str\]:
 6113         -
/// :param query_string_list typing.Optional\[typing.List\[str\]\]:
 6114         -
/// :param query_string_set typing.Optional\[typing.List\[str\]\]:
 6115         -
/// :param query_byte typing.Optional\[int\]:
 6116         -
/// :param query_short typing.Optional\[int\]:
 6117         -
/// :param query_integer typing.Optional\[int\]:
 6118         -
/// :param query_integer_list typing.Optional\[typing.List\[int\]\]:
 6119         -
/// :param query_integer_set typing.Optional\[typing.List\[int\]\]:
 6120         -
/// :param query_long typing.Optional\[int\]:
 6121         -
/// :param query_float typing.Optional\[float\]:
 6122         -
/// :param query_double typing.Optional\[float\]:
 6123         -
/// :param query_double_list typing.Optional\[typing.List\[float\]\]:
 6124         -
/// :param query_boolean typing.Optional\[bool\]:
 6125         -
/// :param query_boolean_list typing.Optional\[typing.List\[bool\]\]:
 6126         -
/// :param query_timestamp typing.Optional\[rest_json.types.DateTime\]:
 6127         -
/// :param query_timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 6128         -
/// :param query_enum typing.Optional\[rest_json.model.FooEnum\]:
 6129         -
/// :param query_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 6130         -
/// :param query_integer_enum typing.Optional\[int\]:
 6131         -
/// :param query_integer_enum_list typing.Optional\[typing.List\[int\]\]:
 6132         -
/// :param query_params_map_of_string_list typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        6294  +
/// :param timestamp rest_json.types.DateTime:
 6133   6295   
/// :rtype None:
 6134   6296   
#[allow(missing_docs)] // documentation missing in model
 6135         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 6136         -
pub struct AllQueryStringTypesInput {
 6137         -
    #[pyo3(get, set)]
 6138         -
    /// :type typing.Optional\[str\]:
 6139         -
    #[allow(missing_docs)] // documentation missing in model
 6140         -
    pub query_string: ::std::option::Option<::std::string::String>,
 6141         -
    #[pyo3(get, set)]
 6142         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 6143         -
    #[allow(missing_docs)] // documentation missing in model
 6144         -
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 6145         -
    #[pyo3(get, set)]
 6146         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 6147         -
    #[allow(missing_docs)] // documentation missing in model
 6148         -
    pub query_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 6149         -
    #[pyo3(get, set)]
 6150         -
    /// :type typing.Optional\[int\]:
 6151         -
    #[allow(missing_docs)] // documentation missing in model
 6152         -
    pub query_byte: ::std::option::Option<i8>,
 6153         -
    #[pyo3(get, set)]
 6154         -
    /// :type typing.Optional\[int\]:
 6155         -
    #[allow(missing_docs)] // documentation missing in model
 6156         -
    pub query_short: ::std::option::Option<i16>,
 6157         -
    #[pyo3(get, set)]
 6158         -
    /// :type typing.Optional\[int\]:
 6159         -
    #[allow(missing_docs)] // documentation missing in model
 6160         -
    pub query_integer: ::std::option::Option<i32>,
 6161         -
    #[pyo3(get, set)]
 6162         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 6163         -
    #[allow(missing_docs)] // documentation missing in model
 6164         -
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        6297  +
#[derive(
        6298  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6299  +
)]
        6300  +
pub struct MalformedTimestampHeaderEpochInput {
 6165   6301   
    #[pyo3(get, set)]
 6166         -
    /// :type typing.Optional\[typing.List\[int\]\]:
        6302  +
    /// :type rest_json.types.DateTime:
 6167   6303   
    #[allow(missing_docs)] // documentation missing in model
 6168         -
    pub query_integer_set: ::std::option::Option<::std::vec::Vec<i32>>,
 6169         -
    #[pyo3(get, set)]
 6170         -
    /// :type typing.Optional\[int\]:
        6304  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        6305  +
}
        6306  +
impl MalformedTimestampHeaderEpochInput {
 6171   6307   
    #[allow(missing_docs)] // documentation missing in model
 6172         -
    pub query_long: ::std::option::Option<i64>,
        6308  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6309  +
        &self.timestamp
        6310  +
    }
        6311  +
}
        6312  +
#[allow(clippy::new_without_default)]
        6313  +
#[allow(clippy::too_many_arguments)]
        6314  +
#[::pyo3::pymethods]
        6315  +
impl MalformedTimestampHeaderEpochInput {
        6316  +
    #[new]
        6317  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6318  +
        Self { timestamp }
        6319  +
    }
        6320  +
    fn __repr__(&self) -> String {
        6321  +
        format!("{self:?}")
        6322  +
    }
        6323  +
    fn __str__(&self) -> String {
        6324  +
        format!("{self:?}")
        6325  +
    }
        6326  +
}
        6327  +
impl<'source> ::pyo3::FromPyObject<'source>
        6328  +
    for std::boxed::Box<MalformedTimestampHeaderEpochInput>
        6329  +
{
        6330  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        6331  +
        ob.extract::<MalformedTimestampHeaderEpochInput>()
        6332  +
            .map(Box::new)
        6333  +
    }
        6334  +
}
        6335  +
        6336  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampHeaderEpochInput> {
        6337  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        6338  +
        (*self).into_py(py)
        6339  +
    }
        6340  +
}
        6341  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderEpochInput {
        6342  +
    type Unconstrained = crate::input::malformed_timestamp_header_epoch_input_internal::Builder;
        6343  +
}
        6344  +
impl MalformedTimestampHeaderEpochInput {
        6345  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        6346  +
    pub fn builder() -> crate::input::malformed_timestamp_header_epoch_input::Builder {
        6347  +
        crate::input::malformed_timestamp_header_epoch_input::Builder::default()
        6348  +
    }
        6349  +
}
        6350  +
        6351  +
#[::pyo3::pyclass]
        6352  +
/// :param timestamp rest_json.types.DateTime:
        6353  +
/// :rtype None:
        6354  +
#[allow(missing_docs)] // documentation missing in model
        6355  +
#[derive(
        6356  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6357  +
)]
        6358  +
pub struct MalformedTimestampBodyDefaultInput {
 6173   6359   
    #[pyo3(get, set)]
 6174         -
    /// :type typing.Optional\[float\]:
        6360  +
    /// :type rest_json.types.DateTime:
 6175   6361   
    #[allow(missing_docs)] // documentation missing in model
 6176         -
    pub query_float: ::std::option::Option<f32>,
 6177         -
    #[pyo3(get, set)]
 6178         -
    /// :type typing.Optional\[float\]:
        6362  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
        6363  +
}
        6364  +
impl MalformedTimestampBodyDefaultInput {
 6179   6365   
    #[allow(missing_docs)] // documentation missing in model
 6180         -
    pub query_double: ::std::option::Option<f64>,
 6181         -
    #[pyo3(get, set)]
 6182         -
    /// :type typing.Optional\[typing.List\[float\]\]:
 6183         -
    #[allow(missing_docs)] // documentation missing in model
 6184         -
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
 6185         -
    #[pyo3(get, set)]
 6186         -
    /// :type typing.Optional\[bool\]:
 6187         -
    #[allow(missing_docs)] // documentation missing in model
 6188         -
    pub query_boolean: ::std::option::Option<bool>,
 6189         -
    #[pyo3(get, set)]
 6190         -
    /// :type typing.Optional\[typing.List\[bool\]\]:
 6191         -
    #[allow(missing_docs)] // documentation missing in model
 6192         -
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 6193         -
    #[pyo3(get, set)]
 6194         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6195         -
    #[allow(missing_docs)] // documentation missing in model
 6196         -
    pub query_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6197         -
    #[pyo3(get, set)]
 6198         -
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 6199         -
    #[allow(missing_docs)] // documentation missing in model
 6200         -
    pub query_timestamp_list:
 6201         -
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
 6202         -
    #[pyo3(get, set)]
 6203         -
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
 6204         -
    #[allow(missing_docs)] // documentation missing in model
 6205         -
    pub query_enum: ::std::option::Option<crate::model::FooEnum>,
 6206         -
    #[pyo3(get, set)]
 6207         -
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 6208         -
    #[allow(missing_docs)] // documentation missing in model
 6209         -
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 6210         -
    #[pyo3(get, set)]
 6211         -
    /// :type typing.Optional\[int\]:
 6212         -
    #[allow(missing_docs)] // documentation missing in model
 6213         -
    pub query_integer_enum: ::std::option::Option<i32>,
 6214         -
    #[pyo3(get, set)]
 6215         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 6216         -
    #[allow(missing_docs)] // documentation missing in model
 6217         -
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 6218         -
    #[pyo3(get, set)]
 6219         -
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
 6220         -
    #[allow(missing_docs)] // documentation missing in model
 6221         -
    pub query_params_map_of_string_list: ::std::option::Option<
 6222         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 6223         -
    >,
 6224         -
}
 6225         -
impl AllQueryStringTypesInput {
 6226         -
    #[allow(missing_docs)] // documentation missing in model
 6227         -
    pub fn query_string(&self) -> ::std::option::Option<&str> {
 6228         -
        self.query_string.as_deref()
 6229         -
    }
 6230         -
    #[allow(missing_docs)] // documentation missing in model
 6231         -
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 6232         -
        self.query_string_list.as_deref()
 6233         -
    }
 6234         -
    #[allow(missing_docs)] // documentation missing in model
 6235         -
    pub fn query_string_set(&self) -> ::std::option::Option<&[::std::string::String]> {
 6236         -
        self.query_string_set.as_deref()
 6237         -
    }
 6238         -
    #[allow(missing_docs)] // documentation missing in model
 6239         -
    pub fn query_byte(&self) -> ::std::option::Option<i8> {
 6240         -
        self.query_byte
 6241         -
    }
 6242         -
    #[allow(missing_docs)] // documentation missing in model
 6243         -
    pub fn query_short(&self) -> ::std::option::Option<i16> {
 6244         -
        self.query_short
 6245         -
    }
 6246         -
    #[allow(missing_docs)] // documentation missing in model
 6247         -
    pub fn query_integer(&self) -> ::std::option::Option<i32> {
 6248         -
        self.query_integer
 6249         -
    }
 6250         -
    #[allow(missing_docs)] // documentation missing in model
 6251         -
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
 6252         -
        self.query_integer_list.as_deref()
 6253         -
    }
 6254         -
    #[allow(missing_docs)] // documentation missing in model
 6255         -
    pub fn query_integer_set(&self) -> ::std::option::Option<&[i32]> {
 6256         -
        self.query_integer_set.as_deref()
 6257         -
    }
 6258         -
    #[allow(missing_docs)] // documentation missing in model
 6259         -
    pub fn query_long(&self) -> ::std::option::Option<i64> {
 6260         -
        self.query_long
 6261         -
    }
 6262         -
    #[allow(missing_docs)] // documentation missing in model
 6263         -
    pub fn query_float(&self) -> ::std::option::Option<f32> {
 6264         -
        self.query_float
 6265         -
    }
 6266         -
    #[allow(missing_docs)] // documentation missing in model
 6267         -
    pub fn query_double(&self) -> ::std::option::Option<f64> {
 6268         -
        self.query_double
 6269         -
    }
 6270         -
    #[allow(missing_docs)] // documentation missing in model
 6271         -
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
 6272         -
        self.query_double_list.as_deref()
 6273         -
    }
 6274         -
    #[allow(missing_docs)] // documentation missing in model
 6275         -
    pub fn query_boolean(&self) -> ::std::option::Option<bool> {
 6276         -
        self.query_boolean
 6277         -
    }
 6278         -
    #[allow(missing_docs)] // documentation missing in model
 6279         -
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
 6280         -
        self.query_boolean_list.as_deref()
 6281         -
    }
 6282         -
    #[allow(missing_docs)] // documentation missing in model
 6283         -
    pub fn query_timestamp(
 6284         -
        &self,
 6285         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6286         -
        self.query_timestamp.as_ref()
 6287         -
    }
 6288         -
    #[allow(missing_docs)] // documentation missing in model
 6289         -
    pub fn query_timestamp_list(
 6290         -
        &self,
 6291         -
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
 6292         -
        self.query_timestamp_list.as_deref()
 6293         -
    }
 6294         -
    #[allow(missing_docs)] // documentation missing in model
 6295         -
    pub fn query_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 6296         -
        self.query_enum.as_ref()
 6297         -
    }
 6298         -
    #[allow(missing_docs)] // documentation missing in model
 6299         -
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 6300         -
        self.query_enum_list.as_deref()
 6301         -
    }
 6302         -
    #[allow(missing_docs)] // documentation missing in model
 6303         -
    pub fn query_integer_enum(&self) -> ::std::option::Option<i32> {
 6304         -
        self.query_integer_enum
 6305         -
    }
 6306         -
    #[allow(missing_docs)] // documentation missing in model
 6307         -
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
 6308         -
        self.query_integer_enum_list.as_deref()
 6309         -
    }
 6310         -
    #[allow(missing_docs)] // documentation missing in model
 6311         -
    pub fn query_params_map_of_string_list(
 6312         -
        &self,
 6313         -
    ) -> ::std::option::Option<
 6314         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 6315         -
    > {
 6316         -
        self.query_params_map_of_string_list.as_ref()
        6366  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6367  +
        &self.timestamp
 6317   6368   
    }
 6318   6369   
}
 6319   6370   
#[allow(clippy::new_without_default)]
 6320   6371   
#[allow(clippy::too_many_arguments)]
 6321   6372   
#[::pyo3::pymethods]
 6322         -
impl AllQueryStringTypesInput {
        6373  +
impl MalformedTimestampBodyDefaultInput {
 6323   6374   
    #[new]
 6324         -
    pub fn new(
 6325         -
        query_string: ::std::option::Option<::std::string::String>,
 6326         -
        query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 6327         -
        query_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 6328         -
        query_byte: ::std::option::Option<i8>,
 6329         -
        query_short: ::std::option::Option<i16>,
 6330         -
        query_integer: ::std::option::Option<i32>,
 6331         -
        query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 6332         -
        query_integer_set: ::std::option::Option<::std::vec::Vec<i32>>,
 6333         -
        query_long: ::std::option::Option<i64>,
 6334         -
        query_float: ::std::option::Option<f32>,
 6335         -
        query_double: ::std::option::Option<f64>,
 6336         -
        query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
 6337         -
        query_boolean: ::std::option::Option<bool>,
 6338         -
        query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 6339         -
        query_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6340         -
        query_timestamp_list: ::std::option::Option<
 6341         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
 6342         -
        >,
 6343         -
        query_enum: ::std::option::Option<crate::model::FooEnum>,
 6344         -
        query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 6345         -
        query_integer_enum: ::std::option::Option<i32>,
 6346         -
        query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 6347         -
        query_params_map_of_string_list: ::std::option::Option<
 6348         -
            ::std::collections::HashMap<
 6349         -
                ::std::string::String,
 6350         -
                ::std::vec::Vec<::std::string::String>,
 6351         -
            >,
 6352         -
        >,
 6353         -
    ) -> Self {
 6354         -
        Self {
 6355         -
            query_string,
 6356         -
            query_string_list,
 6357         -
            query_string_set,
 6358         -
            query_byte,
 6359         -
            query_short,
 6360         -
            query_integer,
 6361         -
            query_integer_list,
 6362         -
            query_integer_set,
 6363         -
            query_long,
 6364         -
            query_float,
 6365         -
            query_double,
 6366         -
            query_double_list,
 6367         -
            query_boolean,
 6368         -
            query_boolean_list,
 6369         -
            query_timestamp,
 6370         -
            query_timestamp_list,
 6371         -
            query_enum,
 6372         -
            query_enum_list,
 6373         -
            query_integer_enum,
 6374         -
            query_integer_enum_list,
 6375         -
            query_params_map_of_string_list,
 6376         -
        }
        6375  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6376  +
        Self { timestamp }
 6377   6377   
    }
 6378   6378   
    fn __repr__(&self) -> String {
 6379   6379   
        format!("{self:?}")
 6380   6380   
    }
 6381   6381   
    fn __str__(&self) -> String {
 6382   6382   
        format!("{self:?}")
 6383   6383   
    }
 6384   6384   
}
 6385         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<AllQueryStringTypesInput> {
        6385  +
impl<'source> ::pyo3::FromPyObject<'source>
        6386  +
    for std::boxed::Box<MalformedTimestampBodyDefaultInput>
        6387  +
{
 6386   6388   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6387         -
        ob.extract::<AllQueryStringTypesInput>().map(Box::new)
        6389  +
        ob.extract::<MalformedTimestampBodyDefaultInput>()
        6390  +
            .map(Box::new)
 6388   6391   
    }
 6389   6392   
}
 6390   6393   
 6391         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<AllQueryStringTypesInput> {
        6394  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampBodyDefaultInput> {
 6392   6395   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6393   6396   
        (*self).into_py(py)
 6394   6397   
    }
 6395   6398   
}
 6396         -
impl crate::constrained::Constrained for crate::input::AllQueryStringTypesInput {
 6397         -
    type Unconstrained = crate::input::all_query_string_types_input_internal::Builder;
        6399  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDefaultInput {
        6400  +
    type Unconstrained = crate::input::malformed_timestamp_body_default_input_internal::Builder;
 6398   6401   
}
 6399         -
impl AllQueryStringTypesInput {
 6400         -
    /// Creates a new builder-style object to manufacture [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
 6401         -
    pub fn builder() -> crate::input::all_query_string_types_input::Builder {
 6402         -
        crate::input::all_query_string_types_input::Builder::default()
        6402  +
impl MalformedTimestampBodyDefaultInput {
        6403  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        6404  +
    pub fn builder() -> crate::input::malformed_timestamp_body_default_input::Builder {
        6405  +
        crate::input::malformed_timestamp_body_default_input::Builder::default()
 6403   6406   
    }
 6404   6407   
}
 6405   6408   
 6406   6409   
#[::pyo3::pyclass]
 6407         -
/// :param str str:
        6410  +
/// :param timestamp rest_json.types.DateTime:
 6408   6411   
/// :rtype None:
 6409   6412   
#[allow(missing_docs)] // documentation missing in model
 6410   6413   
#[derive(
 6411   6414   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 6412   6415   
)]
 6413         -
pub struct HttpRequestWithRegexLiteralInput {
        6416  +
pub struct MalformedTimestampBodyDateTimeInput {
 6414   6417   
    #[pyo3(get, set)]
 6415         -
    /// :type str:
        6418  +
    /// :type rest_json.types.DateTime:
 6416   6419   
    #[allow(missing_docs)] // documentation missing in model
 6417         -
    pub str: ::std::string::String,
        6420  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 6418   6421   
}
 6419         -
impl HttpRequestWithRegexLiteralInput {
        6422  +
impl MalformedTimestampBodyDateTimeInput {
 6420   6423   
    #[allow(missing_docs)] // documentation missing in model
 6421         -
    pub fn str(&self) -> &str {
 6422         -
        use std::ops::Deref;
 6423         -
        self.str.deref()
        6424  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6425  +
        &self.timestamp
 6424   6426   
    }
 6425   6427   
}
 6426   6428   
#[allow(clippy::new_without_default)]
 6427   6429   
#[allow(clippy::too_many_arguments)]
 6428   6430   
#[::pyo3::pymethods]
 6429         -
impl HttpRequestWithRegexLiteralInput {
        6431  +
impl MalformedTimestampBodyDateTimeInput {
 6430   6432   
    #[new]
 6431         -
    pub fn new(str: ::std::string::String) -> Self {
 6432         -
        Self { str }
        6433  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6434  +
        Self { timestamp }
 6433   6435   
    }
 6434   6436   
    fn __repr__(&self) -> String {
 6435   6437   
        format!("{self:?}")
 6436   6438   
    }
 6437   6439   
    fn __str__(&self) -> String {
 6438   6440   
        format!("{self:?}")
 6439   6441   
    }
 6440   6442   
}
 6441         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpRequestWithRegexLiteralInput> {
        6443  +
impl<'source> ::pyo3::FromPyObject<'source>
        6444  +
    for std::boxed::Box<MalformedTimestampBodyDateTimeInput>
        6445  +
{
 6442   6446   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6443         -
        ob.extract::<HttpRequestWithRegexLiteralInput>()
        6447  +
        ob.extract::<MalformedTimestampBodyDateTimeInput>()
 6444   6448   
            .map(Box::new)
 6445   6449   
    }
 6446   6450   
}
 6447   6451   
 6448         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithRegexLiteralInput> {
        6452  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampBodyDateTimeInput> {
 6449   6453   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6450   6454   
        (*self).into_py(py)
 6451   6455   
    }
 6452   6456   
}
 6453         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithRegexLiteralInput {
 6454         -
    type Unconstrained = crate::input::http_request_with_regex_literal_input_internal::Builder;
        6457  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDateTimeInput {
        6458  +
    type Unconstrained = crate::input::malformed_timestamp_body_date_time_input_internal::Builder;
 6455   6459   
}
 6456         -
impl HttpRequestWithRegexLiteralInput {
 6457         -
    /// Creates a new builder-style object to manufacture [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
 6458         -
    pub fn builder() -> crate::input::http_request_with_regex_literal_input::Builder {
 6459         -
        crate::input::http_request_with_regex_literal_input::Builder::default()
        6460  +
impl MalformedTimestampBodyDateTimeInput {
        6461  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        6462  +
    pub fn builder() -> crate::input::malformed_timestamp_body_date_time_input::Builder {
        6463  +
        crate::input::malformed_timestamp_body_date_time_input::Builder::default()
 6460   6464   
    }
 6461   6465   
}
 6462   6466   
 6463   6467   
#[::pyo3::pyclass]
 6464         -
/// :param float float:
 6465         -
/// :param double float:
        6468  +
/// :param timestamp rest_json.types.DateTime:
 6466   6469   
/// :rtype None:
 6467   6470   
#[allow(missing_docs)] // documentation missing in model
 6468         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 6469         -
pub struct HttpRequestWithFloatLabelsInput {
 6470         -
    #[pyo3(get, set)]
 6471         -
    /// :type float:
 6472         -
    #[allow(missing_docs)] // documentation missing in model
 6473         -
    pub float: f32,
        6471  +
#[derive(
        6472  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6473  +
)]
        6474  +
pub struct MalformedTimestampBodyHttpDateInput {
 6474   6475   
    #[pyo3(get, set)]
 6475         -
    /// :type float:
        6476  +
    /// :type rest_json.types.DateTime:
 6476   6477   
    #[allow(missing_docs)] // documentation missing in model
 6477         -
    pub double: f64,
        6478  +
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 6478   6479   
}
 6479         -
impl HttpRequestWithFloatLabelsInput {
 6480         -
    #[allow(missing_docs)] // documentation missing in model
 6481         -
    pub fn float(&self) -> f32 {
 6482         -
        self.float
 6483         -
    }
        6480  +
impl MalformedTimestampBodyHttpDateInput {
 6484   6481   
    #[allow(missing_docs)] // documentation missing in model
 6485         -
    pub fn double(&self) -> f64 {
 6486         -
        self.double
        6482  +
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
        6483  +
        &self.timestamp
 6487   6484   
    }
 6488   6485   
}
 6489   6486   
#[allow(clippy::new_without_default)]
 6490   6487   
#[allow(clippy::too_many_arguments)]
 6491   6488   
#[::pyo3::pymethods]
 6492         -
impl HttpRequestWithFloatLabelsInput {
        6489  +
impl MalformedTimestampBodyHttpDateInput {
 6493   6490   
    #[new]
 6494         -
    pub fn new(float: f32, double: f64) -> Self {
 6495         -
        Self { float, double }
        6491  +
    pub fn new(timestamp: ::aws_smithy_http_server_python::types::DateTime) -> Self {
        6492  +
        Self { timestamp }
 6496   6493   
    }
 6497   6494   
    fn __repr__(&self) -> String {
 6498   6495   
        format!("{self:?}")
 6499   6496   
    }
 6500   6497   
    fn __str__(&self) -> String {
 6501   6498   
        format!("{self:?}")
 6502   6499   
    }
 6503   6500   
}
 6504         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpRequestWithFloatLabelsInput> {
        6501  +
impl<'source> ::pyo3::FromPyObject<'source>
        6502  +
    for std::boxed::Box<MalformedTimestampBodyHttpDateInput>
        6503  +
{
 6505   6504   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6506         -
        ob.extract::<HttpRequestWithFloatLabelsInput>()
        6505  +
        ob.extract::<MalformedTimestampBodyHttpDateInput>()
 6507   6506   
            .map(Box::new)
 6508   6507   
    }
 6509   6508   
}
 6510   6509   
 6511         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithFloatLabelsInput> {
        6510  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedTimestampBodyHttpDateInput> {
 6512   6511   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6513   6512   
        (*self).into_py(py)
 6514   6513   
    }
 6515   6514   
}
 6516         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithFloatLabelsInput {
 6517         -
    type Unconstrained = crate::input::http_request_with_float_labels_input_internal::Builder;
        6515  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyHttpDateInput {
        6516  +
    type Unconstrained = crate::input::malformed_timestamp_body_http_date_input_internal::Builder;
 6518   6517   
}
 6519         -
impl HttpRequestWithFloatLabelsInput {
 6520         -
    /// Creates a new builder-style object to manufacture [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
 6521         -
    pub fn builder() -> crate::input::http_request_with_float_labels_input::Builder {
 6522         -
        crate::input::http_request_with_float_labels_input::Builder::default()
        6518  +
impl MalformedTimestampBodyHttpDateInput {
        6519  +
    /// Creates a new builder-style object to manufacture [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        6520  +
    pub fn builder() -> crate::input::malformed_timestamp_body_http_date_input::Builder {
        6521  +
        crate::input::malformed_timestamp_body_http_date_input::Builder::default()
 6523   6522   
    }
 6524   6523   
}
 6525   6524   
 6526   6525   
#[::pyo3::pyclass]
 6527         -
/// :param foo str:
 6528         -
/// :param baz str:
 6529   6526   
/// :rtype None:
 6530   6527   
#[allow(missing_docs)] // documentation missing in model
 6531   6528   
#[derive(
 6532   6529   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 6533   6530   
)]
 6534         -
pub struct HttpRequestWithGreedyLabelInPathInput {
 6535         -
    #[pyo3(get, set)]
 6536         -
    /// :type str:
 6537         -
    #[allow(missing_docs)] // documentation missing in model
 6538         -
    pub foo: ::std::string::String,
 6539         -
    #[pyo3(get, set)]
 6540         -
    /// :type str:
 6541         -
    #[allow(missing_docs)] // documentation missing in model
 6542         -
    pub baz: ::std::string::String,
 6543         -
}
 6544         -
impl HttpRequestWithGreedyLabelInPathInput {
 6545         -
    #[allow(missing_docs)] // documentation missing in model
 6546         -
    pub fn foo(&self) -> &str {
 6547         -
        use std::ops::Deref;
 6548         -
        self.foo.deref()
 6549         -
    }
 6550         -
    #[allow(missing_docs)] // documentation missing in model
 6551         -
    pub fn baz(&self) -> &str {
 6552         -
        use std::ops::Deref;
 6553         -
        self.baz.deref()
 6554         -
    }
 6555         -
}
        6531  +
pub struct MalformedContentTypeWithoutBodyInput {}
 6556   6532   
#[allow(clippy::new_without_default)]
 6557   6533   
#[allow(clippy::too_many_arguments)]
 6558   6534   
#[::pyo3::pymethods]
 6559         -
impl HttpRequestWithGreedyLabelInPathInput {
        6535  +
impl MalformedContentTypeWithoutBodyInput {
 6560   6536   
    #[new]
 6561         -
    pub fn new(foo: ::std::string::String, baz: ::std::string::String) -> Self {
 6562         -
        Self { foo, baz }
        6537  +
    pub fn new() -> Self {
        6538  +
        Self {}
 6563   6539   
    }
 6564   6540   
    fn __repr__(&self) -> String {
 6565   6541   
        format!("{self:?}")
 6566   6542   
    }
 6567   6543   
    fn __str__(&self) -> String {
 6568   6544   
        format!("{self:?}")
 6569   6545   
    }
 6570   6546   
}
 6571   6547   
impl<'source> ::pyo3::FromPyObject<'source>
 6572         -
    for std::boxed::Box<HttpRequestWithGreedyLabelInPathInput>
        6548  +
    for std::boxed::Box<MalformedContentTypeWithoutBodyInput>
 6573   6549   
{
 6574   6550   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6575         -
        ob.extract::<HttpRequestWithGreedyLabelInPathInput>()
        6551  +
        ob.extract::<MalformedContentTypeWithoutBodyInput>()
 6576   6552   
            .map(Box::new)
 6577   6553   
    }
 6578   6554   
}
 6579   6555   
 6580         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithGreedyLabelInPathInput> {
        6556  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedContentTypeWithoutBodyInput> {
 6581   6557   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6582   6558   
        (*self).into_py(py)
 6583   6559   
    }
 6584   6560   
}
 6585         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithGreedyLabelInPathInput {
 6586         -
    type Unconstrained =
 6587         -
        crate::input::http_request_with_greedy_label_in_path_input_internal::Builder;
        6561  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithoutBodyInput {
        6562  +
    type Unconstrained = crate::input::malformed_content_type_without_body_input_internal::Builder;
 6588   6563   
}
 6589         -
impl HttpRequestWithGreedyLabelInPathInput {
 6590         -
    /// Creates a new builder-style object to manufacture [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
 6591         -
    pub fn builder() -> crate::input::http_request_with_greedy_label_in_path_input::Builder {
 6592         -
        crate::input::http_request_with_greedy_label_in_path_input::Builder::default()
        6564  +
impl MalformedContentTypeWithoutBodyInput {
        6565  +
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
        6566  +
    pub fn builder() -> crate::input::malformed_content_type_without_body_input::Builder {
        6567  +
        crate::input::malformed_content_type_without_body_input::Builder::default()
 6593   6568   
    }
 6594   6569   
}
 6595   6570   
 6596   6571   
#[::pyo3::pyclass]
 6597         -
/// :param member_epoch_seconds rest_json.types.DateTime:
 6598         -
/// :param member_http_date rest_json.types.DateTime:
 6599         -
/// :param member_date_time rest_json.types.DateTime:
 6600         -
/// :param default_format rest_json.types.DateTime:
 6601         -
/// :param target_epoch_seconds rest_json.types.DateTime:
 6602         -
/// :param target_http_date rest_json.types.DateTime:
 6603         -
/// :param target_date_time rest_json.types.DateTime:
        6572  +
/// :param header typing.Optional\[str\]:
 6604   6573   
/// :rtype None:
 6605   6574   
#[allow(missing_docs)] // documentation missing in model
 6606   6575   
#[derive(
 6607   6576   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 6608   6577   
)]
 6609         -
pub struct HttpRequestWithLabelsAndTimestampFormatInput {
 6610         -
    #[pyo3(get, set)]
 6611         -
    /// :type rest_json.types.DateTime:
 6612         -
    #[allow(missing_docs)] // documentation missing in model
 6613         -
    pub member_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
 6614         -
    #[pyo3(get, set)]
 6615         -
    /// :type rest_json.types.DateTime:
 6616         -
    #[allow(missing_docs)] // documentation missing in model
 6617         -
    pub member_http_date: ::aws_smithy_http_server_python::types::DateTime,
 6618         -
    #[pyo3(get, set)]
 6619         -
    /// :type rest_json.types.DateTime:
 6620         -
    #[allow(missing_docs)] // documentation missing in model
 6621         -
    pub member_date_time: ::aws_smithy_http_server_python::types::DateTime,
 6622         -
    #[pyo3(get, set)]
 6623         -
    /// :type rest_json.types.DateTime:
 6624         -
    #[allow(missing_docs)] // documentation missing in model
 6625         -
    pub default_format: ::aws_smithy_http_server_python::types::DateTime,
 6626         -
    #[pyo3(get, set)]
 6627         -
    /// :type rest_json.types.DateTime:
 6628         -
    #[allow(missing_docs)] // documentation missing in model
 6629         -
    pub target_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
 6630         -
    #[pyo3(get, set)]
 6631         -
    /// :type rest_json.types.DateTime:
 6632         -
    #[allow(missing_docs)] // documentation missing in model
 6633         -
    pub target_http_date: ::aws_smithy_http_server_python::types::DateTime,
        6578  +
pub struct MalformedContentTypeWithoutBodyEmptyInputInput {
 6634   6579   
    #[pyo3(get, set)]
 6635         -
    /// :type rest_json.types.DateTime:
        6580  +
    /// :type typing.Optional\[str\]:
 6636   6581   
    #[allow(missing_docs)] // documentation missing in model
 6637         -
    pub target_date_time: ::aws_smithy_http_server_python::types::DateTime,
        6582  +
    pub header: ::std::option::Option<::std::string::String>,
 6638   6583   
}
 6639         -
impl HttpRequestWithLabelsAndTimestampFormatInput {
 6640         -
    #[allow(missing_docs)] // documentation missing in model
 6641         -
    pub fn member_epoch_seconds(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6642         -
        &self.member_epoch_seconds
 6643         -
    }
 6644         -
    #[allow(missing_docs)] // documentation missing in model
 6645         -
    pub fn member_http_date(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6646         -
        &self.member_http_date
 6647         -
    }
 6648         -
    #[allow(missing_docs)] // documentation missing in model
 6649         -
    pub fn member_date_time(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6650         -
        &self.member_date_time
 6651         -
    }
 6652         -
    #[allow(missing_docs)] // documentation missing in model
 6653         -
    pub fn default_format(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6654         -
        &self.default_format
 6655         -
    }
 6656         -
    #[allow(missing_docs)] // documentation missing in model
 6657         -
    pub fn target_epoch_seconds(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6658         -
        &self.target_epoch_seconds
 6659         -
    }
 6660         -
    #[allow(missing_docs)] // documentation missing in model
 6661         -
    pub fn target_http_date(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6662         -
        &self.target_http_date
 6663         -
    }
        6584  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
 6664   6585   
    #[allow(missing_docs)] // documentation missing in model
 6665         -
    pub fn target_date_time(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6666         -
        &self.target_date_time
        6586  +
    pub fn header(&self) -> ::std::option::Option<&str> {
        6587  +
        self.header.as_deref()
 6667   6588   
    }
 6668   6589   
}
 6669   6590   
#[allow(clippy::new_without_default)]
 6670   6591   
#[allow(clippy::too_many_arguments)]
 6671   6592   
#[::pyo3::pymethods]
 6672         -
impl HttpRequestWithLabelsAndTimestampFormatInput {
        6593  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
 6673   6594   
    #[new]
 6674         -
    pub fn new(
 6675         -
        member_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
 6676         -
        member_http_date: ::aws_smithy_http_server_python::types::DateTime,
 6677         -
        member_date_time: ::aws_smithy_http_server_python::types::DateTime,
 6678         -
        default_format: ::aws_smithy_http_server_python::types::DateTime,
 6679         -
        target_epoch_seconds: ::aws_smithy_http_server_python::types::DateTime,
 6680         -
        target_http_date: ::aws_smithy_http_server_python::types::DateTime,
 6681         -
        target_date_time: ::aws_smithy_http_server_python::types::DateTime,
 6682         -
    ) -> Self {
 6683         -
        Self {
 6684         -
            member_epoch_seconds,
 6685         -
            member_http_date,
 6686         -
            member_date_time,
 6687         -
            default_format,
 6688         -
            target_epoch_seconds,
 6689         -
            target_http_date,
 6690         -
            target_date_time,
 6691         -
        }
        6595  +
    pub fn new(header: ::std::option::Option<::std::string::String>) -> Self {
        6596  +
        Self { header }
 6692   6597   
    }
 6693   6598   
    fn __repr__(&self) -> String {
 6694   6599   
        format!("{self:?}")
 6695   6600   
    }
 6696   6601   
    fn __str__(&self) -> String {
 6697   6602   
        format!("{self:?}")
 6698   6603   
    }
 6699   6604   
}
 6700   6605   
impl<'source> ::pyo3::FromPyObject<'source>
 6701         -
    for std::boxed::Box<HttpRequestWithLabelsAndTimestampFormatInput>
        6606  +
    for std::boxed::Box<MalformedContentTypeWithoutBodyEmptyInputInput>
 6702   6607   
{
 6703   6608   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6704         -
        ob.extract::<HttpRequestWithLabelsAndTimestampFormatInput>()
        6609  +
        ob.extract::<MalformedContentTypeWithoutBodyEmptyInputInput>()
 6705   6610   
            .map(Box::new)
 6706   6611   
    }
 6707   6612   
}
 6708   6613   
 6709   6614   
impl ::pyo3::IntoPy<::pyo3::PyObject>
 6710         -
    for std::boxed::Box<HttpRequestWithLabelsAndTimestampFormatInput>
        6615  +
    for std::boxed::Box<MalformedContentTypeWithoutBodyEmptyInputInput>
 6711   6616   
{
 6712   6617   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6713   6618   
        (*self).into_py(py)
 6714   6619   
    }
 6715   6620   
}
 6716   6621   
impl crate::constrained::Constrained
 6717         -
    for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
        6622  +
    for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
 6718   6623   
{
 6719   6624   
    type Unconstrained =
 6720         -
        crate::input::http_request_with_labels_and_timestamp_format_input_internal::Builder;
        6625  +
        crate::input::malformed_content_type_without_body_empty_input_input_internal::Builder;
 6721   6626   
}
 6722         -
impl HttpRequestWithLabelsAndTimestampFormatInput {
 6723         -
    /// Creates a new builder-style object to manufacture [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 6724         -
    pub fn builder() -> crate::input::http_request_with_labels_and_timestamp_format_input::Builder {
 6725         -
        crate::input::http_request_with_labels_and_timestamp_format_input::Builder::default()
        6627  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
        6628  +
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
        6629  +
    pub fn builder() -> crate::input::malformed_content_type_without_body_empty_input_input::Builder
        6630  +
    {
        6631  +
        crate::input::malformed_content_type_without_body_empty_input_input::Builder::default()
 6726   6632   
    }
 6727   6633   
}
 6728   6634   
 6729   6635   
#[::pyo3::pyclass]
 6730         -
/// :param string str:
 6731         -
/// :param short int:
 6732         -
/// :param integer int:
 6733         -
/// :param long int:
 6734         -
/// :param float float:
 6735         -
/// :param double float:
 6736         -
/// :param boolean bool:
 6737         -
/// :param timestamp rest_json.types.DateTime:
        6636  +
/// :param hi typing.Optional\[str\]:
 6738   6637   
/// :rtype None:
 6739   6638   
#[allow(missing_docs)] // documentation missing in model
 6740         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 6741         -
pub struct HttpRequestWithLabelsInput {
 6742         -
    #[pyo3(get, set)]
 6743         -
    /// :type str:
 6744         -
    #[allow(missing_docs)] // documentation missing in model
 6745         -
    pub string: ::std::string::String,
 6746         -
    #[pyo3(get, set)]
 6747         -
    /// :type int:
 6748         -
    #[allow(missing_docs)] // documentation missing in model
 6749         -
    pub short: i16,
 6750         -
    #[pyo3(get, set)]
 6751         -
    /// :type int:
 6752         -
    #[allow(missing_docs)] // documentation missing in model
 6753         -
    pub integer: i32,
 6754         -
    #[pyo3(get, set)]
 6755         -
    /// :type int:
 6756         -
    #[allow(missing_docs)] // documentation missing in model
 6757         -
    pub long: i64,
        6639  +
#[derive(
        6640  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6641  +
)]
        6642  +
pub struct MalformedContentTypeWithBodyInput {
 6758   6643   
    #[pyo3(get, set)]
 6759         -
    /// :type float:
        6644  +
    /// :type typing.Optional\[str\]:
 6760   6645   
    #[allow(missing_docs)] // documentation missing in model
 6761         -
    pub float: f32,
 6762         -
    #[pyo3(get, set)]
 6763         -
    /// :type float:
        6646  +
    pub hi: ::std::option::Option<::std::string::String>,
        6647  +
}
        6648  +
impl MalformedContentTypeWithBodyInput {
 6764   6649   
    #[allow(missing_docs)] // documentation missing in model
 6765         -
    pub double: f64,
 6766         -
    #[pyo3(get, set)]
 6767         -
    /// :type bool:
 6768         -
    /// Serialized in the path as true or false.
 6769         -
    pub boolean: bool,
 6770         -
    #[pyo3(get, set)]
 6771         -
    /// :type rest_json.types.DateTime:
 6772         -
    /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
 6773         -
    pub timestamp: ::aws_smithy_http_server_python::types::DateTime,
 6774         -
}
 6775         -
impl HttpRequestWithLabelsInput {
 6776         -
    #[allow(missing_docs)] // documentation missing in model
 6777         -
    pub fn string(&self) -> &str {
 6778         -
        use std::ops::Deref;
 6779         -
        self.string.deref()
 6780         -
    }
 6781         -
    #[allow(missing_docs)] // documentation missing in model
 6782         -
    pub fn short(&self) -> i16 {
 6783         -
        self.short
 6784         -
    }
 6785         -
    #[allow(missing_docs)] // documentation missing in model
 6786         -
    pub fn integer(&self) -> i32 {
 6787         -
        self.integer
 6788         -
    }
 6789         -
    #[allow(missing_docs)] // documentation missing in model
 6790         -
    pub fn long(&self) -> i64 {
 6791         -
        self.long
 6792         -
    }
 6793         -
    #[allow(missing_docs)] // documentation missing in model
 6794         -
    pub fn float(&self) -> f32 {
 6795         -
        self.float
 6796         -
    }
 6797         -
    #[allow(missing_docs)] // documentation missing in model
 6798         -
    pub fn double(&self) -> f64 {
 6799         -
        self.double
 6800         -
    }
 6801         -
    /// Serialized in the path as true or false.
 6802         -
    pub fn boolean(&self) -> bool {
 6803         -
        self.boolean
 6804         -
    }
 6805         -
    /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
 6806         -
    pub fn timestamp(&self) -> &::aws_smithy_http_server_python::types::DateTime {
 6807         -
        &self.timestamp
        6650  +
    pub fn hi(&self) -> ::std::option::Option<&str> {
        6651  +
        self.hi.as_deref()
 6808   6652   
    }
 6809   6653   
}
 6810   6654   
#[allow(clippy::new_without_default)]
 6811   6655   
#[allow(clippy::too_many_arguments)]
 6812   6656   
#[::pyo3::pymethods]
 6813         -
impl HttpRequestWithLabelsInput {
        6657  +
impl MalformedContentTypeWithBodyInput {
 6814   6658   
    #[new]
 6815         -
    pub fn new(
 6816         -
        string: ::std::string::String,
 6817         -
        short: i16,
 6818         -
        integer: i32,
 6819         -
        long: i64,
 6820         -
        float: f32,
 6821         -
        double: f64,
 6822         -
        boolean: bool,
 6823         -
        timestamp: ::aws_smithy_http_server_python::types::DateTime,
 6824         -
    ) -> Self {
 6825         -
        Self {
 6826         -
            string,
 6827         -
            short,
 6828         -
            integer,
 6829         -
            long,
 6830         -
            float,
 6831         -
            double,
 6832         -
            boolean,
 6833         -
            timestamp,
 6834         -
        }
        6659  +
    pub fn new(hi: ::std::option::Option<::std::string::String>) -> Self {
        6660  +
        Self { hi }
 6835   6661   
    }
 6836   6662   
    fn __repr__(&self) -> String {
 6837   6663   
        format!("{self:?}")
 6838   6664   
    }
 6839   6665   
    fn __str__(&self) -> String {
 6840   6666   
        format!("{self:?}")
 6841   6667   
    }
 6842   6668   
}
 6843         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HttpRequestWithLabelsInput> {
        6669  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedContentTypeWithBodyInput> {
 6844   6670   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6845         -
        ob.extract::<HttpRequestWithLabelsInput>().map(Box::new)
        6671  +
        ob.extract::<MalformedContentTypeWithBodyInput>()
        6672  +
            .map(Box::new)
 6846   6673   
    }
 6847   6674   
}
 6848   6675   
 6849         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HttpRequestWithLabelsInput> {
        6676  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedContentTypeWithBodyInput> {
 6850   6677   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6851   6678   
        (*self).into_py(py)
 6852   6679   
    }
 6853   6680   
}
 6854         -
impl crate::constrained::Constrained for crate::input::HttpRequestWithLabelsInput {
 6855         -
    type Unconstrained = crate::input::http_request_with_labels_input_internal::Builder;
        6681  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithBodyInput {
        6682  +
    type Unconstrained = crate::input::malformed_content_type_with_body_input_internal::Builder;
 6856   6683   
}
 6857         -
impl HttpRequestWithLabelsInput {
 6858         -
    /// Creates a new builder-style object to manufacture [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
 6859         -
    pub fn builder() -> crate::input::http_request_with_labels_input::Builder {
 6860         -
        crate::input::http_request_with_labels_input::Builder::default()
        6684  +
impl MalformedContentTypeWithBodyInput {
        6685  +
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
        6686  +
    pub fn builder() -> crate::input::malformed_content_type_with_body_input::Builder {
        6687  +
        crate::input::malformed_content_type_with_body_input::Builder::default()
 6861   6688   
    }
 6862   6689   
}
 6863   6690   
 6864   6691   
#[::pyo3::pyclass]
 6865         -
/// :param json typing.Optional\[str\]:
        6692  +
/// :param payload typing.Optional\[rest_json.types.Blob\]:
 6866   6693   
/// :rtype None:
 6867   6694   
#[allow(missing_docs)] // documentation missing in model
 6868   6695   
#[derive(
 6869   6696   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 6870   6697   
)]
 6871         -
pub struct MediaTypeHeaderInput {
        6698  +
pub struct MalformedContentTypeWithPayloadInput {
 6872   6699   
    #[pyo3(get, set)]
 6873         -
    /// :type typing.Optional\[str\]:
        6700  +
    /// :type typing.Optional\[rest_json.types.Blob\]:
 6874   6701   
    #[allow(missing_docs)] // documentation missing in model
 6875         -
    pub json: ::std::option::Option<::std::string::String>,
        6702  +
    pub payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 6876   6703   
}
 6877         -
impl MediaTypeHeaderInput {
        6704  +
impl MalformedContentTypeWithPayloadInput {
 6878   6705   
    #[allow(missing_docs)] // documentation missing in model
 6879         -
    pub fn json(&self) -> ::std::option::Option<&str> {
 6880         -
        self.json.as_deref()
        6706  +
    pub fn payload(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        6707  +
        self.payload.as_ref()
 6881   6708   
    }
 6882   6709   
}
 6883   6710   
#[allow(clippy::new_without_default)]
 6884   6711   
#[allow(clippy::too_many_arguments)]
 6885   6712   
#[::pyo3::pymethods]
 6886         -
impl MediaTypeHeaderInput {
        6713  +
impl MalformedContentTypeWithPayloadInput {
 6887   6714   
    #[new]
 6888         -
    pub fn new(json: ::std::option::Option<::std::string::String>) -> Self {
 6889         -
        Self { json }
        6715  +
    pub fn new(
        6716  +
        payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        6717  +
    ) -> Self {
        6718  +
        Self { payload }
 6890   6719   
    }
 6891   6720   
    fn __repr__(&self) -> String {
 6892   6721   
        format!("{self:?}")
 6893   6722   
    }
 6894   6723   
    fn __str__(&self) -> String {
 6895   6724   
        format!("{self:?}")
 6896   6725   
    }
 6897   6726   
}
 6898         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MediaTypeHeaderInput> {
        6727  +
impl<'source> ::pyo3::FromPyObject<'source>
        6728  +
    for std::boxed::Box<MalformedContentTypeWithPayloadInput>
        6729  +
{
 6899   6730   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 6900         -
        ob.extract::<MediaTypeHeaderInput>().map(Box::new)
        6731  +
        ob.extract::<MalformedContentTypeWithPayloadInput>()
        6732  +
            .map(Box::new)
 6901   6733   
    }
 6902   6734   
}
 6903   6735   
 6904         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MediaTypeHeaderInput> {
        6736  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedContentTypeWithPayloadInput> {
 6905   6737   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 6906   6738   
        (*self).into_py(py)
 6907   6739   
    }
 6908   6740   
}
 6909         -
impl crate::constrained::Constrained for crate::input::MediaTypeHeaderInput {
 6910         -
    type Unconstrained = crate::input::media_type_header_input_internal::Builder;
        6741  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithPayloadInput {
        6742  +
    type Unconstrained = crate::input::malformed_content_type_with_payload_input_internal::Builder;
 6911   6743   
}
 6912         -
impl MediaTypeHeaderInput {
 6913         -
    /// Creates a new builder-style object to manufacture [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
 6914         -
    pub fn builder() -> crate::input::media_type_header_input::Builder {
 6915         -
        crate::input::media_type_header_input::Builder::default()
        6744  +
impl MalformedContentTypeWithPayloadInput {
        6745  +
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
        6746  +
    pub fn builder() -> crate::input::malformed_content_type_with_payload_input::Builder {
        6747  +
        crate::input::malformed_content_type_with_payload_input::Builder::default()
 6916   6748   
    }
 6917   6749   
}
 6918   6750   
 6919   6751   
#[::pyo3::pyclass]
 6920         -
/// :param member_epoch_seconds typing.Optional\[rest_json.types.DateTime\]:
 6921         -
/// :param member_http_date typing.Optional\[rest_json.types.DateTime\]:
 6922         -
/// :param member_date_time typing.Optional\[rest_json.types.DateTime\]:
 6923         -
/// :param default_format typing.Optional\[rest_json.types.DateTime\]:
 6924         -
/// :param target_epoch_seconds typing.Optional\[rest_json.types.DateTime\]:
 6925         -
/// :param target_http_date typing.Optional\[rest_json.types.DateTime\]:
 6926         -
/// :param target_date_time typing.Optional\[rest_json.types.DateTime\]:
        6752  +
/// :param payload typing.Optional\[str\]:
 6927   6753   
/// :rtype None:
 6928   6754   
#[allow(missing_docs)] // documentation missing in model
 6929   6755   
#[derive(
 6930   6756   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 6931   6757   
)]
 6932         -
pub struct TimestampFormatHeadersInput {
 6933         -
    #[pyo3(get, set)]
 6934         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6935         -
    #[allow(missing_docs)] // documentation missing in model
 6936         -
    pub member_epoch_seconds:
 6937         -
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6938         -
    #[pyo3(get, set)]
 6939         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6940         -
    #[allow(missing_docs)] // documentation missing in model
 6941         -
    pub member_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6942         -
    #[pyo3(get, set)]
 6943         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6944         -
    #[allow(missing_docs)] // documentation missing in model
 6945         -
    pub member_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6946         -
    #[pyo3(get, set)]
 6947         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6948         -
    #[allow(missing_docs)] // documentation missing in model
 6949         -
    pub default_format: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6950         -
    #[pyo3(get, set)]
 6951         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6952         -
    #[allow(missing_docs)] // documentation missing in model
 6953         -
    pub target_epoch_seconds:
 6954         -
        ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 6955         -
    #[pyo3(get, set)]
 6956         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
 6957         -
    #[allow(missing_docs)] // documentation missing in model
 6958         -
    pub target_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        6758  +
pub struct MalformedContentTypeWithGenericStringInput {
 6959   6759   
    #[pyo3(get, set)]
 6960         -
    /// :type typing.Optional\[rest_json.types.DateTime\]:
        6760  +
    /// :type typing.Optional\[str\]:
 6961   6761   
    #[allow(missing_docs)] // documentation missing in model
 6962         -
    pub target_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        6762  +
    pub payload: ::std::option::Option<::std::string::String>,
 6963   6763   
}
 6964         -
impl TimestampFormatHeadersInput {
 6965         -
    #[allow(missing_docs)] // documentation missing in model
 6966         -
    pub fn member_epoch_seconds(
 6967         -
        &self,
 6968         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6969         -
        self.member_epoch_seconds.as_ref()
 6970         -
    }
 6971         -
    #[allow(missing_docs)] // documentation missing in model
 6972         -
    pub fn member_http_date(
 6973         -
        &self,
 6974         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6975         -
        self.member_http_date.as_ref()
 6976         -
    }
 6977         -
    #[allow(missing_docs)] // documentation missing in model
 6978         -
    pub fn member_date_time(
 6979         -
        &self,
 6980         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6981         -
        self.member_date_time.as_ref()
 6982         -
    }
 6983         -
    #[allow(missing_docs)] // documentation missing in model
 6984         -
    pub fn default_format(
 6985         -
        &self,
 6986         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6987         -
        self.default_format.as_ref()
 6988         -
    }
 6989         -
    #[allow(missing_docs)] // documentation missing in model
 6990         -
    pub fn target_epoch_seconds(
 6991         -
        &self,
 6992         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6993         -
        self.target_epoch_seconds.as_ref()
 6994         -
    }
 6995         -
    #[allow(missing_docs)] // documentation missing in model
 6996         -
    pub fn target_http_date(
 6997         -
        &self,
 6998         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 6999         -
        self.target_http_date.as_ref()
 7000         -
    }
        6764  +
impl MalformedContentTypeWithGenericStringInput {
 7001   6765   
    #[allow(missing_docs)] // documentation missing in model
 7002         -
    pub fn target_date_time(
 7003         -
        &self,
 7004         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 7005         -
        self.target_date_time.as_ref()
        6766  +
    pub fn payload(&self) -> ::std::option::Option<&str> {
        6767  +
        self.payload.as_deref()
 7006   6768   
    }
 7007   6769   
}
 7008   6770   
#[allow(clippy::new_without_default)]
 7009   6771   
#[allow(clippy::too_many_arguments)]
 7010   6772   
#[::pyo3::pymethods]
 7011         -
impl TimestampFormatHeadersInput {
        6773  +
impl MalformedContentTypeWithGenericStringInput {
 7012   6774   
    #[new]
 7013         -
    pub fn new(
 7014         -
        member_epoch_seconds: ::std::option::Option<
 7015         -
            ::aws_smithy_http_server_python::types::DateTime,
 7016         -
        >,
 7017         -
        member_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 7018         -
        member_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 7019         -
        default_format: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 7020         -
        target_epoch_seconds: ::std::option::Option<
 7021         -
            ::aws_smithy_http_server_python::types::DateTime,
 7022         -
        >,
 7023         -
        target_http_date: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 7024         -
        target_date_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 7025         -
    ) -> Self {
 7026         -
        Self {
 7027         -
            member_epoch_seconds,
 7028         -
            member_http_date,
 7029         -
            member_date_time,
 7030         -
            default_format,
 7031         -
            target_epoch_seconds,
 7032         -
            target_http_date,
 7033         -
            target_date_time,
 7034         -
        }
        6775  +
    pub fn new(payload: ::std::option::Option<::std::string::String>) -> Self {
        6776  +
        Self { payload }
 7035   6777   
    }
 7036   6778   
    fn __repr__(&self) -> String {
 7037   6779   
        format!("{self:?}")
 7038   6780   
    }
 7039   6781   
    fn __str__(&self) -> String {
 7040   6782   
        format!("{self:?}")
 7041   6783   
    }
 7042   6784   
}
 7043         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TimestampFormatHeadersInput> {
        6785  +
impl<'source> ::pyo3::FromPyObject<'source>
        6786  +
    for std::boxed::Box<MalformedContentTypeWithGenericStringInput>
        6787  +
{
 7044   6788   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7045         -
        ob.extract::<TimestampFormatHeadersInput>().map(Box::new)
        6789  +
        ob.extract::<MalformedContentTypeWithGenericStringInput>()
        6790  +
            .map(Box::new)
 7046   6791   
    }
 7047   6792   
}
 7048   6793   
 7049         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TimestampFormatHeadersInput> {
        6794  +
impl ::pyo3::IntoPy<::pyo3::PyObject>
        6795  +
    for std::boxed::Box<MalformedContentTypeWithGenericStringInput>
        6796  +
{
 7050   6797   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7051   6798   
        (*self).into_py(py)
 7052   6799   
    }
 7053   6800   
}
 7054         -
impl crate::constrained::Constrained for crate::input::TimestampFormatHeadersInput {
 7055         -
    type Unconstrained = crate::input::timestamp_format_headers_input_internal::Builder;
        6801  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithGenericStringInput {
        6802  +
    type Unconstrained =
        6803  +
        crate::input::malformed_content_type_with_generic_string_input_internal::Builder;
 7056   6804   
}
 7057         -
impl TimestampFormatHeadersInput {
 7058         -
    /// Creates a new builder-style object to manufacture [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
 7059         -
    pub fn builder() -> crate::input::timestamp_format_headers_input::Builder {
 7060         -
        crate::input::timestamp_format_headers_input::Builder::default()
        6805  +
impl MalformedContentTypeWithGenericStringInput {
        6806  +
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
        6807  +
    pub fn builder() -> crate::input::malformed_content_type_with_generic_string_input::Builder {
        6808  +
        crate::input::malformed_content_type_with_generic_string_input::Builder::default()
 7061   6809   
    }
 7062   6810   
}
 7063   6811   
 7064   6812   
#[::pyo3::pyclass]
 7065         -
/// :param a typing.Optional\[str\]:
 7066         -
/// :param b typing.Optional\[str\]:
 7067         -
/// :param c typing.Optional\[typing.List\[str\]\]:
 7068   6813   
/// :rtype None:
 7069   6814   
#[allow(missing_docs)] // documentation missing in model
 7070   6815   
#[derive(
 7071   6816   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 7072   6817   
)]
 7073         -
pub struct NullAndEmptyHeadersServerInput {
 7074         -
    #[pyo3(get, set)]
 7075         -
    /// :type typing.Optional\[str\]:
 7076         -
    #[allow(missing_docs)] // documentation missing in model
 7077         -
    pub a: ::std::option::Option<::std::string::String>,
 7078         -
    #[pyo3(get, set)]
 7079         -
    /// :type typing.Optional\[str\]:
 7080         -
    #[allow(missing_docs)] // documentation missing in model
 7081         -
    pub b: ::std::option::Option<::std::string::String>,
 7082         -
    #[pyo3(get, set)]
 7083         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 7084         -
    #[allow(missing_docs)] // documentation missing in model
 7085         -
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        6818  +
pub struct MalformedAcceptWithBodyInput {}
        6819  +
#[allow(clippy::new_without_default)]
        6820  +
#[allow(clippy::too_many_arguments)]
        6821  +
#[::pyo3::pymethods]
        6822  +
impl MalformedAcceptWithBodyInput {
        6823  +
    #[new]
        6824  +
    pub fn new() -> Self {
        6825  +
        Self {}
        6826  +
    }
        6827  +
    fn __repr__(&self) -> String {
        6828  +
        format!("{self:?}")
        6829  +
    }
        6830  +
    fn __str__(&self) -> String {
        6831  +
        format!("{self:?}")
        6832  +
    }
 7086   6833   
}
 7087         -
impl NullAndEmptyHeadersServerInput {
 7088         -
    #[allow(missing_docs)] // documentation missing in model
 7089         -
    pub fn a(&self) -> ::std::option::Option<&str> {
 7090         -
        self.a.as_deref()
        6834  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedAcceptWithBodyInput> {
        6835  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        6836  +
        ob.extract::<MalformedAcceptWithBodyInput>().map(Box::new)
 7091   6837   
    }
 7092         -
    #[allow(missing_docs)] // documentation missing in model
 7093         -
    pub fn b(&self) -> ::std::option::Option<&str> {
 7094         -
        self.b.as_deref()
        6838  +
}
        6839  +
        6840  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedAcceptWithBodyInput> {
        6841  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        6842  +
        (*self).into_py(py)
 7095   6843   
    }
 7096         -
    #[allow(missing_docs)] // documentation missing in model
 7097         -
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
 7098         -
        self.c.as_deref()
        6844  +
}
        6845  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithBodyInput {
        6846  +
    type Unconstrained = crate::input::malformed_accept_with_body_input_internal::Builder;
        6847  +
}
        6848  +
impl MalformedAcceptWithBodyInput {
        6849  +
    /// Creates a new builder-style object to manufacture [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        6850  +
    pub fn builder() -> crate::input::malformed_accept_with_body_input::Builder {
        6851  +
        crate::input::malformed_accept_with_body_input::Builder::default()
 7099   6852   
    }
 7100   6853   
}
        6854  +
        6855  +
#[::pyo3::pyclass]
        6856  +
/// :rtype None:
        6857  +
#[allow(missing_docs)] // documentation missing in model
        6858  +
#[derive(
        6859  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6860  +
)]
        6861  +
pub struct MalformedAcceptWithPayloadInput {}
 7101   6862   
#[allow(clippy::new_without_default)]
 7102   6863   
#[allow(clippy::too_many_arguments)]
 7103   6864   
#[::pyo3::pymethods]
 7104         -
impl NullAndEmptyHeadersServerInput {
        6865  +
impl MalformedAcceptWithPayloadInput {
 7105   6866   
    #[new]
 7106         -
    pub fn new(
 7107         -
        a: ::std::option::Option<::std::string::String>,
 7108         -
        b: ::std::option::Option<::std::string::String>,
 7109         -
        c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 7110         -
    ) -> Self {
 7111         -
        Self { a, b, c }
        6867  +
    pub fn new() -> Self {
        6868  +
        Self {}
 7112   6869   
    }
 7113   6870   
    fn __repr__(&self) -> String {
 7114   6871   
        format!("{self:?}")
 7115   6872   
    }
 7116   6873   
    fn __str__(&self) -> String {
 7117   6874   
        format!("{self:?}")
 7118   6875   
    }
 7119   6876   
}
 7120         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullAndEmptyHeadersServerInput> {
        6877  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<MalformedAcceptWithPayloadInput> {
 7121   6878   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7122         -
        ob.extract::<NullAndEmptyHeadersServerInput>().map(Box::new)
        6879  +
        ob.extract::<MalformedAcceptWithPayloadInput>()
        6880  +
            .map(Box::new)
 7123   6881   
    }
 7124   6882   
}
 7125   6883   
 7126         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullAndEmptyHeadersServerInput> {
        6884  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedAcceptWithPayloadInput> {
 7127   6885   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7128   6886   
        (*self).into_py(py)
 7129   6887   
    }
 7130   6888   
}
 7131         -
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersServerInput {
 7132         -
    type Unconstrained = crate::input::null_and_empty_headers_server_input_internal::Builder;
        6889  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithPayloadInput {
        6890  +
    type Unconstrained = crate::input::malformed_accept_with_payload_input_internal::Builder;
 7133   6891   
}
 7134         -
impl NullAndEmptyHeadersServerInput {
 7135         -
    /// Creates a new builder-style object to manufacture [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
 7136         -
    pub fn builder() -> crate::input::null_and_empty_headers_server_input::Builder {
 7137         -
        crate::input::null_and_empty_headers_server_input::Builder::default()
        6892  +
impl MalformedAcceptWithPayloadInput {
        6893  +
    /// Creates a new builder-style object to manufacture [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        6894  +
    pub fn builder() -> crate::input::malformed_accept_with_payload_input::Builder {
        6895  +
        crate::input::malformed_accept_with_payload_input::Builder::default()
 7138   6896   
    }
 7139   6897   
}
 7140   6898   
 7141   6899   
#[::pyo3::pyclass]
 7142         -
/// :param a typing.Optional\[str\]:
 7143         -
/// :param b typing.Optional\[str\]:
 7144         -
/// :param c typing.Optional\[typing.List\[str\]\]:
 7145   6900   
/// :rtype None:
 7146   6901   
#[allow(missing_docs)] // documentation missing in model
 7147   6902   
#[derive(
 7148   6903   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 7149   6904   
)]
 7150         -
pub struct NullAndEmptyHeadersClientInput {
 7151         -
    #[pyo3(get, set)]
 7152         -
    /// :type typing.Optional\[str\]:
 7153         -
    #[allow(missing_docs)] // documentation missing in model
 7154         -
    pub a: ::std::option::Option<::std::string::String>,
        6905  +
pub struct MalformedAcceptWithGenericStringInput {}
        6906  +
#[allow(clippy::new_without_default)]
        6907  +
#[allow(clippy::too_many_arguments)]
        6908  +
#[::pyo3::pymethods]
        6909  +
impl MalformedAcceptWithGenericStringInput {
        6910  +
    #[new]
        6911  +
    pub fn new() -> Self {
        6912  +
        Self {}
        6913  +
    }
        6914  +
    fn __repr__(&self) -> String {
        6915  +
        format!("{self:?}")
        6916  +
    }
        6917  +
    fn __str__(&self) -> String {
        6918  +
        format!("{self:?}")
        6919  +
    }
        6920  +
}
        6921  +
impl<'source> ::pyo3::FromPyObject<'source>
        6922  +
    for std::boxed::Box<MalformedAcceptWithGenericStringInput>
        6923  +
{
        6924  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        6925  +
        ob.extract::<MalformedAcceptWithGenericStringInput>()
        6926  +
            .map(Box::new)
        6927  +
    }
        6928  +
}
        6929  +
        6930  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<MalformedAcceptWithGenericStringInput> {
        6931  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        6932  +
        (*self).into_py(py)
        6933  +
    }
        6934  +
}
        6935  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithGenericStringInput {
        6936  +
    type Unconstrained = crate::input::malformed_accept_with_generic_string_input_internal::Builder;
        6937  +
}
        6938  +
impl MalformedAcceptWithGenericStringInput {
        6939  +
    /// Creates a new builder-style object to manufacture [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        6940  +
    pub fn builder() -> crate::input::malformed_accept_with_generic_string_input::Builder {
        6941  +
        crate::input::malformed_accept_with_generic_string_input::Builder::default()
        6942  +
    }
        6943  +
}
        6944  +
        6945  +
#[::pyo3::pyclass]
        6946  +
/// :param test_id typing.Optional\[str\]:
        6947  +
/// :param test_config typing.Optional\[rest_json.model.TestConfig\]:
        6948  +
/// :rtype None:
        6949  +
#[allow(missing_docs)] // documentation missing in model
        6950  +
#[derive(
        6951  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        6952  +
)]
        6953  +
pub struct TestBodyStructureInput {
 7155   6954   
    #[pyo3(get, set)]
 7156   6955   
    /// :type typing.Optional\[str\]:
 7157   6956   
    #[allow(missing_docs)] // documentation missing in model
 7158         -
    pub b: ::std::option::Option<::std::string::String>,
        6957  +
    pub test_id: ::std::option::Option<::std::string::String>,
 7159   6958   
    #[pyo3(get, set)]
 7160         -
    /// :type typing.Optional\[typing.List\[str\]\]:
        6959  +
    /// :type typing.Optional\[rest_json.model.TestConfig\]:
 7161   6960   
    #[allow(missing_docs)] // documentation missing in model
 7162         -
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        6961  +
    pub test_config: ::std::option::Option<crate::model::TestConfig>,
 7163   6962   
}
 7164         -
impl NullAndEmptyHeadersClientInput {
 7165         -
    #[allow(missing_docs)] // documentation missing in model
 7166         -
    pub fn a(&self) -> ::std::option::Option<&str> {
 7167         -
        self.a.as_deref()
 7168         -
    }
        6963  +
impl TestBodyStructureInput {
 7169   6964   
    #[allow(missing_docs)] // documentation missing in model
 7170         -
    pub fn b(&self) -> ::std::option::Option<&str> {
 7171         -
        self.b.as_deref()
        6965  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
        6966  +
        self.test_id.as_deref()
 7172   6967   
    }
 7173   6968   
    #[allow(missing_docs)] // documentation missing in model
 7174         -
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
 7175         -
        self.c.as_deref()
        6969  +
    pub fn test_config(&self) -> ::std::option::Option<&crate::model::TestConfig> {
        6970  +
        self.test_config.as_ref()
 7176   6971   
    }
 7177   6972   
}
 7178   6973   
#[allow(clippy::new_without_default)]
 7179   6974   
#[allow(clippy::too_many_arguments)]
 7180   6975   
#[::pyo3::pymethods]
 7181         -
impl NullAndEmptyHeadersClientInput {
        6976  +
impl TestBodyStructureInput {
 7182   6977   
    #[new]
 7183   6978   
    pub fn new(
 7184         -
        a: ::std::option::Option<::std::string::String>,
 7185         -
        b: ::std::option::Option<::std::string::String>,
 7186         -
        c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        6979  +
        test_id: ::std::option::Option<::std::string::String>,
        6980  +
        test_config: ::std::option::Option<crate::model::TestConfig>,
 7187   6981   
    ) -> Self {
 7188         -
        Self { a, b, c }
        6982  +
        Self {
        6983  +
            test_id,
        6984  +
            test_config,
        6985  +
        }
 7189   6986   
    }
 7190   6987   
    fn __repr__(&self) -> String {
 7191   6988   
        format!("{self:?}")
 7192   6989   
    }
 7193   6990   
    fn __str__(&self) -> String {
 7194   6991   
        format!("{self:?}")
 7195   6992   
    }
 7196   6993   
}
 7197         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullAndEmptyHeadersClientInput> {
        6994  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestBodyStructureInput> {
 7198   6995   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7199         -
        ob.extract::<NullAndEmptyHeadersClientInput>().map(Box::new)
        6996  +
        ob.extract::<TestBodyStructureInput>().map(Box::new)
 7200   6997   
    }
 7201   6998   
}
 7202   6999   
 7203         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullAndEmptyHeadersClientInput> {
        7000  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestBodyStructureInput> {
 7204   7001   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7205   7002   
        (*self).into_py(py)
 7206   7003   
    }
 7207   7004   
}
 7208         -
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersClientInput {
 7209         -
    type Unconstrained = crate::input::null_and_empty_headers_client_input_internal::Builder;
        7005  +
impl crate::constrained::Constrained for crate::input::TestBodyStructureInput {
        7006  +
    type Unconstrained = crate::input::test_body_structure_input_internal::Builder;
 7210   7007   
}
 7211         -
impl NullAndEmptyHeadersClientInput {
 7212         -
    /// Creates a new builder-style object to manufacture [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
 7213         -
    pub fn builder() -> crate::input::null_and_empty_headers_client_input::Builder {
 7214         -
        crate::input::null_and_empty_headers_client_input::Builder::default()
        7008  +
impl TestBodyStructureInput {
        7009  +
    /// Creates a new builder-style object to manufacture [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        7010  +
    pub fn builder() -> crate::input::test_body_structure_input::Builder {
        7011  +
        crate::input::test_body_structure_input::Builder::default()
 7215   7012   
    }
 7216   7013   
}
 7217   7014   
 7218   7015   
#[::pyo3::pyclass]
 7219         -
/// :param header_string typing.Optional\[str\]:
 7220         -
/// :param header_byte typing.Optional\[int\]:
 7221         -
/// :param header_short typing.Optional\[int\]:
 7222         -
/// :param header_integer typing.Optional\[int\]:
 7223         -
/// :param header_long typing.Optional\[int\]:
 7224         -
/// :param header_float typing.Optional\[float\]:
 7225         -
/// :param header_double typing.Optional\[float\]:
 7226         -
/// :param header_true_bool typing.Optional\[bool\]:
 7227         -
/// :param header_false_bool typing.Optional\[bool\]:
 7228         -
/// :param header_string_list typing.Optional\[typing.List\[str\]\]:
 7229         -
/// :param header_string_set typing.Optional\[typing.List\[str\]\]:
 7230         -
/// :param header_integer_list typing.Optional\[typing.List\[int\]\]:
 7231         -
/// :param header_boolean_list typing.Optional\[typing.List\[bool\]\]:
 7232         -
/// :param header_timestamp_list typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 7233         -
/// :param header_enum typing.Optional\[rest_json.model.FooEnum\]:
 7234         -
/// :param header_enum_list typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 7235         -
/// :param header_integer_enum typing.Optional\[int\]:
 7236         -
/// :param header_integer_enum_list typing.Optional\[typing.List\[int\]\]:
        7016  +
/// :param test_id typing.Optional\[str\]:
        7017  +
/// :param payload_config typing.Optional\[rest_json.model.PayloadConfig\]:
 7237   7018   
/// :rtype None:
 7238   7019   
#[allow(missing_docs)] // documentation missing in model
 7239         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 7240         -
pub struct InputAndOutputWithHeadersInput {
        7020  +
#[derive(
        7021  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7022  +
)]
        7023  +
pub struct TestPayloadStructureInput {
 7241   7024   
    #[pyo3(get, set)]
 7242   7025   
    /// :type typing.Optional\[str\]:
 7243   7026   
    #[allow(missing_docs)] // documentation missing in model
 7244         -
    pub header_string: ::std::option::Option<::std::string::String>,
 7245         -
    #[pyo3(get, set)]
 7246         -
    /// :type typing.Optional\[int\]:
 7247         -
    #[allow(missing_docs)] // documentation missing in model
 7248         -
    pub header_byte: ::std::option::Option<i8>,
 7249         -
    #[pyo3(get, set)]
 7250         -
    /// :type typing.Optional\[int\]:
 7251         -
    #[allow(missing_docs)] // documentation missing in model
 7252         -
    pub header_short: ::std::option::Option<i16>,
        7027  +
    pub test_id: ::std::option::Option<::std::string::String>,
 7253   7028   
    #[pyo3(get, set)]
 7254         -
    /// :type typing.Optional\[int\]:
        7029  +
    /// :type typing.Optional\[rest_json.model.PayloadConfig\]:
 7255   7030   
    #[allow(missing_docs)] // documentation missing in model
 7256         -
    pub header_integer: ::std::option::Option<i32>,
 7257         -
    #[pyo3(get, set)]
 7258         -
    /// :type typing.Optional\[int\]:
        7031  +
    pub payload_config: ::std::option::Option<crate::model::PayloadConfig>,
        7032  +
}
        7033  +
impl TestPayloadStructureInput {
 7259   7034   
    #[allow(missing_docs)] // documentation missing in model
 7260         -
    pub header_long: ::std::option::Option<i64>,
 7261         -
    #[pyo3(get, set)]
 7262         -
    /// :type typing.Optional\[float\]:
        7035  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
        7036  +
        self.test_id.as_deref()
        7037  +
    }
 7263   7038   
    #[allow(missing_docs)] // documentation missing in model
 7264         -
    pub header_float: ::std::option::Option<f32>,
 7265         -
    #[pyo3(get, set)]
 7266         -
    /// :type typing.Optional\[float\]:
 7267         -
    #[allow(missing_docs)] // documentation missing in model
 7268         -
    pub header_double: ::std::option::Option<f64>,
 7269         -
    #[pyo3(get, set)]
 7270         -
    /// :type typing.Optional\[bool\]:
 7271         -
    #[allow(missing_docs)] // documentation missing in model
 7272         -
    pub header_true_bool: ::std::option::Option<bool>,
 7273         -
    #[pyo3(get, set)]
 7274         -
    /// :type typing.Optional\[bool\]:
 7275         -
    #[allow(missing_docs)] // documentation missing in model
 7276         -
    pub header_false_bool: ::std::option::Option<bool>,
 7277         -
    #[pyo3(get, set)]
 7278         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 7279         -
    #[allow(missing_docs)] // documentation missing in model
 7280         -
    pub header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 7281         -
    #[pyo3(get, set)]
 7282         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 7283         -
    #[allow(missing_docs)] // documentation missing in model
 7284         -
    pub header_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 7285         -
    #[pyo3(get, set)]
 7286         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 7287         -
    #[allow(missing_docs)] // documentation missing in model
 7288         -
    pub header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 7289         -
    #[pyo3(get, set)]
 7290         -
    /// :type typing.Optional\[typing.List\[bool\]\]:
 7291         -
    #[allow(missing_docs)] // documentation missing in model
 7292         -
    pub header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 7293         -
    #[pyo3(get, set)]
 7294         -
    /// :type typing.Optional\[typing.List\[rest_json.types.DateTime\]\]:
 7295         -
    #[allow(missing_docs)] // documentation missing in model
 7296         -
    pub header_timestamp_list:
 7297         -
        ::std::option::Option<::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>>,
 7298         -
    #[pyo3(get, set)]
 7299         -
    /// :type typing.Optional\[rest_json.model.FooEnum\]:
 7300         -
    #[allow(missing_docs)] // documentation missing in model
 7301         -
    pub header_enum: ::std::option::Option<crate::model::FooEnum>,
 7302         -
    #[pyo3(get, set)]
 7303         -
    /// :type typing.Optional\[typing.List\[rest_json.model.FooEnum\]\]:
 7304         -
    #[allow(missing_docs)] // documentation missing in model
 7305         -
    pub header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 7306         -
    #[pyo3(get, set)]
 7307         -
    /// :type typing.Optional\[int\]:
 7308         -
    #[allow(missing_docs)] // documentation missing in model
 7309         -
    pub header_integer_enum: ::std::option::Option<i32>,
 7310         -
    #[pyo3(get, set)]
 7311         -
    /// :type typing.Optional\[typing.List\[int\]\]:
 7312         -
    #[allow(missing_docs)] // documentation missing in model
 7313         -
    pub header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 7314         -
}
 7315         -
impl InputAndOutputWithHeadersInput {
 7316         -
    #[allow(missing_docs)] // documentation missing in model
 7317         -
    pub fn header_string(&self) -> ::std::option::Option<&str> {
 7318         -
        self.header_string.as_deref()
 7319         -
    }
 7320         -
    #[allow(missing_docs)] // documentation missing in model
 7321         -
    pub fn header_byte(&self) -> ::std::option::Option<i8> {
 7322         -
        self.header_byte
 7323         -
    }
 7324         -
    #[allow(missing_docs)] // documentation missing in model
 7325         -
    pub fn header_short(&self) -> ::std::option::Option<i16> {
 7326         -
        self.header_short
 7327         -
    }
 7328         -
    #[allow(missing_docs)] // documentation missing in model
 7329         -
    pub fn header_integer(&self) -> ::std::option::Option<i32> {
 7330         -
        self.header_integer
 7331         -
    }
 7332         -
    #[allow(missing_docs)] // documentation missing in model
 7333         -
    pub fn header_long(&self) -> ::std::option::Option<i64> {
 7334         -
        self.header_long
 7335         -
    }
 7336         -
    #[allow(missing_docs)] // documentation missing in model
 7337         -
    pub fn header_float(&self) -> ::std::option::Option<f32> {
 7338         -
        self.header_float
 7339         -
    }
 7340         -
    #[allow(missing_docs)] // documentation missing in model
 7341         -
    pub fn header_double(&self) -> ::std::option::Option<f64> {
 7342         -
        self.header_double
 7343         -
    }
 7344         -
    #[allow(missing_docs)] // documentation missing in model
 7345         -
    pub fn header_true_bool(&self) -> ::std::option::Option<bool> {
 7346         -
        self.header_true_bool
 7347         -
    }
 7348         -
    #[allow(missing_docs)] // documentation missing in model
 7349         -
    pub fn header_false_bool(&self) -> ::std::option::Option<bool> {
 7350         -
        self.header_false_bool
 7351         -
    }
 7352         -
    #[allow(missing_docs)] // documentation missing in model
 7353         -
    pub fn header_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
 7354         -
        self.header_string_list.as_deref()
 7355         -
    }
 7356         -
    #[allow(missing_docs)] // documentation missing in model
 7357         -
    pub fn header_string_set(&self) -> ::std::option::Option<&[::std::string::String]> {
 7358         -
        self.header_string_set.as_deref()
 7359         -
    }
 7360         -
    #[allow(missing_docs)] // documentation missing in model
 7361         -
    pub fn header_integer_list(&self) -> ::std::option::Option<&[i32]> {
 7362         -
        self.header_integer_list.as_deref()
 7363         -
    }
 7364         -
    #[allow(missing_docs)] // documentation missing in model
 7365         -
    pub fn header_boolean_list(&self) -> ::std::option::Option<&[bool]> {
 7366         -
        self.header_boolean_list.as_deref()
 7367         -
    }
 7368         -
    #[allow(missing_docs)] // documentation missing in model
 7369         -
    pub fn header_timestamp_list(
 7370         -
        &self,
 7371         -
    ) -> ::std::option::Option<&[::aws_smithy_http_server_python::types::DateTime]> {
 7372         -
        self.header_timestamp_list.as_deref()
 7373         -
    }
 7374         -
    #[allow(missing_docs)] // documentation missing in model
 7375         -
    pub fn header_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
 7376         -
        self.header_enum.as_ref()
 7377         -
    }
 7378         -
    #[allow(missing_docs)] // documentation missing in model
 7379         -
    pub fn header_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
 7380         -
        self.header_enum_list.as_deref()
 7381         -
    }
 7382         -
    #[allow(missing_docs)] // documentation missing in model
 7383         -
    pub fn header_integer_enum(&self) -> ::std::option::Option<i32> {
 7384         -
        self.header_integer_enum
 7385         -
    }
 7386         -
    #[allow(missing_docs)] // documentation missing in model
 7387         -
    pub fn header_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
 7388         -
        self.header_integer_enum_list.as_deref()
        7039  +
    pub fn payload_config(&self) -> ::std::option::Option<&crate::model::PayloadConfig> {
        7040  +
        self.payload_config.as_ref()
 7389   7041   
    }
 7390   7042   
}
 7391   7043   
#[allow(clippy::new_without_default)]
 7392   7044   
#[allow(clippy::too_many_arguments)]
 7393   7045   
#[::pyo3::pymethods]
 7394         -
impl InputAndOutputWithHeadersInput {
        7046  +
impl TestPayloadStructureInput {
 7395   7047   
    #[new]
 7396   7048   
    pub fn new(
 7397         -
        header_string: ::std::option::Option<::std::string::String>,
 7398         -
        header_byte: ::std::option::Option<i8>,
 7399         -
        header_short: ::std::option::Option<i16>,
 7400         -
        header_integer: ::std::option::Option<i32>,
 7401         -
        header_long: ::std::option::Option<i64>,
 7402         -
        header_float: ::std::option::Option<f32>,
 7403         -
        header_double: ::std::option::Option<f64>,
 7404         -
        header_true_bool: ::std::option::Option<bool>,
 7405         -
        header_false_bool: ::std::option::Option<bool>,
 7406         -
        header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 7407         -
        header_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 7408         -
        header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
 7409         -
        header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
 7410         -
        header_timestamp_list: ::std::option::Option<
 7411         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
 7412         -
        >,
 7413         -
        header_enum: ::std::option::Option<crate::model::FooEnum>,
 7414         -
        header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 7415         -
        header_integer_enum: ::std::option::Option<i32>,
 7416         -
        header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        7049  +
        test_id: ::std::option::Option<::std::string::String>,
        7050  +
        payload_config: ::std::option::Option<crate::model::PayloadConfig>,
 7417   7051   
    ) -> Self {
 7418   7052   
        Self {
 7419         -
            header_string,
 7420         -
            header_byte,
 7421         -
            header_short,
 7422         -
            header_integer,
 7423         -
            header_long,
 7424         -
            header_float,
 7425         -
            header_double,
 7426         -
            header_true_bool,
 7427         -
            header_false_bool,
 7428         -
            header_string_list,
 7429         -
            header_string_set,
 7430         -
            header_integer_list,
 7431         -
            header_boolean_list,
 7432         -
            header_timestamp_list,
 7433         -
            header_enum,
 7434         -
            header_enum_list,
 7435         -
            header_integer_enum,
 7436         -
            header_integer_enum_list,
        7053  +
            test_id,
        7054  +
            payload_config,
 7437   7055   
        }
 7438   7056   
    }
 7439   7057   
    fn __repr__(&self) -> String {
 7440   7058   
        format!("{self:?}")
 7441   7059   
    }
 7442   7060   
    fn __str__(&self) -> String {
 7443   7061   
        format!("{self:?}")
 7444   7062   
    }
 7445   7063   
}
 7446         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<InputAndOutputWithHeadersInput> {
        7064  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPayloadStructureInput> {
 7447   7065   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7448         -
        ob.extract::<InputAndOutputWithHeadersInput>().map(Box::new)
        7066  +
        ob.extract::<TestPayloadStructureInput>().map(Box::new)
 7449   7067   
    }
 7450   7068   
}
 7451   7069   
 7452         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<InputAndOutputWithHeadersInput> {
        7070  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPayloadStructureInput> {
 7453   7071   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7454   7072   
        (*self).into_py(py)
 7455   7073   
    }
 7456   7074   
}
 7457         -
impl crate::constrained::Constrained for crate::input::InputAndOutputWithHeadersInput {
 7458         -
    type Unconstrained = crate::input::input_and_output_with_headers_input_internal::Builder;
        7075  +
impl crate::constrained::Constrained for crate::input::TestPayloadStructureInput {
        7076  +
    type Unconstrained = crate::input::test_payload_structure_input_internal::Builder;
 7459   7077   
}
 7460         -
impl InputAndOutputWithHeadersInput {
 7461         -
    /// Creates a new builder-style object to manufacture [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
 7462         -
    pub fn builder() -> crate::input::input_and_output_with_headers_input::Builder {
 7463         -
        crate::input::input_and_output_with_headers_input::Builder::default()
        7078  +
impl TestPayloadStructureInput {
        7079  +
    /// Creates a new builder-style object to manufacture [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
        7080  +
    pub fn builder() -> crate::input::test_payload_structure_input::Builder {
        7081  +
        crate::input::test_payload_structure_input::Builder::default()
 7464   7082   
    }
 7465   7083   
}
 7466   7084   
 7467   7085   
#[::pyo3::pyclass]
        7086  +
/// :param content_type typing.Optional\[str\]:
        7087  +
/// :param data typing.Optional\[rest_json.types.Blob\]:
 7468   7088   
/// :rtype None:
 7469   7089   
#[allow(missing_docs)] // documentation missing in model
 7470   7090   
#[derive(
 7471   7091   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 7472   7092   
)]
 7473         -
pub struct UnitInputAndOutputInput {}
        7093  +
pub struct TestPayloadBlobInput {
        7094  +
    #[pyo3(get, set)]
        7095  +
    /// :type typing.Optional\[str\]:
        7096  +
    #[allow(missing_docs)] // documentation missing in model
        7097  +
    pub content_type: ::std::option::Option<::std::string::String>,
        7098  +
    #[pyo3(get, set)]
        7099  +
    /// :type typing.Optional\[rest_json.types.Blob\]:
        7100  +
    #[allow(missing_docs)] // documentation missing in model
        7101  +
    pub data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        7102  +
}
        7103  +
impl TestPayloadBlobInput {
        7104  +
    #[allow(missing_docs)] // documentation missing in model
        7105  +
    pub fn content_type(&self) -> ::std::option::Option<&str> {
        7106  +
        self.content_type.as_deref()
        7107  +
    }
        7108  +
    #[allow(missing_docs)] // documentation missing in model
        7109  +
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        7110  +
        self.data.as_ref()
        7111  +
    }
        7112  +
}
 7474   7113   
#[allow(clippy::new_without_default)]
 7475   7114   
#[allow(clippy::too_many_arguments)]
 7476   7115   
#[::pyo3::pymethods]
 7477         -
impl UnitInputAndOutputInput {
        7116  +
impl TestPayloadBlobInput {
 7478   7117   
    #[new]
 7479         -
    pub fn new() -> Self {
 7480         -
        Self {}
        7118  +
    pub fn new(
        7119  +
        content_type: ::std::option::Option<::std::string::String>,
        7120  +
        data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        7121  +
    ) -> Self {
        7122  +
        Self { content_type, data }
 7481   7123   
    }
 7482   7124   
    fn __repr__(&self) -> String {
 7483   7125   
        format!("{self:?}")
 7484   7126   
    }
 7485   7127   
    fn __str__(&self) -> String {
 7486   7128   
        format!("{self:?}")
 7487   7129   
    }
 7488   7130   
}
 7489         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<UnitInputAndOutputInput> {
        7131  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPayloadBlobInput> {
 7490   7132   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7491         -
        ob.extract::<UnitInputAndOutputInput>().map(Box::new)
        7133  +
        ob.extract::<TestPayloadBlobInput>().map(Box::new)
 7492   7134   
    }
 7493   7135   
}
 7494   7136   
 7495         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<UnitInputAndOutputInput> {
        7137  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPayloadBlobInput> {
 7496   7138   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7497   7139   
        (*self).into_py(py)
 7498   7140   
    }
 7499   7141   
}
 7500         -
impl crate::constrained::Constrained for crate::input::UnitInputAndOutputInput {
 7501         -
    type Unconstrained = crate::input::unit_input_and_output_input_internal::Builder;
        7142  +
impl crate::constrained::Constrained for crate::input::TestPayloadBlobInput {
        7143  +
    type Unconstrained = crate::input::test_payload_blob_input_internal::Builder;
 7502   7144   
}
 7503         -
impl UnitInputAndOutputInput {
 7504         -
    /// Creates a new builder-style object to manufacture [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
 7505         -
    pub fn builder() -> crate::input::unit_input_and_output_input::Builder {
 7506         -
        crate::input::unit_input_and_output_input::Builder::default()
        7145  +
impl TestPayloadBlobInput {
        7146  +
    /// Creates a new builder-style object to manufacture [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
        7147  +
    pub fn builder() -> crate::input::test_payload_blob_input::Builder {
        7148  +
        crate::input::test_payload_blob_input::Builder::default()
 7507   7149   
    }
 7508   7150   
}
 7509   7151   
 7510   7152   
#[::pyo3::pyclass]
        7153  +
/// :param test_id typing.Optional\[str\]:
 7511   7154   
/// :rtype None:
 7512   7155   
#[allow(missing_docs)] // documentation missing in model
 7513   7156   
#[derive(
 7514   7157   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 7515   7158   
)]
 7516         -
pub struct EmptyInputAndEmptyOutputInput {}
        7159  +
pub struct TestGetNoPayloadInput {
        7160  +
    #[pyo3(get, set)]
        7161  +
    /// :type typing.Optional\[str\]:
        7162  +
    #[allow(missing_docs)] // documentation missing in model
        7163  +
    pub test_id: ::std::option::Option<::std::string::String>,
        7164  +
}
        7165  +
impl TestGetNoPayloadInput {
        7166  +
    #[allow(missing_docs)] // documentation missing in model
        7167  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
        7168  +
        self.test_id.as_deref()
        7169  +
    }
        7170  +
}
 7517   7171   
#[allow(clippy::new_without_default)]
 7518   7172   
#[allow(clippy::too_many_arguments)]
 7519   7173   
#[::pyo3::pymethods]
 7520         -
impl EmptyInputAndEmptyOutputInput {
        7174  +
impl TestGetNoPayloadInput {
 7521   7175   
    #[new]
 7522         -
    pub fn new() -> Self {
 7523         -
        Self {}
        7176  +
    pub fn new(test_id: ::std::option::Option<::std::string::String>) -> Self {
        7177  +
        Self { test_id }
 7524   7178   
    }
 7525   7179   
    fn __repr__(&self) -> String {
 7526   7180   
        format!("{self:?}")
 7527   7181   
    }
 7528   7182   
    fn __str__(&self) -> String {
 7529   7183   
        format!("{self:?}")
 7530   7184   
    }
 7531   7185   
}
 7532         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyInputAndEmptyOutputInput> {
        7186  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestGetNoPayloadInput> {
 7533   7187   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7534         -
        ob.extract::<EmptyInputAndEmptyOutputInput>().map(Box::new)
        7188  +
        ob.extract::<TestGetNoPayloadInput>().map(Box::new)
 7535   7189   
    }
 7536   7190   
}
 7537   7191   
 7538         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyInputAndEmptyOutputInput> {
        7192  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestGetNoPayloadInput> {
 7539   7193   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7540   7194   
        (*self).into_py(py)
 7541   7195   
    }
 7542   7196   
}
 7543         -
impl crate::constrained::Constrained for crate::input::EmptyInputAndEmptyOutputInput {
 7544         -
    type Unconstrained = crate::input::empty_input_and_empty_output_input_internal::Builder;
        7197  +
impl crate::constrained::Constrained for crate::input::TestGetNoPayloadInput {
        7198  +
    type Unconstrained = crate::input::test_get_no_payload_input_internal::Builder;
 7545   7199   
}
 7546         -
impl EmptyInputAndEmptyOutputInput {
 7547         -
    /// Creates a new builder-style object to manufacture [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
 7548         -
    pub fn builder() -> crate::input::empty_input_and_empty_output_input::Builder {
 7549         -
        crate::input::empty_input_and_empty_output_input::Builder::default()
        7200  +
impl TestGetNoPayloadInput {
        7201  +
    /// Creates a new builder-style object to manufacture [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        7202  +
    pub fn builder() -> crate::input::test_get_no_payload_input::Builder {
        7203  +
        crate::input::test_get_no_payload_input::Builder::default()
 7550   7204   
    }
 7551   7205   
}
 7552   7206   
 7553   7207   
#[::pyo3::pyclass]
        7208  +
/// :param test_id typing.Optional\[str\]:
 7554   7209   
/// :rtype None:
 7555   7210   
#[allow(missing_docs)] // documentation missing in model
 7556   7211   
#[derive(
 7557   7212   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 7558   7213   
)]
 7559         -
pub struct NoInputAndOutputInput {}
        7214  +
pub struct TestPostNoPayloadInput {
        7215  +
    #[pyo3(get, set)]
        7216  +
    /// :type typing.Optional\[str\]:
        7217  +
    #[allow(missing_docs)] // documentation missing in model
        7218  +
    pub test_id: ::std::option::Option<::std::string::String>,
        7219  +
}
        7220  +
impl TestPostNoPayloadInput {
        7221  +
    #[allow(missing_docs)] // documentation missing in model
        7222  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
        7223  +
        self.test_id.as_deref()
        7224  +
    }
        7225  +
}
 7560   7226   
#[allow(clippy::new_without_default)]
 7561   7227   
#[allow(clippy::too_many_arguments)]
 7562   7228   
#[::pyo3::pymethods]
 7563         -
impl NoInputAndOutputInput {
        7229  +
impl TestPostNoPayloadInput {
 7564   7230   
    #[new]
 7565         -
    pub fn new() -> Self {
 7566         -
        Self {}
        7231  +
    pub fn new(test_id: ::std::option::Option<::std::string::String>) -> Self {
        7232  +
        Self { test_id }
 7567   7233   
    }
 7568   7234   
    fn __repr__(&self) -> String {
 7569   7235   
        format!("{self:?}")
 7570   7236   
    }
 7571   7237   
    fn __str__(&self) -> String {
 7572   7238   
        format!("{self:?}")
 7573   7239   
    }
 7574   7240   
}
 7575         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NoInputAndOutputInput> {
        7241  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPostNoPayloadInput> {
 7576   7242   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7577         -
        ob.extract::<NoInputAndOutputInput>().map(Box::new)
        7243  +
        ob.extract::<TestPostNoPayloadInput>().map(Box::new)
 7578   7244   
    }
 7579   7245   
}
 7580   7246   
 7581         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NoInputAndOutputInput> {
        7247  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPostNoPayloadInput> {
 7582   7248   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7583   7249   
        (*self).into_py(py)
 7584   7250   
    }
 7585   7251   
}
 7586         -
impl crate::constrained::Constrained for crate::input::NoInputAndOutputInput {
 7587         -
    type Unconstrained = crate::input::no_input_and_output_input_internal::Builder;
        7252  +
impl crate::constrained::Constrained for crate::input::TestPostNoPayloadInput {
        7253  +
    type Unconstrained = crate::input::test_post_no_payload_input_internal::Builder;
 7588   7254   
}
 7589         -
impl NoInputAndOutputInput {
 7590         -
    /// Creates a new builder-style object to manufacture [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
 7591         -
    pub fn builder() -> crate::input::no_input_and_output_input::Builder {
 7592         -
        crate::input::no_input_and_output_input::Builder::default()
        7255  +
impl TestPostNoPayloadInput {
        7256  +
    /// Creates a new builder-style object to manufacture [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
        7257  +
    pub fn builder() -> crate::input::test_post_no_payload_input::Builder {
        7258  +
        crate::input::test_post_no_payload_input::Builder::default()
 7593   7259   
    }
 7594   7260   
}
 7595   7261   
 7596   7262   
#[::pyo3::pyclass]
 7597   7263   
/// :rtype None:
 7598   7264   
#[allow(missing_docs)] // documentation missing in model
 7599   7265   
#[derive(
 7600   7266   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 7601   7267   
)]
 7602         -
pub struct NoInputAndNoOutputInput {}
        7268  +
pub struct TestGetNoInputNoPayloadInput {}
 7603   7269   
#[allow(clippy::new_without_default)]
 7604   7270   
#[allow(clippy::too_many_arguments)]
 7605   7271   
#[::pyo3::pymethods]
 7606         -
impl NoInputAndNoOutputInput {
        7272  +
impl TestGetNoInputNoPayloadInput {
 7607   7273   
    #[new]
 7608   7274   
    pub fn new() -> Self {
 7609   7275   
        Self {}
 7610   7276   
    }
 7611   7277   
    fn __repr__(&self) -> String {
 7612   7278   
        format!("{self:?}")
 7613   7279   
    }
 7614   7280   
    fn __str__(&self) -> String {
 7615   7281   
        format!("{self:?}")
 7616   7282   
    }
 7617   7283   
}
 7618         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NoInputAndNoOutputInput> {
        7284  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestGetNoInputNoPayloadInput> {
 7619   7285   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 7620         -
        ob.extract::<NoInputAndNoOutputInput>().map(Box::new)
        7286  +
        ob.extract::<TestGetNoInputNoPayloadInput>().map(Box::new)
 7621   7287   
    }
 7622   7288   
}
 7623   7289   
 7624         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NoInputAndNoOutputInput> {
        7290  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestGetNoInputNoPayloadInput> {
 7625   7291   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 7626   7292   
        (*self).into_py(py)
 7627   7293   
    }
 7628   7294   
}
 7629         -
impl crate::constrained::Constrained for crate::input::NoInputAndNoOutputInput {
 7630         -
    type Unconstrained = crate::input::no_input_and_no_output_input_internal::Builder;
        7295  +
impl crate::constrained::Constrained for crate::input::TestGetNoInputNoPayloadInput {
        7296  +
    type Unconstrained = crate::input::test_get_no_input_no_payload_input_internal::Builder;
 7631   7297   
}
 7632         -
impl NoInputAndNoOutputInput {
 7633         -
    /// Creates a new builder-style object to manufacture [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
 7634         -
    pub fn builder() -> crate::input::no_input_and_no_output_input::Builder {
 7635         -
        crate::input::no_input_and_no_output_input::Builder::default()
        7298  +
impl TestGetNoInputNoPayloadInput {
        7299  +
    /// Creates a new builder-style object to manufacture [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
        7300  +
    pub fn builder() -> crate::input::test_get_no_input_no_payload_input::Builder {
        7301  +
        crate::input::test_get_no_input_no_payload_input::Builder::default()
 7636   7302   
    }
 7637   7303   
}
 7638         -
/// See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7639         -
pub(crate) mod operation_with_nested_structure_input_internal {
 7640   7304   
 7641         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7642         -
    /// Holds one variant for each of the ways the builder can fail.
 7643         -
    #[non_exhaustive]
 7644         -
    #[allow(clippy::enum_variant_names)]
 7645         -
    pub(crate) enum ConstraintViolation {
 7646         -
        /// `top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
 7647         -
        MissingTopLevel,
 7648         -
        /// Constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`.
 7649         -
        #[doc(hidden)]
 7650         -
        TopLevel(crate::model::top_level_internal::ConstraintViolation),
        7305  +
#[::pyo3::pyclass]
        7306  +
/// :rtype None:
        7307  +
#[allow(missing_docs)] // documentation missing in model
        7308  +
#[derive(
        7309  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7310  +
)]
        7311  +
pub struct TestPostNoInputNoPayloadInput {}
        7312  +
#[allow(clippy::new_without_default)]
        7313  +
#[allow(clippy::too_many_arguments)]
        7314  +
#[::pyo3::pymethods]
        7315  +
impl TestPostNoInputNoPayloadInput {
        7316  +
    #[new]
        7317  +
    pub fn new() -> Self {
        7318  +
        Self {}
 7651   7319   
    }
 7652         -
    impl ::std::fmt::Display for ConstraintViolation {
 7653         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7654         -
            match self {
 7655         -
                ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
 7656         -
                ConstraintViolation::TopLevel(_) => write!(f, "constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`"),
 7657         -
            }
 7658         -
        }
        7320  +
    fn __repr__(&self) -> String {
        7321  +
        format!("{self:?}")
 7659   7322   
    }
 7660         -
    impl ::std::error::Error for ConstraintViolation {}
 7661         -
    impl ConstraintViolation {
 7662         -
        pub(crate) fn as_validation_exception_field(
 7663         -
            self,
 7664         -
            path: ::std::string::String,
 7665         -
        ) -> crate::model::ValidationExceptionField {
 7666         -
            match self {
 7667         -
            ConstraintViolation::MissingTopLevel => crate::model::ValidationExceptionField {
 7668         -
                                                message: format!("Value at '{}/topLevel' failed to satisfy constraint: Member must not be null", path),
 7669         -
                                                path: path + "/topLevel",
 7670         -
                                            },
 7671         -
            ConstraintViolation::TopLevel(inner) => inner.as_validation_exception_field(path + "/topLevel"),
 7672         -
        }
 7673         -
        }
        7323  +
    fn __str__(&self) -> String {
        7324  +
        format!("{self:?}")
 7674   7325   
    }
 7675         -
    impl ::std::convert::From<ConstraintViolation>
 7676         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7677         -
    {
 7678         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7679         -
            let first_validation_exception_field =
 7680         -
                constraint_violation.as_validation_exception_field("".to_owned());
 7681         -
            let validation_exception = crate::error::ValidationException {
 7682         -
                message: format!(
 7683         -
                    "1 validation error detected. {}",
 7684         -
                    &first_validation_exception_field.message
 7685         -
                ),
 7686         -
                field_list: Some(vec![first_validation_exception_field]),
 7687         -
            };
 7688         -
            Self::ConstraintViolation(
 7689         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7690         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7691         -
                            )
 7692         -
        }
        7326  +
}
        7327  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TestPostNoInputNoPayloadInput> {
        7328  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7329  +
        ob.extract::<TestPostNoInputNoPayloadInput>().map(Box::new)
 7693   7330   
    }
 7694         -
    impl ::std::convert::From<Builder>
 7695         -
        for crate::constrained::MaybeConstrained<crate::input::OperationWithNestedStructureInput>
 7696         -
    {
 7697         -
        fn from(builder: Builder) -> Self {
 7698         -
            Self::Unconstrained(builder)
 7699         -
        }
        7331  +
}
        7332  +
        7333  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TestPostNoInputNoPayloadInput> {
        7334  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7335  +
        (*self).into_py(py)
 7700   7336   
    }
 7701         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
 7702         -
        type Error = ConstraintViolation;
        7337  +
}
        7338  +
impl crate::constrained::Constrained for crate::input::TestPostNoInputNoPayloadInput {
        7339  +
    type Unconstrained = crate::input::test_post_no_input_no_payload_input_internal::Builder;
        7340  +
}
        7341  +
impl TestPostNoInputNoPayloadInput {
        7342  +
    /// Creates a new builder-style object to manufacture [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
        7343  +
    pub fn builder() -> crate::input::test_post_no_input_no_payload_input::Builder {
        7344  +
        crate::input::test_post_no_input_no_payload_input::Builder::default()
        7345  +
    }
        7346  +
}
 7703   7347   
 7704         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7705         -
            builder.build()
 7706         -
        }
        7348  +
#[::pyo3::pyclass]
        7349  +
/// :rtype None:
        7350  +
#[allow(missing_docs)] // documentation missing in model
        7351  +
#[derive(
        7352  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7353  +
)]
        7354  +
pub struct DatetimeOffsetsInput {}
        7355  +
#[allow(clippy::new_without_default)]
        7356  +
#[allow(clippy::too_many_arguments)]
        7357  +
#[::pyo3::pymethods]
        7358  +
impl DatetimeOffsetsInput {
        7359  +
    #[new]
        7360  +
    pub fn new() -> Self {
        7361  +
        Self {}
 7707   7362   
    }
 7708         -
    /// A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7709         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7710         -
    pub(crate) struct Builder {
 7711         -
        pub(crate) top_level:
 7712         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::TopLevel>>,
        7363  +
    fn __repr__(&self) -> String {
        7364  +
        format!("{self:?}")
 7713   7365   
    }
 7714         -
    impl Builder {
 7715         -
        #[allow(missing_docs)] // documentation missing in model
 7716         -
        pub(crate) fn set_top_level(
 7717         -
            mut self,
 7718         -
            input: impl ::std::convert::Into<
 7719         -
                crate::constrained::MaybeConstrained<crate::model::TopLevel>,
 7720         -
            >,
 7721         -
        ) -> Self {
 7722         -
            self.top_level = Some(input.into());
 7723         -
            self
 7724         -
        }
 7725         -
        /// Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7726         -
        ///
 7727         -
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if a [`ConstraintViolation`] occurs.
 7728         -
        ///
 7729         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 7730         -
        pub fn build(
 7731         -
            self,
 7732         -
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
 7733         -
            self.build_enforcing_all_constraints()
 7734         -
        }
 7735         -
        fn build_enforcing_all_constraints(
 7736         -
            self,
 7737         -
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
 7738         -
            Ok(crate::input::OperationWithNestedStructureInput {
 7739         -
                top_level: self
 7740         -
                    .top_level
 7741         -
                    .map(|v| match v {
 7742         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 7743         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 7744         -
                    })
 7745         -
                    .map(|res| res.map_err(ConstraintViolation::TopLevel))
 7746         -
                    .transpose()?
 7747         -
                    .ok_or(ConstraintViolation::MissingTopLevel)?,
 7748         -
            })
 7749         -
        }
        7366  +
    fn __str__(&self) -> String {
        7367  +
        format!("{self:?}")
        7368  +
    }
        7369  +
}
        7370  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DatetimeOffsetsInput> {
        7371  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7372  +
        ob.extract::<DatetimeOffsetsInput>().map(Box::new)
 7750   7373   
    }
 7751   7374   
}
 7752         -
/// See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7753         -
pub mod operation_with_nested_structure_input {
 7754   7375   
 7755         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7756         -
    /// Holds one variant for each of the ways the builder can fail.
 7757         -
    #[allow(clippy::enum_variant_names)]
 7758         -
    pub enum ConstraintViolation {
 7759         -
        /// `top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
 7760         -
        MissingTopLevel,
        7376  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DatetimeOffsetsInput> {
        7377  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7378  +
        (*self).into_py(py)
 7761   7379   
    }
 7762         -
    impl ::std::fmt::Display for ConstraintViolation {
 7763         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7764         -
            match self {
 7765         -
                ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
 7766         -
            }
 7767         -
        }
        7380  +
}
        7381  +
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
        7382  +
    type Unconstrained = crate::input::datetime_offsets_input_internal::Builder;
        7383  +
}
        7384  +
impl DatetimeOffsetsInput {
        7385  +
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        7386  +
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
        7387  +
        crate::input::datetime_offsets_input::Builder::default()
 7768   7388   
    }
 7769         -
    impl ::std::error::Error for ConstraintViolation {}
 7770         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
 7771         -
        type Error = ConstraintViolation;
        7389  +
}
 7772   7390   
 7773         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7774         -
            builder.build()
 7775         -
        }
        7391  +
#[::pyo3::pyclass]
        7392  +
/// :rtype None:
        7393  +
#[allow(missing_docs)] // documentation missing in model
        7394  +
#[derive(
        7395  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7396  +
)]
        7397  +
pub struct FractionalSecondsInput {}
        7398  +
#[allow(clippy::new_without_default)]
        7399  +
#[allow(clippy::too_many_arguments)]
        7400  +
#[::pyo3::pymethods]
        7401  +
impl FractionalSecondsInput {
        7402  +
    #[new]
        7403  +
    pub fn new() -> Self {
        7404  +
        Self {}
 7776   7405   
    }
 7777         -
    /// A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7778         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7779         -
    pub struct Builder {
 7780         -
        pub(crate) top_level: ::std::option::Option<crate::model::TopLevel>,
        7406  +
    fn __repr__(&self) -> String {
        7407  +
        format!("{self:?}")
 7781   7408   
    }
 7782         -
    impl Builder {
 7783         -
        #[allow(missing_docs)] // documentation missing in model
 7784         -
        pub fn top_level(mut self, input: crate::model::TopLevel) -> Self {
 7785         -
            self.top_level = Some(input);
 7786         -
            self
 7787         -
        }
 7788         -
        /// Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7789         -
        ///
 7790         -
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if you do not provide a value for all non-`Option`al members.
 7791         -
        ///
 7792         -
        pub fn build(
 7793         -
            self,
 7794         -
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
 7795         -
            self.build_enforcing_required_and_enum_traits()
 7796         -
        }
 7797         -
        fn build_enforcing_required_and_enum_traits(
 7798         -
            self,
 7799         -
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
 7800         -
            Ok(crate::input::OperationWithNestedStructureInput {
 7801         -
                top_level: self.top_level.ok_or(ConstraintViolation::MissingTopLevel)?,
 7802         -
            })
 7803         -
        }
        7409  +
    fn __str__(&self) -> String {
        7410  +
        format!("{self:?}")
        7411  +
    }
        7412  +
}
        7413  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<FractionalSecondsInput> {
        7414  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7415  +
        ob.extract::<FractionalSecondsInput>().map(Box::new)
 7804   7416   
    }
 7805   7417   
}
 7806         -
/// See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 7807         -
pub(crate) mod operation_with_defaults_input_internal {
 7808   7418   
 7809         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7810         -
    /// Holds one variant for each of the ways the builder can fail.
 7811         -
    #[non_exhaustive]
 7812         -
    #[allow(clippy::enum_variant_names)]
 7813         -
    pub(crate) enum ConstraintViolation {
 7814         -
        /// Constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`.
 7815         -
        #[doc(hidden)]
 7816         -
        Defaults(crate::model::defaults_internal::ConstraintViolation),
        7419  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<FractionalSecondsInput> {
        7420  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7421  +
        (*self).into_py(py)
 7817   7422   
    }
 7818         -
    impl ::std::fmt::Display for ConstraintViolation {
 7819         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7820         -
            match self {
 7821         -
                ConstraintViolation::Defaults(_) => write!(f, "constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`"),
 7822         -
            }
 7823         -
        }
        7423  +
}
        7424  +
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
        7425  +
    type Unconstrained = crate::input::fractional_seconds_input_internal::Builder;
        7426  +
}
        7427  +
impl FractionalSecondsInput {
        7428  +
    /// Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        7429  +
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
        7430  +
        crate::input::fractional_seconds_input::Builder::default()
 7824   7431   
    }
 7825         -
    impl ::std::error::Error for ConstraintViolation {}
 7826         -
    impl ConstraintViolation {
 7827         -
        pub(crate) fn as_validation_exception_field(
 7828         -
            self,
 7829         -
            path: ::std::string::String,
 7830         -
        ) -> crate::model::ValidationExceptionField {
 7831         -
            match self {
 7832         -
                ConstraintViolation::Defaults(inner) => {
 7833         -
                    inner.as_validation_exception_field(path + "/defaults")
 7834         -
                }
 7835         -
            }
 7836         -
        }
        7432  +
}
        7433  +
        7434  +
#[::pyo3::pyclass]
        7435  +
/// :param encoding typing.Optional\[str\]:
        7436  +
/// :param data typing.Optional\[str\]:
        7437  +
/// :rtype None:
        7438  +
#[allow(missing_docs)] // documentation missing in model
        7439  +
#[derive(
        7440  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7441  +
)]
        7442  +
pub struct PutWithContentEncodingInput {
        7443  +
    #[pyo3(get, set)]
        7444  +
    /// :type typing.Optional\[str\]:
        7445  +
    #[allow(missing_docs)] // documentation missing in model
        7446  +
    pub encoding: ::std::option::Option<::std::string::String>,
        7447  +
    #[pyo3(get, set)]
        7448  +
    /// :type typing.Optional\[str\]:
        7449  +
    #[allow(missing_docs)] // documentation missing in model
        7450  +
    pub data: ::std::option::Option<::std::string::String>,
        7451  +
}
        7452  +
impl PutWithContentEncodingInput {
        7453  +
    #[allow(missing_docs)] // documentation missing in model
        7454  +
    pub fn encoding(&self) -> ::std::option::Option<&str> {
        7455  +
        self.encoding.as_deref()
 7837   7456   
    }
 7838         -
    impl ::std::convert::From<ConstraintViolation>
 7839         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 7840         -
    {
 7841         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 7842         -
            let first_validation_exception_field =
 7843         -
                constraint_violation.as_validation_exception_field("".to_owned());
 7844         -
            let validation_exception = crate::error::ValidationException {
 7845         -
                message: format!(
 7846         -
                    "1 validation error detected. {}",
 7847         -
                    &first_validation_exception_field.message
 7848         -
                ),
 7849         -
                field_list: Some(vec![first_validation_exception_field]),
 7850         -
            };
 7851         -
            Self::ConstraintViolation(
 7852         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 7853         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 7854         -
                            )
 7855         -
        }
        7457  +
    #[allow(missing_docs)] // documentation missing in model
        7458  +
    pub fn data(&self) -> ::std::option::Option<&str> {
        7459  +
        self.data.as_deref()
 7856   7460   
    }
 7857         -
    impl ::std::convert::From<Builder>
 7858         -
        for crate::constrained::MaybeConstrained<crate::input::OperationWithDefaultsInput>
 7859         -
    {
 7860         -
        fn from(builder: Builder) -> Self {
 7861         -
            Self::Unconstrained(builder)
 7862         -
        }
        7461  +
}
        7462  +
#[allow(clippy::new_without_default)]
        7463  +
#[allow(clippy::too_many_arguments)]
        7464  +
#[::pyo3::pymethods]
        7465  +
impl PutWithContentEncodingInput {
        7466  +
    #[new]
        7467  +
    pub fn new(
        7468  +
        encoding: ::std::option::Option<::std::string::String>,
        7469  +
        data: ::std::option::Option<::std::string::String>,
        7470  +
    ) -> Self {
        7471  +
        Self { encoding, data }
 7863   7472   
    }
 7864         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithDefaultsInput {
 7865         -
        type Error = ConstraintViolation;
 7866         -
 7867         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7868         -
            builder.build()
 7869         -
        }
        7473  +
    fn __repr__(&self) -> String {
        7474  +
        format!("{self:?}")
 7870   7475   
    }
 7871         -
    /// A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 7872         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7873         -
    pub(crate) struct Builder {
 7874         -
        pub(crate) defaults:
 7875         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
 7876         -
        pub(crate) client_optional_defaults:
 7877         -
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
 7878         -
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
 7879         -
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
        7476  +
    fn __str__(&self) -> String {
        7477  +
        format!("{self:?}")
 7880   7478   
    }
 7881         -
    impl Builder {
 7882         -
        #[allow(missing_docs)] // documentation missing in model
 7883         -
        pub(crate) fn set_defaults(
 7884         -
            mut self,
 7885         -
            input: Option<
 7886         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
 7887         -
            >,
 7888         -
        ) -> Self {
 7889         -
            self.defaults = input.map(|v| v.into());
 7890         -
            self
 7891         -
        }
 7892         -
        #[allow(missing_docs)] // documentation missing in model
 7893         -
        pub(crate) fn set_client_optional_defaults(
 7894         -
            mut self,
 7895         -
            input: Option<impl ::std::convert::Into<crate::model::ClientOptionalDefaults>>,
 7896         -
        ) -> Self {
 7897         -
            self.client_optional_defaults = input.map(|v| v.into());
 7898         -
            self
 7899         -
        }
 7900         -
        #[allow(missing_docs)] // documentation missing in model
 7901         -
        pub(crate) fn set_top_level_default(
 7902         -
            mut self,
 7903         -
            input: impl ::std::convert::Into<::std::string::String>,
 7904         -
        ) -> Self {
 7905         -
            self.top_level_default = Some(input.into());
 7906         -
            self
 7907         -
        }
 7908         -
        #[allow(missing_docs)] // documentation missing in model
 7909         -
        pub(crate) fn set_other_top_level_default(
 7910         -
            mut self,
 7911         -
            input: impl ::std::convert::Into<i32>,
 7912         -
        ) -> Self {
 7913         -
            self.other_top_level_default = Some(input.into());
 7914         -
            self
 7915         -
        }
 7916         -
        /// Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 7917         -
        ///
 7918         -
        /// The builder fails to construct a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) if a [`ConstraintViolation`] occurs.
 7919         -
        ///
 7920         -
        pub fn build(
 7921         -
            self,
 7922         -
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
 7923         -
            self.build_enforcing_all_constraints()
 7924         -
        }
 7925         -
        fn build_enforcing_all_constraints(
 7926         -
            self,
 7927         -
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
 7928         -
            Ok(crate::input::OperationWithDefaultsInput {
 7929         -
                defaults: self
 7930         -
                    .defaults
 7931         -
                    .map(|v| match v {
 7932         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 7933         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 7934         -
                    })
 7935         -
                    .map(|res| res.map_err(ConstraintViolation::Defaults))
 7936         -
                    .transpose()?,
 7937         -
                client_optional_defaults: self.client_optional_defaults,
 7938         -
                top_level_default: self.top_level_default.unwrap_or_else(|| String::from("hi")),
 7939         -
                other_top_level_default: self.other_top_level_default.unwrap_or(0i32),
 7940         -
            })
 7941         -
        }
        7479  +
}
        7480  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutWithContentEncodingInput> {
        7481  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7482  +
        ob.extract::<PutWithContentEncodingInput>().map(Box::new)
 7942   7483   
    }
 7943   7484   
}
 7944         -
/// See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 7945         -
pub mod operation_with_defaults_input {
 7946   7485   
 7947         -
    impl ::std::convert::From<Builder> for crate::input::OperationWithDefaultsInput {
 7948         -
        fn from(builder: Builder) -> Self {
 7949         -
            builder.build()
 7950         -
        }
        7486  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutWithContentEncodingInput> {
        7487  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7488  +
        (*self).into_py(py)
 7951   7489   
    }
 7952         -
    /// A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 7953         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7954         -
    pub struct Builder {
 7955         -
        pub(crate) defaults: ::std::option::Option<crate::model::Defaults>,
 7956         -
        pub(crate) client_optional_defaults:
 7957         -
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
 7958         -
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
 7959         -
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
        7490  +
}
        7491  +
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
        7492  +
    type Unconstrained = crate::input::put_with_content_encoding_input_internal::Builder;
        7493  +
}
        7494  +
impl PutWithContentEncodingInput {
        7495  +
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        7496  +
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
        7497  +
        crate::input::put_with_content_encoding_input::Builder::default()
 7960   7498   
    }
 7961         -
    impl Builder {
 7962         -
        #[allow(missing_docs)] // documentation missing in model
 7963         -
        pub fn defaults(mut self, input: ::std::option::Option<crate::model::Defaults>) -> Self {
 7964         -
            self.defaults = input;
 7965         -
            self
 7966         -
        }
 7967         -
        #[allow(missing_docs)] // documentation missing in model
 7968         -
        pub fn client_optional_defaults(
 7969         -
            mut self,
 7970         -
            input: ::std::option::Option<crate::model::ClientOptionalDefaults>,
 7971         -
        ) -> Self {
 7972         -
            self.client_optional_defaults = input;
 7973         -
            self
 7974         -
        }
 7975         -
        #[allow(missing_docs)] // documentation missing in model
 7976         -
        pub fn top_level_default(mut self, input: ::std::string::String) -> Self {
 7977         -
            self.top_level_default = Some(input);
 7978         -
            self
 7979         -
        }
 7980         -
        #[allow(missing_docs)] // documentation missing in model
 7981         -
        pub fn other_top_level_default(mut self, input: i32) -> Self {
 7982         -
            self.other_top_level_default = Some(input);
 7983         -
            self
 7984         -
        }
 7985         -
        /// Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
 7986         -
        pub fn build(self) -> crate::input::OperationWithDefaultsInput {
 7987         -
            self.build_enforcing_required_and_enum_traits()
 7988         -
        }
 7989         -
        fn build_enforcing_required_and_enum_traits(
 7990         -
            self,
 7991         -
        ) -> crate::input::OperationWithDefaultsInput {
 7992         -
            crate::input::OperationWithDefaultsInput {
 7993         -
                defaults: self.defaults,
 7994         -
                client_optional_defaults: self.client_optional_defaults,
 7995         -
                top_level_default: self.top_level_default.unwrap_or_else(|| String::from("hi")),
 7996         -
                other_top_level_default: self.other_top_level_default.unwrap_or(0i32),
 7997         -
            }
 7998         -
        }
        7499  +
}
        7500  +
        7501  +
#[::pyo3::pyclass]
        7502  +
/// :param value typing.Optional\[int\]:
        7503  +
/// :rtype None:
        7504  +
#[allow(missing_docs)] // documentation missing in model
        7505  +
#[derive(
        7506  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7507  +
)]
        7508  +
pub struct ContentTypeParametersInput {
        7509  +
    #[pyo3(get, set)]
        7510  +
    /// :type typing.Optional\[int\]:
        7511  +
    #[allow(missing_docs)] // documentation missing in model
        7512  +
    pub value: ::std::option::Option<i32>,
        7513  +
}
        7514  +
impl ContentTypeParametersInput {
        7515  +
    #[allow(missing_docs)] // documentation missing in model
        7516  +
    pub fn value(&self) -> ::std::option::Option<i32> {
        7517  +
        self.value
        7518  +
    }
        7519  +
}
        7520  +
#[allow(clippy::new_without_default)]
        7521  +
#[allow(clippy::too_many_arguments)]
        7522  +
#[::pyo3::pymethods]
        7523  +
impl ContentTypeParametersInput {
        7524  +
    #[new]
        7525  +
    pub fn new(value: ::std::option::Option<i32>) -> Self {
        7526  +
        Self { value }
        7527  +
    }
        7528  +
    fn __repr__(&self) -> String {
        7529  +
        format!("{self:?}")
        7530  +
    }
        7531  +
    fn __str__(&self) -> String {
        7532  +
        format!("{self:?}")
 7999   7533   
    }
 8000   7534   
}
 8001         -
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 8002         -
pub(crate) mod content_type_parameters_input_internal {
 8003         -
 8004         -
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
 8005         -
        fn from(builder: Builder) -> Self {
 8006         -
            builder.build()
 8007         -
        }
        7535  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ContentTypeParametersInput> {
        7536  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7537  +
        ob.extract::<ContentTypeParametersInput>().map(Box::new)
 8008   7538   
    }
 8009         -
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 8010         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8011         -
    pub(crate) struct Builder {
 8012         -
        pub(crate) value: ::std::option::Option<i32>,
        7539  +
}
        7540  +
        7541  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ContentTypeParametersInput> {
        7542  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7543  +
        (*self).into_py(py)
 8013   7544   
    }
 8014         -
    impl Builder {
 8015         -
        #[allow(missing_docs)] // documentation missing in model
 8016         -
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
 8017         -
            self.value = input.map(|v| v.into());
 8018         -
            self
 8019         -
        }
 8020         -
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 8021         -
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 8022         -
            self.build_enforcing_all_constraints()
 8023         -
        }
 8024         -
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
 8025         -
            crate::input::ContentTypeParametersInput { value: self.value }
 8026         -
        }
        7545  +
}
        7546  +
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
        7547  +
    type Unconstrained = crate::input::content_type_parameters_input_internal::Builder;
        7548  +
}
        7549  +
impl ContentTypeParametersInput {
        7550  +
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        7551  +
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
        7552  +
        crate::input::content_type_parameters_input::Builder::default()
 8027   7553   
    }
 8028   7554   
}
 8029         -
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 8030         -
pub mod content_type_parameters_input {
 8031   7555   
 8032         -
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
 8033         -
        fn from(builder: Builder) -> Self {
 8034         -
            builder.build()
 8035         -
        }
        7556  +
#[::pyo3::pyclass]
        7557  +
/// :param top_level_default str:
        7558  +
/// :param other_top_level_default int:
        7559  +
/// :param defaults typing.Optional\[rest_json.model.Defaults\]:
        7560  +
/// :param client_optional_defaults typing.Optional\[rest_json.model.ClientOptionalDefaults\]:
        7561  +
/// :rtype None:
        7562  +
#[allow(missing_docs)] // documentation missing in model
        7563  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        7564  +
pub struct OperationWithDefaultsInput {
        7565  +
    #[pyo3(get, set)]
        7566  +
    /// :type typing.Optional\[rest_json.model.Defaults\]:
        7567  +
    #[allow(missing_docs)] // documentation missing in model
        7568  +
    pub defaults: ::std::option::Option<crate::model::Defaults>,
        7569  +
    #[pyo3(get, set)]
        7570  +
    /// :type typing.Optional\[rest_json.model.ClientOptionalDefaults\]:
        7571  +
    #[allow(missing_docs)] // documentation missing in model
        7572  +
    pub client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
        7573  +
    #[pyo3(get, set)]
        7574  +
    /// :type str:
        7575  +
    #[allow(missing_docs)] // documentation missing in model
        7576  +
    pub top_level_default: ::std::string::String,
        7577  +
    #[pyo3(get, set)]
        7578  +
    /// :type int:
        7579  +
    #[allow(missing_docs)] // documentation missing in model
        7580  +
    pub other_top_level_default: i32,
        7581  +
}
        7582  +
impl OperationWithDefaultsInput {
        7583  +
    #[allow(missing_docs)] // documentation missing in model
        7584  +
    pub fn defaults(&self) -> ::std::option::Option<&crate::model::Defaults> {
        7585  +
        self.defaults.as_ref()
 8036   7586   
    }
 8037         -
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 8038         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8039         -
    pub struct Builder {
 8040         -
        pub(crate) value: ::std::option::Option<i32>,
        7587  +
    #[allow(missing_docs)] // documentation missing in model
        7588  +
    pub fn client_optional_defaults(
        7589  +
        &self,
        7590  +
    ) -> ::std::option::Option<&crate::model::ClientOptionalDefaults> {
        7591  +
        self.client_optional_defaults.as_ref()
 8041   7592   
    }
 8042         -
    impl Builder {
 8043         -
        #[allow(missing_docs)] // documentation missing in model
 8044         -
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
 8045         -
            self.value = input;
 8046         -
            self
 8047         -
        }
 8048         -
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 8049         -
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 8050         -
            self.build_enforcing_required_and_enum_traits()
 8051         -
        }
 8052         -
        fn build_enforcing_required_and_enum_traits(
 8053         -
            self,
 8054         -
        ) -> crate::input::ContentTypeParametersInput {
 8055         -
            crate::input::ContentTypeParametersInput { value: self.value }
 8056         -
        }
        7593  +
    #[allow(missing_docs)] // documentation missing in model
        7594  +
    pub fn top_level_default(&self) -> &str {
        7595  +
        use std::ops::Deref;
        7596  +
        self.top_level_default.deref()
        7597  +
    }
        7598  +
    #[allow(missing_docs)] // documentation missing in model
        7599  +
    pub fn other_top_level_default(&self) -> i32 {
        7600  +
        self.other_top_level_default
 8057   7601   
    }
 8058   7602   
}
 8059         -
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 8060         -
pub(crate) mod put_with_content_encoding_input_internal {
 8061         -
 8062         -
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
 8063         -
        fn from(builder: Builder) -> Self {
 8064         -
            builder.build()
        7603  +
#[allow(clippy::new_without_default)]
        7604  +
#[allow(clippy::too_many_arguments)]
        7605  +
#[::pyo3::pymethods]
        7606  +
impl OperationWithDefaultsInput {
        7607  +
    #[new]
        7608  +
    pub fn new(
        7609  +
        top_level_default: ::std::string::String,
        7610  +
        other_top_level_default: i32,
        7611  +
        defaults: ::std::option::Option<crate::model::Defaults>,
        7612  +
        client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
        7613  +
    ) -> Self {
        7614  +
        Self {
        7615  +
            top_level_default,
        7616  +
            other_top_level_default,
        7617  +
            defaults,
        7618  +
            client_optional_defaults,
 8065   7619   
        }
 8066   7620   
    }
 8067         -
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 8068         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8069         -
    pub(crate) struct Builder {
 8070         -
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
 8071         -
        pub(crate) data: ::std::option::Option<::std::string::String>,
        7621  +
    fn __repr__(&self) -> String {
        7622  +
        format!("{self:?}")
 8072   7623   
    }
 8073         -
    impl Builder {
 8074         -
        #[allow(missing_docs)] // documentation missing in model
 8075         -
        pub(crate) fn set_encoding(
 8076         -
            mut self,
 8077         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8078         -
        ) -> Self {
 8079         -
            self.encoding = input.map(|v| v.into());
 8080         -
            self
 8081         -
        }
 8082         -
        #[allow(missing_docs)] // documentation missing in model
 8083         -
        pub(crate) fn set_data(
 8084         -
            mut self,
 8085         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8086         -
        ) -> Self {
 8087         -
            self.data = input.map(|v| v.into());
 8088         -
            self
 8089         -
        }
 8090         -
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 8091         -
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
 8092         -
            self.build_enforcing_all_constraints()
 8093         -
        }
 8094         -
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
 8095         -
            crate::input::PutWithContentEncodingInput {
 8096         -
                encoding: self.encoding,
 8097         -
                data: self.data,
 8098         -
            }
 8099         -
        }
        7624  +
    fn __str__(&self) -> String {
        7625  +
        format!("{self:?}")
        7626  +
    }
        7627  +
}
        7628  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OperationWithDefaultsInput> {
        7629  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7630  +
        ob.extract::<OperationWithDefaultsInput>().map(Box::new)
 8100   7631   
    }
 8101   7632   
}
 8102         -
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 8103         -
pub mod put_with_content_encoding_input {
 8104   7633   
 8105         -
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
 8106         -
        fn from(builder: Builder) -> Self {
 8107         -
            builder.build()
 8108         -
        }
        7634  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithDefaultsInput> {
        7635  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7636  +
        (*self).into_py(py)
 8109   7637   
    }
 8110         -
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 8111         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8112         -
    pub struct Builder {
 8113         -
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
 8114         -
        pub(crate) data: ::std::option::Option<::std::string::String>,
        7638  +
}
        7639  +
impl crate::constrained::Constrained for crate::input::OperationWithDefaultsInput {
        7640  +
    type Unconstrained = crate::input::operation_with_defaults_input_internal::Builder;
        7641  +
}
        7642  +
impl OperationWithDefaultsInput {
        7643  +
    /// Creates a new builder-style object to manufacture [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
        7644  +
    pub fn builder() -> crate::input::operation_with_defaults_input::Builder {
        7645  +
        crate::input::operation_with_defaults_input::Builder::default()
 8115   7646   
    }
 8116         -
    impl Builder {
 8117         -
        #[allow(missing_docs)] // documentation missing in model
 8118         -
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8119         -
            self.encoding = input;
 8120         -
            self
 8121         -
        }
 8122         -
        #[allow(missing_docs)] // documentation missing in model
 8123         -
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8124         -
            self.data = input;
 8125         -
            self
 8126         -
        }
 8127         -
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 8128         -
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
 8129         -
            self.build_enforcing_required_and_enum_traits()
 8130         -
        }
 8131         -
        fn build_enforcing_required_and_enum_traits(
 8132         -
            self,
 8133         -
        ) -> crate::input::PutWithContentEncodingInput {
 8134         -
            crate::input::PutWithContentEncodingInput {
 8135         -
                encoding: self.encoding,
 8136         -
                data: self.data,
 8137         -
            }
 8138         -
        }
        7647  +
}
        7648  +
        7649  +
#[::pyo3::pyclass]
        7650  +
/// :param top_level rest_json.model.TopLevel:
        7651  +
/// :rtype None:
        7652  +
#[allow(missing_docs)] // documentation missing in model
        7653  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        7654  +
pub struct OperationWithNestedStructureInput {
        7655  +
    #[pyo3(get, set)]
        7656  +
    /// :type rest_json.model.TopLevel:
        7657  +
    #[allow(missing_docs)] // documentation missing in model
        7658  +
    pub top_level: crate::model::TopLevel,
        7659  +
}
        7660  +
impl OperationWithNestedStructureInput {
        7661  +
    #[allow(missing_docs)] // documentation missing in model
        7662  +
    pub fn top_level(&self) -> &crate::model::TopLevel {
        7663  +
        &self.top_level
        7664  +
    }
        7665  +
}
        7666  +
#[allow(clippy::new_without_default)]
        7667  +
#[allow(clippy::too_many_arguments)]
        7668  +
#[::pyo3::pymethods]
        7669  +
impl OperationWithNestedStructureInput {
        7670  +
    #[new]
        7671  +
    pub fn new(top_level: crate::model::TopLevel) -> Self {
        7672  +
        Self { top_level }
        7673  +
    }
        7674  +
    fn __repr__(&self) -> String {
        7675  +
        format!("{self:?}")
        7676  +
    }
        7677  +
    fn __str__(&self) -> String {
        7678  +
        format!("{self:?}")
        7679  +
    }
        7680  +
}
        7681  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OperationWithNestedStructureInput> {
        7682  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7683  +
        ob.extract::<OperationWithNestedStructureInput>()
        7684  +
            .map(Box::new)
 8139   7685   
    }
 8140   7686   
}
 8141         -
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 8142         -
pub(crate) mod fractional_seconds_input_internal {
 8143   7687   
 8144         -
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
 8145         -
        fn from(builder: Builder) -> Self {
 8146         -
            builder.build()
 8147         -
        }
        7688  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithNestedStructureInput> {
        7689  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7690  +
        (*self).into_py(py)
 8148   7691   
    }
 8149         -
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 8150         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8151         -
    pub(crate) struct Builder {}
 8152         -
    impl Builder {
 8153         -
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 8154         -
        pub fn build(self) -> crate::input::FractionalSecondsInput {
 8155         -
            self.build_enforcing_all_constraints()
 8156         -
        }
 8157         -
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
 8158         -
            crate::input::FractionalSecondsInput {}
 8159         -
        }
        7692  +
}
        7693  +
impl crate::constrained::Constrained for crate::input::OperationWithNestedStructureInput {
        7694  +
    type Unconstrained = crate::input::operation_with_nested_structure_input_internal::Builder;
        7695  +
}
        7696  +
impl OperationWithNestedStructureInput {
        7697  +
    /// Creates a new builder-style object to manufacture [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
        7698  +
    pub fn builder() -> crate::input::operation_with_nested_structure_input::Builder {
        7699  +
        crate::input::operation_with_nested_structure_input::Builder::default()
 8160   7700   
    }
 8161   7701   
}
 8162         -
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 8163         -
pub mod fractional_seconds_input {
 8164   7702   
 8165         -
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
 8166         -
        fn from(builder: Builder) -> Self {
 8167         -
            builder.build()
 8168         -
        }
        7703  +
#[::pyo3::pyclass]
        7704  +
/// :param stream typing.AsyncIterator\[rest_json.model.EventStream\]:
        7705  +
/// :rtype None:
        7706  +
#[allow(missing_docs)] // documentation missing in model
        7707  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        7708  +
pub struct InputStreamInput {
        7709  +
    #[pyo3(get, set)]
        7710  +
    /// :type typing.AsyncIterator\[rest_json.model.EventStream\]:
        7711  +
    #[allow(missing_docs)] // documentation missing in model
        7712  +
    pub stream: crate::python_event_stream::InputStreamInputStreamReceiver,
        7713  +
}
        7714  +
impl InputStreamInput {
        7715  +
    #[allow(missing_docs)] // documentation missing in model
        7716  +
    pub fn stream(&self) -> &crate::python_event_stream::InputStreamInputStreamReceiver {
        7717  +
        &self.stream
 8169   7718   
    }
 8170         -
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 8171         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8172         -
    pub struct Builder {}
 8173         -
    impl Builder {
 8174         -
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 8175         -
        pub fn build(self) -> crate::input::FractionalSecondsInput {
 8176         -
            self.build_enforcing_required_and_enum_traits()
 8177         -
        }
 8178         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::FractionalSecondsInput {
 8179         -
            crate::input::FractionalSecondsInput {}
 8180         -
        }
        7719  +
}
        7720  +
#[allow(clippy::new_without_default)]
        7721  +
#[allow(clippy::too_many_arguments)]
        7722  +
#[::pyo3::pymethods]
        7723  +
impl InputStreamInput {
        7724  +
    #[new]
        7725  +
    pub fn new(stream: crate::python_event_stream::InputStreamInputStreamReceiver) -> Self {
        7726  +
        Self { stream }
        7727  +
    }
        7728  +
    fn __repr__(&self) -> String {
        7729  +
        format!("{self:?}")
        7730  +
    }
        7731  +
    fn __str__(&self) -> String {
        7732  +
        format!("{self:?}")
        7733  +
    }
        7734  +
}
        7735  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<InputStreamInput> {
        7736  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7737  +
        ob.extract::<InputStreamInput>().map(Box::new)
 8181   7738   
    }
 8182   7739   
}
 8183         -
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 8184         -
pub(crate) mod datetime_offsets_input_internal {
 8185   7740   
 8186         -
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
 8187         -
        fn from(builder: Builder) -> Self {
 8188         -
            builder.build()
 8189         -
        }
        7741  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<InputStreamInput> {
        7742  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7743  +
        (*self).into_py(py)
 8190   7744   
    }
 8191         -
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 8192         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8193         -
    pub(crate) struct Builder {}
 8194         -
    impl Builder {
 8195         -
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 8196         -
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
 8197         -
            self.build_enforcing_all_constraints()
 8198         -
        }
 8199         -
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
 8200         -
            crate::input::DatetimeOffsetsInput {}
 8201         -
        }
        7745  +
}
        7746  +
impl crate::constrained::Constrained for crate::input::InputStreamInput {
        7747  +
    type Unconstrained = crate::input::input_stream_input_internal::Builder;
        7748  +
}
        7749  +
impl InputStreamInput {
        7750  +
    /// Creates a new builder-style object to manufacture [`InputStreamInput`](crate::input::InputStreamInput).
        7751  +
    pub fn builder() -> crate::input::input_stream_input::Builder {
        7752  +
        crate::input::input_stream_input::Builder::default()
 8202   7753   
    }
 8203   7754   
}
 8204         -
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 8205         -
pub mod datetime_offsets_input {
 8206   7755   
 8207         -
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
 8208         -
        fn from(builder: Builder) -> Self {
 8209         -
            builder.build()
 8210         -
        }
        7756  +
#[::pyo3::pyclass]
        7757  +
/// :rtype None:
        7758  +
#[allow(missing_docs)] // documentation missing in model
        7759  +
#[derive(
        7760  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7761  +
)]
        7762  +
pub struct OutputStreamInput {}
        7763  +
#[allow(clippy::new_without_default)]
        7764  +
#[allow(clippy::too_many_arguments)]
        7765  +
#[::pyo3::pymethods]
        7766  +
impl OutputStreamInput {
        7767  +
    #[new]
        7768  +
    pub fn new() -> Self {
        7769  +
        Self {}
 8211   7770   
    }
 8212         -
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 8213         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8214         -
    pub struct Builder {}
 8215         -
    impl Builder {
 8216         -
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 8217         -
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
 8218         -
            self.build_enforcing_required_and_enum_traits()
 8219         -
        }
 8220         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::DatetimeOffsetsInput {
 8221         -
            crate::input::DatetimeOffsetsInput {}
 8222         -
        }
        7771  +
    fn __repr__(&self) -> String {
        7772  +
        format!("{self:?}")
        7773  +
    }
        7774  +
    fn __str__(&self) -> String {
        7775  +
        format!("{self:?}")
        7776  +
    }
        7777  +
}
        7778  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<OutputStreamInput> {
        7779  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7780  +
        ob.extract::<OutputStreamInput>().map(Box::new)
 8223   7781   
    }
 8224   7782   
}
 8225         -
/// See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 8226         -
pub(crate) mod test_post_no_input_no_payload_input_internal {
 8227   7783   
 8228         -
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
 8229         -
        fn from(builder: Builder) -> Self {
 8230         -
            builder.build()
 8231         -
        }
        7784  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OutputStreamInput> {
        7785  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7786  +
        (*self).into_py(py)
 8232   7787   
    }
 8233         -
    /// A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 8234         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8235         -
    pub(crate) struct Builder {}
 8236         -
    impl Builder {
 8237         -
        /// Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 8238         -
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
 8239         -
            self.build_enforcing_all_constraints()
 8240         -
        }
 8241         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoInputNoPayloadInput {
 8242         -
            crate::input::TestPostNoInputNoPayloadInput {}
 8243         -
        }
        7788  +
}
        7789  +
impl crate::constrained::Constrained for crate::input::OutputStreamInput {
        7790  +
    type Unconstrained = crate::input::output_stream_input_internal::Builder;
        7791  +
}
        7792  +
impl OutputStreamInput {
        7793  +
    /// Creates a new builder-style object to manufacture [`OutputStreamInput`](crate::input::OutputStreamInput).
        7794  +
    pub fn builder() -> crate::input::output_stream_input::Builder {
        7795  +
        crate::input::output_stream_input::Builder::default()
 8244   7796   
    }
 8245   7797   
}
 8246         -
/// See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 8247         -
pub mod test_post_no_input_no_payload_input {
 8248   7798   
 8249         -
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
 8250         -
        fn from(builder: Builder) -> Self {
 8251         -
            builder.build()
 8252         -
        }
        7799  +
#[::pyo3::pyclass]
        7800  +
/// :param stream typing.AsyncIterator\[rest_json.model.EventStream\]:
        7801  +
/// :rtype None:
        7802  +
#[allow(missing_docs)] // documentation missing in model
        7803  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        7804  +
pub struct DuplexStreamInput {
        7805  +
    #[pyo3(get, set)]
        7806  +
    /// :type typing.AsyncIterator\[rest_json.model.EventStream\]:
        7807  +
    #[allow(missing_docs)] // documentation missing in model
        7808  +
    pub stream: crate::python_event_stream::DuplexStreamInputStreamReceiver,
        7809  +
}
        7810  +
impl DuplexStreamInput {
        7811  +
    #[allow(missing_docs)] // documentation missing in model
        7812  +
    pub fn stream(&self) -> &crate::python_event_stream::DuplexStreamInputStreamReceiver {
        7813  +
        &self.stream
 8253   7814   
    }
 8254         -
    /// A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 8255         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8256         -
    pub struct Builder {}
 8257         -
    impl Builder {
 8258         -
        /// Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
 8259         -
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
 8260         -
            self.build_enforcing_required_and_enum_traits()
 8261         -
        }
 8262         -
        fn build_enforcing_required_and_enum_traits(
 8263         -
            self,
 8264         -
        ) -> crate::input::TestPostNoInputNoPayloadInput {
 8265         -
            crate::input::TestPostNoInputNoPayloadInput {}
 8266         -
        }
        7815  +
}
        7816  +
#[allow(clippy::new_without_default)]
        7817  +
#[allow(clippy::too_many_arguments)]
        7818  +
#[::pyo3::pymethods]
        7819  +
impl DuplexStreamInput {
        7820  +
    #[new]
        7821  +
    pub fn new(stream: crate::python_event_stream::DuplexStreamInputStreamReceiver) -> Self {
        7822  +
        Self { stream }
        7823  +
    }
        7824  +
    fn __repr__(&self) -> String {
        7825  +
        format!("{self:?}")
        7826  +
    }
        7827  +
    fn __str__(&self) -> String {
        7828  +
        format!("{self:?}")
        7829  +
    }
        7830  +
}
        7831  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DuplexStreamInput> {
        7832  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7833  +
        ob.extract::<DuplexStreamInput>().map(Box::new)
 8267   7834   
    }
 8268   7835   
}
 8269         -
/// See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 8270         -
pub(crate) mod test_get_no_input_no_payload_input_internal {
 8271   7836   
 8272         -
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
 8273         -
        fn from(builder: Builder) -> Self {
 8274         -
            builder.build()
 8275         -
        }
        7837  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DuplexStreamInput> {
        7838  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7839  +
        (*self).into_py(py)
 8276   7840   
    }
 8277         -
    /// A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 8278         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8279         -
    pub(crate) struct Builder {}
 8280         -
    impl Builder {
 8281         -
        /// Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 8282         -
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
 8283         -
            self.build_enforcing_all_constraints()
 8284         -
        }
 8285         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoInputNoPayloadInput {
 8286         -
            crate::input::TestGetNoInputNoPayloadInput {}
 8287         -
        }
        7841  +
}
        7842  +
impl crate::constrained::Constrained for crate::input::DuplexStreamInput {
        7843  +
    type Unconstrained = crate::input::duplex_stream_input_internal::Builder;
        7844  +
}
        7845  +
impl DuplexStreamInput {
        7846  +
    /// Creates a new builder-style object to manufacture [`DuplexStreamInput`](crate::input::DuplexStreamInput).
        7847  +
    pub fn builder() -> crate::input::duplex_stream_input::Builder {
        7848  +
        crate::input::duplex_stream_input::Builder::default()
 8288   7849   
    }
 8289   7850   
}
 8290         -
/// See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 8291         -
pub mod test_get_no_input_no_payload_input {
 8292   7851   
 8293         -
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
 8294         -
        fn from(builder: Builder) -> Self {
 8295         -
            builder.build()
 8296         -
        }
        7852  +
#[::pyo3::pyclass]
        7853  +
/// :param initial_request_member str:
        7854  +
/// :param stream typing.AsyncIterator\[rest_json.model.EventStream\]:
        7855  +
/// :rtype None:
        7856  +
#[allow(missing_docs)] // documentation missing in model
        7857  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        7858  +
pub struct InputStreamWithInitialRequestInput {
        7859  +
    #[pyo3(get, set)]
        7860  +
    /// :type str:
        7861  +
    #[allow(missing_docs)] // documentation missing in model
        7862  +
    pub initial_request_member: ::std::string::String,
        7863  +
    #[pyo3(get, set)]
        7864  +
    /// :type typing.AsyncIterator\[rest_json.model.EventStream\]:
        7865  +
    #[allow(missing_docs)] // documentation missing in model
        7866  +
    pub stream: crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver,
        7867  +
}
        7868  +
impl InputStreamWithInitialRequestInput {
        7869  +
    #[allow(missing_docs)] // documentation missing in model
        7870  +
    pub fn initial_request_member(&self) -> &str {
        7871  +
        use std::ops::Deref;
        7872  +
        self.initial_request_member.deref()
 8297   7873   
    }
 8298         -
    /// A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 8299         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8300         -
    pub struct Builder {}
 8301         -
    impl Builder {
 8302         -
        /// Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
 8303         -
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
 8304         -
            self.build_enforcing_required_and_enum_traits()
 8305         -
        }
 8306         -
        fn build_enforcing_required_and_enum_traits(
 8307         -
            self,
 8308         -
        ) -> crate::input::TestGetNoInputNoPayloadInput {
 8309         -
            crate::input::TestGetNoInputNoPayloadInput {}
        7874  +
    #[allow(missing_docs)] // documentation missing in model
        7875  +
    pub fn stream(
        7876  +
        &self,
        7877  +
    ) -> &crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver {
        7878  +
        &self.stream
        7879  +
    }
        7880  +
}
        7881  +
#[allow(clippy::new_without_default)]
        7882  +
#[allow(clippy::too_many_arguments)]
        7883  +
#[::pyo3::pymethods]
        7884  +
impl InputStreamWithInitialRequestInput {
        7885  +
    #[new]
        7886  +
    pub fn new(
        7887  +
        initial_request_member: ::std::string::String,
        7888  +
        stream: crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver,
        7889  +
    ) -> Self {
        7890  +
        Self {
        7891  +
            initial_request_member,
        7892  +
            stream,
 8310   7893   
        }
 8311   7894   
    }
 8312         -
}
 8313         -
/// See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 8314         -
pub(crate) mod test_post_no_payload_input_internal {
 8315         -
 8316         -
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
 8317         -
        fn from(builder: Builder) -> Self {
 8318         -
            builder.build()
 8319         -
        }
        7895  +
    fn __repr__(&self) -> String {
        7896  +
        format!("{self:?}")
 8320   7897   
    }
 8321         -
    /// A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 8322         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8323         -
    pub(crate) struct Builder {
 8324         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        7898  +
    fn __str__(&self) -> String {
        7899  +
        format!("{self:?}")
 8325   7900   
    }
 8326         -
    impl Builder {
 8327         -
        #[allow(missing_docs)] // documentation missing in model
 8328         -
        pub(crate) fn set_test_id(
 8329         -
            mut self,
 8330         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8331         -
        ) -> Self {
 8332         -
            self.test_id = input.map(|v| v.into());
 8333         -
            self
 8334         -
        }
 8335         -
        /// Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 8336         -
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
 8337         -
            self.build_enforcing_all_constraints()
 8338         -
        }
 8339         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoPayloadInput {
 8340         -
            crate::input::TestPostNoPayloadInput {
 8341         -
                test_id: self.test_id,
 8342         -
            }
 8343         -
        }
        7901  +
}
        7902  +
impl<'source> ::pyo3::FromPyObject<'source>
        7903  +
    for std::boxed::Box<InputStreamWithInitialRequestInput>
        7904  +
{
        7905  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7906  +
        ob.extract::<InputStreamWithInitialRequestInput>()
        7907  +
            .map(Box::new)
 8344   7908   
    }
 8345   7909   
}
 8346         -
/// See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 8347         -
pub mod test_post_no_payload_input {
 8348   7910   
 8349         -
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
 8350         -
        fn from(builder: Builder) -> Self {
 8351         -
            builder.build()
 8352         -
        }
 8353         -
    }
 8354         -
    /// A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 8355         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8356         -
    pub struct Builder {
 8357         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        7911  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<InputStreamWithInitialRequestInput> {
        7912  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7913  +
        (*self).into_py(py)
 8358   7914   
    }
 8359         -
    impl Builder {
 8360         -
        #[allow(missing_docs)] // documentation missing in model
 8361         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8362         -
            self.test_id = input;
 8363         -
            self
 8364         -
        }
 8365         -
        /// Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
 8366         -
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
 8367         -
            self.build_enforcing_required_and_enum_traits()
 8368         -
        }
 8369         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestPostNoPayloadInput {
 8370         -
            crate::input::TestPostNoPayloadInput {
 8371         -
                test_id: self.test_id,
 8372         -
            }
 8373         -
        }
        7915  +
}
        7916  +
impl crate::constrained::Constrained for crate::input::InputStreamWithInitialRequestInput {
        7917  +
    type Unconstrained = crate::input::input_stream_with_initial_request_input_internal::Builder;
        7918  +
}
        7919  +
impl InputStreamWithInitialRequestInput {
        7920  +
    /// Creates a new builder-style object to manufacture [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
        7921  +
    pub fn builder() -> crate::input::input_stream_with_initial_request_input::Builder {
        7922  +
        crate::input::input_stream_with_initial_request_input::Builder::default()
 8374   7923   
    }
 8375   7924   
}
 8376         -
/// See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 8377         -
pub(crate) mod test_get_no_payload_input_internal {
 8378   7925   
 8379         -
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
 8380         -
        fn from(builder: Builder) -> Self {
 8381         -
            builder.build()
 8382         -
        }
        7926  +
#[::pyo3::pyclass]
        7927  +
/// :rtype None:
        7928  +
#[allow(missing_docs)] // documentation missing in model
        7929  +
#[derive(
        7930  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        7931  +
)]
        7932  +
pub struct OutputStreamWithInitialResponseInput {}
        7933  +
#[allow(clippy::new_without_default)]
        7934  +
#[allow(clippy::too_many_arguments)]
        7935  +
#[::pyo3::pymethods]
        7936  +
impl OutputStreamWithInitialResponseInput {
        7937  +
    #[new]
        7938  +
    pub fn new() -> Self {
        7939  +
        Self {}
 8383   7940   
    }
 8384         -
    /// A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 8385         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8386         -
    pub(crate) struct Builder {
 8387         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        7941  +
    fn __repr__(&self) -> String {
        7942  +
        format!("{self:?}")
 8388   7943   
    }
 8389         -
    impl Builder {
 8390         -
        #[allow(missing_docs)] // documentation missing in model
 8391         -
        pub(crate) fn set_test_id(
 8392         -
            mut self,
 8393         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8394         -
        ) -> Self {
 8395         -
            self.test_id = input.map(|v| v.into());
 8396         -
            self
 8397         -
        }
 8398         -
        /// Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 8399         -
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
 8400         -
            self.build_enforcing_all_constraints()
 8401         -
        }
 8402         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoPayloadInput {
 8403         -
            crate::input::TestGetNoPayloadInput {
 8404         -
                test_id: self.test_id,
 8405         -
            }
 8406         -
        }
        7944  +
    fn __str__(&self) -> String {
        7945  +
        format!("{self:?}")
 8407   7946   
    }
 8408   7947   
}
 8409         -
/// See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 8410         -
pub mod test_get_no_payload_input {
 8411         -
 8412         -
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
 8413         -
        fn from(builder: Builder) -> Self {
 8414         -
            builder.build()
 8415         -
        }
        7948  +
impl<'source> ::pyo3::FromPyObject<'source>
        7949  +
    for std::boxed::Box<OutputStreamWithInitialResponseInput>
        7950  +
{
        7951  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        7952  +
        ob.extract::<OutputStreamWithInitialResponseInput>()
        7953  +
            .map(Box::new)
 8416   7954   
    }
 8417         -
    /// A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 8418         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8419         -
    pub struct Builder {
 8420         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        7955  +
}
        7956  +
        7957  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OutputStreamWithInitialResponseInput> {
        7958  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        7959  +
        (*self).into_py(py)
 8421   7960   
    }
 8422         -
    impl Builder {
 8423         -
        #[allow(missing_docs)] // documentation missing in model
 8424         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8425         -
            self.test_id = input;
 8426         -
            self
 8427         -
        }
 8428         -
        /// Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
 8429         -
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
 8430         -
            self.build_enforcing_required_and_enum_traits()
 8431         -
        }
 8432         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestGetNoPayloadInput {
 8433         -
            crate::input::TestGetNoPayloadInput {
 8434         -
                test_id: self.test_id,
 8435         -
            }
 8436         -
        }
        7961  +
}
        7962  +
impl crate::constrained::Constrained for crate::input::OutputStreamWithInitialResponseInput {
        7963  +
    type Unconstrained = crate::input::output_stream_with_initial_response_input_internal::Builder;
        7964  +
}
        7965  +
impl OutputStreamWithInitialResponseInput {
        7966  +
    /// Creates a new builder-style object to manufacture [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
        7967  +
    pub fn builder() -> crate::input::output_stream_with_initial_response_input::Builder {
        7968  +
        crate::input::output_stream_with_initial_response_input::Builder::default()
 8437   7969   
    }
 8438   7970   
}
 8439         -
/// See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 8440         -
pub(crate) mod test_payload_blob_input_internal {
 8441   7971   
 8442         -
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
 8443         -
        fn from(builder: Builder) -> Self {
 8444         -
            builder.build()
 8445         -
        }
 8446         -
    }
 8447         -
    /// A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 8448         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8449         -
    pub(crate) struct Builder {
 8450         -
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
 8451         -
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        7972  +
#[::pyo3::pyclass]
        7973  +
/// :param initial_request_member str:
        7974  +
/// :param stream typing.AsyncIterator\[rest_json.model.EventStream\]:
        7975  +
/// :rtype None:
        7976  +
#[allow(missing_docs)] // documentation missing in model
        7977  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        7978  +
pub struct DuplexStreamWithInitialMessagesInput {
        7979  +
    #[pyo3(get, set)]
        7980  +
    /// :type str:
        7981  +
    #[allow(missing_docs)] // documentation missing in model
        7982  +
    pub initial_request_member: ::std::string::String,
        7983  +
    #[pyo3(get, set)]
        7984  +
    /// :type typing.AsyncIterator\[rest_json.model.EventStream\]:
        7985  +
    #[allow(missing_docs)] // documentation missing in model
        7986  +
    pub stream: crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver,
        7987  +
}
        7988  +
impl DuplexStreamWithInitialMessagesInput {
        7989  +
    #[allow(missing_docs)] // documentation missing in model
        7990  +
    pub fn initial_request_member(&self) -> &str {
        7991  +
        use std::ops::Deref;
        7992  +
        self.initial_request_member.deref()
 8452   7993   
    }
 8453         -
    impl Builder {
 8454         -
        #[allow(missing_docs)] // documentation missing in model
 8455         -
        pub(crate) fn set_content_type(
 8456         -
            mut self,
 8457         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8458         -
        ) -> Self {
 8459         -
            self.content_type = input.map(|v| v.into());
 8460         -
            self
 8461         -
        }
 8462         -
        #[allow(missing_docs)] // documentation missing in model
 8463         -
        pub(crate) fn set_data(
 8464         -
            mut self,
 8465         -
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
 8466         -
        ) -> Self {
 8467         -
            self.data = input.map(|v| v.into());
 8468         -
            self
 8469         -
        }
 8470         -
        /// Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 8471         -
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
 8472         -
            self.build_enforcing_all_constraints()
 8473         -
        }
 8474         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadBlobInput {
 8475         -
            crate::input::TestPayloadBlobInput {
 8476         -
                content_type: self.content_type,
 8477         -
                data: self.data,
 8478         -
            }
 8479         -
        }
        7994  +
    #[allow(missing_docs)] // documentation missing in model
        7995  +
    pub fn stream(
        7996  +
        &self,
        7997  +
    ) -> &crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver {
        7998  +
        &self.stream
 8480   7999   
    }
 8481   8000   
}
 8482         -
/// See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 8483         -
pub mod test_payload_blob_input {
 8484         -
 8485         -
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
 8486         -
        fn from(builder: Builder) -> Self {
 8487         -
            builder.build()
        8001  +
#[allow(clippy::new_without_default)]
        8002  +
#[allow(clippy::too_many_arguments)]
        8003  +
#[::pyo3::pymethods]
        8004  +
impl DuplexStreamWithInitialMessagesInput {
        8005  +
    #[new]
        8006  +
    pub fn new(
        8007  +
        initial_request_member: ::std::string::String,
        8008  +
        stream: crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver,
        8009  +
    ) -> Self {
        8010  +
        Self {
        8011  +
            initial_request_member,
        8012  +
            stream,
 8488   8013   
        }
 8489   8014   
    }
 8490         -
    /// A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 8491         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8492         -
    pub struct Builder {
 8493         -
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
 8494         -
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        8015  +
    fn __repr__(&self) -> String {
        8016  +
        format!("{self:?}")
 8495   8017   
    }
 8496         -
    impl Builder {
 8497         -
        #[allow(missing_docs)] // documentation missing in model
 8498         -
        pub fn content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8499         -
            self.content_type = input;
 8500         -
            self
 8501         -
        }
 8502         -
        #[allow(missing_docs)] // documentation missing in model
 8503         -
        pub fn data(
 8504         -
            mut self,
 8505         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 8506         -
        ) -> Self {
 8507         -
            self.data = input;
 8508         -
            self
 8509         -
        }
 8510         -
        /// Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
 8511         -
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
 8512         -
            self.build_enforcing_required_and_enum_traits()
 8513         -
        }
 8514         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestPayloadBlobInput {
 8515         -
            crate::input::TestPayloadBlobInput {
 8516         -
                content_type: self.content_type,
 8517         -
                data: self.data,
 8518         -
            }
 8519         -
        }
        8018  +
    fn __str__(&self) -> String {
        8019  +
        format!("{self:?}")
        8020  +
    }
        8021  +
}
        8022  +
impl<'source> ::pyo3::FromPyObject<'source>
        8023  +
    for std::boxed::Box<DuplexStreamWithInitialMessagesInput>
        8024  +
{
        8025  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        8026  +
        ob.extract::<DuplexStreamWithInitialMessagesInput>()
        8027  +
            .map(Box::new)
        8028  +
    }
        8029  +
}
        8030  +
        8031  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DuplexStreamWithInitialMessagesInput> {
        8032  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        8033  +
        (*self).into_py(py)
        8034  +
    }
        8035  +
}
        8036  +
impl crate::constrained::Constrained for crate::input::DuplexStreamWithInitialMessagesInput {
        8037  +
    type Unconstrained = crate::input::duplex_stream_with_initial_messages_input_internal::Builder;
        8038  +
}
        8039  +
impl DuplexStreamWithInitialMessagesInput {
        8040  +
    /// Creates a new builder-style object to manufacture [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
        8041  +
    pub fn builder() -> crate::input::duplex_stream_with_initial_messages_input::Builder {
        8042  +
        crate::input::duplex_stream_with_initial_messages_input::Builder::default()
 8520   8043   
    }
 8521   8044   
}
 8522         -
/// See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 8523         -
pub(crate) mod test_payload_structure_input_internal {
 8524   8045   
 8525         -
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
 8526         -
        fn from(builder: Builder) -> Self {
 8527         -
            builder.build()
 8528         -
        }
        8046  +
#[::pyo3::pyclass]
        8047  +
/// :param stream typing.AsyncIterator\[rest_json.model.EventStream\]:
        8048  +
/// :rtype None:
        8049  +
#[allow(missing_docs)] // documentation missing in model
        8050  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
        8051  +
pub struct DuplexStreamWithDistinctStreamsInput {
        8052  +
    #[pyo3(get, set)]
        8053  +
    /// :type typing.AsyncIterator\[rest_json.model.EventStream\]:
        8054  +
    #[allow(missing_docs)] // documentation missing in model
        8055  +
    pub stream: crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver,
        8056  +
}
        8057  +
impl DuplexStreamWithDistinctStreamsInput {
        8058  +
    #[allow(missing_docs)] // documentation missing in model
        8059  +
    pub fn stream(
        8060  +
        &self,
        8061  +
    ) -> &crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver {
        8062  +
        &self.stream
 8529   8063   
    }
 8530         -
    /// A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 8531         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8532         -
    pub(crate) struct Builder {
 8533         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
 8534         -
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
        8064  +
}
        8065  +
#[allow(clippy::new_without_default)]
        8066  +
#[allow(clippy::too_many_arguments)]
        8067  +
#[::pyo3::pymethods]
        8068  +
impl DuplexStreamWithDistinctStreamsInput {
        8069  +
    #[new]
        8070  +
    pub fn new(
        8071  +
        stream: crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver,
        8072  +
    ) -> Self {
        8073  +
        Self { stream }
 8535   8074   
    }
 8536         -
    impl Builder {
 8537         -
        #[allow(missing_docs)] // documentation missing in model
 8538         -
        pub(crate) fn set_test_id(
 8539         -
            mut self,
 8540         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8541         -
        ) -> Self {
 8542         -
            self.test_id = input.map(|v| v.into());
 8543         -
            self
 8544         -
        }
 8545         -
        #[allow(missing_docs)] // documentation missing in model
 8546         -
        pub(crate) fn set_payload_config(
 8547         -
            mut self,
 8548         -
            input: Option<impl ::std::convert::Into<crate::model::PayloadConfig>>,
 8549         -
        ) -> Self {
 8550         -
            self.payload_config = input.map(|v| v.into());
 8551         -
            self
 8552         -
        }
 8553         -
        /// Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 8554         -
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
 8555         -
            self.build_enforcing_all_constraints()
 8556         -
        }
 8557         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadStructureInput {
 8558         -
            crate::input::TestPayloadStructureInput {
 8559         -
                test_id: self.test_id,
 8560         -
                payload_config: self.payload_config,
 8561         -
            }
 8562         -
        }
        8075  +
    fn __repr__(&self) -> String {
        8076  +
        format!("{self:?}")
        8077  +
    }
        8078  +
    fn __str__(&self) -> String {
        8079  +
        format!("{self:?}")
 8563   8080   
    }
 8564   8081   
}
 8565         -
/// See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 8566         -
pub mod test_payload_structure_input {
 8567         -
 8568         -
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
 8569         -
        fn from(builder: Builder) -> Self {
 8570         -
            builder.build()
 8571         -
        }
        8082  +
impl<'source> ::pyo3::FromPyObject<'source>
        8083  +
    for std::boxed::Box<DuplexStreamWithDistinctStreamsInput>
        8084  +
{
        8085  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        8086  +
        ob.extract::<DuplexStreamWithDistinctStreamsInput>()
        8087  +
            .map(Box::new)
 8572   8088   
    }
 8573         -
    /// A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 8574         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8575         -
    pub struct Builder {
 8576         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
 8577         -
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
        8089  +
}
        8090  +
        8091  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DuplexStreamWithDistinctStreamsInput> {
        8092  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        8093  +
        (*self).into_py(py)
 8578   8094   
    }
 8579         -
    impl Builder {
 8580         -
        #[allow(missing_docs)] // documentation missing in model
 8581         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8582         -
            self.test_id = input;
 8583         -
            self
 8584         -
        }
 8585         -
        #[allow(missing_docs)] // documentation missing in model
 8586         -
        pub fn payload_config(
 8587         -
            mut self,
 8588         -
            input: ::std::option::Option<crate::model::PayloadConfig>,
 8589         -
        ) -> Self {
 8590         -
            self.payload_config = input;
 8591         -
            self
 8592         -
        }
 8593         -
        /// Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
 8594         -
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
 8595         -
            self.build_enforcing_required_and_enum_traits()
 8596         -
        }
 8597         -
        fn build_enforcing_required_and_enum_traits(
 8598         -
            self,
 8599         -
        ) -> crate::input::TestPayloadStructureInput {
 8600         -
            crate::input::TestPayloadStructureInput {
 8601         -
                test_id: self.test_id,
 8602         -
                payload_config: self.payload_config,
 8603         -
            }
 8604         -
        }
        8095  +
}
        8096  +
impl crate::constrained::Constrained for crate::input::DuplexStreamWithDistinctStreamsInput {
        8097  +
    type Unconstrained = crate::input::duplex_stream_with_distinct_streams_input_internal::Builder;
        8098  +
}
        8099  +
impl DuplexStreamWithDistinctStreamsInput {
        8100  +
    /// Creates a new builder-style object to manufacture [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
        8101  +
    pub fn builder() -> crate::input::duplex_stream_with_distinct_streams_input::Builder {
        8102  +
        crate::input::duplex_stream_with_distinct_streams_input::Builder::default()
 8605   8103   
    }
 8606   8104   
}
 8607         -
/// See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
 8608         -
pub(crate) mod test_body_structure_input_internal {
        8105  +
/// See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        8106  +
pub(crate) mod no_input_and_no_output_input_internal {
 8609   8107   
 8610         -
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
        8108  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
 8611   8109   
        fn from(builder: Builder) -> Self {
 8612   8110   
            builder.build()
 8613   8111   
        }
 8614   8112   
    }
 8615         -
    /// A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        8113  +
    /// A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
 8616   8114   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8617         -
    pub(crate) struct Builder {
 8618         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
 8619         -
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
 8620         -
    }
        8115  +
    pub(crate) struct Builder {}
 8621   8116   
    impl Builder {
 8622         -
        #[allow(missing_docs)] // documentation missing in model
 8623         -
        pub(crate) fn set_test_id(
 8624         -
            mut self,
 8625         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8626         -
        ) -> Self {
 8627         -
            self.test_id = input.map(|v| v.into());
 8628         -
            self
 8629         -
        }
 8630         -
        #[allow(missing_docs)] // documentation missing in model
 8631         -
        pub(crate) fn set_test_config(
 8632         -
            mut self,
 8633         -
            input: Option<impl ::std::convert::Into<crate::model::TestConfig>>,
 8634         -
        ) -> Self {
 8635         -
            self.test_config = input.map(|v| v.into());
 8636         -
            self
 8637         -
        }
 8638         -
        /// Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
 8639         -
        pub fn build(self) -> crate::input::TestBodyStructureInput {
        8117  +
        /// Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        8118  +
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
 8640   8119   
            self.build_enforcing_all_constraints()
 8641   8120   
        }
 8642         -
        fn build_enforcing_all_constraints(self) -> crate::input::TestBodyStructureInput {
 8643         -
            crate::input::TestBodyStructureInput {
 8644         -
                test_id: self.test_id,
 8645         -
                test_config: self.test_config,
 8646         -
            }
        8121  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndNoOutputInput {
        8122  +
            crate::input::NoInputAndNoOutputInput {}
 8647   8123   
        }
 8648   8124   
    }
 8649   8125   
}
 8650         -
/// See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
 8651         -
pub mod test_body_structure_input {
        8126  +
/// See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        8127  +
pub mod no_input_and_no_output_input {
 8652   8128   
 8653         -
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
        8129  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
 8654   8130   
        fn from(builder: Builder) -> Self {
 8655   8131   
            builder.build()
 8656   8132   
        }
 8657   8133   
    }
 8658         -
    /// A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        8134  +
    /// A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
 8659   8135   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8660         -
    pub struct Builder {
 8661         -
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
 8662         -
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
 8663         -
    }
        8136  +
    pub struct Builder {}
 8664   8137   
    impl Builder {
 8665         -
        #[allow(missing_docs)] // documentation missing in model
 8666         -
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8667         -
            self.test_id = input;
 8668         -
            self
 8669         -
        }
 8670         -
        #[allow(missing_docs)] // documentation missing in model
 8671         -
        pub fn test_config(
 8672         -
            mut self,
 8673         -
            input: ::std::option::Option<crate::model::TestConfig>,
 8674         -
        ) -> Self {
 8675         -
            self.test_config = input;
 8676         -
            self
 8677         -
        }
 8678         -
        /// Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
 8679         -
        pub fn build(self) -> crate::input::TestBodyStructureInput {
        8138  +
        /// Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        8139  +
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
 8680   8140   
            self.build_enforcing_required_and_enum_traits()
 8681   8141   
        }
 8682         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestBodyStructureInput {
 8683         -
            crate::input::TestBodyStructureInput {
 8684         -
                test_id: self.test_id,
 8685         -
                test_config: self.test_config,
 8686         -
            }
        8142  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::NoInputAndNoOutputInput {
        8143  +
            crate::input::NoInputAndNoOutputInput {}
 8687   8144   
        }
 8688   8145   
    }
 8689   8146   
}
 8690         -
/// See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 8691         -
pub(crate) mod malformed_accept_with_generic_string_input_internal {
        8147  +
/// See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        8148  +
pub(crate) mod no_input_and_output_input_internal {
 8692   8149   
 8693         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
        8150  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
 8694   8151   
        fn from(builder: Builder) -> Self {
 8695   8152   
            builder.build()
 8696   8153   
        }
 8697   8154   
    }
 8698         -
    /// A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        8155  +
    /// A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
 8699   8156   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8700   8157   
    pub(crate) struct Builder {}
 8701   8158   
    impl Builder {
 8702         -
        /// Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 8703         -
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
        8159  +
        /// Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        8160  +
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
 8704   8161   
            self.build_enforcing_all_constraints()
 8705   8162   
        }
 8706         -
        fn build_enforcing_all_constraints(
 8707         -
            self,
 8708         -
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
 8709         -
            crate::input::MalformedAcceptWithGenericStringInput {}
        8163  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndOutputInput {
        8164  +
            crate::input::NoInputAndOutputInput {}
 8710   8165   
        }
 8711   8166   
    }
 8712   8167   
}
 8713         -
/// See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 8714         -
pub mod malformed_accept_with_generic_string_input {
        8168  +
/// See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        8169  +
pub mod no_input_and_output_input {
 8715   8170   
 8716         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
        8171  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
 8717   8172   
        fn from(builder: Builder) -> Self {
 8718   8173   
            builder.build()
 8719   8174   
        }
 8720   8175   
    }
 8721         -
    /// A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        8176  +
    /// A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
 8722   8177   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8723   8178   
    pub struct Builder {}
 8724   8179   
    impl Builder {
 8725         -
        /// Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
 8726         -
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
        8180  +
        /// Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        8181  +
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
 8727   8182   
            self.build_enforcing_required_and_enum_traits()
 8728   8183   
        }
 8729         -
        fn build_enforcing_required_and_enum_traits(
 8730         -
            self,
 8731         -
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
 8732         -
            crate::input::MalformedAcceptWithGenericStringInput {}
        8184  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::NoInputAndOutputInput {
        8185  +
            crate::input::NoInputAndOutputInput {}
 8733   8186   
        }
 8734   8187   
    }
 8735   8188   
}
 8736         -
/// See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 8737         -
pub(crate) mod malformed_accept_with_payload_input_internal {
        8189  +
/// See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        8190  +
pub(crate) mod empty_input_and_empty_output_input_internal {
 8738   8191   
 8739         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
        8192  +
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
 8740   8193   
        fn from(builder: Builder) -> Self {
 8741   8194   
            builder.build()
 8742   8195   
        }
 8743   8196   
    }
 8744         -
    /// A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        8197  +
    /// A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
 8745   8198   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8746   8199   
    pub(crate) struct Builder {}
 8747   8200   
    impl Builder {
 8748         -
        /// Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 8749         -
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
        8201  +
        /// Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        8202  +
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
 8750   8203   
            self.build_enforcing_all_constraints()
 8751   8204   
        }
 8752         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithPayloadInput {
 8753         -
            crate::input::MalformedAcceptWithPayloadInput {}
        8205  +
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyInputAndEmptyOutputInput {
        8206  +
            crate::input::EmptyInputAndEmptyOutputInput {}
 8754   8207   
        }
 8755   8208   
    }
 8756   8209   
}
 8757         -
/// See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 8758         -
pub mod malformed_accept_with_payload_input {
        8210  +
/// See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        8211  +
pub mod empty_input_and_empty_output_input {
 8759   8212   
 8760         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
        8213  +
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
 8761   8214   
        fn from(builder: Builder) -> Self {
 8762   8215   
            builder.build()
 8763   8216   
        }
 8764   8217   
    }
 8765         -
    /// A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        8218  +
    /// A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
 8766   8219   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8767   8220   
    pub struct Builder {}
 8768   8221   
    impl Builder {
 8769         -
        /// Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
 8770         -
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
        8222  +
        /// Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        8223  +
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
 8771   8224   
            self.build_enforcing_required_and_enum_traits()
 8772   8225   
        }
 8773   8226   
        fn build_enforcing_required_and_enum_traits(
 8774   8227   
            self,
 8775         -
        ) -> crate::input::MalformedAcceptWithPayloadInput {
 8776         -
            crate::input::MalformedAcceptWithPayloadInput {}
        8228  +
        ) -> crate::input::EmptyInputAndEmptyOutputInput {
        8229  +
            crate::input::EmptyInputAndEmptyOutputInput {}
 8777   8230   
        }
 8778   8231   
    }
 8779   8232   
}
 8780         -
/// See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 8781         -
pub(crate) mod malformed_accept_with_body_input_internal {
        8233  +
/// See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        8234  +
pub(crate) mod unit_input_and_output_input_internal {
 8782   8235   
 8783         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
        8236  +
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
 8784   8237   
        fn from(builder: Builder) -> Self {
 8785   8238   
            builder.build()
 8786   8239   
        }
 8787   8240   
    }
 8788         -
    /// A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        8241  +
    /// A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
 8789   8242   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8790   8243   
    pub(crate) struct Builder {}
 8791   8244   
    impl Builder {
 8792         -
        /// Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 8793         -
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
        8245  +
        /// Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        8246  +
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
 8794   8247   
            self.build_enforcing_all_constraints()
 8795   8248   
        }
 8796         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithBodyInput {
 8797         -
            crate::input::MalformedAcceptWithBodyInput {}
        8249  +
        fn build_enforcing_all_constraints(self) -> crate::input::UnitInputAndOutputInput {
        8250  +
            crate::input::UnitInputAndOutputInput {}
 8798   8251   
        }
 8799   8252   
    }
 8800   8253   
}
 8801         -
/// See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 8802         -
pub mod malformed_accept_with_body_input {
        8254  +
/// See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        8255  +
pub mod unit_input_and_output_input {
 8803   8256   
 8804         -
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
        8257  +
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
 8805   8258   
        fn from(builder: Builder) -> Self {
 8806   8259   
            builder.build()
 8807   8260   
        }
 8808   8261   
    }
 8809         -
    /// A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        8262  +
    /// A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
 8810   8263   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8811   8264   
    pub struct Builder {}
 8812   8265   
    impl Builder {
 8813         -
        /// Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
 8814         -
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
        8266  +
        /// Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        8267  +
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
 8815   8268   
            self.build_enforcing_required_and_enum_traits()
 8816   8269   
        }
 8817         -
        fn build_enforcing_required_and_enum_traits(
 8818         -
            self,
 8819         -
        ) -> crate::input::MalformedAcceptWithBodyInput {
 8820         -
            crate::input::MalformedAcceptWithBodyInput {}
        8270  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::UnitInputAndOutputInput {
        8271  +
            crate::input::UnitInputAndOutputInput {}
 8821   8272   
        }
 8822   8273   
    }
 8823   8274   
}
 8824         -
/// See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 8825         -
pub(crate) mod malformed_content_type_with_generic_string_input_internal {
        8275  +
/// See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        8276  +
pub(crate) mod input_and_output_with_headers_input_internal {
 8826   8277   
 8827         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
        8278  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8279  +
    /// Holds one variant for each of the ways the builder can fail.
        8280  +
    #[non_exhaustive]
        8281  +
    #[allow(clippy::enum_variant_names)]
        8282  +
    pub(crate) enum ConstraintViolation {
        8283  +
        /// Constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`.
        8284  +
        #[doc(hidden)]
        8285  +
        HeaderStringSet(crate::model::string_set_internal::ConstraintViolation),
        8286  +
        /// Constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`.
        8287  +
        #[doc(hidden)]
        8288  +
        HeaderEnum(crate::model::foo_enum_internal::ConstraintViolation),
        8289  +
        /// Constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`.
        8290  +
        #[doc(hidden)]
        8291  +
        HeaderEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
        8292  +
    }
        8293  +
    impl ::std::fmt::Display for ConstraintViolation {
        8294  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8295  +
            match self {
        8296  +
                ConstraintViolation::HeaderStringSet(_) => write!(f, "constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`"),
        8297  +
                ConstraintViolation::HeaderEnum(_) => write!(f, "constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`"),
        8298  +
                ConstraintViolation::HeaderEnumList(_) => write!(f, "constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`"),
        8299  +
            }
        8300  +
        }
        8301  +
    }
        8302  +
    impl ::std::error::Error for ConstraintViolation {}
        8303  +
    impl ConstraintViolation {
        8304  +
        pub(crate) fn as_validation_exception_field(
        8305  +
            self,
        8306  +
            path: ::std::string::String,
        8307  +
        ) -> crate::model::ValidationExceptionField {
        8308  +
            match self {
        8309  +
                ConstraintViolation::HeaderStringSet(inner) => {
        8310  +
                    inner.as_validation_exception_field(path + "/headerStringSet")
        8311  +
                }
        8312  +
                ConstraintViolation::HeaderEnum(inner) => {
        8313  +
                    inner.as_validation_exception_field(path + "/headerEnum")
        8314  +
                }
        8315  +
                ConstraintViolation::HeaderEnumList(inner) => {
        8316  +
                    inner.as_validation_exception_field(path + "/headerEnumList")
        8317  +
                }
        8318  +
            }
        8319  +
        }
        8320  +
    }
        8321  +
    impl ::std::convert::From<ConstraintViolation>
        8322  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8323  +
    {
        8324  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8325  +
            let first_validation_exception_field =
        8326  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8327  +
            let validation_exception = crate::error::ValidationException {
        8328  +
                message: format!(
        8329  +
                    "1 validation error detected. {}",
        8330  +
                    &first_validation_exception_field.message
        8331  +
                ),
        8332  +
                field_list: Some(vec![first_validation_exception_field]),
        8333  +
            };
        8334  +
            Self::ConstraintViolation(
        8335  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8336  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8337  +
                            )
        8338  +
        }
        8339  +
    }
        8340  +
    impl ::std::convert::From<Builder>
        8341  +
        for crate::constrained::MaybeConstrained<crate::input::InputAndOutputWithHeadersInput>
        8342  +
    {
 8828   8343   
        fn from(builder: Builder) -> Self {
        8344  +
            Self::Unconstrained(builder)
        8345  +
        }
        8346  +
    }
        8347  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputAndOutputWithHeadersInput {
        8348  +
        type Error = ConstraintViolation;
        8349  +
        8350  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 8829   8351   
            builder.build()
 8830   8352   
        }
 8831   8353   
    }
 8832         -
    /// A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
        8354  +
    /// A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
 8833   8355   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8834   8356   
    pub(crate) struct Builder {
 8835         -
        pub(crate) payload: ::std::option::Option<::std::string::String>,
        8357  +
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
        8358  +
        pub(crate) header_byte: ::std::option::Option<i8>,
        8359  +
        pub(crate) header_short: ::std::option::Option<i16>,
        8360  +
        pub(crate) header_integer: ::std::option::Option<i32>,
        8361  +
        pub(crate) header_long: ::std::option::Option<i64>,
        8362  +
        pub(crate) header_float: ::std::option::Option<f32>,
        8363  +
        pub(crate) header_double: ::std::option::Option<f64>,
        8364  +
        pub(crate) header_true_bool: ::std::option::Option<bool>,
        8365  +
        pub(crate) header_false_bool: ::std::option::Option<bool>,
        8366  +
        pub(crate) header_string_list:
        8367  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8368  +
        pub(crate) header_string_set:
        8369  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        8370  +
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        8371  +
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        8372  +
        pub(crate) header_timestamp_list: ::std::option::Option<
        8373  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        8374  +
        >,
        8375  +
        pub(crate) header_enum:
        8376  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        8377  +
        pub(crate) header_enum_list: ::std::option::Option<
        8378  +
            crate::constrained::MaybeConstrained<
        8379  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        8380  +
            >,
        8381  +
        >,
        8382  +
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
        8383  +
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 8836   8384   
    }
 8837   8385   
    impl Builder {
 8838   8386   
        #[allow(missing_docs)] // documentation missing in model
 8839         -
        pub(crate) fn set_payload(
        8387  +
        pub(crate) fn set_header_string(
        8388  +
            mut self,
        8389  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8390  +
        ) -> Self {
        8391  +
            self.header_string = input.map(|v| v.into());
        8392  +
            self
        8393  +
        }
        8394  +
        #[allow(missing_docs)] // documentation missing in model
        8395  +
        pub(crate) fn set_header_byte(
        8396  +
            mut self,
        8397  +
            input: Option<impl ::std::convert::Into<i8>>,
        8398  +
        ) -> Self {
        8399  +
            self.header_byte = input.map(|v| v.into());
        8400  +
            self
        8401  +
        }
        8402  +
        #[allow(missing_docs)] // documentation missing in model
        8403  +
        pub(crate) fn set_header_short(
        8404  +
            mut self,
        8405  +
            input: Option<impl ::std::convert::Into<i16>>,
        8406  +
        ) -> Self {
        8407  +
            self.header_short = input.map(|v| v.into());
        8408  +
            self
        8409  +
        }
        8410  +
        #[allow(missing_docs)] // documentation missing in model
        8411  +
        pub(crate) fn set_header_integer(
        8412  +
            mut self,
        8413  +
            input: Option<impl ::std::convert::Into<i32>>,
        8414  +
        ) -> Self {
        8415  +
            self.header_integer = input.map(|v| v.into());
        8416  +
            self
        8417  +
        }
        8418  +
        #[allow(missing_docs)] // documentation missing in model
        8419  +
        pub(crate) fn set_header_long(
        8420  +
            mut self,
        8421  +
            input: Option<impl ::std::convert::Into<i64>>,
        8422  +
        ) -> Self {
        8423  +
            self.header_long = input.map(|v| v.into());
        8424  +
            self
        8425  +
        }
        8426  +
        #[allow(missing_docs)] // documentation missing in model
        8427  +
        pub(crate) fn set_header_float(
        8428  +
            mut self,
        8429  +
            input: Option<impl ::std::convert::Into<f32>>,
        8430  +
        ) -> Self {
        8431  +
            self.header_float = input.map(|v| v.into());
        8432  +
            self
        8433  +
        }
        8434  +
        #[allow(missing_docs)] // documentation missing in model
        8435  +
        pub(crate) fn set_header_double(
        8436  +
            mut self,
        8437  +
            input: Option<impl ::std::convert::Into<f64>>,
        8438  +
        ) -> Self {
        8439  +
            self.header_double = input.map(|v| v.into());
        8440  +
            self
        8441  +
        }
        8442  +
        #[allow(missing_docs)] // documentation missing in model
        8443  +
        pub(crate) fn set_header_true_bool(
        8444  +
            mut self,
        8445  +
            input: Option<impl ::std::convert::Into<bool>>,
        8446  +
        ) -> Self {
        8447  +
            self.header_true_bool = input.map(|v| v.into());
        8448  +
            self
        8449  +
        }
        8450  +
        #[allow(missing_docs)] // documentation missing in model
        8451  +
        pub(crate) fn set_header_false_bool(
        8452  +
            mut self,
        8453  +
            input: Option<impl ::std::convert::Into<bool>>,
        8454  +
        ) -> Self {
        8455  +
            self.header_false_bool = input.map(|v| v.into());
        8456  +
            self
        8457  +
        }
        8458  +
        #[allow(missing_docs)] // documentation missing in model
        8459  +
        pub(crate) fn set_header_string_list(
        8460  +
            mut self,
        8461  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        8462  +
        ) -> Self {
        8463  +
            self.header_string_list = input.map(|v| v.into());
        8464  +
            self
        8465  +
        }
        8466  +
        #[allow(missing_docs)] // documentation missing in model
        8467  +
        pub(crate) fn set_header_string_set(
        8468  +
            mut self,
        8469  +
            input: Option<
        8470  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        8471  +
            >,
        8472  +
        ) -> Self {
        8473  +
            self.header_string_set = input.map(|v| v.into());
        8474  +
            self
        8475  +
        }
        8476  +
        #[allow(missing_docs)] // documentation missing in model
        8477  +
        pub(crate) fn set_header_integer_list(
        8478  +
            mut self,
        8479  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        8480  +
        ) -> Self {
        8481  +
            self.header_integer_list = input.map(|v| v.into());
        8482  +
            self
        8483  +
        }
        8484  +
        #[allow(missing_docs)] // documentation missing in model
        8485  +
        pub(crate) fn set_header_boolean_list(
        8486  +
            mut self,
        8487  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
        8488  +
        ) -> Self {
        8489  +
            self.header_boolean_list = input.map(|v| v.into());
        8490  +
            self
        8491  +
        }
        8492  +
        #[allow(missing_docs)] // documentation missing in model
        8493  +
        pub(crate) fn set_header_timestamp_list(
        8494  +
            mut self,
        8495  +
            input: Option<
        8496  +
                impl ::std::convert::Into<
        8497  +
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        8498  +
                >,
        8499  +
            >,
        8500  +
        ) -> Self {
        8501  +
            self.header_timestamp_list = input.map(|v| v.into());
        8502  +
            self
        8503  +
        }
        8504  +
        #[allow(missing_docs)] // documentation missing in model
        8505  +
        pub(crate) fn set_header_enum(
 8840   8506   
            mut self,
 8841         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8507  +
            input: Option<
        8508  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        8509  +
            >,
 8842   8510   
        ) -> Self {
 8843         -
            self.payload = input.map(|v| v.into());
        8511  +
            self.header_enum = input.map(|v| v.into());
 8844   8512   
            self
 8845   8513   
        }
 8846         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 8847         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
 8848         -
            self.build_enforcing_all_constraints()
 8849         -
        }
 8850         -
        fn build_enforcing_all_constraints(
 8851         -
            self,
 8852         -
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
 8853         -
            crate::input::MalformedContentTypeWithGenericStringInput {
 8854         -
                payload: self.payload,
 8855         -
            }
 8856         -
        }
 8857         -
    }
 8858         -
}
 8859         -
/// See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 8860         -
pub mod malformed_content_type_with_generic_string_input {
 8861         -
 8862         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
 8863         -
        fn from(builder: Builder) -> Self {
 8864         -
            builder.build()
 8865         -
        }
 8866         -
    }
 8867         -
    /// A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 8868         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8869         -
    pub struct Builder {
 8870         -
        pub(crate) payload: ::std::option::Option<::std::string::String>,
 8871         -
    }
 8872         -
    impl Builder {
 8873   8514   
        #[allow(missing_docs)] // documentation missing in model
 8874         -
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 8875         -
            self.payload = input;
        8515  +
        pub(crate) fn set_header_enum_list(
        8516  +
            mut self,
        8517  +
            input: Option<
        8518  +
                impl ::std::convert::Into<
        8519  +
                    crate::constrained::MaybeConstrained<
        8520  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        8521  +
                    >,
        8522  +
                >,
        8523  +
            >,
        8524  +
        ) -> Self {
        8525  +
            self.header_enum_list = input.map(|v| v.into());
 8876   8526   
            self
 8877   8527   
        }
 8878         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
 8879         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
 8880         -
            self.build_enforcing_required_and_enum_traits()
 8881         -
        }
 8882         -
        fn build_enforcing_required_and_enum_traits(
 8883         -
            self,
 8884         -
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
 8885         -
            crate::input::MalformedContentTypeWithGenericStringInput {
 8886         -
                payload: self.payload,
 8887         -
            }
 8888         -
        }
 8889         -
    }
 8890         -
}
 8891         -
/// See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 8892         -
pub(crate) mod malformed_content_type_with_payload_input_internal {
 8893         -
 8894         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
 8895         -
        fn from(builder: Builder) -> Self {
 8896         -
            builder.build()
        8528  +
        #[allow(missing_docs)] // documentation missing in model
        8529  +
        pub(crate) fn set_header_integer_enum(
        8530  +
            mut self,
        8531  +
            input: Option<impl ::std::convert::Into<i32>>,
        8532  +
        ) -> Self {
        8533  +
            self.header_integer_enum = input.map(|v| v.into());
        8534  +
            self
 8897   8535   
        }
 8898         -
    }
 8899         -
    /// A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 8900         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8901         -
    pub(crate) struct Builder {
 8902         -
        pub(crate) payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 8903         -
    }
 8904         -
    impl Builder {
 8905   8536   
        #[allow(missing_docs)] // documentation missing in model
 8906         -
        pub(crate) fn set_payload(
        8537  +
        pub(crate) fn set_header_integer_enum_list(
 8907   8538   
            mut self,
 8908         -
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
        8539  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
 8909   8540   
        ) -> Self {
 8910         -
            self.payload = input.map(|v| v.into());
        8541  +
            self.header_integer_enum_list = input.map(|v| v.into());
 8911   8542   
            self
 8912   8543   
        }
 8913         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 8914         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
        8544  +
        /// Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        8545  +
        ///
        8546  +
        /// The builder fails to construct a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput) if a [`ConstraintViolation`] occurs.
        8547  +
        ///
        8548  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        8549  +
        pub fn build(
        8550  +
            self,
        8551  +
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
 8915   8552   
            self.build_enforcing_all_constraints()
 8916   8553   
        }
 8917   8554   
        fn build_enforcing_all_constraints(
 8918   8555   
            self,
 8919         -
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
 8920         -
            crate::input::MalformedContentTypeWithPayloadInput {
 8921         -
                payload: self.payload,
 8922         -
            }
        8556  +
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
        8557  +
            Ok(crate::input::InputAndOutputWithHeadersInput {
        8558  +
                header_string: self.header_string,
        8559  +
                header_byte: self.header_byte,
        8560  +
                header_short: self.header_short,
        8561  +
                header_integer: self.header_integer,
        8562  +
                header_long: self.header_long,
        8563  +
                header_float: self.header_float,
        8564  +
                header_double: self.header_double,
        8565  +
                header_true_bool: self.header_true_bool,
        8566  +
                header_false_bool: self.header_false_bool,
        8567  +
                header_string_list: self.header_string_list,
        8568  +
                header_string_set: self
        8569  +
                    .header_string_set
        8570  +
                    .map(|v| match v {
        8571  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        8572  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        8573  +
                    })
        8574  +
                    .map(|res| res.map_err(ConstraintViolation::HeaderStringSet))
        8575  +
                    .transpose()?
        8576  +
                    .map(|v: crate::model::StringSet| v.into()),
        8577  +
                header_integer_list: self.header_integer_list,
        8578  +
                header_boolean_list: self.header_boolean_list,
        8579  +
                header_timestamp_list: self.header_timestamp_list,
        8580  +
                header_enum: self
        8581  +
                    .header_enum
        8582  +
                    .map(|v| match v {
        8583  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        8584  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        8585  +
                    })
        8586  +
                    .map(|res| res.map_err(ConstraintViolation::HeaderEnum))
        8587  +
                    .transpose()?,
        8588  +
                header_enum_list: self
        8589  +
                    .header_enum_list
        8590  +
                    .map(|v| match v {
        8591  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        8592  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        8593  +
                    })
        8594  +
                    .map(|res| {
        8595  +
                        res.map(|v| v.into())
        8596  +
                            .map_err(ConstraintViolation::HeaderEnumList)
        8597  +
                    })
        8598  +
                    .transpose()?,
        8599  +
                header_integer_enum: self.header_integer_enum,
        8600  +
                header_integer_enum_list: self.header_integer_enum_list,
        8601  +
            })
 8923   8602   
        }
 8924   8603   
    }
 8925   8604   
}
 8926         -
/// See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 8927         -
pub mod malformed_content_type_with_payload_input {
        8605  +
/// See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        8606  +
pub mod input_and_output_with_headers_input {
 8928   8607   
 8929         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
        8608  +
    impl ::std::convert::From<Builder> for crate::input::InputAndOutputWithHeadersInput {
 8930   8609   
        fn from(builder: Builder) -> Self {
 8931   8610   
            builder.build()
 8932   8611   
        }
 8933   8612   
    }
 8934         -
    /// A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
        8613  +
    /// A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
 8935   8614   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8936   8615   
    pub struct Builder {
 8937         -
        pub(crate) payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        8616  +
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
        8617  +
        pub(crate) header_byte: ::std::option::Option<i8>,
        8618  +
        pub(crate) header_short: ::std::option::Option<i16>,
        8619  +
        pub(crate) header_integer: ::std::option::Option<i32>,
        8620  +
        pub(crate) header_long: ::std::option::Option<i64>,
        8621  +
        pub(crate) header_float: ::std::option::Option<f32>,
        8622  +
        pub(crate) header_double: ::std::option::Option<f64>,
        8623  +
        pub(crate) header_true_bool: ::std::option::Option<bool>,
        8624  +
        pub(crate) header_false_bool: ::std::option::Option<bool>,
        8625  +
        pub(crate) header_string_list:
        8626  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8627  +
        pub(crate) header_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8628  +
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        8629  +
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        8630  +
        pub(crate) header_timestamp_list: ::std::option::Option<
        8631  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        8632  +
        >,
        8633  +
        pub(crate) header_enum: ::std::option::Option<crate::model::FooEnum>,
        8634  +
        pub(crate) header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        8635  +
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
        8636  +
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 8938   8637   
    }
 8939   8638   
    impl Builder {
 8940   8639   
        #[allow(missing_docs)] // documentation missing in model
 8941         -
        pub fn payload(
        8640  +
        pub fn header_string(
 8942   8641   
            mut self,
 8943         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        8642  +
            input: ::std::option::Option<::std::string::String>,
 8944   8643   
        ) -> Self {
 8945         -
            self.payload = input;
        8644  +
            self.header_string = input;
 8946   8645   
            self
 8947   8646   
        }
 8948         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
 8949         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
 8950         -
            self.build_enforcing_required_and_enum_traits()
 8951         -
        }
 8952         -
        fn build_enforcing_required_and_enum_traits(
 8953         -
            self,
 8954         -
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
 8955         -
            crate::input::MalformedContentTypeWithPayloadInput {
 8956         -
                payload: self.payload,
 8957         -
            }
 8958         -
        }
 8959         -
    }
 8960         -
}
 8961         -
/// See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 8962         -
pub(crate) mod malformed_content_type_with_body_input_internal {
 8963         -
 8964         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
 8965         -
        fn from(builder: Builder) -> Self {
 8966         -
            builder.build()
 8967         -
        }
 8968         -
    }
 8969         -
    /// A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 8970         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 8971         -
    pub(crate) struct Builder {
 8972         -
        pub(crate) hi: ::std::option::Option<::std::string::String>,
 8973         -
    }
 8974         -
    impl Builder {
 8975   8647   
        #[allow(missing_docs)] // documentation missing in model
 8976         -
        pub(crate) fn set_hi(
 8977         -
            mut self,
 8978         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 8979         -
        ) -> Self {
 8980         -
            self.hi = input.map(|v| v.into());
        8648  +
        pub fn header_byte(mut self, input: ::std::option::Option<i8>) -> Self {
        8649  +
            self.header_byte = input;
 8981   8650   
            self
 8982   8651   
        }
 8983         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 8984         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
 8985         -
            self.build_enforcing_all_constraints()
        8652  +
        #[allow(missing_docs)] // documentation missing in model
        8653  +
        pub fn header_short(mut self, input: ::std::option::Option<i16>) -> Self {
        8654  +
            self.header_short = input;
        8655  +
            self
 8986   8656   
        }
 8987         -
        fn build_enforcing_all_constraints(
 8988         -
            self,
 8989         -
        ) -> crate::input::MalformedContentTypeWithBodyInput {
 8990         -
            crate::input::MalformedContentTypeWithBodyInput { hi: self.hi }
        8657  +
        #[allow(missing_docs)] // documentation missing in model
        8658  +
        pub fn header_integer(mut self, input: ::std::option::Option<i32>) -> Self {
        8659  +
            self.header_integer = input;
        8660  +
            self
 8991   8661   
        }
 8992         -
    }
 8993         -
}
 8994         -
/// See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 8995         -
pub mod malformed_content_type_with_body_input {
 8996         -
 8997         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
 8998         -
        fn from(builder: Builder) -> Self {
 8999         -
            builder.build()
        8662  +
        #[allow(missing_docs)] // documentation missing in model
        8663  +
        pub fn header_long(mut self, input: ::std::option::Option<i64>) -> Self {
        8664  +
            self.header_long = input;
        8665  +
            self
 9000   8666   
        }
 9001         -
    }
 9002         -
    /// A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 9003         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9004         -
    pub struct Builder {
 9005         -
        pub(crate) hi: ::std::option::Option<::std::string::String>,
 9006         -
    }
 9007         -
    impl Builder {
 9008   8667   
        #[allow(missing_docs)] // documentation missing in model
 9009         -
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9010         -
            self.hi = input;
        8668  +
        pub fn header_float(mut self, input: ::std::option::Option<f32>) -> Self {
        8669  +
            self.header_float = input;
 9011   8670   
            self
 9012   8671   
        }
 9013         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
 9014         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
 9015         -
            self.build_enforcing_required_and_enum_traits()
        8672  +
        #[allow(missing_docs)] // documentation missing in model
        8673  +
        pub fn header_double(mut self, input: ::std::option::Option<f64>) -> Self {
        8674  +
            self.header_double = input;
        8675  +
            self
 9016   8676   
        }
 9017         -
        fn build_enforcing_required_and_enum_traits(
 9018         -
            self,
 9019         -
        ) -> crate::input::MalformedContentTypeWithBodyInput {
 9020         -
            crate::input::MalformedContentTypeWithBodyInput { hi: self.hi }
        8677  +
        #[allow(missing_docs)] // documentation missing in model
        8678  +
        pub fn header_true_bool(mut self, input: ::std::option::Option<bool>) -> Self {
        8679  +
            self.header_true_bool = input;
        8680  +
            self
 9021   8681   
        }
 9022         -
    }
 9023         -
}
 9024         -
/// See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 9025         -
pub(crate) mod malformed_content_type_without_body_empty_input_input_internal {
 9026         -
 9027         -
    impl ::std::convert::From<Builder>
 9028         -
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
 9029         -
    {
 9030         -
        fn from(builder: Builder) -> Self {
 9031         -
            builder.build()
        8682  +
        #[allow(missing_docs)] // documentation missing in model
        8683  +
        pub fn header_false_bool(mut self, input: ::std::option::Option<bool>) -> Self {
        8684  +
            self.header_false_bool = input;
        8685  +
            self
 9032   8686   
        }
 9033         -
    }
 9034         -
    /// A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 9035         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9036         -
    pub(crate) struct Builder {
 9037         -
        pub(crate) header: ::std::option::Option<::std::string::String>,
 9038         -
    }
 9039         -
    impl Builder {
 9040   8687   
        #[allow(missing_docs)] // documentation missing in model
 9041         -
        pub(crate) fn set_header(
        8688  +
        pub fn header_string_list(
 9042   8689   
            mut self,
 9043         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8690  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 9044   8691   
        ) -> Self {
 9045         -
            self.header = input.map(|v| v.into());
        8692  +
            self.header_string_list = input;
 9046   8693   
            self
 9047   8694   
        }
 9048         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 9049         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 9050         -
            self.build_enforcing_all_constraints()
 9051         -
        }
 9052         -
        fn build_enforcing_all_constraints(
 9053         -
            self,
 9054         -
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 9055         -
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 9056         -
                header: self.header,
 9057         -
            }
 9058         -
        }
 9059         -
    }
 9060         -
}
 9061         -
/// See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 9062         -
pub mod malformed_content_type_without_body_empty_input_input {
 9063         -
 9064         -
    impl ::std::convert::From<Builder>
 9065         -
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
 9066         -
    {
 9067         -
        fn from(builder: Builder) -> Self {
 9068         -
            builder.build()
        8695  +
        #[allow(missing_docs)] // documentation missing in model
        8696  +
        pub fn header_string_set(
        8697  +
            mut self,
        8698  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8699  +
        ) -> Self {
        8700  +
            self.header_string_set = input;
        8701  +
            self
 9069   8702   
        }
 9070         -
    }
 9071         -
    /// A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 9072         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9073         -
    pub struct Builder {
 9074         -
        pub(crate) header: ::std::option::Option<::std::string::String>,
 9075         -
    }
 9076         -
    impl Builder {
 9077   8703   
        #[allow(missing_docs)] // documentation missing in model
 9078         -
        pub fn header(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 9079         -
            self.header = input;
        8704  +
        pub fn header_integer_list(
        8705  +
            mut self,
        8706  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        8707  +
        ) -> Self {
        8708  +
            self.header_integer_list = input;
 9080   8709   
            self
 9081   8710   
        }
 9082         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
 9083         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 9084         -
            self.build_enforcing_required_and_enum_traits()
        8711  +
        #[allow(missing_docs)] // documentation missing in model
        8712  +
        pub fn header_boolean_list(
        8713  +
            mut self,
        8714  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
        8715  +
        ) -> Self {
        8716  +
            self.header_boolean_list = input;
        8717  +
            self
 9085   8718   
        }
 9086         -
        fn build_enforcing_required_and_enum_traits(
 9087         -
            self,
 9088         -
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 9089         -
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
 9090         -
                header: self.header,
 9091         -
            }
        8719  +
        #[allow(missing_docs)] // documentation missing in model
        8720  +
        pub fn header_timestamp_list(
        8721  +
            mut self,
        8722  +
            input: ::std::option::Option<
        8723  +
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
        8724  +
            >,
        8725  +
        ) -> Self {
        8726  +
            self.header_timestamp_list = input;
        8727  +
            self
 9092   8728   
        }
 9093         -
    }
 9094         -
}
 9095         -
/// See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 9096         -
pub(crate) mod malformed_content_type_without_body_input_internal {
 9097         -
 9098         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
 9099         -
        fn from(builder: Builder) -> Self {
 9100         -
            builder.build()
        8729  +
        #[allow(missing_docs)] // documentation missing in model
        8730  +
        pub fn header_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        8731  +
            self.header_enum = input;
        8732  +
            self
 9101   8733   
        }
 9102         -
    }
 9103         -
    /// A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 9104         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9105         -
    pub(crate) struct Builder {}
 9106         -
    impl Builder {
 9107         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 9108         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
 9109         -
            self.build_enforcing_all_constraints()
        8734  +
        #[allow(missing_docs)] // documentation missing in model
        8735  +
        pub fn header_enum_list(
        8736  +
            mut self,
        8737  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        8738  +
        ) -> Self {
        8739  +
            self.header_enum_list = input;
        8740  +
            self
 9110   8741   
        }
 9111         -
        fn build_enforcing_all_constraints(
 9112         -
            self,
 9113         -
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
 9114         -
            crate::input::MalformedContentTypeWithoutBodyInput {}
        8742  +
        #[allow(missing_docs)] // documentation missing in model
        8743  +
        pub fn header_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
        8744  +
            self.header_integer_enum = input;
        8745  +
            self
 9115   8746   
        }
 9116         -
    }
 9117         -
}
 9118         -
/// See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 9119         -
pub mod malformed_content_type_without_body_input {
 9120         -
 9121         -
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
 9122         -
        fn from(builder: Builder) -> Self {
 9123         -
            builder.build()
        8747  +
        #[allow(missing_docs)] // documentation missing in model
        8748  +
        pub fn header_integer_enum_list(
        8749  +
            mut self,
        8750  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        8751  +
        ) -> Self {
        8752  +
            self.header_integer_enum_list = input;
        8753  +
            self
 9124   8754   
        }
 9125         -
    }
 9126         -
    /// A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 9127         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9128         -
    pub struct Builder {}
 9129         -
    impl Builder {
 9130         -
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
 9131         -
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
        8755  +
        /// Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        8756  +
        pub fn build(self) -> crate::input::InputAndOutputWithHeadersInput {
 9132   8757   
            self.build_enforcing_required_and_enum_traits()
 9133   8758   
        }
 9134   8759   
        fn build_enforcing_required_and_enum_traits(
 9135   8760   
            self,
 9136         -
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
 9137         -
            crate::input::MalformedContentTypeWithoutBodyInput {}
 9138         -
        }
 9139         -
    }
 9140         -
}
 9141         -
/// See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 9142         -
pub(crate) mod malformed_timestamp_body_http_date_input_internal {
 9143         -
 9144         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9145         -
    /// Holds one variant for each of the ways the builder can fail.
 9146         -
    #[non_exhaustive]
 9147         -
    #[allow(clippy::enum_variant_names)]
 9148         -
    pub(crate) enum ConstraintViolation {
 9149         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
 9150         -
        MissingTimestamp,
 9151         -
    }
 9152         -
    impl ::std::fmt::Display for ConstraintViolation {
 9153         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9154         -
            match self {
 9155         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
        8761  +
        ) -> crate::input::InputAndOutputWithHeadersInput {
        8762  +
            crate::input::InputAndOutputWithHeadersInput {
        8763  +
                header_string: self.header_string,
        8764  +
                header_byte: self.header_byte,
        8765  +
                header_short: self.header_short,
        8766  +
                header_integer: self.header_integer,
        8767  +
                header_long: self.header_long,
        8768  +
                header_float: self.header_float,
        8769  +
                header_double: self.header_double,
        8770  +
                header_true_bool: self.header_true_bool,
        8771  +
                header_false_bool: self.header_false_bool,
        8772  +
                header_string_list: self.header_string_list,
        8773  +
                header_string_set: self.header_string_set,
        8774  +
                header_integer_list: self.header_integer_list,
        8775  +
                header_boolean_list: self.header_boolean_list,
        8776  +
                header_timestamp_list: self.header_timestamp_list,
        8777  +
                header_enum: self.header_enum,
        8778  +
                header_enum_list: self.header_enum_list,
        8779  +
                header_integer_enum: self.header_integer_enum,
        8780  +
                header_integer_enum_list: self.header_integer_enum_list,
 9156   8781   
            }
 9157   8782   
        }
 9158   8783   
    }
 9159         -
    impl ::std::error::Error for ConstraintViolation {}
 9160         -
    impl ConstraintViolation {
 9161         -
        pub(crate) fn as_validation_exception_field(
 9162         -
            self,
 9163         -
            path: ::std::string::String,
 9164         -
        ) -> crate::model::ValidationExceptionField {
 9165         -
            match self {
 9166         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 9167         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 9168         -
                                                path: path + "/timestamp",
 9169         -
                                            },
 9170         -
        }
 9171         -
        }
 9172         -
    }
 9173         -
    impl ::std::convert::From<ConstraintViolation>
 9174         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9175         -
    {
 9176         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9177         -
            let first_validation_exception_field =
 9178         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9179         -
            let validation_exception = crate::error::ValidationException {
 9180         -
                message: format!(
 9181         -
                    "1 validation error detected. {}",
 9182         -
                    &first_validation_exception_field.message
 9183         -
                ),
 9184         -
                field_list: Some(vec![first_validation_exception_field]),
 9185         -
            };
 9186         -
            Self::ConstraintViolation(
 9187         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9188         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9189         -
                            )
 9190         -
        }
 9191         -
    }
 9192         -
    impl ::std::convert::From<Builder>
 9193         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyHttpDateInput>
 9194         -
    {
 9195         -
        fn from(builder: Builder) -> Self {
 9196         -
            Self::Unconstrained(builder)
 9197         -
        }
 9198         -
    }
 9199         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
 9200         -
        type Error = ConstraintViolation;
        8784  +
}
        8785  +
/// See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        8786  +
pub(crate) mod null_and_empty_headers_client_input_internal {
 9201   8787   
 9202         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8788  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
        8789  +
        fn from(builder: Builder) -> Self {
 9203   8790   
            builder.build()
 9204   8791   
        }
 9205   8792   
    }
 9206         -
    /// A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        8793  +
    /// A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
 9207   8794   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9208   8795   
    pub(crate) struct Builder {
 9209         -
        pub(crate) timestamp:
 9210         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        8796  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
        8797  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
        8798  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 9211   8799   
    }
 9212   8800   
    impl Builder {
 9213   8801   
        #[allow(missing_docs)] // documentation missing in model
 9214         -
        pub(crate) fn set_timestamp(
        8802  +
        pub(crate) fn set_a(
 9215   8803   
            mut self,
 9216         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        8804  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9217   8805   
        ) -> Self {
 9218         -
            self.timestamp = Some(input.into());
        8806  +
            self.a = input.map(|v| v.into());
 9219   8807   
            self
 9220   8808   
        }
 9221         -
        /// Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 9222         -
        ///
 9223         -
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if a [`ConstraintViolation`] occurs.
 9224         -
        ///
 9225         -
        pub fn build(
 9226         -
            self,
 9227         -
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
 9228         -
        {
 9229         -
            self.build_enforcing_all_constraints()
        8809  +
        #[allow(missing_docs)] // documentation missing in model
        8810  +
        pub(crate) fn set_b(
        8811  +
            mut self,
        8812  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8813  +
        ) -> Self {
        8814  +
            self.b = input.map(|v| v.into());
        8815  +
            self
 9230   8816   
        }
 9231         -
        fn build_enforcing_all_constraints(
 9232         -
            self,
 9233         -
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
 9234         -
        {
 9235         -
            Ok(crate::input::MalformedTimestampBodyHttpDateInput {
 9236         -
                timestamp: self
 9237         -
                    .timestamp
 9238         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9239         -
            })
        8817  +
        #[allow(missing_docs)] // documentation missing in model
        8818  +
        pub(crate) fn set_c(
        8819  +
            mut self,
        8820  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        8821  +
        ) -> Self {
        8822  +
            self.c = input.map(|v| v.into());
        8823  +
            self
 9240   8824   
        }
 9241         -
    }
 9242         -
}
 9243         -
/// See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 9244         -
pub mod malformed_timestamp_body_http_date_input {
 9245         -
 9246         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9247         -
    /// Holds one variant for each of the ways the builder can fail.
 9248         -
    #[allow(clippy::enum_variant_names)]
 9249         -
    pub enum ConstraintViolation {
 9250         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
 9251         -
        MissingTimestamp,
 9252         -
    }
 9253         -
    impl ::std::fmt::Display for ConstraintViolation {
 9254         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9255         -
            match self {
 9256         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
        8825  +
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        8826  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
        8827  +
            self.build_enforcing_all_constraints()
        8828  +
        }
        8829  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersClientInput {
        8830  +
            crate::input::NullAndEmptyHeadersClientInput {
        8831  +
                a: self.a,
        8832  +
                b: self.b,
        8833  +
                c: self.c,
 9257   8834   
            }
 9258   8835   
        }
 9259   8836   
    }
 9260         -
    impl ::std::error::Error for ConstraintViolation {}
 9261         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
 9262         -
        type Error = ConstraintViolation;
        8837  +
}
        8838  +
/// See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        8839  +
pub mod null_and_empty_headers_client_input {
 9263   8840   
 9264         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8841  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
        8842  +
        fn from(builder: Builder) -> Self {
 9265   8843   
            builder.build()
 9266   8844   
        }
 9267   8845   
    }
 9268         -
    /// A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        8846  +
    /// A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
 9269   8847   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9270   8848   
    pub struct Builder {
 9271         -
        pub(crate) timestamp:
 9272         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        8849  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
        8850  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
        8851  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 9273   8852   
    }
 9274   8853   
    impl Builder {
 9275   8854   
        #[allow(missing_docs)] // documentation missing in model
 9276         -
        pub fn timestamp(
        8855  +
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8856  +
            self.a = input;
        8857  +
            self
        8858  +
        }
        8859  +
        #[allow(missing_docs)] // documentation missing in model
        8860  +
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8861  +
            self.b = input;
        8862  +
            self
        8863  +
        }
        8864  +
        #[allow(missing_docs)] // documentation missing in model
        8865  +
        pub fn c(
 9277   8866   
            mut self,
 9278         -
            input: ::aws_smithy_http_server_python::types::DateTime,
        8867  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 9279   8868   
        ) -> Self {
 9280         -
            self.timestamp = Some(input);
        8869  +
            self.c = input;
 9281   8870   
            self
 9282   8871   
        }
 9283         -
        /// Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 9284         -
        ///
 9285         -
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if you do not provide a value for all non-`Option`al members.
 9286         -
        ///
 9287         -
        pub fn build(
 9288         -
            self,
 9289         -
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
 9290         -
        {
        8872  +
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        8873  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
 9291   8874   
            self.build_enforcing_required_and_enum_traits()
 9292   8875   
        }
 9293   8876   
        fn build_enforcing_required_and_enum_traits(
 9294   8877   
            self,
 9295         -
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
 9296         -
        {
 9297         -
            Ok(crate::input::MalformedTimestampBodyHttpDateInput {
 9298         -
                timestamp: self
 9299         -
                    .timestamp
 9300         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9301         -
            })
        8878  +
        ) -> crate::input::NullAndEmptyHeadersClientInput {
        8879  +
            crate::input::NullAndEmptyHeadersClientInput {
        8880  +
                a: self.a,
        8881  +
                b: self.b,
        8882  +
                c: self.c,
        8883  +
            }
 9302   8884   
        }
 9303   8885   
    }
 9304   8886   
}
 9305         -
/// See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 9306         -
pub(crate) mod malformed_timestamp_body_date_time_input_internal {
        8887  +
/// See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        8888  +
pub(crate) mod null_and_empty_headers_server_input_internal {
 9307   8889   
 9308         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9309         -
    /// Holds one variant for each of the ways the builder can fail.
 9310         -
    #[non_exhaustive]
 9311         -
    #[allow(clippy::enum_variant_names)]
 9312         -
    pub(crate) enum ConstraintViolation {
 9313         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
 9314         -
        MissingTimestamp,
 9315         -
    }
 9316         -
    impl ::std::fmt::Display for ConstraintViolation {
 9317         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9318         -
            match self {
 9319         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
 9320         -
            }
        8890  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
        8891  +
        fn from(builder: Builder) -> Self {
        8892  +
            builder.build()
 9321   8893   
        }
 9322   8894   
    }
 9323         -
    impl ::std::error::Error for ConstraintViolation {}
 9324         -
    impl ConstraintViolation {
 9325         -
        pub(crate) fn as_validation_exception_field(
 9326         -
            self,
 9327         -
            path: ::std::string::String,
 9328         -
        ) -> crate::model::ValidationExceptionField {
 9329         -
            match self {
 9330         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 9331         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 9332         -
                                                path: path + "/timestamp",
 9333         -
                                            },
        8895  +
    /// A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        8896  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8897  +
    pub(crate) struct Builder {
        8898  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
        8899  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
        8900  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8901  +
    }
        8902  +
    impl Builder {
        8903  +
        #[allow(missing_docs)] // documentation missing in model
        8904  +
        pub(crate) fn set_a(
        8905  +
            mut self,
        8906  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8907  +
        ) -> Self {
        8908  +
            self.a = input.map(|v| v.into());
        8909  +
            self
 9334   8910   
        }
        8911  +
        #[allow(missing_docs)] // documentation missing in model
        8912  +
        pub(crate) fn set_b(
        8913  +
            mut self,
        8914  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8915  +
        ) -> Self {
        8916  +
            self.b = input.map(|v| v.into());
        8917  +
            self
 9335   8918   
        }
 9336         -
    }
 9337         -
    impl ::std::convert::From<ConstraintViolation>
 9338         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9339         -
    {
 9340         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9341         -
            let first_validation_exception_field =
 9342         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9343         -
            let validation_exception = crate::error::ValidationException {
 9344         -
                message: format!(
 9345         -
                    "1 validation error detected. {}",
 9346         -
                    &first_validation_exception_field.message
 9347         -
                ),
 9348         -
                field_list: Some(vec![first_validation_exception_field]),
 9349         -
            };
 9350         -
            Self::ConstraintViolation(
 9351         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9352         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9353         -
                            )
        8919  +
        #[allow(missing_docs)] // documentation missing in model
        8920  +
        pub(crate) fn set_c(
        8921  +
            mut self,
        8922  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        8923  +
        ) -> Self {
        8924  +
            self.c = input.map(|v| v.into());
        8925  +
            self
        8926  +
        }
        8927  +
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        8928  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
        8929  +
            self.build_enforcing_all_constraints()
        8930  +
        }
        8931  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersServerInput {
        8932  +
            crate::input::NullAndEmptyHeadersServerInput {
        8933  +
                a: self.a,
        8934  +
                b: self.b,
        8935  +
                c: self.c,
        8936  +
            }
 9354   8937   
        }
 9355   8938   
    }
 9356         -
    impl ::std::convert::From<Builder>
 9357         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDateTimeInput>
 9358         -
    {
        8939  +
}
        8940  +
/// See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        8941  +
pub mod null_and_empty_headers_server_input {
        8942  +
        8943  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
 9359   8944   
        fn from(builder: Builder) -> Self {
 9360         -
            Self::Unconstrained(builder)
        8945  +
            builder.build()
        8946  +
        }
        8947  +
    }
        8948  +
    /// A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        8949  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8950  +
    pub struct Builder {
        8951  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
        8952  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
        8953  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8954  +
    }
        8955  +
    impl Builder {
        8956  +
        #[allow(missing_docs)] // documentation missing in model
        8957  +
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8958  +
            self.a = input;
        8959  +
            self
        8960  +
        }
        8961  +
        #[allow(missing_docs)] // documentation missing in model
        8962  +
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8963  +
            self.b = input;
        8964  +
            self
        8965  +
        }
        8966  +
        #[allow(missing_docs)] // documentation missing in model
        8967  +
        pub fn c(
        8968  +
            mut self,
        8969  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        8970  +
        ) -> Self {
        8971  +
            self.c = input;
        8972  +
            self
        8973  +
        }
        8974  +
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        8975  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
        8976  +
            self.build_enforcing_required_and_enum_traits()
        8977  +
        }
        8978  +
        fn build_enforcing_required_and_enum_traits(
        8979  +
            self,
        8980  +
        ) -> crate::input::NullAndEmptyHeadersServerInput {
        8981  +
            crate::input::NullAndEmptyHeadersServerInput {
        8982  +
                a: self.a,
        8983  +
                b: self.b,
        8984  +
                c: self.c,
        8985  +
            }
 9361   8986   
        }
 9362   8987   
    }
 9363         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
 9364         -
        type Error = ConstraintViolation;
        8988  +
}
        8989  +
/// See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        8990  +
pub(crate) mod timestamp_format_headers_input_internal {
 9365   8991   
 9366         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8992  +
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
        8993  +
        fn from(builder: Builder) -> Self {
 9367   8994   
            builder.build()
 9368   8995   
        }
 9369   8996   
    }
 9370         -
    /// A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        8997  +
    /// A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
 9371   8998   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9372   8999   
    pub(crate) struct Builder {
 9373         -
        pub(crate) timestamp:
        9000  +
        pub(crate) member_epoch_seconds:
        9001  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9002  +
        pub(crate) member_http_date:
        9003  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9004  +
        pub(crate) member_date_time:
        9005  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9006  +
        pub(crate) default_format:
        9007  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9008  +
        pub(crate) target_epoch_seconds:
        9009  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9010  +
        pub(crate) target_http_date:
        9011  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9012  +
        pub(crate) target_date_time:
 9374   9013   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9375   9014   
    }
 9376   9015   
    impl Builder {
 9377   9016   
        #[allow(missing_docs)] // documentation missing in model
 9378         -
        pub(crate) fn set_timestamp(
        9017  +
        pub(crate) fn set_member_epoch_seconds(
 9379   9018   
            mut self,
 9380         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9019  +
            input: Option<
        9020  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9021  +
            >,
 9381   9022   
        ) -> Self {
 9382         -
            self.timestamp = Some(input.into());
        9023  +
            self.member_epoch_seconds = input.map(|v| v.into());
 9383   9024   
            self
 9384   9025   
        }
 9385         -
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 9386         -
        ///
 9387         -
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if a [`ConstraintViolation`] occurs.
 9388         -
        ///
 9389         -
        pub fn build(
 9390         -
            self,
 9391         -
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
 9392         -
        {
 9393         -
            self.build_enforcing_all_constraints()
        9026  +
        #[allow(missing_docs)] // documentation missing in model
        9027  +
        pub(crate) fn set_member_http_date(
        9028  +
            mut self,
        9029  +
            input: Option<
        9030  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9031  +
            >,
        9032  +
        ) -> Self {
        9033  +
            self.member_http_date = input.map(|v| v.into());
        9034  +
            self
 9394   9035   
        }
 9395         -
        fn build_enforcing_all_constraints(
 9396         -
            self,
 9397         -
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
 9398         -
        {
 9399         -
            Ok(crate::input::MalformedTimestampBodyDateTimeInput {
 9400         -
                timestamp: self
 9401         -
                    .timestamp
 9402         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9403         -
            })
        9036  +
        #[allow(missing_docs)] // documentation missing in model
        9037  +
        pub(crate) fn set_member_date_time(
        9038  +
            mut self,
        9039  +
            input: Option<
        9040  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9041  +
            >,
        9042  +
        ) -> Self {
        9043  +
            self.member_date_time = input.map(|v| v.into());
        9044  +
            self
 9404   9045   
        }
 9405         -
    }
 9406         -
}
 9407         -
/// See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 9408         -
pub mod malformed_timestamp_body_date_time_input {
 9409         -
 9410         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9411         -
    /// Holds one variant for each of the ways the builder can fail.
 9412         -
    #[allow(clippy::enum_variant_names)]
 9413         -
    pub enum ConstraintViolation {
 9414         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
 9415         -
        MissingTimestamp,
 9416         -
    }
 9417         -
    impl ::std::fmt::Display for ConstraintViolation {
 9418         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9419         -
            match self {
 9420         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
        9046  +
        #[allow(missing_docs)] // documentation missing in model
        9047  +
        pub(crate) fn set_default_format(
        9048  +
            mut self,
        9049  +
            input: Option<
        9050  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9051  +
            >,
        9052  +
        ) -> Self {
        9053  +
            self.default_format = input.map(|v| v.into());
        9054  +
            self
        9055  +
        }
        9056  +
        #[allow(missing_docs)] // documentation missing in model
        9057  +
        pub(crate) fn set_target_epoch_seconds(
        9058  +
            mut self,
        9059  +
            input: Option<
        9060  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9061  +
            >,
        9062  +
        ) -> Self {
        9063  +
            self.target_epoch_seconds = input.map(|v| v.into());
        9064  +
            self
        9065  +
        }
        9066  +
        #[allow(missing_docs)] // documentation missing in model
        9067  +
        pub(crate) fn set_target_http_date(
        9068  +
            mut self,
        9069  +
            input: Option<
        9070  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9071  +
            >,
        9072  +
        ) -> Self {
        9073  +
            self.target_http_date = input.map(|v| v.into());
        9074  +
            self
        9075  +
        }
        9076  +
        #[allow(missing_docs)] // documentation missing in model
        9077  +
        pub(crate) fn set_target_date_time(
        9078  +
            mut self,
        9079  +
            input: Option<
        9080  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9081  +
            >,
        9082  +
        ) -> Self {
        9083  +
            self.target_date_time = input.map(|v| v.into());
        9084  +
            self
        9085  +
        }
        9086  +
        /// Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        9087  +
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
        9088  +
            self.build_enforcing_all_constraints()
        9089  +
        }
        9090  +
        fn build_enforcing_all_constraints(self) -> crate::input::TimestampFormatHeadersInput {
        9091  +
            crate::input::TimestampFormatHeadersInput {
        9092  +
                member_epoch_seconds: self.member_epoch_seconds,
        9093  +
                member_http_date: self.member_http_date,
        9094  +
                member_date_time: self.member_date_time,
        9095  +
                default_format: self.default_format,
        9096  +
                target_epoch_seconds: self.target_epoch_seconds,
        9097  +
                target_http_date: self.target_http_date,
        9098  +
                target_date_time: self.target_date_time,
 9421   9099   
            }
 9422   9100   
        }
 9423   9101   
    }
 9424         -
    impl ::std::error::Error for ConstraintViolation {}
 9425         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
 9426         -
        type Error = ConstraintViolation;
        9102  +
}
        9103  +
/// See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        9104  +
pub mod timestamp_format_headers_input {
 9427   9105   
 9428         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9106  +
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
        9107  +
        fn from(builder: Builder) -> Self {
 9429   9108   
            builder.build()
 9430   9109   
        }
 9431   9110   
    }
 9432         -
    /// A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        9111  +
    /// A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
 9433   9112   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9434   9113   
    pub struct Builder {
 9435         -
        pub(crate) timestamp:
        9114  +
        pub(crate) member_epoch_seconds:
        9115  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9116  +
        pub(crate) member_http_date:
        9117  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9118  +
        pub(crate) member_date_time:
        9119  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9120  +
        pub(crate) default_format:
        9121  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9122  +
        pub(crate) target_epoch_seconds:
        9123  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9124  +
        pub(crate) target_http_date:
        9125  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9126  +
        pub(crate) target_date_time:
 9436   9127   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9437   9128   
    }
 9438   9129   
    impl Builder {
 9439   9130   
        #[allow(missing_docs)] // documentation missing in model
 9440         -
        pub fn timestamp(
        9131  +
        pub fn member_epoch_seconds(
 9441   9132   
            mut self,
 9442         -
            input: ::aws_smithy_http_server_python::types::DateTime,
        9133  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9443   9134   
        ) -> Self {
 9444         -
            self.timestamp = Some(input);
        9135  +
            self.member_epoch_seconds = input;
 9445   9136   
            self
 9446   9137   
        }
 9447         -
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 9448         -
        ///
 9449         -
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if you do not provide a value for all non-`Option`al members.
 9450         -
        ///
 9451         -
        pub fn build(
 9452         -
            self,
 9453         -
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
 9454         -
        {
 9455         -
            self.build_enforcing_required_and_enum_traits()
        9138  +
        #[allow(missing_docs)] // documentation missing in model
        9139  +
        pub fn member_http_date(
        9140  +
            mut self,
        9141  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9142  +
        ) -> Self {
        9143  +
            self.member_http_date = input;
        9144  +
            self
 9456   9145   
        }
 9457         -
        fn build_enforcing_required_and_enum_traits(
 9458         -
            self,
 9459         -
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
 9460         -
        {
 9461         -
            Ok(crate::input::MalformedTimestampBodyDateTimeInput {
 9462         -
                timestamp: self
 9463         -
                    .timestamp
 9464         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9465         -
            })
        9146  +
        #[allow(missing_docs)] // documentation missing in model
        9147  +
        pub fn member_date_time(
        9148  +
            mut self,
        9149  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9150  +
        ) -> Self {
        9151  +
            self.member_date_time = input;
        9152  +
            self
 9466   9153   
        }
 9467         -
    }
 9468         -
}
 9469         -
/// See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 9470         -
pub(crate) mod malformed_timestamp_body_default_input_internal {
 9471         -
 9472         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9473         -
    /// Holds one variant for each of the ways the builder can fail.
 9474         -
    #[non_exhaustive]
 9475         -
    #[allow(clippy::enum_variant_names)]
 9476         -
    pub(crate) enum ConstraintViolation {
 9477         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
 9478         -
        MissingTimestamp,
 9479         -
    }
 9480         -
    impl ::std::fmt::Display for ConstraintViolation {
 9481         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9482         -
            match self {
 9483         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
 9484         -
            }
        9154  +
        #[allow(missing_docs)] // documentation missing in model
        9155  +
        pub fn default_format(
        9156  +
            mut self,
        9157  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9158  +
        ) -> Self {
        9159  +
            self.default_format = input;
        9160  +
            self
 9485   9161   
        }
 9486         -
    }
 9487         -
    impl ::std::error::Error for ConstraintViolation {}
 9488         -
    impl ConstraintViolation {
 9489         -
        pub(crate) fn as_validation_exception_field(
 9490         -
            self,
 9491         -
            path: ::std::string::String,
 9492         -
        ) -> crate::model::ValidationExceptionField {
 9493         -
            match self {
 9494         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 9495         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 9496         -
                                                path: path + "/timestamp",
 9497         -
                                            },
        9162  +
        #[allow(missing_docs)] // documentation missing in model
        9163  +
        pub fn target_epoch_seconds(
        9164  +
            mut self,
        9165  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9166  +
        ) -> Self {
        9167  +
            self.target_epoch_seconds = input;
        9168  +
            self
 9498   9169   
        }
        9170  +
        #[allow(missing_docs)] // documentation missing in model
        9171  +
        pub fn target_http_date(
        9172  +
            mut self,
        9173  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9174  +
        ) -> Self {
        9175  +
            self.target_http_date = input;
        9176  +
            self
 9499   9177   
        }
 9500         -
    }
 9501         -
    impl ::std::convert::From<ConstraintViolation>
 9502         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9503         -
    {
 9504         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9505         -
            let first_validation_exception_field =
 9506         -
                constraint_violation.as_validation_exception_field("".to_owned());
 9507         -
            let validation_exception = crate::error::ValidationException {
 9508         -
                message: format!(
 9509         -
                    "1 validation error detected. {}",
 9510         -
                    &first_validation_exception_field.message
 9511         -
                ),
 9512         -
                field_list: Some(vec![first_validation_exception_field]),
 9513         -
            };
 9514         -
            Self::ConstraintViolation(
 9515         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9516         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9517         -
                            )
        9178  +
        #[allow(missing_docs)] // documentation missing in model
        9179  +
        pub fn target_date_time(
        9180  +
            mut self,
        9181  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9182  +
        ) -> Self {
        9183  +
            self.target_date_time = input;
        9184  +
            self
 9518   9185   
        }
 9519         -
    }
 9520         -
    impl ::std::convert::From<Builder>
 9521         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDefaultInput>
 9522         -
    {
 9523         -
        fn from(builder: Builder) -> Self {
 9524         -
            Self::Unconstrained(builder)
        9186  +
        /// Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        9187  +
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
        9188  +
            self.build_enforcing_required_and_enum_traits()
        9189  +
        }
        9190  +
        fn build_enforcing_required_and_enum_traits(
        9191  +
            self,
        9192  +
        ) -> crate::input::TimestampFormatHeadersInput {
        9193  +
            crate::input::TimestampFormatHeadersInput {
        9194  +
                member_epoch_seconds: self.member_epoch_seconds,
        9195  +
                member_http_date: self.member_http_date,
        9196  +
                member_date_time: self.member_date_time,
        9197  +
                default_format: self.default_format,
        9198  +
                target_epoch_seconds: self.target_epoch_seconds,
        9199  +
                target_http_date: self.target_http_date,
        9200  +
                target_date_time: self.target_date_time,
        9201  +
            }
 9525   9202   
        }
 9526   9203   
    }
 9527         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
 9528         -
        type Error = ConstraintViolation;
        9204  +
}
        9205  +
/// See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        9206  +
pub(crate) mod media_type_header_input_internal {
 9529   9207   
 9530         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9208  +
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
        9209  +
        fn from(builder: Builder) -> Self {
 9531   9210   
            builder.build()
 9532   9211   
        }
 9533   9212   
    }
 9534         -
    /// A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        9213  +
    /// A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
 9535   9214   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9536   9215   
    pub(crate) struct Builder {
 9537         -
        pub(crate) timestamp:
 9538         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9216  +
        pub(crate) json: ::std::option::Option<::std::string::String>,
 9539   9217   
    }
 9540   9218   
    impl Builder {
 9541   9219   
        #[allow(missing_docs)] // documentation missing in model
 9542         -
        pub(crate) fn set_timestamp(
        9220  +
        pub(crate) fn set_json(
 9543   9221   
            mut self,
 9544         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9222  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 9545   9223   
        ) -> Self {
 9546         -
            self.timestamp = Some(input.into());
        9224  +
            self.json = input.map(|v| v.into());
 9547   9225   
            self
 9548   9226   
        }
 9549         -
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 9550         -
        ///
 9551         -
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if a [`ConstraintViolation`] occurs.
 9552         -
        ///
 9553         -
        pub fn build(
 9554         -
            self,
 9555         -
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
        9227  +
        /// Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        9228  +
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
 9556   9229   
            self.build_enforcing_all_constraints()
 9557   9230   
        }
 9558         -
        fn build_enforcing_all_constraints(
 9559         -
            self,
 9560         -
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
 9561         -
            Ok(crate::input::MalformedTimestampBodyDefaultInput {
 9562         -
                timestamp: self
 9563         -
                    .timestamp
 9564         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9565         -
            })
        9231  +
        fn build_enforcing_all_constraints(self) -> crate::input::MediaTypeHeaderInput {
        9232  +
            crate::input::MediaTypeHeaderInput { json: self.json }
 9566   9233   
        }
 9567   9234   
    }
 9568   9235   
}
 9569         -
/// See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 9570         -
pub mod malformed_timestamp_body_default_input {
 9571         -
 9572         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9573         -
    /// Holds one variant for each of the ways the builder can fail.
 9574         -
    #[allow(clippy::enum_variant_names)]
 9575         -
    pub enum ConstraintViolation {
 9576         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
 9577         -
        MissingTimestamp,
 9578         -
    }
 9579         -
    impl ::std::fmt::Display for ConstraintViolation {
 9580         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9581         -
            match self {
 9582         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
 9583         -
            }
 9584         -
        }
 9585         -
    }
 9586         -
    impl ::std::error::Error for ConstraintViolation {}
 9587         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
 9588         -
        type Error = ConstraintViolation;
        9236  +
/// See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        9237  +
pub mod media_type_header_input {
 9589   9238   
 9590         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9239  +
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
        9240  +
        fn from(builder: Builder) -> Self {
 9591   9241   
            builder.build()
 9592   9242   
        }
 9593   9243   
    }
 9594         -
    /// A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        9244  +
    /// A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
 9595   9245   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9596   9246   
    pub struct Builder {
 9597         -
        pub(crate) timestamp:
 9598         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9247  +
        pub(crate) json: ::std::option::Option<::std::string::String>,
 9599   9248   
    }
 9600   9249   
    impl Builder {
 9601   9250   
        #[allow(missing_docs)] // documentation missing in model
 9602         -
        pub fn timestamp(
 9603         -
            mut self,
 9604         -
            input: ::aws_smithy_http_server_python::types::DateTime,
 9605         -
        ) -> Self {
 9606         -
            self.timestamp = Some(input);
        9251  +
        pub fn json(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        9252  +
            self.json = input;
 9607   9253   
            self
 9608   9254   
        }
 9609         -
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 9610         -
        ///
 9611         -
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if you do not provide a value for all non-`Option`al members.
 9612         -
        ///
 9613         -
        pub fn build(
 9614         -
            self,
 9615         -
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
        9255  +
        /// Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        9256  +
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
 9616   9257   
            self.build_enforcing_required_and_enum_traits()
 9617   9258   
        }
 9618         -
        fn build_enforcing_required_and_enum_traits(
 9619         -
            self,
 9620         -
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
 9621         -
            Ok(crate::input::MalformedTimestampBodyDefaultInput {
 9622         -
                timestamp: self
 9623         -
                    .timestamp
 9624         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9625         -
            })
        9259  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MediaTypeHeaderInput {
        9260  +
            crate::input::MediaTypeHeaderInput { json: self.json }
 9626   9261   
        }
 9627   9262   
    }
 9628   9263   
}
 9629         -
/// See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 9630         -
pub(crate) mod malformed_timestamp_header_epoch_input_internal {
        9264  +
/// See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
        9265  +
pub(crate) mod http_request_with_labels_input_internal {
 9631   9266   
 9632   9267   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9633   9268   
    /// Holds one variant for each of the ways the builder can fail.
 9634   9269   
    #[non_exhaustive]
 9635   9270   
    #[allow(clippy::enum_variant_names)]
 9636   9271   
    pub(crate) enum ConstraintViolation {
 9637         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
        9272  +
        /// `string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9273  +
        MissingString,
        9274  +
        /// `short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9275  +
        MissingShort,
        9276  +
        /// `integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9277  +
        MissingInteger,
        9278  +
        /// `long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9279  +
        MissingLong,
        9280  +
        /// `float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9281  +
        MissingFloat,
        9282  +
        /// `double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9283  +
        MissingDouble,
        9284  +
        /// `boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9285  +
        MissingBoolean,
        9286  +
        /// `timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
 9638   9287   
        MissingTimestamp,
 9639   9288   
    }
 9640   9289   
    impl ::std::fmt::Display for ConstraintViolation {
 9641   9290   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9642   9291   
            match self {
 9643         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
        9292  +
                ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9293  +
                ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9294  +
                ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9295  +
                ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9296  +
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9297  +
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9298  +
                ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9299  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
 9644   9300   
            }
 9645   9301   
        }
 9646   9302   
    }
 9647   9303   
    impl ::std::error::Error for ConstraintViolation {}
 9648   9304   
    impl ConstraintViolation {
 9649   9305   
        pub(crate) fn as_validation_exception_field(
 9650   9306   
            self,
 9651   9307   
            path: ::std::string::String,
 9652   9308   
        ) -> crate::model::ValidationExceptionField {
 9653   9309   
            match self {
        9310  +
            ConstraintViolation::MissingString => crate::model::ValidationExceptionField {
        9311  +
                                                message: format!("Value at '{}/string' failed to satisfy constraint: Member must not be null", path),
        9312  +
                                                path: path + "/string",
        9313  +
                                            },
        9314  +
            ConstraintViolation::MissingShort => crate::model::ValidationExceptionField {
        9315  +
                                                message: format!("Value at '{}/short' failed to satisfy constraint: Member must not be null", path),
        9316  +
                                                path: path + "/short",
        9317  +
                                            },
        9318  +
            ConstraintViolation::MissingInteger => crate::model::ValidationExceptionField {
        9319  +
                                                message: format!("Value at '{}/integer' failed to satisfy constraint: Member must not be null", path),
        9320  +
                                                path: path + "/integer",
        9321  +
                                            },
        9322  +
            ConstraintViolation::MissingLong => crate::model::ValidationExceptionField {
        9323  +
                                                message: format!("Value at '{}/long' failed to satisfy constraint: Member must not be null", path),
        9324  +
                                                path: path + "/long",
        9325  +
                                            },
        9326  +
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
        9327  +
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
        9328  +
                                                path: path + "/float",
        9329  +
                                            },
        9330  +
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
        9331  +
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
        9332  +
                                                path: path + "/double",
        9333  +
                                            },
        9334  +
            ConstraintViolation::MissingBoolean => crate::model::ValidationExceptionField {
        9335  +
                                                message: format!("Value at '{}/boolean' failed to satisfy constraint: Member must not be null", path),
        9336  +
                                                path: path + "/boolean",
        9337  +
                                            },
 9654   9338   
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 9655   9339   
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 9656   9340   
                                                path: path + "/timestamp",
 9657   9341   
                                            },
 9658   9342   
        }
 9659   9343   
        }
 9660   9344   
    }
 9661   9345   
    impl ::std::convert::From<ConstraintViolation>
 9662   9346   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9663   9347   
    {
 9664   9348   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9665   9349   
            let first_validation_exception_field =
 9666   9350   
                constraint_violation.as_validation_exception_field("".to_owned());
 9667   9351   
            let validation_exception = crate::error::ValidationException {
 9668   9352   
                message: format!(
 9669   9353   
                    "1 validation error detected. {}",
 9670   9354   
                    &first_validation_exception_field.message
 9671   9355   
                ),
 9672   9356   
                field_list: Some(vec![first_validation_exception_field]),
 9673   9357   
            };
 9674   9358   
            Self::ConstraintViolation(
 9675   9359   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9676   9360   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9677   9361   
                            )
 9678   9362   
        }
 9679   9363   
    }
 9680   9364   
    impl ::std::convert::From<Builder>
 9681         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderEpochInput>
        9365  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithLabelsInput>
 9682   9366   
    {
 9683   9367   
        fn from(builder: Builder) -> Self {
 9684   9368   
            Self::Unconstrained(builder)
 9685   9369   
        }
 9686   9370   
    }
 9687         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
        9371  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
 9688   9372   
        type Error = ConstraintViolation;
 9689   9373   
 9690   9374   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 9691   9375   
            builder.build()
 9692   9376   
        }
 9693   9377   
    }
 9694         -
    /// A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        9378  +
    /// A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
 9695   9379   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9696   9380   
    pub(crate) struct Builder {
        9381  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        9382  +
        pub(crate) short: ::std::option::Option<i16>,
        9383  +
        pub(crate) integer: ::std::option::Option<i32>,
        9384  +
        pub(crate) long: ::std::option::Option<i64>,
        9385  +
        pub(crate) float: ::std::option::Option<f32>,
        9386  +
        pub(crate) double: ::std::option::Option<f64>,
        9387  +
        pub(crate) boolean: ::std::option::Option<bool>,
 9697   9388   
        pub(crate) timestamp:
 9698   9389   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9699   9390   
    }
 9700   9391   
    impl Builder {
 9701   9392   
        #[allow(missing_docs)] // documentation missing in model
        9393  +
        pub(crate) fn set_string(
        9394  +
            mut self,
        9395  +
            input: impl ::std::convert::Into<::std::string::String>,
        9396  +
        ) -> Self {
        9397  +
            self.string = Some(input.into());
        9398  +
            self
        9399  +
        }
        9400  +
        #[allow(missing_docs)] // documentation missing in model
        9401  +
        pub(crate) fn set_short(mut self, input: impl ::std::convert::Into<i16>) -> Self {
        9402  +
            self.short = Some(input.into());
        9403  +
            self
        9404  +
        }
        9405  +
        #[allow(missing_docs)] // documentation missing in model
        9406  +
        pub(crate) fn set_integer(mut self, input: impl ::std::convert::Into<i32>) -> Self {
        9407  +
            self.integer = Some(input.into());
        9408  +
            self
        9409  +
        }
        9410  +
        #[allow(missing_docs)] // documentation missing in model
        9411  +
        pub(crate) fn set_long(mut self, input: impl ::std::convert::Into<i64>) -> Self {
        9412  +
            self.long = Some(input.into());
        9413  +
            self
        9414  +
        }
        9415  +
        #[allow(missing_docs)] // documentation missing in model
        9416  +
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
        9417  +
            self.float = Some(input.into());
        9418  +
            self
        9419  +
        }
        9420  +
        #[allow(missing_docs)] // documentation missing in model
        9421  +
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
        9422  +
            self.double = Some(input.into());
        9423  +
            self
        9424  +
        }
        9425  +
        /// Serialized in the path as true or false.
        9426  +
        pub(crate) fn set_boolean(mut self, input: impl ::std::convert::Into<bool>) -> Self {
        9427  +
            self.boolean = Some(input.into());
        9428  +
            self
        9429  +
        }
        9430  +
        /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
 9702   9431   
        pub(crate) fn set_timestamp(
 9703   9432   
            mut self,
 9704   9433   
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 9705   9434   
        ) -> Self {
 9706   9435   
            self.timestamp = Some(input.into());
 9707   9436   
            self
 9708   9437   
        }
 9709         -
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        9438  +
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
 9710   9439   
        ///
 9711         -
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if a [`ConstraintViolation`] occurs.
        9440  +
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if a [`ConstraintViolation`] occurs.
 9712   9441   
        ///
        9442  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 9713   9443   
        pub fn build(
 9714   9444   
            self,
 9715         -
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
        9445  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
 9716   9446   
            self.build_enforcing_all_constraints()
 9717   9447   
        }
 9718   9448   
        fn build_enforcing_all_constraints(
 9719   9449   
            self,
 9720         -
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
 9721         -
            Ok(crate::input::MalformedTimestampHeaderEpochInput {
        9450  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
        9451  +
            Ok(crate::input::HttpRequestWithLabelsInput {
        9452  +
                string: self.string.ok_or(ConstraintViolation::MissingString)?,
        9453  +
                short: self.short.ok_or(ConstraintViolation::MissingShort)?,
        9454  +
                integer: self.integer.ok_or(ConstraintViolation::MissingInteger)?,
        9455  +
                long: self.long.ok_or(ConstraintViolation::MissingLong)?,
        9456  +
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
        9457  +
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
        9458  +
                boolean: self.boolean.ok_or(ConstraintViolation::MissingBoolean)?,
 9722   9459   
                timestamp: self
 9723   9460   
                    .timestamp
 9724   9461   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9725   9462   
            })
 9726   9463   
        }
 9727   9464   
    }
 9728   9465   
}
 9729         -
/// See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 9730         -
pub mod malformed_timestamp_header_epoch_input {
        9466  +
/// See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
        9467  +
pub mod http_request_with_labels_input {
 9731   9468   
 9732   9469   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9733   9470   
    /// Holds one variant for each of the ways the builder can fail.
 9734   9471   
    #[allow(clippy::enum_variant_names)]
 9735   9472   
    pub enum ConstraintViolation {
 9736         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
        9473  +
        /// `string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9474  +
        MissingString,
        9475  +
        /// `short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9476  +
        MissingShort,
        9477  +
        /// `integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9478  +
        MissingInteger,
        9479  +
        /// `long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9480  +
        MissingLong,
        9481  +
        /// `float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9482  +
        MissingFloat,
        9483  +
        /// `double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9484  +
        MissingDouble,
        9485  +
        /// `boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
        9486  +
        MissingBoolean,
        9487  +
        /// `timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
 9737   9488   
        MissingTimestamp,
 9738   9489   
    }
 9739   9490   
    impl ::std::fmt::Display for ConstraintViolation {
 9740   9491   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9741   9492   
            match self {
 9742         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
        9493  +
                ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9494  +
                ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9495  +
                ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9496  +
                ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9497  +
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9498  +
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9499  +
                ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
        9500  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
 9743   9501   
            }
 9744   9502   
        }
 9745   9503   
    }
 9746   9504   
    impl ::std::error::Error for ConstraintViolation {}
 9747         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
        9505  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
 9748   9506   
        type Error = ConstraintViolation;
 9749   9507   
 9750   9508   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 9751   9509   
            builder.build()
 9752   9510   
        }
 9753   9511   
    }
 9754         -
    /// A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        9512  +
    /// A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
 9755   9513   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9756   9514   
    pub struct Builder {
        9515  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        9516  +
        pub(crate) short: ::std::option::Option<i16>,
        9517  +
        pub(crate) integer: ::std::option::Option<i32>,
        9518  +
        pub(crate) long: ::std::option::Option<i64>,
        9519  +
        pub(crate) float: ::std::option::Option<f32>,
        9520  +
        pub(crate) double: ::std::option::Option<f64>,
        9521  +
        pub(crate) boolean: ::std::option::Option<bool>,
 9757   9522   
        pub(crate) timestamp:
 9758   9523   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9759   9524   
    }
 9760   9525   
    impl Builder {
 9761   9526   
        #[allow(missing_docs)] // documentation missing in model
        9527  +
        pub fn string(mut self, input: ::std::string::String) -> Self {
        9528  +
            self.string = Some(input);
        9529  +
            self
        9530  +
        }
        9531  +
        #[allow(missing_docs)] // documentation missing in model
        9532  +
        pub fn short(mut self, input: i16) -> Self {
        9533  +
            self.short = Some(input);
        9534  +
            self
        9535  +
        }
        9536  +
        #[allow(missing_docs)] // documentation missing in model
        9537  +
        pub fn integer(mut self, input: i32) -> Self {
        9538  +
            self.integer = Some(input);
        9539  +
            self
        9540  +
        }
        9541  +
        #[allow(missing_docs)] // documentation missing in model
        9542  +
        pub fn long(mut self, input: i64) -> Self {
        9543  +
            self.long = Some(input);
        9544  +
            self
        9545  +
        }
        9546  +
        #[allow(missing_docs)] // documentation missing in model
        9547  +
        pub fn float(mut self, input: f32) -> Self {
        9548  +
            self.float = Some(input);
        9549  +
            self
        9550  +
        }
        9551  +
        #[allow(missing_docs)] // documentation missing in model
        9552  +
        pub fn double(mut self, input: f64) -> Self {
        9553  +
            self.double = Some(input);
        9554  +
            self
        9555  +
        }
        9556  +
        /// Serialized in the path as true or false.
        9557  +
        pub fn boolean(mut self, input: bool) -> Self {
        9558  +
            self.boolean = Some(input);
        9559  +
            self
        9560  +
        }
        9561  +
        /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
 9762   9562   
        pub fn timestamp(
 9763   9563   
            mut self,
 9764   9564   
            input: ::aws_smithy_http_server_python::types::DateTime,
 9765   9565   
        ) -> Self {
 9766   9566   
            self.timestamp = Some(input);
 9767   9567   
            self
 9768   9568   
        }
 9769         -
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        9569  +
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
 9770   9570   
        ///
 9771         -
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if you do not provide a value for all non-`Option`al members.
        9571  +
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if you do not provide a value for all non-`Option`al members.
 9772   9572   
        ///
 9773   9573   
        pub fn build(
 9774   9574   
            self,
 9775         -
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
        9575  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
 9776   9576   
            self.build_enforcing_required_and_enum_traits()
 9777   9577   
        }
 9778   9578   
        fn build_enforcing_required_and_enum_traits(
 9779   9579   
            self,
 9780         -
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
 9781         -
            Ok(crate::input::MalformedTimestampHeaderEpochInput {
        9580  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
        9581  +
            Ok(crate::input::HttpRequestWithLabelsInput {
        9582  +
                string: self.string.ok_or(ConstraintViolation::MissingString)?,
        9583  +
                short: self.short.ok_or(ConstraintViolation::MissingShort)?,
        9584  +
                integer: self.integer.ok_or(ConstraintViolation::MissingInteger)?,
        9585  +
                long: self.long.ok_or(ConstraintViolation::MissingLong)?,
        9586  +
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
        9587  +
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
        9588  +
                boolean: self.boolean.ok_or(ConstraintViolation::MissingBoolean)?,
 9782   9589   
                timestamp: self
 9783   9590   
                    .timestamp
 9784   9591   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9785   9592   
            })
 9786   9593   
        }
 9787   9594   
    }
 9788   9595   
}
 9789         -
/// See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 9790         -
pub(crate) mod malformed_timestamp_header_date_time_input_internal {
        9596  +
/// See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        9597  +
pub(crate) mod http_request_with_labels_and_timestamp_format_input_internal {
 9791   9598   
 9792   9599   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9793   9600   
    /// Holds one variant for each of the ways the builder can fail.
 9794   9601   
    #[non_exhaustive]
 9795   9602   
    #[allow(clippy::enum_variant_names)]
 9796   9603   
    pub(crate) enum ConstraintViolation {
 9797         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
 9798         -
        MissingTimestamp,
        9604  +
        /// `member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9605  +
        MissingMemberEpochSeconds,
        9606  +
        /// `member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9607  +
        MissingMemberHttpDate,
        9608  +
        /// `member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9609  +
        MissingMemberDateTime,
        9610  +
        /// `default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9611  +
        MissingDefaultFormat,
        9612  +
        /// `target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9613  +
        MissingTargetEpochSeconds,
        9614  +
        /// `target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9615  +
        MissingTargetHttpDate,
        9616  +
        /// `target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9617  +
        MissingTargetDateTime,
 9799   9618   
    }
 9800   9619   
    impl ::std::fmt::Display for ConstraintViolation {
 9801   9620   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9802   9621   
            match self {
 9803         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
        9622  +
                ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9623  +
                ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9624  +
                ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9625  +
                ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9626  +
                ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9627  +
                ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9628  +
                ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
 9804   9629   
            }
 9805   9630   
        }
 9806   9631   
    }
 9807   9632   
    impl ::std::error::Error for ConstraintViolation {}
 9808   9633   
    impl ConstraintViolation {
 9809   9634   
        pub(crate) fn as_validation_exception_field(
 9810   9635   
            self,
 9811   9636   
            path: ::std::string::String,
 9812   9637   
        ) -> crate::model::ValidationExceptionField {
 9813   9638   
            match self {
 9814         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 9815         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 9816         -
                                                path: path + "/timestamp",
        9639  +
            ConstraintViolation::MissingMemberEpochSeconds => crate::model::ValidationExceptionField {
        9640  +
                                                message: format!("Value at '{}/memberEpochSeconds' failed to satisfy constraint: Member must not be null", path),
        9641  +
                                                path: path + "/memberEpochSeconds",
        9642  +
                                            },
        9643  +
            ConstraintViolation::MissingMemberHttpDate => crate::model::ValidationExceptionField {
        9644  +
                                                message: format!("Value at '{}/memberHttpDate' failed to satisfy constraint: Member must not be null", path),
        9645  +
                                                path: path + "/memberHttpDate",
        9646  +
                                            },
        9647  +
            ConstraintViolation::MissingMemberDateTime => crate::model::ValidationExceptionField {
        9648  +
                                                message: format!("Value at '{}/memberDateTime' failed to satisfy constraint: Member must not be null", path),
        9649  +
                                                path: path + "/memberDateTime",
        9650  +
                                            },
        9651  +
            ConstraintViolation::MissingDefaultFormat => crate::model::ValidationExceptionField {
        9652  +
                                                message: format!("Value at '{}/defaultFormat' failed to satisfy constraint: Member must not be null", path),
        9653  +
                                                path: path + "/defaultFormat",
        9654  +
                                            },
        9655  +
            ConstraintViolation::MissingTargetEpochSeconds => crate::model::ValidationExceptionField {
        9656  +
                                                message: format!("Value at '{}/targetEpochSeconds' failed to satisfy constraint: Member must not be null", path),
        9657  +
                                                path: path + "/targetEpochSeconds",
        9658  +
                                            },
        9659  +
            ConstraintViolation::MissingTargetHttpDate => crate::model::ValidationExceptionField {
        9660  +
                                                message: format!("Value at '{}/targetHttpDate' failed to satisfy constraint: Member must not be null", path),
        9661  +
                                                path: path + "/targetHttpDate",
        9662  +
                                            },
        9663  +
            ConstraintViolation::MissingTargetDateTime => crate::model::ValidationExceptionField {
        9664  +
                                                message: format!("Value at '{}/targetDateTime' failed to satisfy constraint: Member must not be null", path),
        9665  +
                                                path: path + "/targetDateTime",
 9817   9666   
                                            },
 9818   9667   
        }
 9819   9668   
        }
 9820   9669   
    }
 9821   9670   
    impl ::std::convert::From<ConstraintViolation>
 9822   9671   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9823   9672   
    {
 9824   9673   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9825   9674   
            let first_validation_exception_field =
 9826   9675   
                constraint_violation.as_validation_exception_field("".to_owned());
 9827   9676   
            let validation_exception = crate::error::ValidationException {
 9828   9677   
                message: format!(
 9829   9678   
                    "1 validation error detected. {}",
 9830   9679   
                    &first_validation_exception_field.message
 9831   9680   
                ),
 9832   9681   
                field_list: Some(vec![first_validation_exception_field]),
 9833   9682   
            };
 9834   9683   
            Self::ConstraintViolation(
 9835   9684   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 9836   9685   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 9837   9686   
                            )
 9838   9687   
        }
 9839   9688   
    }
 9840   9689   
    impl ::std::convert::From<Builder>
 9841   9690   
        for crate::constrained::MaybeConstrained<
 9842         -
            crate::input::MalformedTimestampHeaderDateTimeInput,
        9691  +
            crate::input::HttpRequestWithLabelsAndTimestampFormatInput,
 9843   9692   
        >
 9844   9693   
    {
 9845   9694   
        fn from(builder: Builder) -> Self {
 9846   9695   
            Self::Unconstrained(builder)
 9847   9696   
        }
 9848   9697   
    }
 9849         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
        9698  +
    impl ::std::convert::TryFrom<Builder>
        9699  +
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
        9700  +
    {
 9850   9701   
        type Error = ConstraintViolation;
 9851   9702   
 9852   9703   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 9853   9704   
            builder.build()
 9854   9705   
        }
 9855   9706   
    }
 9856         -
    /// A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        9707  +
    /// A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 9857   9708   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9858   9709   
    pub(crate) struct Builder {
 9859         -
        pub(crate) timestamp:
        9710  +
        pub(crate) member_epoch_seconds:
        9711  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9712  +
        pub(crate) member_http_date:
        9713  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9714  +
        pub(crate) member_date_time:
        9715  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9716  +
        pub(crate) default_format:
        9717  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9718  +
        pub(crate) target_epoch_seconds:
        9719  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9720  +
        pub(crate) target_http_date:
        9721  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9722  +
        pub(crate) target_date_time:
 9860   9723   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9861   9724   
    }
 9862   9725   
    impl Builder {
 9863   9726   
        #[allow(missing_docs)] // documentation missing in model
 9864         -
        pub(crate) fn set_timestamp(
        9727  +
        pub(crate) fn set_member_epoch_seconds(
 9865   9728   
            mut self,
 9866   9729   
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 9867   9730   
        ) -> Self {
 9868         -
            self.timestamp = Some(input.into());
        9731  +
            self.member_epoch_seconds = Some(input.into());
 9869   9732   
            self
 9870   9733   
        }
 9871         -
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        9734  +
        #[allow(missing_docs)] // documentation missing in model
        9735  +
        pub(crate) fn set_member_http_date(
        9736  +
            mut self,
        9737  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9738  +
        ) -> Self {
        9739  +
            self.member_http_date = Some(input.into());
        9740  +
            self
        9741  +
        }
        9742  +
        #[allow(missing_docs)] // documentation missing in model
        9743  +
        pub(crate) fn set_member_date_time(
        9744  +
            mut self,
        9745  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9746  +
        ) -> Self {
        9747  +
            self.member_date_time = Some(input.into());
        9748  +
            self
        9749  +
        }
        9750  +
        #[allow(missing_docs)] // documentation missing in model
        9751  +
        pub(crate) fn set_default_format(
        9752  +
            mut self,
        9753  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9754  +
        ) -> Self {
        9755  +
            self.default_format = Some(input.into());
        9756  +
            self
        9757  +
        }
        9758  +
        #[allow(missing_docs)] // documentation missing in model
        9759  +
        pub(crate) fn set_target_epoch_seconds(
        9760  +
            mut self,
        9761  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9762  +
        ) -> Self {
        9763  +
            self.target_epoch_seconds = Some(input.into());
        9764  +
            self
        9765  +
        }
        9766  +
        #[allow(missing_docs)] // documentation missing in model
        9767  +
        pub(crate) fn set_target_http_date(
        9768  +
            mut self,
        9769  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9770  +
        ) -> Self {
        9771  +
            self.target_http_date = Some(input.into());
        9772  +
            self
        9773  +
        }
        9774  +
        #[allow(missing_docs)] // documentation missing in model
        9775  +
        pub(crate) fn set_target_date_time(
        9776  +
            mut self,
        9777  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        9778  +
        ) -> Self {
        9779  +
            self.target_date_time = Some(input.into());
        9780  +
            self
        9781  +
        }
        9782  +
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 9872   9783   
        ///
 9873         -
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if a [`ConstraintViolation`] occurs.
        9784  +
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if a [`ConstraintViolation`] occurs.
 9874   9785   
        ///
        9786  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 9875   9787   
        pub fn build(
 9876   9788   
            self,
 9877         -
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
        9789  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
 9878   9790   
        {
 9879   9791   
            self.build_enforcing_all_constraints()
 9880   9792   
        }
 9881   9793   
        fn build_enforcing_all_constraints(
 9882   9794   
            self,
 9883         -
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
        9795  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
 9884   9796   
        {
 9885         -
            Ok(crate::input::MalformedTimestampHeaderDateTimeInput {
 9886         -
                timestamp: self
 9887         -
                    .timestamp
 9888         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
        9797  +
            Ok(crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
        9798  +
                member_epoch_seconds: self
        9799  +
                    .member_epoch_seconds
        9800  +
                    .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
        9801  +
                member_http_date: self
        9802  +
                    .member_http_date
        9803  +
                    .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
        9804  +
                member_date_time: self
        9805  +
                    .member_date_time
        9806  +
                    .ok_or(ConstraintViolation::MissingMemberDateTime)?,
        9807  +
                default_format: self
        9808  +
                    .default_format
        9809  +
                    .ok_or(ConstraintViolation::MissingDefaultFormat)?,
        9810  +
                target_epoch_seconds: self
        9811  +
                    .target_epoch_seconds
        9812  +
                    .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
        9813  +
                target_http_date: self
        9814  +
                    .target_http_date
        9815  +
                    .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
        9816  +
                target_date_time: self
        9817  +
                    .target_date_time
        9818  +
                    .ok_or(ConstraintViolation::MissingTargetDateTime)?,
 9889   9819   
            })
 9890   9820   
        }
 9891   9821   
    }
 9892   9822   
}
 9893         -
/// See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 9894         -
pub mod malformed_timestamp_header_date_time_input {
        9823  +
/// See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        9824  +
pub mod http_request_with_labels_and_timestamp_format_input {
 9895   9825   
 9896   9826   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9897   9827   
    /// Holds one variant for each of the ways the builder can fail.
 9898   9828   
    #[allow(clippy::enum_variant_names)]
 9899   9829   
    pub enum ConstraintViolation {
 9900         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
 9901         -
        MissingTimestamp,
        9830  +
        /// `member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9831  +
        MissingMemberEpochSeconds,
        9832  +
        /// `member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9833  +
        MissingMemberHttpDate,
        9834  +
        /// `member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9835  +
        MissingMemberDateTime,
        9836  +
        /// `default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9837  +
        MissingDefaultFormat,
        9838  +
        /// `target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9839  +
        MissingTargetEpochSeconds,
        9840  +
        /// `target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9841  +
        MissingTargetHttpDate,
        9842  +
        /// `target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
        9843  +
        MissingTargetDateTime,
 9902   9844   
    }
 9903   9845   
    impl ::std::fmt::Display for ConstraintViolation {
 9904   9846   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9905   9847   
            match self {
 9906         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
        9848  +
                ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9849  +
                ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9850  +
                ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9851  +
                ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9852  +
                ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9853  +
                ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
        9854  +
                ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
 9907   9855   
            }
 9908   9856   
        }
 9909   9857   
    }
 9910   9858   
    impl ::std::error::Error for ConstraintViolation {}
 9911         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
        9859  +
    impl ::std::convert::TryFrom<Builder>
        9860  +
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
        9861  +
    {
 9912   9862   
        type Error = ConstraintViolation;
 9913   9863   
 9914   9864   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 9915   9865   
            builder.build()
 9916   9866   
        }
 9917   9867   
    }
 9918         -
    /// A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        9868  +
    /// A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 9919   9869   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 9920   9870   
    pub struct Builder {
 9921         -
        pub(crate) timestamp:
        9871  +
        pub(crate) member_epoch_seconds:
        9872  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9873  +
        pub(crate) member_http_date:
        9874  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9875  +
        pub(crate) member_date_time:
        9876  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9877  +
        pub(crate) default_format:
        9878  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9879  +
        pub(crate) target_epoch_seconds:
        9880  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9881  +
        pub(crate) target_http_date:
        9882  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        9883  +
        pub(crate) target_date_time:
 9922   9884   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 9923   9885   
    }
 9924   9886   
    impl Builder {
 9925   9887   
        #[allow(missing_docs)] // documentation missing in model
 9926         -
        pub fn timestamp(
        9888  +
        pub fn member_epoch_seconds(
 9927   9889   
            mut self,
 9928   9890   
            input: ::aws_smithy_http_server_python::types::DateTime,
 9929   9891   
        ) -> Self {
 9930         -
            self.timestamp = Some(input);
        9892  +
            self.member_epoch_seconds = Some(input);
 9931   9893   
            self
 9932   9894   
        }
 9933         -
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        9895  +
        #[allow(missing_docs)] // documentation missing in model
        9896  +
        pub fn member_http_date(
        9897  +
            mut self,
        9898  +
            input: ::aws_smithy_http_server_python::types::DateTime,
        9899  +
        ) -> Self {
        9900  +
            self.member_http_date = Some(input);
        9901  +
            self
        9902  +
        }
        9903  +
        #[allow(missing_docs)] // documentation missing in model
        9904  +
        pub fn member_date_time(
        9905  +
            mut self,
        9906  +
            input: ::aws_smithy_http_server_python::types::DateTime,
        9907  +
        ) -> Self {
        9908  +
            self.member_date_time = Some(input);
        9909  +
            self
        9910  +
        }
        9911  +
        #[allow(missing_docs)] // documentation missing in model
        9912  +
        pub fn default_format(
        9913  +
            mut self,
        9914  +
            input: ::aws_smithy_http_server_python::types::DateTime,
        9915  +
        ) -> Self {
        9916  +
            self.default_format = Some(input);
        9917  +
            self
        9918  +
        }
        9919  +
        #[allow(missing_docs)] // documentation missing in model
        9920  +
        pub fn target_epoch_seconds(
        9921  +
            mut self,
        9922  +
            input: ::aws_smithy_http_server_python::types::DateTime,
        9923  +
        ) -> Self {
        9924  +
            self.target_epoch_seconds = Some(input);
        9925  +
            self
        9926  +
        }
        9927  +
        #[allow(missing_docs)] // documentation missing in model
        9928  +
        pub fn target_http_date(
        9929  +
            mut self,
        9930  +
            input: ::aws_smithy_http_server_python::types::DateTime,
        9931  +
        ) -> Self {
        9932  +
            self.target_http_date = Some(input);
        9933  +
            self
        9934  +
        }
        9935  +
        #[allow(missing_docs)] // documentation missing in model
        9936  +
        pub fn target_date_time(
        9937  +
            mut self,
        9938  +
            input: ::aws_smithy_http_server_python::types::DateTime,
        9939  +
        ) -> Self {
        9940  +
            self.target_date_time = Some(input);
        9941  +
            self
        9942  +
        }
        9943  +
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
 9934   9944   
        ///
 9935         -
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if you do not provide a value for all non-`Option`al members.
        9945  +
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if you do not provide a value for all non-`Option`al members.
 9936   9946   
        ///
 9937   9947   
        pub fn build(
 9938   9948   
            self,
 9939         -
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
        9949  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
 9940   9950   
        {
 9941   9951   
            self.build_enforcing_required_and_enum_traits()
 9942   9952   
        }
 9943   9953   
        fn build_enforcing_required_and_enum_traits(
 9944   9954   
            self,
 9945         -
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
        9955  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
 9946   9956   
        {
 9947         -
            Ok(crate::input::MalformedTimestampHeaderDateTimeInput {
 9948         -
                timestamp: self
 9949         -
                    .timestamp
 9950         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
        9957  +
            Ok(crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
        9958  +
                member_epoch_seconds: self
        9959  +
                    .member_epoch_seconds
        9960  +
                    .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
        9961  +
                member_http_date: self
        9962  +
                    .member_http_date
        9963  +
                    .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
        9964  +
                member_date_time: self
        9965  +
                    .member_date_time
        9966  +
                    .ok_or(ConstraintViolation::MissingMemberDateTime)?,
        9967  +
                default_format: self
        9968  +
                    .default_format
        9969  +
                    .ok_or(ConstraintViolation::MissingDefaultFormat)?,
        9970  +
                target_epoch_seconds: self
        9971  +
                    .target_epoch_seconds
        9972  +
                    .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
        9973  +
                target_http_date: self
        9974  +
                    .target_http_date
        9975  +
                    .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
        9976  +
                target_date_time: self
        9977  +
                    .target_date_time
        9978  +
                    .ok_or(ConstraintViolation::MissingTargetDateTime)?,
 9951   9979   
            })
 9952   9980   
        }
 9953   9981   
    }
 9954   9982   
}
 9955         -
/// See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
 9956         -
pub(crate) mod malformed_timestamp_header_default_input_internal {
        9983  +
/// See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
        9984  +
pub(crate) mod http_request_with_greedy_label_in_path_input_internal {
 9957   9985   
 9958   9986   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9959   9987   
    /// Holds one variant for each of the ways the builder can fail.
 9960   9988   
    #[non_exhaustive]
 9961   9989   
    #[allow(clippy::enum_variant_names)]
 9962   9990   
    pub(crate) enum ConstraintViolation {
 9963         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
 9964         -
        MissingTimestamp,
        9991  +
        /// `foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
        9992  +
        MissingFoo,
        9993  +
        /// `baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
        9994  +
        MissingBaz,
 9965   9995   
    }
 9966   9996   
    impl ::std::fmt::Display for ConstraintViolation {
 9967   9997   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9968   9998   
            match self {
 9969         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
        9999  +
                ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
       10000  +
                ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
 9970  10001   
            }
 9971  10002   
        }
 9972  10003   
    }
 9973  10004   
    impl ::std::error::Error for ConstraintViolation {}
 9974  10005   
    impl ConstraintViolation {
 9975  10006   
        pub(crate) fn as_validation_exception_field(
 9976  10007   
            self,
 9977  10008   
            path: ::std::string::String,
 9978  10009   
        ) -> crate::model::ValidationExceptionField {
 9979  10010   
            match self {
 9980         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
 9981         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
 9982         -
                                                path: path + "/timestamp",
 9983         -
                                            },
 9984         -
        }
       10011  +
                ConstraintViolation::MissingFoo => crate::model::ValidationExceptionField {
       10012  +
                    message: format!(
       10013  +
                        "Value at '{}/foo' failed to satisfy constraint: Member must not be null",
       10014  +
                        path
       10015  +
                    ),
       10016  +
                    path: path + "/foo",
       10017  +
                },
       10018  +
                ConstraintViolation::MissingBaz => crate::model::ValidationExceptionField {
       10019  +
                    message: format!(
       10020  +
                        "Value at '{}/baz' failed to satisfy constraint: Member must not be null",
       10021  +
                        path
       10022  +
                    ),
       10023  +
                    path: path + "/baz",
       10024  +
                },
       10025  +
            }
 9985  10026   
        }
 9986  10027   
    }
 9987  10028   
    impl ::std::convert::From<ConstraintViolation>
 9988  10029   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
 9989  10030   
    {
 9990  10031   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 9991  10032   
            let first_validation_exception_field =
 9992  10033   
                constraint_violation.as_validation_exception_field("".to_owned());
 9993  10034   
            let validation_exception = crate::error::ValidationException {
 9994  10035   
                message: format!(
 9995  10036   
                    "1 validation error detected. {}",
 9996  10037   
                    &first_validation_exception_field.message
 9997  10038   
                ),
 9998  10039   
                field_list: Some(vec![first_validation_exception_field]),
 9999  10040   
            };
10000  10041   
            Self::ConstraintViolation(
10001  10042   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10002  10043   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10003  10044   
                            )
10004  10045   
        }
10005  10046   
    }
10006  10047   
    impl ::std::convert::From<Builder>
10007         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderDefaultInput>
       10048  +
        for crate::constrained::MaybeConstrained<
       10049  +
            crate::input::HttpRequestWithGreedyLabelInPathInput,
       10050  +
        >
10008  10051   
    {
10009  10052   
        fn from(builder: Builder) -> Self {
10010  10053   
            Self::Unconstrained(builder)
10011  10054   
        }
10012  10055   
    }
10013         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
       10056  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
10014  10057   
        type Error = ConstraintViolation;
10015  10058   
10016  10059   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10017  10060   
            builder.build()
10018  10061   
        }
10019  10062   
    }
10020         -
    /// A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       10063  +
    /// A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
10021  10064   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10022  10065   
    pub(crate) struct Builder {
10023         -
        pub(crate) timestamp:
10024         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10066  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       10067  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
10025  10068   
    }
10026  10069   
    impl Builder {
10027  10070   
        #[allow(missing_docs)] // documentation missing in model
10028         -
        pub(crate) fn set_timestamp(
       10071  +
        pub(crate) fn set_foo(
10029  10072   
            mut self,
10030         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       10073  +
            input: impl ::std::convert::Into<::std::string::String>,
10031  10074   
        ) -> Self {
10032         -
            self.timestamp = Some(input.into());
       10075  +
            self.foo = Some(input.into());
10033  10076   
            self
10034  10077   
        }
10035         -
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       10078  +
        #[allow(missing_docs)] // documentation missing in model
       10079  +
        pub(crate) fn set_baz(
       10080  +
            mut self,
       10081  +
            input: impl ::std::convert::Into<::std::string::String>,
       10082  +
        ) -> Self {
       10083  +
            self.baz = Some(input.into());
       10084  +
            self
       10085  +
        }
       10086  +
        /// Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
10036  10087   
        ///
10037         -
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if a [`ConstraintViolation`] occurs.
       10088  +
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if a [`ConstraintViolation`] occurs.
10038  10089   
        ///
       10090  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
10039  10091   
        pub fn build(
10040  10092   
            self,
10041         -
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       10093  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
10042  10094   
        {
10043  10095   
            self.build_enforcing_all_constraints()
10044  10096   
        }
10045  10097   
        fn build_enforcing_all_constraints(
10046  10098   
            self,
10047         -
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       10099  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
10048  10100   
        {
10049         -
            Ok(crate::input::MalformedTimestampHeaderDefaultInput {
10050         -
                timestamp: self
10051         -
                    .timestamp
10052         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10101  +
            Ok(crate::input::HttpRequestWithGreedyLabelInPathInput {
       10102  +
                foo: self.foo.ok_or(ConstraintViolation::MissingFoo)?,
       10103  +
                baz: self.baz.ok_or(ConstraintViolation::MissingBaz)?,
10053  10104   
            })
10054  10105   
        }
10055  10106   
    }
10056  10107   
}
10057         -
/// See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
10058         -
pub mod malformed_timestamp_header_default_input {
       10108  +
/// See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       10109  +
pub mod http_request_with_greedy_label_in_path_input {
10059  10110   
10060  10111   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10061  10112   
    /// Holds one variant for each of the ways the builder can fail.
10062  10113   
    #[allow(clippy::enum_variant_names)]
10063  10114   
    pub enum ConstraintViolation {
10064         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
10065         -
        MissingTimestamp,
       10115  +
        /// `foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
       10116  +
        MissingFoo,
       10117  +
        /// `baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
       10118  +
        MissingBaz,
10066  10119   
    }
10067  10120   
    impl ::std::fmt::Display for ConstraintViolation {
10068  10121   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10069  10122   
            match self {
10070         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
       10123  +
                ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
       10124  +
                ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
10071  10125   
            }
10072  10126   
        }
10073  10127   
    }
10074  10128   
    impl ::std::error::Error for ConstraintViolation {}
10075         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
       10129  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
10076  10130   
        type Error = ConstraintViolation;
10077  10131   
10078  10132   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10079  10133   
            builder.build()
10080  10134   
        }
10081  10135   
    }
10082         -
    /// A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       10136  +
    /// A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
10083  10137   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10084  10138   
    pub struct Builder {
10085         -
        pub(crate) timestamp:
10086         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10139  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       10140  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
10087  10141   
    }
10088  10142   
    impl Builder {
10089  10143   
        #[allow(missing_docs)] // documentation missing in model
10090         -
        pub fn timestamp(
10091         -
            mut self,
10092         -
            input: ::aws_smithy_http_server_python::types::DateTime,
10093         -
        ) -> Self {
10094         -
            self.timestamp = Some(input);
       10144  +
        pub fn foo(mut self, input: ::std::string::String) -> Self {
       10145  +
            self.foo = Some(input);
       10146  +
            self
       10147  +
        }
       10148  +
        #[allow(missing_docs)] // documentation missing in model
       10149  +
        pub fn baz(mut self, input: ::std::string::String) -> Self {
       10150  +
            self.baz = Some(input);
10095  10151   
            self
10096  10152   
        }
10097         -
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       10153  +
        /// Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
10098  10154   
        ///
10099         -
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if you do not provide a value for all non-`Option`al members.
       10155  +
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if you do not provide a value for all non-`Option`al members.
10100  10156   
        ///
10101  10157   
        pub fn build(
10102  10158   
            self,
10103         -
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       10159  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
10104  10160   
        {
10105  10161   
            self.build_enforcing_required_and_enum_traits()
10106  10162   
        }
10107  10163   
        fn build_enforcing_required_and_enum_traits(
10108  10164   
            self,
10109         -
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       10165  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
10110  10166   
        {
10111         -
            Ok(crate::input::MalformedTimestampHeaderDefaultInput {
10112         -
                timestamp: self
10113         -
                    .timestamp
10114         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10167  +
            Ok(crate::input::HttpRequestWithGreedyLabelInPathInput {
       10168  +
                foo: self.foo.ok_or(ConstraintViolation::MissingFoo)?,
       10169  +
                baz: self.baz.ok_or(ConstraintViolation::MissingBaz)?,
10115  10170   
            })
10116  10171   
        }
10117  10172   
    }
10118  10173   
}
10119         -
/// See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
10120         -
pub(crate) mod malformed_timestamp_query_epoch_input_internal {
       10174  +
/// See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       10175  +
pub(crate) mod http_request_with_float_labels_input_internal {
10121  10176   
10122  10177   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10123  10178   
    /// Holds one variant for each of the ways the builder can fail.
10124  10179   
    #[non_exhaustive]
10125  10180   
    #[allow(clippy::enum_variant_names)]
10126  10181   
    pub(crate) enum ConstraintViolation {
10127         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
10128         -
        MissingTimestamp,
       10182  +
        /// `float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       10183  +
        MissingFloat,
       10184  +
        /// `double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       10185  +
        MissingDouble,
10129  10186   
    }
10130  10187   
    impl ::std::fmt::Display for ConstraintViolation {
10131  10188   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10132  10189   
            match self {
10133         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
       10190  +
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
       10191  +
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
10134  10192   
            }
10135  10193   
        }
10136  10194   
    }
10137  10195   
    impl ::std::error::Error for ConstraintViolation {}
10138  10196   
    impl ConstraintViolation {
10139  10197   
        pub(crate) fn as_validation_exception_field(
10140  10198   
            self,
10141  10199   
            path: ::std::string::String,
10142  10200   
        ) -> crate::model::ValidationExceptionField {
10143  10201   
            match self {
10144         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
10145         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
10146         -
                                                path: path + "/timestamp",
       10202  +
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
       10203  +
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
       10204  +
                                                path: path + "/float",
       10205  +
                                            },
       10206  +
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
       10207  +
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
       10208  +
                                                path: path + "/double",
10147  10209   
                                            },
10148  10210   
        }
10149  10211   
        }
10150  10212   
    }
10151  10213   
    impl ::std::convert::From<ConstraintViolation>
10152  10214   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10153  10215   
    {
10154  10216   
        fn from(constraint_violation: ConstraintViolation) -> Self {
10155  10217   
            let first_validation_exception_field =
10156  10218   
                constraint_violation.as_validation_exception_field("".to_owned());
10157  10219   
            let validation_exception = crate::error::ValidationException {
10158  10220   
                message: format!(
10159  10221   
                    "1 validation error detected. {}",
10160  10222   
                    &first_validation_exception_field.message
10161  10223   
                ),
10162  10224   
                field_list: Some(vec![first_validation_exception_field]),
10163  10225   
            };
10164  10226   
            Self::ConstraintViolation(
10165  10227   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10166  10228   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10167  10229   
                            )
10168  10230   
        }
10169  10231   
    }
10170  10232   
    impl ::std::convert::From<Builder>
10171         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryEpochInput>
       10233  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithFloatLabelsInput>
10172  10234   
    {
10173  10235   
        fn from(builder: Builder) -> Self {
10174  10236   
            Self::Unconstrained(builder)
10175  10237   
        }
10176  10238   
    }
10177         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
       10239  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
10178  10240   
        type Error = ConstraintViolation;
10179  10241   
10180  10242   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10181  10243   
            builder.build()
10182  10244   
        }
10183  10245   
    }
10184         -
    /// A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       10246  +
    /// A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
10185  10247   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10186  10248   
    pub(crate) struct Builder {
10187         -
        pub(crate) timestamp:
10188         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10249  +
        pub(crate) float: ::std::option::Option<f32>,
       10250  +
        pub(crate) double: ::std::option::Option<f64>,
10189  10251   
    }
10190  10252   
    impl Builder {
10191  10253   
        #[allow(missing_docs)] // documentation missing in model
10192         -
        pub(crate) fn set_timestamp(
10193         -
            mut self,
10194         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
10195         -
        ) -> Self {
10196         -
            self.timestamp = Some(input.into());
       10254  +
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
       10255  +
            self.float = Some(input.into());
10197  10256   
            self
10198  10257   
        }
10199         -
        /// Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       10258  +
        #[allow(missing_docs)] // documentation missing in model
       10259  +
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
       10260  +
            self.double = Some(input.into());
       10261  +
            self
       10262  +
        }
       10263  +
        /// Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
10200  10264   
        ///
10201         -
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if a [`ConstraintViolation`] occurs.
       10265  +
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if a [`ConstraintViolation`] occurs.
10202  10266   
        ///
       10267  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
10203  10268   
        pub fn build(
10204  10269   
            self,
10205         -
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
       10270  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
10206  10271   
            self.build_enforcing_all_constraints()
10207  10272   
        }
10208  10273   
        fn build_enforcing_all_constraints(
10209  10274   
            self,
10210         -
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
10211         -
            Ok(crate::input::MalformedTimestampQueryEpochInput {
10212         -
                timestamp: self
10213         -
                    .timestamp
10214         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10275  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       10276  +
            Ok(crate::input::HttpRequestWithFloatLabelsInput {
       10277  +
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
       10278  +
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
10215  10279   
            })
10216  10280   
        }
10217  10281   
    }
10218  10282   
}
10219         -
/// See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
10220         -
pub mod malformed_timestamp_query_epoch_input {
       10283  +
/// See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       10284  +
pub mod http_request_with_float_labels_input {
10221  10285   
10222  10286   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10223  10287   
    /// Holds one variant for each of the ways the builder can fail.
10224  10288   
    #[allow(clippy::enum_variant_names)]
10225  10289   
    pub enum ConstraintViolation {
10226         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
10227         -
        MissingTimestamp,
       10290  +
        /// `float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       10291  +
        MissingFloat,
       10292  +
        /// `double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       10293  +
        MissingDouble,
10228  10294   
    }
10229  10295   
    impl ::std::fmt::Display for ConstraintViolation {
10230  10296   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10231  10297   
            match self {
10232         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
       10298  +
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
       10299  +
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
10233  10300   
            }
10234  10301   
        }
10235  10302   
    }
10236  10303   
    impl ::std::error::Error for ConstraintViolation {}
10237         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
       10304  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
10238  10305   
        type Error = ConstraintViolation;
10239  10306   
10240  10307   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10241  10308   
            builder.build()
10242  10309   
        }
10243  10310   
    }
10244         -
    /// A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       10311  +
    /// A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
10245  10312   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10246  10313   
    pub struct Builder {
10247         -
        pub(crate) timestamp:
10248         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10314  +
        pub(crate) float: ::std::option::Option<f32>,
       10315  +
        pub(crate) double: ::std::option::Option<f64>,
10249  10316   
    }
10250  10317   
    impl Builder {
10251  10318   
        #[allow(missing_docs)] // documentation missing in model
10252         -
        pub fn timestamp(
10253         -
            mut self,
10254         -
            input: ::aws_smithy_http_server_python::types::DateTime,
10255         -
        ) -> Self {
10256         -
            self.timestamp = Some(input);
       10319  +
        pub fn float(mut self, input: f32) -> Self {
       10320  +
            self.float = Some(input);
10257  10321   
            self
10258  10322   
        }
10259         -
        /// Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       10323  +
        #[allow(missing_docs)] // documentation missing in model
       10324  +
        pub fn double(mut self, input: f64) -> Self {
       10325  +
            self.double = Some(input);
       10326  +
            self
       10327  +
        }
       10328  +
        /// Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
10260  10329   
        ///
10261         -
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if you do not provide a value for all non-`Option`al members.
       10330  +
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if you do not provide a value for all non-`Option`al members.
10262  10331   
        ///
10263  10332   
        pub fn build(
10264  10333   
            self,
10265         -
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
       10334  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
10266  10335   
            self.build_enforcing_required_and_enum_traits()
10267  10336   
        }
10268  10337   
        fn build_enforcing_required_and_enum_traits(
10269  10338   
            self,
10270         -
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
10271         -
            Ok(crate::input::MalformedTimestampQueryEpochInput {
10272         -
                timestamp: self
10273         -
                    .timestamp
10274         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10339  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       10340  +
            Ok(crate::input::HttpRequestWithFloatLabelsInput {
       10341  +
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
       10342  +
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
10275  10343   
            })
10276  10344   
        }
10277  10345   
    }
10278  10346   
}
10279         -
/// See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
10280         -
pub(crate) mod malformed_timestamp_query_http_date_input_internal {
       10347  +
/// See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       10348  +
pub(crate) mod http_request_with_regex_literal_input_internal {
10281  10349   
10282  10350   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10283  10351   
    /// Holds one variant for each of the ways the builder can fail.
10284  10352   
    #[non_exhaustive]
10285  10353   
    #[allow(clippy::enum_variant_names)]
10286  10354   
    pub(crate) enum ConstraintViolation {
10287         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
10288         -
        MissingTimestamp,
       10355  +
        /// `str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
       10356  +
        MissingStr,
10289  10357   
    }
10290  10358   
    impl ::std::fmt::Display for ConstraintViolation {
10291  10359   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10292  10360   
            match self {
10293         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
       10361  +
                ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
10294  10362   
            }
10295  10363   
        }
10296  10364   
    }
10297  10365   
    impl ::std::error::Error for ConstraintViolation {}
10298  10366   
    impl ConstraintViolation {
10299  10367   
        pub(crate) fn as_validation_exception_field(
10300  10368   
            self,
10301  10369   
            path: ::std::string::String,
10302  10370   
        ) -> crate::model::ValidationExceptionField {
10303  10371   
            match self {
10304         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
10305         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
10306         -
                                                path: path + "/timestamp",
10307         -
                                            },
10308         -
        }
       10372  +
                ConstraintViolation::MissingStr => crate::model::ValidationExceptionField {
       10373  +
                    message: format!(
       10374  +
                        "Value at '{}/str' failed to satisfy constraint: Member must not be null",
       10375  +
                        path
       10376  +
                    ),
       10377  +
                    path: path + "/str",
       10378  +
                },
       10379  +
            }
10309  10380   
        }
10310  10381   
    }
10311  10382   
    impl ::std::convert::From<ConstraintViolation>
10312  10383   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10313  10384   
    {
10314  10385   
        fn from(constraint_violation: ConstraintViolation) -> Self {
10315  10386   
            let first_validation_exception_field =
10316  10387   
                constraint_violation.as_validation_exception_field("".to_owned());
10317  10388   
            let validation_exception = crate::error::ValidationException {
10318  10389   
                message: format!(
10319  10390   
                    "1 validation error detected. {}",
10320  10391   
                    &first_validation_exception_field.message
10321  10392   
                ),
10322  10393   
                field_list: Some(vec![first_validation_exception_field]),
10323  10394   
            };
10324  10395   
            Self::ConstraintViolation(
10325  10396   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10326  10397   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10327  10398   
                            )
10328  10399   
        }
10329  10400   
    }
10330  10401   
    impl ::std::convert::From<Builder>
10331         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryHttpDateInput>
       10402  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithRegexLiteralInput>
10332  10403   
    {
10333  10404   
        fn from(builder: Builder) -> Self {
10334  10405   
            Self::Unconstrained(builder)
10335  10406   
        }
10336  10407   
    }
10337         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
       10408  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
10338  10409   
        type Error = ConstraintViolation;
10339  10410   
10340  10411   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10341  10412   
            builder.build()
10342  10413   
        }
10343  10414   
    }
10344         -
    /// A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       10415  +
    /// A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
10345  10416   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10346  10417   
    pub(crate) struct Builder {
10347         -
        pub(crate) timestamp:
10348         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10418  +
        pub(crate) str: ::std::option::Option<::std::string::String>,
10349  10419   
    }
10350  10420   
    impl Builder {
10351  10421   
        #[allow(missing_docs)] // documentation missing in model
10352         -
        pub(crate) fn set_timestamp(
       10422  +
        pub(crate) fn set_str(
10353  10423   
            mut self,
10354         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       10424  +
            input: impl ::std::convert::Into<::std::string::String>,
10355  10425   
        ) -> Self {
10356         -
            self.timestamp = Some(input.into());
       10426  +
            self.str = Some(input.into());
10357  10427   
            self
10358  10428   
        }
10359         -
        /// Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       10429  +
        /// Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
10360  10430   
        ///
10361         -
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if a [`ConstraintViolation`] occurs.
       10431  +
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if a [`ConstraintViolation`] occurs.
10362  10432   
        ///
10363  10433   
        pub fn build(
10364  10434   
            self,
10365         -
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
10366         -
        {
       10435  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
10367  10436   
            self.build_enforcing_all_constraints()
10368  10437   
        }
10369  10438   
        fn build_enforcing_all_constraints(
10370  10439   
            self,
10371         -
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
10372         -
        {
10373         -
            Ok(crate::input::MalformedTimestampQueryHttpDateInput {
10374         -
                timestamp: self
10375         -
                    .timestamp
10376         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10440  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       10441  +
            Ok(crate::input::HttpRequestWithRegexLiteralInput {
       10442  +
                str: self.str.ok_or(ConstraintViolation::MissingStr)?,
10377  10443   
            })
10378  10444   
        }
10379  10445   
    }
10380  10446   
}
10381         -
/// See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
10382         -
pub mod malformed_timestamp_query_http_date_input {
       10447  +
/// See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       10448  +
pub mod http_request_with_regex_literal_input {
10383  10449   
10384  10450   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10385  10451   
    /// Holds one variant for each of the ways the builder can fail.
10386  10452   
    #[allow(clippy::enum_variant_names)]
10387  10453   
    pub enum ConstraintViolation {
10388         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
10389         -
        MissingTimestamp,
       10454  +
        /// `str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
       10455  +
        MissingStr,
10390  10456   
    }
10391  10457   
    impl ::std::fmt::Display for ConstraintViolation {
10392  10458   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10393  10459   
            match self {
10394         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
       10460  +
                ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
10395  10461   
            }
10396  10462   
        }
10397  10463   
    }
10398  10464   
    impl ::std::error::Error for ConstraintViolation {}
10399         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
       10465  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
10400  10466   
        type Error = ConstraintViolation;
10401  10467   
10402  10468   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10403  10469   
            builder.build()
10404  10470   
        }
10405  10471   
    }
10406         -
    /// A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       10472  +
    /// A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
10407  10473   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10408  10474   
    pub struct Builder {
10409         -
        pub(crate) timestamp:
10410         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10475  +
        pub(crate) str: ::std::option::Option<::std::string::String>,
10411  10476   
    }
10412  10477   
    impl Builder {
10413  10478   
        #[allow(missing_docs)] // documentation missing in model
10414         -
        pub fn timestamp(
10415         -
            mut self,
10416         -
            input: ::aws_smithy_http_server_python::types::DateTime,
10417         -
        ) -> Self {
10418         -
            self.timestamp = Some(input);
       10479  +
        pub fn str(mut self, input: ::std::string::String) -> Self {
       10480  +
            self.str = Some(input);
10419  10481   
            self
10420  10482   
        }
10421         -
        /// Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       10483  +
        /// Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
10422  10484   
        ///
10423         -
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if you do not provide a value for all non-`Option`al members.
       10485  +
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if you do not provide a value for all non-`Option`al members.
10424  10486   
        ///
10425  10487   
        pub fn build(
10426  10488   
            self,
10427         -
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
10428         -
        {
       10489  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
10429  10490   
            self.build_enforcing_required_and_enum_traits()
10430  10491   
        }
10431  10492   
        fn build_enforcing_required_and_enum_traits(
10432  10493   
            self,
10433         -
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
10434         -
        {
10435         -
            Ok(crate::input::MalformedTimestampQueryHttpDateInput {
10436         -
                timestamp: self
10437         -
                    .timestamp
10438         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10494  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       10495  +
            Ok(crate::input::HttpRequestWithRegexLiteralInput {
       10496  +
                str: self.str.ok_or(ConstraintViolation::MissingStr)?,
10439  10497   
            })
10440  10498   
        }
10441  10499   
    }
10442  10500   
}
10443         -
/// See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
10444         -
pub(crate) mod malformed_timestamp_query_default_input_internal {
       10501  +
/// See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       10502  +
pub(crate) mod all_query_string_types_input_internal {
10445  10503   
10446  10504   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10447  10505   
    /// Holds one variant for each of the ways the builder can fail.
10448  10506   
    #[non_exhaustive]
10449  10507   
    #[allow(clippy::enum_variant_names)]
10450  10508   
    pub(crate) enum ConstraintViolation {
10451         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
10452         -
        MissingTimestamp,
       10509  +
        /// Constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`.
       10510  +
        #[doc(hidden)]
       10511  +
        QueryStringSet(crate::model::string_set_internal::ConstraintViolation),
       10512  +
        /// Constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`.
       10513  +
        #[doc(hidden)]
       10514  +
        QueryIntegerSet(crate::model::integer_set_internal::ConstraintViolation),
       10515  +
        /// Constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`.
       10516  +
        #[doc(hidden)]
       10517  +
        QueryEnum(crate::model::foo_enum_internal::ConstraintViolation),
       10518  +
        /// Constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`.
       10519  +
        #[doc(hidden)]
       10520  +
        QueryEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
10453  10521   
    }
10454  10522   
    impl ::std::fmt::Display for ConstraintViolation {
10455  10523   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10456  10524   
            match self {
10457         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
       10525  +
                ConstraintViolation::QueryStringSet(_) => write!(f, "constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`"),
       10526  +
                ConstraintViolation::QueryIntegerSet(_) => write!(f, "constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`"),
       10527  +
                ConstraintViolation::QueryEnum(_) => write!(f, "constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`"),
       10528  +
                ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`"),
10458  10529   
            }
10459  10530   
        }
10460  10531   
    }
10461  10532   
    impl ::std::error::Error for ConstraintViolation {}
10462  10533   
    impl ConstraintViolation {
10463  10534   
        pub(crate) fn as_validation_exception_field(
10464  10535   
            self,
10465  10536   
            path: ::std::string::String,
10466  10537   
        ) -> crate::model::ValidationExceptionField {
10467  10538   
            match self {
10468         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
10469         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
10470         -
                                                path: path + "/timestamp",
10471         -
                                            },
10472         -
        }
       10539  +
                ConstraintViolation::QueryStringSet(inner) => {
       10540  +
                    inner.as_validation_exception_field(path + "/queryStringSet")
       10541  +
                }
       10542  +
                ConstraintViolation::QueryIntegerSet(inner) => {
       10543  +
                    inner.as_validation_exception_field(path + "/queryIntegerSet")
       10544  +
                }
       10545  +
                ConstraintViolation::QueryEnum(inner) => {
       10546  +
                    inner.as_validation_exception_field(path + "/queryEnum")
       10547  +
                }
       10548  +
                ConstraintViolation::QueryEnumList(inner) => {
       10549  +
                    inner.as_validation_exception_field(path + "/queryEnumList")
       10550  +
                }
       10551  +
            }
10473  10552   
        }
10474  10553   
    }
10475  10554   
    impl ::std::convert::From<ConstraintViolation>
10476  10555   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10477  10556   
    {
10478  10557   
        fn from(constraint_violation: ConstraintViolation) -> Self {
10479  10558   
            let first_validation_exception_field =
10480  10559   
                constraint_violation.as_validation_exception_field("".to_owned());
10481  10560   
            let validation_exception = crate::error::ValidationException {
10482  10561   
                message: format!(
10483  10562   
                    "1 validation error detected. {}",
10484  10563   
                    &first_validation_exception_field.message
10485  10564   
                ),
10486  10565   
                field_list: Some(vec![first_validation_exception_field]),
10487  10566   
            };
10488  10567   
            Self::ConstraintViolation(
10489  10568   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10490  10569   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10491  10570   
                            )
10492  10571   
        }
10493  10572   
    }
10494  10573   
    impl ::std::convert::From<Builder>
10495         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryDefaultInput>
       10574  +
        for crate::constrained::MaybeConstrained<crate::input::AllQueryStringTypesInput>
10496  10575   
    {
10497  10576   
        fn from(builder: Builder) -> Self {
10498  10577   
            Self::Unconstrained(builder)
10499  10578   
        }
10500  10579   
    }
10501         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
       10580  +
    impl ::std::convert::TryFrom<Builder> for crate::input::AllQueryStringTypesInput {
10502  10581   
        type Error = ConstraintViolation;
10503  10582   
10504  10583   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10505  10584   
            builder.build()
10506  10585   
        }
10507  10586   
    }
10508         -
    /// A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       10587  +
    /// A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
10509  10588   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10510  10589   
    pub(crate) struct Builder {
10511         -
        pub(crate) timestamp:
       10590  +
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
       10591  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       10592  +
        pub(crate) query_string_set:
       10593  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       10594  +
        pub(crate) query_byte: ::std::option::Option<i8>,
       10595  +
        pub(crate) query_short: ::std::option::Option<i16>,
       10596  +
        pub(crate) query_integer: ::std::option::Option<i32>,
       10597  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       10598  +
        pub(crate) query_integer_set:
       10599  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::IntegerSet>>,
       10600  +
        pub(crate) query_long: ::std::option::Option<i64>,
       10601  +
        pub(crate) query_float: ::std::option::Option<f32>,
       10602  +
        pub(crate) query_double: ::std::option::Option<f64>,
       10603  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
       10604  +
        pub(crate) query_boolean: ::std::option::Option<bool>,
       10605  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       10606  +
        pub(crate) query_timestamp:
10512  10607   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10608  +
        pub(crate) query_timestamp_list: ::std::option::Option<
       10609  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       10610  +
        >,
       10611  +
        pub(crate) query_enum:
       10612  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       10613  +
        pub(crate) query_enum_list: ::std::option::Option<
       10614  +
            crate::constrained::MaybeConstrained<
       10615  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       10616  +
            >,
       10617  +
        >,
       10618  +
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
       10619  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       10620  +
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
       10621  +
            ::std::collections::HashMap<
       10622  +
                ::std::string::String,
       10623  +
                ::std::vec::Vec<::std::string::String>,
       10624  +
            >,
       10625  +
        >,
10513  10626   
    }
10514  10627   
    impl Builder {
10515  10628   
        #[allow(missing_docs)] // documentation missing in model
10516         -
        pub(crate) fn set_timestamp(
       10629  +
        pub(crate) fn set_query_string(
10517  10630   
            mut self,
10518         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       10631  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
10519  10632   
        ) -> Self {
10520         -
            self.timestamp = Some(input.into());
       10633  +
            self.query_string = input.map(|v| v.into());
10521  10634   
            self
10522  10635   
        }
10523         -
        /// Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
10524         -
        ///
10525         -
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if a [`ConstraintViolation`] occurs.
10526         -
        ///
10527         -
        pub fn build(
10528         -
            self,
10529         -
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
10530         -
        {
10531         -
            self.build_enforcing_all_constraints()
       10636  +
        #[allow(missing_docs)] // documentation missing in model
       10637  +
        pub(crate) fn set_query_string_list(
       10638  +
            mut self,
       10639  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       10640  +
        ) -> Self {
       10641  +
            self.query_string_list = input.map(|v| v.into());
       10642  +
            self
10532  10643   
        }
10533         -
        fn build_enforcing_all_constraints(
10534         -
            self,
10535         -
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
10536         -
        {
10537         -
            Ok(crate::input::MalformedTimestampQueryDefaultInput {
10538         -
                timestamp: self
10539         -
                    .timestamp
10540         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10541         -
            })
       10644  +
        #[allow(missing_docs)] // documentation missing in model
       10645  +
        pub(crate) fn set_query_string_set(
       10646  +
            mut self,
       10647  +
            input: Option<
       10648  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       10649  +
            >,
       10650  +
        ) -> Self {
       10651  +
            self.query_string_set = input.map(|v| v.into());
       10652  +
            self
10542  10653   
        }
10543         -
    }
10544         -
}
10545         -
/// See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
10546         -
pub mod malformed_timestamp_query_default_input {
10547         -
10548         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10549         -
    /// Holds one variant for each of the ways the builder can fail.
10550         -
    #[allow(clippy::enum_variant_names)]
10551         -
    pub enum ConstraintViolation {
10552         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
10553         -
        MissingTimestamp,
10554         -
    }
10555         -
    impl ::std::fmt::Display for ConstraintViolation {
10556         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10557         -
            match self {
10558         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
10559         -
            }
       10654  +
        #[allow(missing_docs)] // documentation missing in model
       10655  +
        pub(crate) fn set_query_byte(
       10656  +
            mut self,
       10657  +
            input: Option<impl ::std::convert::Into<i8>>,
       10658  +
        ) -> Self {
       10659  +
            self.query_byte = input.map(|v| v.into());
       10660  +
            self
10560  10661   
        }
10561         -
    }
10562         -
    impl ::std::error::Error for ConstraintViolation {}
10563         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
10564         -
        type Error = ConstraintViolation;
10565         -
10566         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10567         -
            builder.build()
       10662  +
        #[allow(missing_docs)] // documentation missing in model
       10663  +
        pub(crate) fn set_query_short(
       10664  +
            mut self,
       10665  +
            input: Option<impl ::std::convert::Into<i16>>,
       10666  +
        ) -> Self {
       10667  +
            self.query_short = input.map(|v| v.into());
       10668  +
            self
       10669  +
        }
       10670  +
        #[allow(missing_docs)] // documentation missing in model
       10671  +
        pub(crate) fn set_query_integer(
       10672  +
            mut self,
       10673  +
            input: Option<impl ::std::convert::Into<i32>>,
       10674  +
        ) -> Self {
       10675  +
            self.query_integer = input.map(|v| v.into());
       10676  +
            self
       10677  +
        }
       10678  +
        #[allow(missing_docs)] // documentation missing in model
       10679  +
        pub(crate) fn set_query_integer_list(
       10680  +
            mut self,
       10681  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       10682  +
        ) -> Self {
       10683  +
            self.query_integer_list = input.map(|v| v.into());
       10684  +
            self
       10685  +
        }
       10686  +
        #[allow(missing_docs)] // documentation missing in model
       10687  +
        pub(crate) fn set_query_integer_set(
       10688  +
            mut self,
       10689  +
            input: Option<
       10690  +
                impl ::std::convert::Into<
       10691  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerSet>,
       10692  +
                >,
       10693  +
            >,
       10694  +
        ) -> Self {
       10695  +
            self.query_integer_set = input.map(|v| v.into());
       10696  +
            self
       10697  +
        }
       10698  +
        #[allow(missing_docs)] // documentation missing in model
       10699  +
        pub(crate) fn set_query_long(
       10700  +
            mut self,
       10701  +
            input: Option<impl ::std::convert::Into<i64>>,
       10702  +
        ) -> Self {
       10703  +
            self.query_long = input.map(|v| v.into());
       10704  +
            self
       10705  +
        }
       10706  +
        #[allow(missing_docs)] // documentation missing in model
       10707  +
        pub(crate) fn set_query_float(
       10708  +
            mut self,
       10709  +
            input: Option<impl ::std::convert::Into<f32>>,
       10710  +
        ) -> Self {
       10711  +
            self.query_float = input.map(|v| v.into());
       10712  +
            self
       10713  +
        }
       10714  +
        #[allow(missing_docs)] // documentation missing in model
       10715  +
        pub(crate) fn set_query_double(
       10716  +
            mut self,
       10717  +
            input: Option<impl ::std::convert::Into<f64>>,
       10718  +
        ) -> Self {
       10719  +
            self.query_double = input.map(|v| v.into());
       10720  +
            self
       10721  +
        }
       10722  +
        #[allow(missing_docs)] // documentation missing in model
       10723  +
        pub(crate) fn set_query_double_list(
       10724  +
            mut self,
       10725  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       10726  +
        ) -> Self {
       10727  +
            self.query_double_list = input.map(|v| v.into());
       10728  +
            self
       10729  +
        }
       10730  +
        #[allow(missing_docs)] // documentation missing in model
       10731  +
        pub(crate) fn set_query_boolean(
       10732  +
            mut self,
       10733  +
            input: Option<impl ::std::convert::Into<bool>>,
       10734  +
        ) -> Self {
       10735  +
            self.query_boolean = input.map(|v| v.into());
       10736  +
            self
       10737  +
        }
       10738  +
        #[allow(missing_docs)] // documentation missing in model
       10739  +
        pub(crate) fn set_query_boolean_list(
       10740  +
            mut self,
       10741  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       10742  +
        ) -> Self {
       10743  +
            self.query_boolean_list = input.map(|v| v.into());
       10744  +
            self
       10745  +
        }
       10746  +
        #[allow(missing_docs)] // documentation missing in model
       10747  +
        pub(crate) fn set_query_timestamp(
       10748  +
            mut self,
       10749  +
            input: Option<
       10750  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       10751  +
            >,
       10752  +
        ) -> Self {
       10753  +
            self.query_timestamp = input.map(|v| v.into());
       10754  +
            self
       10755  +
        }
       10756  +
        #[allow(missing_docs)] // documentation missing in model
       10757  +
        pub(crate) fn set_query_timestamp_list(
       10758  +
            mut self,
       10759  +
            input: Option<
       10760  +
                impl ::std::convert::Into<
       10761  +
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       10762  +
                >,
       10763  +
            >,
       10764  +
        ) -> Self {
       10765  +
            self.query_timestamp_list = input.map(|v| v.into());
       10766  +
            self
       10767  +
        }
       10768  +
        #[allow(missing_docs)] // documentation missing in model
       10769  +
        pub(crate) fn set_query_enum(
       10770  +
            mut self,
       10771  +
            input: Option<
       10772  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       10773  +
            >,
       10774  +
        ) -> Self {
       10775  +
            self.query_enum = input.map(|v| v.into());
       10776  +
            self
       10777  +
        }
       10778  +
        #[allow(missing_docs)] // documentation missing in model
       10779  +
        pub(crate) fn set_query_enum_list(
       10780  +
            mut self,
       10781  +
            input: Option<
       10782  +
                impl ::std::convert::Into<
       10783  +
                    crate::constrained::MaybeConstrained<
       10784  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       10785  +
                    >,
       10786  +
                >,
       10787  +
            >,
       10788  +
        ) -> Self {
       10789  +
            self.query_enum_list = input.map(|v| v.into());
       10790  +
            self
       10791  +
        }
       10792  +
        #[allow(missing_docs)] // documentation missing in model
       10793  +
        pub(crate) fn set_query_integer_enum(
       10794  +
            mut self,
       10795  +
            input: Option<impl ::std::convert::Into<i32>>,
       10796  +
        ) -> Self {
       10797  +
            self.query_integer_enum = input.map(|v| v.into());
       10798  +
            self
10568  10799   
        }
10569         -
    }
10570         -
    /// A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
10571         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10572         -
    pub struct Builder {
10573         -
        pub(crate) timestamp:
10574         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
10575         -
    }
10576         -
    impl Builder {
10577  10800   
        #[allow(missing_docs)] // documentation missing in model
10578         -
        pub fn timestamp(
       10801  +
        pub(crate) fn set_query_integer_enum_list(
10579  10802   
            mut self,
10580         -
            input: ::aws_smithy_http_server_python::types::DateTime,
       10803  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
10581  10804   
        ) -> Self {
10582         -
            self.timestamp = Some(input);
       10805  +
            self.query_integer_enum_list = input.map(|v| v.into());
10583  10806   
            self
10584  10807   
        }
10585         -
        /// Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       10808  +
        #[allow(missing_docs)] // documentation missing in model
       10809  +
        pub(crate) fn set_query_params_map_of_string_list(
       10810  +
            mut self,
       10811  +
            input: Option<
       10812  +
                impl ::std::convert::Into<
       10813  +
                    ::std::collections::HashMap<
       10814  +
                        ::std::string::String,
       10815  +
                        ::std::vec::Vec<::std::string::String>,
       10816  +
                    >,
       10817  +
                >,
       10818  +
            >,
       10819  +
        ) -> Self {
       10820  +
            self.query_params_map_of_string_list = input.map(|v| v.into());
       10821  +
            self
       10822  +
        }
       10823  +
        /// Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
10586  10824   
        ///
10587         -
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if you do not provide a value for all non-`Option`al members.
       10825  +
        /// The builder fails to construct a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput) if a [`ConstraintViolation`] occurs.
10588  10826   
        ///
10589         -
        pub fn build(
10590         -
            self,
10591         -
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
10592         -
        {
10593         -
            self.build_enforcing_required_and_enum_traits()
       10827  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       10828  +
        pub fn build(self) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       10829  +
            self.build_enforcing_all_constraints()
10594  10830   
        }
10595         -
        fn build_enforcing_required_and_enum_traits(
       10831  +
        fn build_enforcing_all_constraints(
10596  10832   
            self,
10597         -
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
10598         -
        {
10599         -
            Ok(crate::input::MalformedTimestampQueryDefaultInput {
10600         -
                timestamp: self
10601         -
                    .timestamp
10602         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       10833  +
        ) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       10834  +
            Ok(crate::input::AllQueryStringTypesInput {
       10835  +
                query_string: self.query_string,
       10836  +
                query_string_list: self.query_string_list,
       10837  +
                query_string_set: self
       10838  +
                    .query_string_set
       10839  +
                    .map(|v| match v {
       10840  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       10841  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       10842  +
                    })
       10843  +
                    .map(|res| res.map_err(ConstraintViolation::QueryStringSet))
       10844  +
                    .transpose()?
       10845  +
                    .map(|v: crate::model::StringSet| v.into()),
       10846  +
                query_byte: self.query_byte,
       10847  +
                query_short: self.query_short,
       10848  +
                query_integer: self.query_integer,
       10849  +
                query_integer_list: self.query_integer_list,
       10850  +
                query_integer_set: self
       10851  +
                    .query_integer_set
       10852  +
                    .map(|v| match v {
       10853  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       10854  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       10855  +
                    })
       10856  +
                    .map(|res| res.map_err(ConstraintViolation::QueryIntegerSet))
       10857  +
                    .transpose()?
       10858  +
                    .map(|v: crate::model::IntegerSet| v.into()),
       10859  +
                query_long: self.query_long,
       10860  +
                query_float: self.query_float,
       10861  +
                query_double: self.query_double,
       10862  +
                query_double_list: self.query_double_list,
       10863  +
                query_boolean: self.query_boolean,
       10864  +
                query_boolean_list: self.query_boolean_list,
       10865  +
                query_timestamp: self.query_timestamp,
       10866  +
                query_timestamp_list: self.query_timestamp_list,
       10867  +
                query_enum: self
       10868  +
                    .query_enum
       10869  +
                    .map(|v| match v {
       10870  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       10871  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       10872  +
                    })
       10873  +
                    .map(|res| res.map_err(ConstraintViolation::QueryEnum))
       10874  +
                    .transpose()?,
       10875  +
                query_enum_list: self
       10876  +
                    .query_enum_list
       10877  +
                    .map(|v| match v {
       10878  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       10879  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       10880  +
                    })
       10881  +
                    .map(|res| {
       10882  +
                        res.map(|v| v.into())
       10883  +
                            .map_err(ConstraintViolation::QueryEnumList)
       10884  +
                    })
       10885  +
                    .transpose()?,
       10886  +
                query_integer_enum: self.query_integer_enum,
       10887  +
                query_integer_enum_list: self.query_integer_enum_list,
       10888  +
                query_params_map_of_string_list: self.query_params_map_of_string_list,
10603  10889   
            })
10604  10890   
        }
10605  10891   
    }
10606  10892   
}
10607         -
/// See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
10608         -
pub(crate) mod malformed_timestamp_path_epoch_input_internal {
       10893  +
/// See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       10894  +
pub mod all_query_string_types_input {
10609  10895   
10610         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10611         -
    /// Holds one variant for each of the ways the builder can fail.
10612         -
    #[non_exhaustive]
10613         -
    #[allow(clippy::enum_variant_names)]
10614         -
    pub(crate) enum ConstraintViolation {
10615         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
10616         -
        MissingTimestamp,
10617         -
    }
10618         -
    impl ::std::fmt::Display for ConstraintViolation {
10619         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10620         -
            match self {
10621         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
10622         -
            }
10623         -
        }
10624         -
    }
10625         -
    impl ::std::error::Error for ConstraintViolation {}
10626         -
    impl ConstraintViolation {
10627         -
        pub(crate) fn as_validation_exception_field(
10628         -
            self,
10629         -
            path: ::std::string::String,
10630         -
        ) -> crate::model::ValidationExceptionField {
10631         -
            match self {
10632         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
10633         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
10634         -
                                                path: path + "/timestamp",
10635         -
                                            },
10636         -
        }
10637         -
        }
10638         -
    }
10639         -
    impl ::std::convert::From<ConstraintViolation>
10640         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10641         -
    {
10642         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
10643         -
            let first_validation_exception_field =
10644         -
                constraint_violation.as_validation_exception_field("".to_owned());
10645         -
            let validation_exception = crate::error::ValidationException {
10646         -
                message: format!(
10647         -
                    "1 validation error detected. {}",
10648         -
                    &first_validation_exception_field.message
10649         -
                ),
10650         -
                field_list: Some(vec![first_validation_exception_field]),
10651         -
            };
10652         -
            Self::ConstraintViolation(
10653         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10654         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10655         -
                            )
10656         -
        }
10657         -
    }
10658         -
    impl ::std::convert::From<Builder>
10659         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathEpochInput>
10660         -
    {
       10896  +
    impl ::std::convert::From<Builder> for crate::input::AllQueryStringTypesInput {
10661  10897   
        fn from(builder: Builder) -> Self {
10662         -
            Self::Unconstrained(builder)
10663         -
        }
10664         -
    }
10665         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
10666         -
        type Error = ConstraintViolation;
10667         -
10668         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10669  10898   
            builder.build()
10670  10899   
        }
10671  10900   
    }
10672         -
    /// A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       10901  +
    /// A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
10673  10902   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10674         -
    pub(crate) struct Builder {
10675         -
        pub(crate) timestamp:
       10903  +
    pub struct Builder {
       10904  +
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
       10905  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       10906  +
        pub(crate) query_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       10907  +
        pub(crate) query_byte: ::std::option::Option<i8>,
       10908  +
        pub(crate) query_short: ::std::option::Option<i16>,
       10909  +
        pub(crate) query_integer: ::std::option::Option<i32>,
       10910  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       10911  +
        pub(crate) query_integer_set: ::std::option::Option<::std::vec::Vec<i32>>,
       10912  +
        pub(crate) query_long: ::std::option::Option<i64>,
       10913  +
        pub(crate) query_float: ::std::option::Option<f32>,
       10914  +
        pub(crate) query_double: ::std::option::Option<f64>,
       10915  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
       10916  +
        pub(crate) query_boolean: ::std::option::Option<bool>,
       10917  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       10918  +
        pub(crate) query_timestamp:
10676  10919   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       10920  +
        pub(crate) query_timestamp_list: ::std::option::Option<
       10921  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       10922  +
        >,
       10923  +
        pub(crate) query_enum: ::std::option::Option<crate::model::FooEnum>,
       10924  +
        pub(crate) query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       10925  +
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
       10926  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       10927  +
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
       10928  +
            ::std::collections::HashMap<
       10929  +
                ::std::string::String,
       10930  +
                ::std::vec::Vec<::std::string::String>,
       10931  +
            >,
       10932  +
        >,
10677  10933   
    }
10678  10934   
    impl Builder {
10679  10935   
        #[allow(missing_docs)] // documentation missing in model
10680         -
        pub(crate) fn set_timestamp(
       10936  +
        pub fn query_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       10937  +
            self.query_string = input;
       10938  +
            self
       10939  +
        }
       10940  +
        #[allow(missing_docs)] // documentation missing in model
       10941  +
        pub fn query_string_list(
10681  10942   
            mut self,
10682         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       10943  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
10683  10944   
        ) -> Self {
10684         -
            self.timestamp = Some(input.into());
       10945  +
            self.query_string_list = input;
10685  10946   
            self
10686  10947   
        }
10687         -
        /// Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
10688         -
        ///
10689         -
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if a [`ConstraintViolation`] occurs.
10690         -
        ///
10691         -
        pub fn build(
10692         -
            self,
10693         -
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
10694         -
            self.build_enforcing_all_constraints()
10695         -
        }
10696         -
        fn build_enforcing_all_constraints(
10697         -
            self,
10698         -
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
10699         -
            Ok(crate::input::MalformedTimestampPathEpochInput {
10700         -
                timestamp: self
10701         -
                    .timestamp
10702         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10703         -
            })
10704         -
        }
10705         -
    }
10706         -
}
10707         -
/// See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
10708         -
pub mod malformed_timestamp_path_epoch_input {
10709         -
10710         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10711         -
    /// Holds one variant for each of the ways the builder can fail.
10712         -
    #[allow(clippy::enum_variant_names)]
10713         -
    pub enum ConstraintViolation {
10714         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
10715         -
        MissingTimestamp,
10716         -
    }
10717         -
    impl ::std::fmt::Display for ConstraintViolation {
10718         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10719         -
            match self {
10720         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
10721         -
            }
       10948  +
        #[allow(missing_docs)] // documentation missing in model
       10949  +
        pub fn query_string_set(
       10950  +
            mut self,
       10951  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       10952  +
        ) -> Self {
       10953  +
            self.query_string_set = input;
       10954  +
            self
10722  10955   
        }
10723         -
    }
10724         -
    impl ::std::error::Error for ConstraintViolation {}
10725         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
10726         -
        type Error = ConstraintViolation;
10727         -
10728         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10729         -
            builder.build()
       10956  +
        #[allow(missing_docs)] // documentation missing in model
       10957  +
        pub fn query_byte(mut self, input: ::std::option::Option<i8>) -> Self {
       10958  +
            self.query_byte = input;
       10959  +
            self
10730  10960   
        }
10731         -
    }
10732         -
    /// A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
10733         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10734         -
    pub struct Builder {
10735         -
        pub(crate) timestamp:
10736         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
10737         -
    }
10738         -
    impl Builder {
10739  10961   
        #[allow(missing_docs)] // documentation missing in model
10740         -
        pub fn timestamp(
       10962  +
        pub fn query_short(mut self, input: ::std::option::Option<i16>) -> Self {
       10963  +
            self.query_short = input;
       10964  +
            self
       10965  +
        }
       10966  +
        #[allow(missing_docs)] // documentation missing in model
       10967  +
        pub fn query_integer(mut self, input: ::std::option::Option<i32>) -> Self {
       10968  +
            self.query_integer = input;
       10969  +
            self
       10970  +
        }
       10971  +
        #[allow(missing_docs)] // documentation missing in model
       10972  +
        pub fn query_integer_list(
10741  10973   
            mut self,
10742         -
            input: ::aws_smithy_http_server_python::types::DateTime,
       10974  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
10743  10975   
        ) -> Self {
10744         -
            self.timestamp = Some(input);
       10976  +
            self.query_integer_list = input;
10745  10977   
            self
10746  10978   
        }
10747         -
        /// Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
10748         -
        ///
10749         -
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if you do not provide a value for all non-`Option`al members.
10750         -
        ///
10751         -
        pub fn build(
10752         -
            self,
10753         -
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
10754         -
            self.build_enforcing_required_and_enum_traits()
       10979  +
        #[allow(missing_docs)] // documentation missing in model
       10980  +
        pub fn query_integer_set(
       10981  +
            mut self,
       10982  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       10983  +
        ) -> Self {
       10984  +
            self.query_integer_set = input;
       10985  +
            self
10755  10986   
        }
10756         -
        fn build_enforcing_required_and_enum_traits(
10757         -
            self,
10758         -
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
10759         -
            Ok(crate::input::MalformedTimestampPathEpochInput {
10760         -
                timestamp: self
10761         -
                    .timestamp
10762         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10763         -
            })
       10987  +
        #[allow(missing_docs)] // documentation missing in model
       10988  +
        pub fn query_long(mut self, input: ::std::option::Option<i64>) -> Self {
       10989  +
            self.query_long = input;
       10990  +
            self
10764  10991   
        }
10765         -
    }
10766         -
}
10767         -
/// See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10768         -
pub(crate) mod malformed_timestamp_path_http_date_input_internal {
10769         -
10770         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10771         -
    /// Holds one variant for each of the ways the builder can fail.
10772         -
    #[non_exhaustive]
10773         -
    #[allow(clippy::enum_variant_names)]
10774         -
    pub(crate) enum ConstraintViolation {
10775         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
10776         -
        MissingTimestamp,
10777         -
    }
10778         -
    impl ::std::fmt::Display for ConstraintViolation {
10779         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10780         -
            match self {
10781         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
10782         -
            }
       10992  +
        #[allow(missing_docs)] // documentation missing in model
       10993  +
        pub fn query_float(mut self, input: ::std::option::Option<f32>) -> Self {
       10994  +
            self.query_float = input;
       10995  +
            self
10783  10996   
        }
10784         -
    }
10785         -
    impl ::std::error::Error for ConstraintViolation {}
10786         -
    impl ConstraintViolation {
10787         -
        pub(crate) fn as_validation_exception_field(
10788         -
            self,
10789         -
            path: ::std::string::String,
10790         -
        ) -> crate::model::ValidationExceptionField {
10791         -
            match self {
10792         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
10793         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
10794         -
                                                path: path + "/timestamp",
10795         -
                                            },
       10997  +
        #[allow(missing_docs)] // documentation missing in model
       10998  +
        pub fn query_double(mut self, input: ::std::option::Option<f64>) -> Self {
       10999  +
            self.query_double = input;
       11000  +
            self
10796  11001   
        }
       11002  +
        #[allow(missing_docs)] // documentation missing in model
       11003  +
        pub fn query_double_list(
       11004  +
            mut self,
       11005  +
            input: ::std::option::Option<::std::vec::Vec<f64>>,
       11006  +
        ) -> Self {
       11007  +
            self.query_double_list = input;
       11008  +
            self
10797  11009   
        }
10798         -
    }
10799         -
    impl ::std::convert::From<ConstraintViolation>
10800         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10801         -
    {
10802         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
10803         -
            let first_validation_exception_field =
10804         -
                constraint_violation.as_validation_exception_field("".to_owned());
10805         -
            let validation_exception = crate::error::ValidationException {
10806         -
                message: format!(
10807         -
                    "1 validation error detected. {}",
10808         -
                    &first_validation_exception_field.message
10809         -
                ),
10810         -
                field_list: Some(vec![first_validation_exception_field]),
10811         -
            };
10812         -
            Self::ConstraintViolation(
10813         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10814         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10815         -
                            )
       11010  +
        #[allow(missing_docs)] // documentation missing in model
       11011  +
        pub fn query_boolean(mut self, input: ::std::option::Option<bool>) -> Self {
       11012  +
            self.query_boolean = input;
       11013  +
            self
10816  11014   
        }
10817         -
    }
10818         -
    impl ::std::convert::From<Builder>
10819         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathHttpDateInput>
10820         -
    {
10821         -
        fn from(builder: Builder) -> Self {
10822         -
            Self::Unconstrained(builder)
       11015  +
        #[allow(missing_docs)] // documentation missing in model
       11016  +
        pub fn query_boolean_list(
       11017  +
            mut self,
       11018  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
       11019  +
        ) -> Self {
       11020  +
            self.query_boolean_list = input;
       11021  +
            self
10823  11022   
        }
10824         -
    }
10825         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
10826         -
        type Error = ConstraintViolation;
10827         -
10828         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10829         -
            builder.build()
       11023  +
        #[allow(missing_docs)] // documentation missing in model
       11024  +
        pub fn query_timestamp(
       11025  +
            mut self,
       11026  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       11027  +
        ) -> Self {
       11028  +
            self.query_timestamp = input;
       11029  +
            self
10830  11030   
        }
10831         -
    }
10832         -
    /// A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10833         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10834         -
    pub(crate) struct Builder {
10835         -
        pub(crate) timestamp:
10836         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
10837         -
    }
10838         -
    impl Builder {
10839  11031   
        #[allow(missing_docs)] // documentation missing in model
10840         -
        pub(crate) fn set_timestamp(
       11032  +
        pub fn query_timestamp_list(
10841  11033   
            mut self,
10842         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       11034  +
            input: ::std::option::Option<
       11035  +
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       11036  +
            >,
10843  11037   
        ) -> Self {
10844         -
            self.timestamp = Some(input.into());
       11038  +
            self.query_timestamp_list = input;
10845  11039   
            self
10846  11040   
        }
10847         -
        /// Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10848         -
        ///
10849         -
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if a [`ConstraintViolation`] occurs.
10850         -
        ///
10851         -
        pub fn build(
10852         -
            self,
10853         -
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
10854         -
        {
10855         -
            self.build_enforcing_all_constraints()
       11041  +
        #[allow(missing_docs)] // documentation missing in model
       11042  +
        pub fn query_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       11043  +
            self.query_enum = input;
       11044  +
            self
10856  11045   
        }
10857         -
        fn build_enforcing_all_constraints(
10858         -
            self,
10859         -
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
10860         -
        {
10861         -
            Ok(crate::input::MalformedTimestampPathHttpDateInput {
10862         -
                timestamp: self
10863         -
                    .timestamp
10864         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10865         -
            })
       11046  +
        #[allow(missing_docs)] // documentation missing in model
       11047  +
        pub fn query_enum_list(
       11048  +
            mut self,
       11049  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       11050  +
        ) -> Self {
       11051  +
            self.query_enum_list = input;
       11052  +
            self
10866  11053   
        }
10867         -
    }
10868         -
}
10869         -
/// See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10870         -
pub mod malformed_timestamp_path_http_date_input {
10871         -
10872         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10873         -
    /// Holds one variant for each of the ways the builder can fail.
10874         -
    #[allow(clippy::enum_variant_names)]
10875         -
    pub enum ConstraintViolation {
10876         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
10877         -
        MissingTimestamp,
10878         -
    }
10879         -
    impl ::std::fmt::Display for ConstraintViolation {
10880         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10881         -
            match self {
10882         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
10883         -
            }
       11054  +
        #[allow(missing_docs)] // documentation missing in model
       11055  +
        pub fn query_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
       11056  +
            self.query_integer_enum = input;
       11057  +
            self
10884  11058   
        }
10885         -
    }
10886         -
    impl ::std::error::Error for ConstraintViolation {}
10887         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
10888         -
        type Error = ConstraintViolation;
10889         -
10890         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10891         -
            builder.build()
       11059  +
        #[allow(missing_docs)] // documentation missing in model
       11060  +
        pub fn query_integer_enum_list(
       11061  +
            mut self,
       11062  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       11063  +
        ) -> Self {
       11064  +
            self.query_integer_enum_list = input;
       11065  +
            self
10892  11066   
        }
10893         -
    }
10894         -
    /// A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10895         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10896         -
    pub struct Builder {
10897         -
        pub(crate) timestamp:
10898         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
10899         -
    }
10900         -
    impl Builder {
10901  11067   
        #[allow(missing_docs)] // documentation missing in model
10902         -
        pub fn timestamp(
       11068  +
        pub fn query_params_map_of_string_list(
10903  11069   
            mut self,
10904         -
            input: ::aws_smithy_http_server_python::types::DateTime,
       11070  +
            input: ::std::option::Option<
       11071  +
                ::std::collections::HashMap<
       11072  +
                    ::std::string::String,
       11073  +
                    ::std::vec::Vec<::std::string::String>,
       11074  +
                >,
       11075  +
            >,
10905  11076   
        ) -> Self {
10906         -
            self.timestamp = Some(input);
       11077  +
            self.query_params_map_of_string_list = input;
10907  11078   
            self
10908  11079   
        }
10909         -
        /// Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10910         -
        ///
10911         -
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if you do not provide a value for all non-`Option`al members.
10912         -
        ///
10913         -
        pub fn build(
10914         -
            self,
10915         -
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
10916         -
        {
       11080  +
        /// Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       11081  +
        pub fn build(self) -> crate::input::AllQueryStringTypesInput {
10917  11082   
            self.build_enforcing_required_and_enum_traits()
10918  11083   
        }
10919  11084   
        fn build_enforcing_required_and_enum_traits(
10920  11085   
            self,
10921         -
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
10922         -
        {
10923         -
            Ok(crate::input::MalformedTimestampPathHttpDateInput {
10924         -
                timestamp: self
10925         -
                    .timestamp
10926         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10927         -
            })
       11086  +
        ) -> crate::input::AllQueryStringTypesInput {
       11087  +
            crate::input::AllQueryStringTypesInput {
       11088  +
                query_string: self.query_string,
       11089  +
                query_string_list: self.query_string_list,
       11090  +
                query_string_set: self.query_string_set,
       11091  +
                query_byte: self.query_byte,
       11092  +
                query_short: self.query_short,
       11093  +
                query_integer: self.query_integer,
       11094  +
                query_integer_list: self.query_integer_list,
       11095  +
                query_integer_set: self.query_integer_set,
       11096  +
                query_long: self.query_long,
       11097  +
                query_float: self.query_float,
       11098  +
                query_double: self.query_double,
       11099  +
                query_double_list: self.query_double_list,
       11100  +
                query_boolean: self.query_boolean,
       11101  +
                query_boolean_list: self.query_boolean_list,
       11102  +
                query_timestamp: self.query_timestamp,
       11103  +
                query_timestamp_list: self.query_timestamp_list,
       11104  +
                query_enum: self.query_enum,
       11105  +
                query_enum_list: self.query_enum_list,
       11106  +
                query_integer_enum: self.query_integer_enum,
       11107  +
                query_integer_enum_list: self.query_integer_enum_list,
       11108  +
                query_params_map_of_string_list: self.query_params_map_of_string_list,
       11109  +
            }
10928  11110   
        }
10929  11111   
    }
10930  11112   
}
10931         -
/// See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
10932         -
pub(crate) mod malformed_timestamp_path_default_input_internal {
       11113  +
/// See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       11114  +
pub(crate) mod constant_query_string_input_internal {
10933  11115   
10934  11116   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10935  11117   
    /// Holds one variant for each of the ways the builder can fail.
10936  11118   
    #[non_exhaustive]
10937  11119   
    #[allow(clippy::enum_variant_names)]
10938  11120   
    pub(crate) enum ConstraintViolation {
10939         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
10940         -
        MissingTimestamp,
       11121  +
        /// `hello` was not provided but it is required when building `ConstantQueryStringInput`.
       11122  +
        MissingHello,
10941  11123   
    }
10942  11124   
    impl ::std::fmt::Display for ConstraintViolation {
10943  11125   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10944  11126   
            match self {
10945         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
       11127  +
                ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
10946  11128   
            }
10947  11129   
        }
10948  11130   
    }
10949  11131   
    impl ::std::error::Error for ConstraintViolation {}
10950  11132   
    impl ConstraintViolation {
10951  11133   
        pub(crate) fn as_validation_exception_field(
10952  11134   
            self,
10953  11135   
            path: ::std::string::String,
10954  11136   
        ) -> crate::model::ValidationExceptionField {
10955  11137   
            match self {
10956         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
10957         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
10958         -
                                                path: path + "/timestamp",
10959         -
                                            },
10960         -
        }
       11138  +
                ConstraintViolation::MissingHello => crate::model::ValidationExceptionField {
       11139  +
                    message: format!(
       11140  +
                        "Value at '{}/hello' failed to satisfy constraint: Member must not be null",
       11141  +
                        path
       11142  +
                    ),
       11143  +
                    path: path + "/hello",
       11144  +
                },
       11145  +
            }
10961  11146   
        }
10962  11147   
    }
10963  11148   
    impl ::std::convert::From<ConstraintViolation>
10964  11149   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
10965  11150   
    {
10966  11151   
        fn from(constraint_violation: ConstraintViolation) -> Self {
10967  11152   
            let first_validation_exception_field =
10968  11153   
                constraint_violation.as_validation_exception_field("".to_owned());
10969  11154   
            let validation_exception = crate::error::ValidationException {
10970  11155   
                message: format!(
10971  11156   
                    "1 validation error detected. {}",
10972  11157   
                    &first_validation_exception_field.message
10973  11158   
                ),
10974  11159   
                field_list: Some(vec![first_validation_exception_field]),
10975  11160   
            };
10976  11161   
            Self::ConstraintViolation(
10977  11162   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
10978  11163   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
10979  11164   
                            )
10980  11165   
        }
10981  11166   
    }
10982  11167   
    impl ::std::convert::From<Builder>
10983         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathDefaultInput>
       11168  +
        for crate::constrained::MaybeConstrained<crate::input::ConstantQueryStringInput>
10984  11169   
    {
10985  11170   
        fn from(builder: Builder) -> Self {
10986  11171   
            Self::Unconstrained(builder)
10987  11172   
        }
10988  11173   
    }
10989         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
       11174  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
10990  11175   
        type Error = ConstraintViolation;
10991  11176   
10992  11177   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
10993  11178   
            builder.build()
10994  11179   
        }
10995  11180   
    }
10996         -
    /// A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       11181  +
    /// A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
10997  11182   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
10998  11183   
    pub(crate) struct Builder {
10999         -
        pub(crate) timestamp:
11000         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       11184  +
        pub(crate) hello: ::std::option::Option<::std::string::String>,
11001  11185   
    }
11002  11186   
    impl Builder {
11003  11187   
        #[allow(missing_docs)] // documentation missing in model
11004         -
        pub(crate) fn set_timestamp(
       11188  +
        pub(crate) fn set_hello(
11005  11189   
            mut self,
11006         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       11190  +
            input: impl ::std::convert::Into<::std::string::String>,
11007  11191   
        ) -> Self {
11008         -
            self.timestamp = Some(input.into());
       11192  +
            self.hello = Some(input.into());
11009  11193   
            self
11010  11194   
        }
11011         -
        /// Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       11195  +
        /// Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
11012  11196   
        ///
11013         -
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if a [`ConstraintViolation`] occurs.
       11197  +
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if a [`ConstraintViolation`] occurs.
11014  11198   
        ///
11015         -
        pub fn build(
11016         -
            self,
11017         -
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
       11199  +
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
11018  11200   
            self.build_enforcing_all_constraints()
11019  11201   
        }
11020  11202   
        fn build_enforcing_all_constraints(
11021  11203   
            self,
11022         -
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
11023         -
            Ok(crate::input::MalformedTimestampPathDefaultInput {
11024         -
                timestamp: self
11025         -
                    .timestamp
11026         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       11204  +
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       11205  +
            Ok(crate::input::ConstantQueryStringInput {
       11206  +
                hello: self.hello.ok_or(ConstraintViolation::MissingHello)?,
11027  11207   
            })
11028  11208   
        }
11029  11209   
    }
11030  11210   
}
11031         -
/// See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
11032         -
pub mod malformed_timestamp_path_default_input {
       11211  +
/// See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       11212  +
pub mod constant_query_string_input {
11033  11213   
11034  11214   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11035  11215   
    /// Holds one variant for each of the ways the builder can fail.
11036  11216   
    #[allow(clippy::enum_variant_names)]
11037  11217   
    pub enum ConstraintViolation {
11038         -
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
11039         -
        MissingTimestamp,
       11218  +
        /// `hello` was not provided but it is required when building `ConstantQueryStringInput`.
       11219  +
        MissingHello,
11040  11220   
    }
11041  11221   
    impl ::std::fmt::Display for ConstraintViolation {
11042  11222   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11043  11223   
            match self {
11044         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
       11224  +
                ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
11045  11225   
            }
11046  11226   
        }
11047  11227   
    }
11048  11228   
    impl ::std::error::Error for ConstraintViolation {}
11049         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
       11229  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
11050  11230   
        type Error = ConstraintViolation;
11051  11231   
11052  11232   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
11053  11233   
            builder.build()
11054  11234   
        }
11055  11235   
    }
11056         -
    /// A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       11236  +
    /// A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
11057  11237   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11058  11238   
    pub struct Builder {
11059         -
        pub(crate) timestamp:
11060         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       11239  +
        pub(crate) hello: ::std::option::Option<::std::string::String>,
11061  11240   
    }
11062  11241   
    impl Builder {
11063  11242   
        #[allow(missing_docs)] // documentation missing in model
11064         -
        pub fn timestamp(
11065         -
            mut self,
11066         -
            input: ::aws_smithy_http_server_python::types::DateTime,
11067         -
        ) -> Self {
11068         -
            self.timestamp = Some(input);
       11243  +
        pub fn hello(mut self, input: ::std::string::String) -> Self {
       11244  +
            self.hello = Some(input);
11069  11245   
            self
11070  11246   
        }
11071         -
        /// Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       11247  +
        /// Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
11072  11248   
        ///
11073         -
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if you do not provide a value for all non-`Option`al members.
       11249  +
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if you do not provide a value for all non-`Option`al members.
11074  11250   
        ///
11075         -
        pub fn build(
11076         -
            self,
11077         -
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
       11251  +
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
11078  11252   
            self.build_enforcing_required_and_enum_traits()
11079  11253   
        }
11080  11254   
        fn build_enforcing_required_and_enum_traits(
11081  11255   
            self,
11082         -
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
11083         -
            Ok(crate::input::MalformedTimestampPathDefaultInput {
11084         -
                timestamp: self
11085         -
                    .timestamp
11086         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       11256  +
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       11257  +
            Ok(crate::input::ConstantQueryStringInput {
       11258  +
                hello: self.hello.ok_or(ConstraintViolation::MissingHello)?,
11087  11259   
            })
11088  11260   
        }
11089  11261   
    }
11090  11262   
}
11091         -
/// See [`MalformedStringInput`](crate::input::MalformedStringInput).
11092         -
pub(crate) mod malformed_string_input_internal {
       11263  +
/// See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       11264  +
pub(crate) mod constant_and_variable_query_string_input_internal {
11093  11265   
11094         -
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
       11266  +
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
11095  11267   
        fn from(builder: Builder) -> Self {
11096  11268   
            builder.build()
11097  11269   
        }
11098  11270   
    }
11099         -
    /// A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
       11271  +
    /// A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
11100  11272   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11101  11273   
    pub(crate) struct Builder {
11102         -
        pub(crate) blob: ::std::option::Option<::std::string::String>,
       11274  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       11275  +
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
11103  11276   
    }
11104  11277   
    impl Builder {
11105  11278   
        #[allow(missing_docs)] // documentation missing in model
11106         -
        pub(crate) fn set_blob(
       11279  +
        pub(crate) fn set_baz(
11107  11280   
            mut self,
11108  11281   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
11109  11282   
        ) -> Self {
11110         -
            self.blob = input.map(|v| v.into());
       11283  +
            self.baz = input.map(|v| v.into());
11111  11284   
            self
11112  11285   
        }
11113         -
        /// Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
11114         -
        pub fn build(self) -> crate::input::MalformedStringInput {
       11286  +
        #[allow(missing_docs)] // documentation missing in model
       11287  +
        pub(crate) fn set_maybe_set(
       11288  +
            mut self,
       11289  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       11290  +
        ) -> Self {
       11291  +
            self.maybe_set = input.map(|v| v.into());
       11292  +
            self
       11293  +
        }
       11294  +
        /// Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       11295  +
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
11115  11296   
            self.build_enforcing_all_constraints()
11116  11297   
        }
11117         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedStringInput {
11118         -
            crate::input::MalformedStringInput { blob: self.blob }
       11298  +
        fn build_enforcing_all_constraints(
       11299  +
            self,
       11300  +
        ) -> crate::input::ConstantAndVariableQueryStringInput {
       11301  +
            crate::input::ConstantAndVariableQueryStringInput {
       11302  +
                baz: self.baz,
       11303  +
                maybe_set: self.maybe_set,
       11304  +
            }
11119  11305   
        }
11120  11306   
    }
11121  11307   
}
11122         -
/// See [`MalformedStringInput`](crate::input::MalformedStringInput).
11123         -
pub mod malformed_string_input {
       11308  +
/// See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       11309  +
pub mod constant_and_variable_query_string_input {
11124  11310   
11125         -
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
       11311  +
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
11126  11312   
        fn from(builder: Builder) -> Self {
11127  11313   
            builder.build()
11128  11314   
        }
11129  11315   
    }
11130         -
    /// A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
       11316  +
    /// A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
11131  11317   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11132  11318   
    pub struct Builder {
11133         -
        pub(crate) blob: ::std::option::Option<::std::string::String>,
       11319  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       11320  +
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
11134  11321   
    }
11135  11322   
    impl Builder {
11136  11323   
        #[allow(missing_docs)] // documentation missing in model
11137         -
        pub fn blob(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
11138         -
            self.blob = input;
       11324  +
        pub fn baz(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11325  +
            self.baz = input;
11139  11326   
            self
11140  11327   
        }
11141         -
        /// Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
11142         -
        pub fn build(self) -> crate::input::MalformedStringInput {
       11328  +
        #[allow(missing_docs)] // documentation missing in model
       11329  +
        pub fn maybe_set(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11330  +
            self.maybe_set = input;
       11331  +
            self
       11332  +
        }
       11333  +
        /// Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       11334  +
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
11143  11335   
            self.build_enforcing_required_and_enum_traits()
11144  11336   
        }
11145         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedStringInput {
11146         -
            crate::input::MalformedStringInput { blob: self.blob }
       11337  +
        fn build_enforcing_required_and_enum_traits(
       11338  +
            self,
       11339  +
        ) -> crate::input::ConstantAndVariableQueryStringInput {
       11340  +
            crate::input::ConstantAndVariableQueryStringInput {
       11341  +
                baz: self.baz,
       11342  +
                maybe_set: self.maybe_set,
       11343  +
            }
11147  11344   
        }
11148  11345   
    }
11149  11346   
}
11150         -
/// See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
11151         -
pub(crate) mod malformed_double_input_internal {
       11347  +
/// See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       11348  +
pub(crate) mod ignore_query_params_in_response_input_internal {
11152  11349   
11153         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11154         -
    /// Holds one variant for each of the ways the builder can fail.
11155         -
    #[non_exhaustive]
11156         -
    #[allow(clippy::enum_variant_names)]
11157         -
    pub(crate) enum ConstraintViolation {
11158         -
        /// `double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
11159         -
        MissingDoubleInPath,
11160         -
    }
11161         -
    impl ::std::fmt::Display for ConstraintViolation {
11162         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11163         -
            match self {
11164         -
                ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
11165         -
            }
11166         -
        }
11167         -
    }
11168         -
    impl ::std::error::Error for ConstraintViolation {}
11169         -
    impl ConstraintViolation {
11170         -
        pub(crate) fn as_validation_exception_field(
11171         -
            self,
11172         -
            path: ::std::string::String,
11173         -
        ) -> crate::model::ValidationExceptionField {
11174         -
            match self {
11175         -
            ConstraintViolation::MissingDoubleInPath => crate::model::ValidationExceptionField {
11176         -
                                                message: format!("Value at '{}/doubleInPath' failed to satisfy constraint: Member must not be null", path),
11177         -
                                                path: path + "/doubleInPath",
11178         -
                                            },
11179         -
        }
11180         -
        }
11181         -
    }
11182         -
    impl ::std::convert::From<ConstraintViolation>
11183         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11184         -
    {
11185         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
11186         -
            let first_validation_exception_field =
11187         -
                constraint_violation.as_validation_exception_field("".to_owned());
11188         -
            let validation_exception = crate::error::ValidationException {
11189         -
                message: format!(
11190         -
                    "1 validation error detected. {}",
11191         -
                    &first_validation_exception_field.message
11192         -
                ),
11193         -
                field_list: Some(vec![first_validation_exception_field]),
11194         -
            };
11195         -
            Self::ConstraintViolation(
11196         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11197         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11198         -
                            )
       11350  +
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
       11351  +
        fn from(builder: Builder) -> Self {
       11352  +
            builder.build()
11199  11353   
        }
11200  11354   
    }
11201         -
    impl ::std::convert::From<Builder>
11202         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedDoubleInput>
11203         -
    {
       11355  +
    /// A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       11356  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11357  +
    pub(crate) struct Builder {}
       11358  +
    impl Builder {
       11359  +
        /// Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       11360  +
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
       11361  +
            self.build_enforcing_all_constraints()
       11362  +
        }
       11363  +
        fn build_enforcing_all_constraints(self) -> crate::input::IgnoreQueryParamsInResponseInput {
       11364  +
            crate::input::IgnoreQueryParamsInResponseInput {}
       11365  +
        }
       11366  +
    }
       11367  +
}
       11368  +
/// See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       11369  +
pub mod ignore_query_params_in_response_input {
       11370  +
       11371  +
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
11204  11372   
        fn from(builder: Builder) -> Self {
11205         -
            Self::Unconstrained(builder)
       11373  +
            builder.build()
11206  11374   
        }
11207  11375   
    }
11208         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
11209         -
        type Error = ConstraintViolation;
       11376  +
    /// A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       11377  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11378  +
    pub struct Builder {}
       11379  +
    impl Builder {
       11380  +
        /// Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       11381  +
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
       11382  +
            self.build_enforcing_required_and_enum_traits()
       11383  +
        }
       11384  +
        fn build_enforcing_required_and_enum_traits(
       11385  +
            self,
       11386  +
        ) -> crate::input::IgnoreQueryParamsInResponseInput {
       11387  +
            crate::input::IgnoreQueryParamsInResponseInput {}
       11388  +
        }
       11389  +
    }
       11390  +
}
       11391  +
/// See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       11392  +
pub(crate) mod omits_null_serializes_empty_string_input_internal {
11210  11393   
11211         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11394  +
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
       11395  +
        fn from(builder: Builder) -> Self {
11212  11396   
            builder.build()
11213  11397   
        }
11214  11398   
    }
11215         -
    /// A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       11399  +
    /// A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
11216  11400   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11217  11401   
    pub(crate) struct Builder {
11218         -
        pub(crate) double_in_body: ::std::option::Option<f64>,
11219         -
        pub(crate) double_in_path: ::std::option::Option<f64>,
11220         -
        pub(crate) double_in_query: ::std::option::Option<f64>,
11221         -
        pub(crate) double_in_header: ::std::option::Option<f64>,
       11402  +
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
       11403  +
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
11222  11404   
    }
11223  11405   
    impl Builder {
11224  11406   
        #[allow(missing_docs)] // documentation missing in model
11225         -
        pub(crate) fn set_double_in_body(
11226         -
            mut self,
11227         -
            input: Option<impl ::std::convert::Into<f64>>,
11228         -
        ) -> Self {
11229         -
            self.double_in_body = input.map(|v| v.into());
11230         -
            self
11231         -
        }
11232         -
        #[allow(missing_docs)] // documentation missing in model
11233         -
        pub(crate) fn set_double_in_path(mut self, input: impl ::std::convert::Into<f64>) -> Self {
11234         -
            self.double_in_path = Some(input.into());
11235         -
            self
11236         -
        }
11237         -
        #[allow(missing_docs)] // documentation missing in model
11238         -
        pub(crate) fn set_double_in_query(
       11407  +
        pub(crate) fn set_null_value(
11239  11408   
            mut self,
11240         -
            input: Option<impl ::std::convert::Into<f64>>,
       11409  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
11241  11410   
        ) -> Self {
11242         -
            self.double_in_query = input.map(|v| v.into());
       11411  +
            self.null_value = input.map(|v| v.into());
11243  11412   
            self
11244  11413   
        }
11245  11414   
        #[allow(missing_docs)] // documentation missing in model
11246         -
        pub(crate) fn set_double_in_header(
       11415  +
        pub(crate) fn set_empty_string(
11247  11416   
            mut self,
11248         -
            input: Option<impl ::std::convert::Into<f64>>,
       11417  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
11249  11418   
        ) -> Self {
11250         -
            self.double_in_header = input.map(|v| v.into());
       11419  +
            self.empty_string = input.map(|v| v.into());
11251  11420   
            self
11252  11421   
        }
11253         -
        /// Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
11254         -
        ///
11255         -
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if a [`ConstraintViolation`] occurs.
11256         -
        ///
11257         -
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
       11422  +
        /// Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       11423  +
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
11258  11424   
            self.build_enforcing_all_constraints()
11259  11425   
        }
11260  11426   
        fn build_enforcing_all_constraints(
11261  11427   
            self,
11262         -
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
11263         -
            Ok(crate::input::MalformedDoubleInput {
11264         -
                double_in_body: self.double_in_body,
11265         -
                double_in_path: self
11266         -
                    .double_in_path
11267         -
                    .ok_or(ConstraintViolation::MissingDoubleInPath)?,
11268         -
                double_in_query: self.double_in_query,
11269         -
                double_in_header: self.double_in_header,
11270         -
            })
11271         -
        }
11272         -
    }
11273         -
}
11274         -
/// See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
11275         -
pub mod malformed_double_input {
11276         -
11277         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11278         -
    /// Holds one variant for each of the ways the builder can fail.
11279         -
    #[allow(clippy::enum_variant_names)]
11280         -
    pub enum ConstraintViolation {
11281         -
        /// `double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
11282         -
        MissingDoubleInPath,
11283         -
    }
11284         -
    impl ::std::fmt::Display for ConstraintViolation {
11285         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11286         -
            match self {
11287         -
                ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
       11428  +
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
       11429  +
            crate::input::OmitsNullSerializesEmptyStringInput {
       11430  +
                null_value: self.null_value,
       11431  +
                empty_string: self.empty_string,
11288  11432   
            }
11289  11433   
        }
11290  11434   
    }
11291         -
    impl ::std::error::Error for ConstraintViolation {}
11292         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
11293         -
        type Error = ConstraintViolation;
       11435  +
}
       11436  +
/// See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       11437  +
pub mod omits_null_serializes_empty_string_input {
11294  11438   
11295         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11439  +
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
       11440  +
        fn from(builder: Builder) -> Self {
11296  11441   
            builder.build()
11297  11442   
        }
11298  11443   
    }
11299         -
    /// A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       11444  +
    /// A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
11300  11445   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11301  11446   
    pub struct Builder {
11302         -
        pub(crate) double_in_body: ::std::option::Option<f64>,
11303         -
        pub(crate) double_in_path: ::std::option::Option<f64>,
11304         -
        pub(crate) double_in_query: ::std::option::Option<f64>,
11305         -
        pub(crate) double_in_header: ::std::option::Option<f64>,
       11447  +
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
       11448  +
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
11306  11449   
    }
11307  11450   
    impl Builder {
11308  11451   
        #[allow(missing_docs)] // documentation missing in model
11309         -
        pub fn double_in_body(mut self, input: ::std::option::Option<f64>) -> Self {
11310         -
            self.double_in_body = input;
11311         -
            self
11312         -
        }
11313         -
        #[allow(missing_docs)] // documentation missing in model
11314         -
        pub fn double_in_path(mut self, input: f64) -> Self {
11315         -
            self.double_in_path = Some(input);
11316         -
            self
11317         -
        }
11318         -
        #[allow(missing_docs)] // documentation missing in model
11319         -
        pub fn double_in_query(mut self, input: ::std::option::Option<f64>) -> Self {
11320         -
            self.double_in_query = input;
       11452  +
        pub fn null_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11453  +
            self.null_value = input;
11321  11454   
            self
11322  11455   
        }
11323  11456   
        #[allow(missing_docs)] // documentation missing in model
11324         -
        pub fn double_in_header(mut self, input: ::std::option::Option<f64>) -> Self {
11325         -
            self.double_in_header = input;
       11457  +
        pub fn empty_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11458  +
            self.empty_string = input;
11326  11459   
            self
11327  11460   
        }
11328         -
        /// Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
11329         -
        ///
11330         -
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if you do not provide a value for all non-`Option`al members.
11331         -
        ///
11332         -
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
       11461  +
        /// Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       11462  +
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
11333  11463   
            self.build_enforcing_required_and_enum_traits()
11334  11464   
        }
11335  11465   
        fn build_enforcing_required_and_enum_traits(
11336  11466   
            self,
11337         -
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
11338         -
            Ok(crate::input::MalformedDoubleInput {
11339         -
                double_in_body: self.double_in_body,
11340         -
                double_in_path: self
11341         -
                    .double_in_path
11342         -
                    .ok_or(ConstraintViolation::MissingDoubleInPath)?,
11343         -
                double_in_query: self.double_in_query,
11344         -
                double_in_header: self.double_in_header,
11345         -
            })
       11467  +
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
       11468  +
            crate::input::OmitsNullSerializesEmptyStringInput {
       11469  +
                null_value: self.null_value,
       11470  +
                empty_string: self.empty_string,
       11471  +
            }
11346  11472   
        }
11347  11473   
    }
11348  11474   
}
11349         -
/// See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
11350         -
pub(crate) mod malformed_float_input_internal {
       11475  +
/// See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       11476  +
pub(crate) mod omits_serializing_empty_lists_input_internal {
11351  11477   
11352  11478   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11353  11479   
    /// Holds one variant for each of the ways the builder can fail.
11354  11480   
    #[non_exhaustive]
11355  11481   
    #[allow(clippy::enum_variant_names)]
11356  11482   
    pub(crate) enum ConstraintViolation {
11357         -
        /// `float_in_path` was not provided but it is required when building `MalformedFloatInput`.
11358         -
        MissingFloatInPath,
       11483  +
        /// Constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`.
       11484  +
        #[doc(hidden)]
       11485  +
        QueryEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
11359  11486   
    }
11360  11487   
    impl ::std::fmt::Display for ConstraintViolation {
11361  11488   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11362  11489   
            match self {
11363         -
                ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
       11490  +
                ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`"),
11364  11491   
            }
11365  11492   
        }
11366  11493   
    }
11367  11494   
    impl ::std::error::Error for ConstraintViolation {}
11368  11495   
    impl ConstraintViolation {
11369  11496   
        pub(crate) fn as_validation_exception_field(
11370  11497   
            self,
11371  11498   
            path: ::std::string::String,
11372  11499   
        ) -> crate::model::ValidationExceptionField {
11373  11500   
            match self {
11374         -
            ConstraintViolation::MissingFloatInPath => crate::model::ValidationExceptionField {
11375         -
                                                message: format!("Value at '{}/floatInPath' failed to satisfy constraint: Member must not be null", path),
11376         -
                                                path: path + "/floatInPath",
11377         -
                                            },
11378         -
        }
       11501  +
                ConstraintViolation::QueryEnumList(inner) => {
       11502  +
                    inner.as_validation_exception_field(path + "/queryEnumList")
       11503  +
                }
       11504  +
            }
11379  11505   
        }
11380  11506   
    }
11381  11507   
    impl ::std::convert::From<ConstraintViolation>
11382  11508   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11383  11509   
    {
11384  11510   
        fn from(constraint_violation: ConstraintViolation) -> Self {
11385  11511   
            let first_validation_exception_field =
11386  11512   
                constraint_violation.as_validation_exception_field("".to_owned());
11387  11513   
            let validation_exception = crate::error::ValidationException {
11388  11514   
                message: format!(
11389  11515   
                    "1 validation error detected. {}",
11390  11516   
                    &first_validation_exception_field.message
11391  11517   
                ),
11392  11518   
                field_list: Some(vec![first_validation_exception_field]),
11393  11519   
            };
11394  11520   
            Self::ConstraintViolation(
11395  11521   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11396  11522   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11397  11523   
                            )
11398  11524   
        }
11399  11525   
    }
11400  11526   
    impl ::std::convert::From<Builder>
11401         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedFloatInput>
       11527  +
        for crate::constrained::MaybeConstrained<crate::input::OmitsSerializingEmptyListsInput>
11402  11528   
    {
11403  11529   
        fn from(builder: Builder) -> Self {
11404  11530   
            Self::Unconstrained(builder)
11405  11531   
        }
11406  11532   
    }
11407         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
       11533  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OmitsSerializingEmptyListsInput {
11408  11534   
        type Error = ConstraintViolation;
11409  11535   
11410  11536   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
11411  11537   
            builder.build()
11412  11538   
        }
11413  11539   
    }
11414         -
    /// A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       11540  +
    /// A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
11415  11541   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11416  11542   
    pub(crate) struct Builder {
11417         -
        pub(crate) float_in_body: ::std::option::Option<f32>,
11418         -
        pub(crate) float_in_path: ::std::option::Option<f32>,
11419         -
        pub(crate) float_in_query: ::std::option::Option<f32>,
11420         -
        pub(crate) float_in_header: ::std::option::Option<f32>,
       11543  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       11544  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       11545  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
       11546  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       11547  +
        pub(crate) query_timestamp_list: ::std::option::Option<
       11548  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       11549  +
        >,
       11550  +
        pub(crate) query_enum_list: ::std::option::Option<
       11551  +
            crate::constrained::MaybeConstrained<
       11552  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       11553  +
            >,
       11554  +
        >,
       11555  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
11421  11556   
    }
11422  11557   
    impl Builder {
11423  11558   
        #[allow(missing_docs)] // documentation missing in model
11424         -
        pub(crate) fn set_float_in_body(
       11559  +
        pub(crate) fn set_query_string_list(
11425  11560   
            mut self,
11426         -
            input: Option<impl ::std::convert::Into<f32>>,
       11561  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
11427  11562   
        ) -> Self {
11428         -
            self.float_in_body = input.map(|v| v.into());
       11563  +
            self.query_string_list = input.map(|v| v.into());
11429  11564   
            self
11430  11565   
        }
11431  11566   
        #[allow(missing_docs)] // documentation missing in model
11432         -
        pub(crate) fn set_float_in_path(mut self, input: impl ::std::convert::Into<f32>) -> Self {
11433         -
            self.float_in_path = Some(input.into());
       11567  +
        pub(crate) fn set_query_integer_list(
       11568  +
            mut self,
       11569  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       11570  +
        ) -> Self {
       11571  +
            self.query_integer_list = input.map(|v| v.into());
11434  11572   
            self
11435  11573   
        }
11436  11574   
        #[allow(missing_docs)] // documentation missing in model
11437         -
        pub(crate) fn set_float_in_query(
       11575  +
        pub(crate) fn set_query_double_list(
       11576  +
            mut self,
       11577  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       11578  +
        ) -> Self {
       11579  +
            self.query_double_list = input.map(|v| v.into());
       11580  +
            self
       11581  +
        }
       11582  +
        #[allow(missing_docs)] // documentation missing in model
       11583  +
        pub(crate) fn set_query_boolean_list(
       11584  +
            mut self,
       11585  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       11586  +
        ) -> Self {
       11587  +
            self.query_boolean_list = input.map(|v| v.into());
       11588  +
            self
       11589  +
        }
       11590  +
        #[allow(missing_docs)] // documentation missing in model
       11591  +
        pub(crate) fn set_query_timestamp_list(
       11592  +
            mut self,
       11593  +
            input: Option<
       11594  +
                impl ::std::convert::Into<
       11595  +
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       11596  +
                >,
       11597  +
            >,
       11598  +
        ) -> Self {
       11599  +
            self.query_timestamp_list = input.map(|v| v.into());
       11600  +
            self
       11601  +
        }
       11602  +
        #[allow(missing_docs)] // documentation missing in model
       11603  +
        pub(crate) fn set_query_enum_list(
11438  11604   
            mut self,
11439         -
            input: Option<impl ::std::convert::Into<f32>>,
       11605  +
            input: Option<
       11606  +
                impl ::std::convert::Into<
       11607  +
                    crate::constrained::MaybeConstrained<
       11608  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       11609  +
                    >,
       11610  +
                >,
       11611  +
            >,
11440  11612   
        ) -> Self {
11441         -
            self.float_in_query = input.map(|v| v.into());
       11613  +
            self.query_enum_list = input.map(|v| v.into());
11442  11614   
            self
11443  11615   
        }
11444  11616   
        #[allow(missing_docs)] // documentation missing in model
11445         -
        pub(crate) fn set_float_in_header(
       11617  +
        pub(crate) fn set_query_integer_enum_list(
11446  11618   
            mut self,
11447         -
            input: Option<impl ::std::convert::Into<f32>>,
       11619  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
11448  11620   
        ) -> Self {
11449         -
            self.float_in_header = input.map(|v| v.into());
       11621  +
            self.query_integer_enum_list = input.map(|v| v.into());
11450  11622   
            self
11451  11623   
        }
11452         -
        /// Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       11624  +
        /// Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
11453  11625   
        ///
11454         -
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if a [`ConstraintViolation`] occurs.
       11626  +
        /// The builder fails to construct a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput) if a [`ConstraintViolation`] occurs.
11455  11627   
        ///
11456         -
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       11628  +
        pub fn build(
       11629  +
            self,
       11630  +
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
11457  11631   
            self.build_enforcing_all_constraints()
11458  11632   
        }
11459  11633   
        fn build_enforcing_all_constraints(
11460  11634   
            self,
11461         -
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
11462         -
            Ok(crate::input::MalformedFloatInput {
11463         -
                float_in_body: self.float_in_body,
11464         -
                float_in_path: self
11465         -
                    .float_in_path
11466         -
                    .ok_or(ConstraintViolation::MissingFloatInPath)?,
11467         -
                float_in_query: self.float_in_query,
11468         -
                float_in_header: self.float_in_header,
       11635  +
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
       11636  +
            Ok(crate::input::OmitsSerializingEmptyListsInput {
       11637  +
                query_string_list: self.query_string_list,
       11638  +
                query_integer_list: self.query_integer_list,
       11639  +
                query_double_list: self.query_double_list,
       11640  +
                query_boolean_list: self.query_boolean_list,
       11641  +
                query_timestamp_list: self.query_timestamp_list,
       11642  +
                query_enum_list: self
       11643  +
                    .query_enum_list
       11644  +
                    .map(|v| match v {
       11645  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       11646  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       11647  +
                    })
       11648  +
                    .map(|res| {
       11649  +
                        res.map(|v| v.into())
       11650  +
                            .map_err(ConstraintViolation::QueryEnumList)
       11651  +
                    })
       11652  +
                    .transpose()?,
       11653  +
                query_integer_enum_list: self.query_integer_enum_list,
11469  11654   
            })
11470  11655   
        }
11471  11656   
    }
11472  11657   
}
11473         -
/// See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
11474         -
pub mod malformed_float_input {
11475         -
11476         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11477         -
    /// Holds one variant for each of the ways the builder can fail.
11478         -
    #[allow(clippy::enum_variant_names)]
11479         -
    pub enum ConstraintViolation {
11480         -
        /// `float_in_path` was not provided but it is required when building `MalformedFloatInput`.
11481         -
        MissingFloatInPath,
11482         -
    }
11483         -
    impl ::std::fmt::Display for ConstraintViolation {
11484         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11485         -
            match self {
11486         -
                ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
11487         -
            }
11488         -
        }
11489         -
    }
11490         -
    impl ::std::error::Error for ConstraintViolation {}
11491         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
11492         -
        type Error = ConstraintViolation;
       11658  +
/// See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       11659  +
pub mod omits_serializing_empty_lists_input {
11493  11660   
11494         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11661  +
    impl ::std::convert::From<Builder> for crate::input::OmitsSerializingEmptyListsInput {
       11662  +
        fn from(builder: Builder) -> Self {
11495  11663   
            builder.build()
11496  11664   
        }
11497  11665   
    }
11498         -
    /// A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       11666  +
    /// A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
11499  11667   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11500  11668   
    pub struct Builder {
11501         -
        pub(crate) float_in_body: ::std::option::Option<f32>,
11502         -
        pub(crate) float_in_path: ::std::option::Option<f32>,
11503         -
        pub(crate) float_in_query: ::std::option::Option<f32>,
11504         -
        pub(crate) float_in_header: ::std::option::Option<f32>,
       11669  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       11670  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       11671  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
       11672  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       11673  +
        pub(crate) query_timestamp_list: ::std::option::Option<
       11674  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       11675  +
        >,
       11676  +
        pub(crate) query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       11677  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
11505  11678   
    }
11506  11679   
    impl Builder {
11507  11680   
        #[allow(missing_docs)] // documentation missing in model
11508         -
        pub fn float_in_body(mut self, input: ::std::option::Option<f32>) -> Self {
11509         -
            self.float_in_body = input;
       11681  +
        pub fn query_string_list(
       11682  +
            mut self,
       11683  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       11684  +
        ) -> Self {
       11685  +
            self.query_string_list = input;
11510  11686   
            self
11511  11687   
        }
11512  11688   
        #[allow(missing_docs)] // documentation missing in model
11513         -
        pub fn float_in_path(mut self, input: f32) -> Self {
11514         -
            self.float_in_path = Some(input);
       11689  +
        pub fn query_integer_list(
       11690  +
            mut self,
       11691  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       11692  +
        ) -> Self {
       11693  +
            self.query_integer_list = input;
11515  11694   
            self
11516  11695   
        }
11517  11696   
        #[allow(missing_docs)] // documentation missing in model
11518         -
        pub fn float_in_query(mut self, input: ::std::option::Option<f32>) -> Self {
11519         -
            self.float_in_query = input;
       11697  +
        pub fn query_double_list(
       11698  +
            mut self,
       11699  +
            input: ::std::option::Option<::std::vec::Vec<f64>>,
       11700  +
        ) -> Self {
       11701  +
            self.query_double_list = input;
11520  11702   
            self
11521  11703   
        }
11522  11704   
        #[allow(missing_docs)] // documentation missing in model
11523         -
        pub fn float_in_header(mut self, input: ::std::option::Option<f32>) -> Self {
11524         -
            self.float_in_header = input;
       11705  +
        pub fn query_boolean_list(
       11706  +
            mut self,
       11707  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
       11708  +
        ) -> Self {
       11709  +
            self.query_boolean_list = input;
11525  11710   
            self
11526  11711   
        }
11527         -
        /// Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
11528         -
        ///
11529         -
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if you do not provide a value for all non-`Option`al members.
11530         -
        ///
11531         -
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       11712  +
        #[allow(missing_docs)] // documentation missing in model
       11713  +
        pub fn query_timestamp_list(
       11714  +
            mut self,
       11715  +
            input: ::std::option::Option<
       11716  +
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       11717  +
            >,
       11718  +
        ) -> Self {
       11719  +
            self.query_timestamp_list = input;
       11720  +
            self
       11721  +
        }
       11722  +
        #[allow(missing_docs)] // documentation missing in model
       11723  +
        pub fn query_enum_list(
       11724  +
            mut self,
       11725  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       11726  +
        ) -> Self {
       11727  +
            self.query_enum_list = input;
       11728  +
            self
       11729  +
        }
       11730  +
        #[allow(missing_docs)] // documentation missing in model
       11731  +
        pub fn query_integer_enum_list(
       11732  +
            mut self,
       11733  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       11734  +
        ) -> Self {
       11735  +
            self.query_integer_enum_list = input;
       11736  +
            self
       11737  +
        }
       11738  +
        /// Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       11739  +
        pub fn build(self) -> crate::input::OmitsSerializingEmptyListsInput {
11532  11740   
            self.build_enforcing_required_and_enum_traits()
11533  11741   
        }
11534  11742   
        fn build_enforcing_required_and_enum_traits(
11535  11743   
            self,
11536         -
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
11537         -
            Ok(crate::input::MalformedFloatInput {
11538         -
                float_in_body: self.float_in_body,
11539         -
                float_in_path: self
11540         -
                    .float_in_path
11541         -
                    .ok_or(ConstraintViolation::MissingFloatInPath)?,
11542         -
                float_in_query: self.float_in_query,
11543         -
                float_in_header: self.float_in_header,
11544         -
            })
       11744  +
        ) -> crate::input::OmitsSerializingEmptyListsInput {
       11745  +
            crate::input::OmitsSerializingEmptyListsInput {
       11746  +
                query_string_list: self.query_string_list,
       11747  +
                query_integer_list: self.query_integer_list,
       11748  +
                query_double_list: self.query_double_list,
       11749  +
                query_boolean_list: self.query_boolean_list,
       11750  +
                query_timestamp_list: self.query_timestamp_list,
       11751  +
                query_enum_list: self.query_enum_list,
       11752  +
                query_integer_enum_list: self.query_integer_enum_list,
       11753  +
            }
11545  11754   
        }
11546  11755   
    }
11547  11756   
}
11548         -
/// See [`MalformedLongInput`](crate::input::MalformedLongInput).
11549         -
pub(crate) mod malformed_long_input_internal {
       11757  +
/// See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       11758  +
pub(crate) mod query_idempotency_token_auto_fill_input_internal {
11550  11759   
11551         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11552         -
    /// Holds one variant for each of the ways the builder can fail.
11553         -
    #[non_exhaustive]
11554         -
    #[allow(clippy::enum_variant_names)]
11555         -
    pub(crate) enum ConstraintViolation {
11556         -
        /// `long_in_path` was not provided but it is required when building `MalformedLongInput`.
11557         -
        MissingLongInPath,
11558         -
    }
11559         -
    impl ::std::fmt::Display for ConstraintViolation {
11560         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11561         -
            match self {
11562         -
                ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
11563         -
            }
       11760  +
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
       11761  +
        fn from(builder: Builder) -> Self {
       11762  +
            builder.build()
11564  11763   
        }
11565  11764   
    }
11566         -
    impl ::std::error::Error for ConstraintViolation {}
11567         -
    impl ConstraintViolation {
11568         -
        pub(crate) fn as_validation_exception_field(
       11765  +
    /// A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       11766  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11767  +
    pub(crate) struct Builder {
       11768  +
        pub(crate) token: ::std::option::Option<::std::string::String>,
       11769  +
    }
       11770  +
    impl Builder {
       11771  +
        #[allow(missing_docs)] // documentation missing in model
       11772  +
        pub(crate) fn set_token(
       11773  +
            mut self,
       11774  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       11775  +
        ) -> Self {
       11776  +
            self.token = input.map(|v| v.into());
       11777  +
            self
       11778  +
        }
       11779  +
        /// Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       11780  +
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       11781  +
            self.build_enforcing_all_constraints()
       11782  +
        }
       11783  +
        fn build_enforcing_all_constraints(
11569  11784   
            self,
11570         -
            path: ::std::string::String,
11571         -
        ) -> crate::model::ValidationExceptionField {
11572         -
            match self {
11573         -
            ConstraintViolation::MissingLongInPath => crate::model::ValidationExceptionField {
11574         -
                                                message: format!("Value at '{}/longInPath' failed to satisfy constraint: Member must not be null", path),
11575         -
                                                path: path + "/longInPath",
11576         -
                                            },
       11785  +
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       11786  +
            crate::input::QueryIdempotencyTokenAutoFillInput { token: self.token }
11577  11787   
        }
       11788  +
    }
       11789  +
}
       11790  +
/// See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       11791  +
pub mod query_idempotency_token_auto_fill_input {
       11792  +
       11793  +
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
       11794  +
        fn from(builder: Builder) -> Self {
       11795  +
            builder.build()
11578  11796   
        }
11579  11797   
    }
11580         -
    impl ::std::convert::From<ConstraintViolation>
11581         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11582         -
    {
11583         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
11584         -
            let first_validation_exception_field =
11585         -
                constraint_violation.as_validation_exception_field("".to_owned());
11586         -
            let validation_exception = crate::error::ValidationException {
11587         -
                message: format!(
11588         -
                    "1 validation error detected. {}",
11589         -
                    &first_validation_exception_field.message
11590         -
                ),
11591         -
                field_list: Some(vec![first_validation_exception_field]),
11592         -
            };
11593         -
            Self::ConstraintViolation(
11594         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11595         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11596         -
                            )
       11798  +
    /// A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       11799  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11800  +
    pub struct Builder {
       11801  +
        pub(crate) token: ::std::option::Option<::std::string::String>,
       11802  +
    }
       11803  +
    impl Builder {
       11804  +
        #[allow(missing_docs)] // documentation missing in model
       11805  +
        pub fn token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11806  +
            self.token = input;
       11807  +
            self
11597  11808   
        }
11598         -
    }
11599         -
    impl ::std::convert::From<Builder>
11600         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedLongInput>
11601         -
    {
11602         -
        fn from(builder: Builder) -> Self {
11603         -
            Self::Unconstrained(builder)
       11809  +
        /// Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       11810  +
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       11811  +
            self.build_enforcing_required_and_enum_traits()
       11812  +
        }
       11813  +
        fn build_enforcing_required_and_enum_traits(
       11814  +
            self,
       11815  +
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       11816  +
            crate::input::QueryIdempotencyTokenAutoFillInput { token: self.token }
11604  11817   
        }
11605  11818   
    }
11606         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
11607         -
        type Error = ConstraintViolation;
       11819  +
}
       11820  +
/// See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       11821  +
pub(crate) mod query_precedence_input_internal {
11608  11822   
11609         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11823  +
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
       11824  +
        fn from(builder: Builder) -> Self {
11610  11825   
            builder.build()
11611  11826   
        }
11612  11827   
    }
11613         -
    /// A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
       11828  +
    /// A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
11614  11829   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11615  11830   
    pub(crate) struct Builder {
11616         -
        pub(crate) long_in_body: ::std::option::Option<i64>,
11617         -
        pub(crate) long_in_path: ::std::option::Option<i64>,
11618         -
        pub(crate) long_in_query: ::std::option::Option<i64>,
11619         -
        pub(crate) long_in_header: ::std::option::Option<i64>,
       11831  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       11832  +
        pub(crate) baz: ::std::option::Option<
       11833  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11834  +
        >,
11620  11835   
    }
11621  11836   
    impl Builder {
11622  11837   
        #[allow(missing_docs)] // documentation missing in model
11623         -
        pub(crate) fn set_long_in_body(
11624         -
            mut self,
11625         -
            input: Option<impl ::std::convert::Into<i64>>,
11626         -
        ) -> Self {
11627         -
            self.long_in_body = input.map(|v| v.into());
11628         -
            self
11629         -
        }
11630         -
        #[allow(missing_docs)] // documentation missing in model
11631         -
        pub(crate) fn set_long_in_path(mut self, input: impl ::std::convert::Into<i64>) -> Self {
11632         -
            self.long_in_path = Some(input.into());
11633         -
            self
11634         -
        }
11635         -
        #[allow(missing_docs)] // documentation missing in model
11636         -
        pub(crate) fn set_long_in_query(
       11838  +
        pub(crate) fn set_foo(
11637  11839   
            mut self,
11638         -
            input: Option<impl ::std::convert::Into<i64>>,
       11840  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
11639  11841   
        ) -> Self {
11640         -
            self.long_in_query = input.map(|v| v.into());
       11842  +
            self.foo = input.map(|v| v.into());
11641  11843   
            self
11642  11844   
        }
11643  11845   
        #[allow(missing_docs)] // documentation missing in model
11644         -
        pub(crate) fn set_long_in_header(
       11846  +
        pub(crate) fn set_baz(
11645  11847   
            mut self,
11646         -
            input: Option<impl ::std::convert::Into<i64>>,
       11848  +
            input: Option<
       11849  +
                impl ::std::convert::Into<
       11850  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11851  +
                >,
       11852  +
            >,
11647  11853   
        ) -> Self {
11648         -
            self.long_in_header = input.map(|v| v.into());
       11854  +
            self.baz = input.map(|v| v.into());
11649  11855   
            self
11650  11856   
        }
11651         -
        /// Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
11652         -
        ///
11653         -
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if a [`ConstraintViolation`] occurs.
11654         -
        ///
11655         -
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
       11857  +
        /// Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       11858  +
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
11656  11859   
            self.build_enforcing_all_constraints()
11657  11860   
        }
11658         -
        fn build_enforcing_all_constraints(
11659         -
            self,
11660         -
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
11661         -
            Ok(crate::input::MalformedLongInput {
11662         -
                long_in_body: self.long_in_body,
11663         -
                long_in_path: self
11664         -
                    .long_in_path
11665         -
                    .ok_or(ConstraintViolation::MissingLongInPath)?,
11666         -
                long_in_query: self.long_in_query,
11667         -
                long_in_header: self.long_in_header,
11668         -
            })
11669         -
        }
11670         -
    }
11671         -
}
11672         -
/// See [`MalformedLongInput`](crate::input::MalformedLongInput).
11673         -
pub mod malformed_long_input {
11674         -
11675         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11676         -
    /// Holds one variant for each of the ways the builder can fail.
11677         -
    #[allow(clippy::enum_variant_names)]
11678         -
    pub enum ConstraintViolation {
11679         -
        /// `long_in_path` was not provided but it is required when building `MalformedLongInput`.
11680         -
        MissingLongInPath,
11681         -
    }
11682         -
    impl ::std::fmt::Display for ConstraintViolation {
11683         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11684         -
            match self {
11685         -
                ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
       11861  +
        fn build_enforcing_all_constraints(self) -> crate::input::QueryPrecedenceInput {
       11862  +
            crate::input::QueryPrecedenceInput {
       11863  +
                foo: self.foo,
       11864  +
                baz: self.baz,
11686  11865   
            }
11687  11866   
        }
11688  11867   
    }
11689         -
    impl ::std::error::Error for ConstraintViolation {}
11690         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
11691         -
        type Error = ConstraintViolation;
       11868  +
}
       11869  +
/// See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       11870  +
pub mod query_precedence_input {
11692  11871   
11693         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11872  +
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
       11873  +
        fn from(builder: Builder) -> Self {
11694  11874   
            builder.build()
11695  11875   
        }
11696  11876   
    }
11697         -
    /// A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
       11877  +
    /// A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
11698  11878   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11699  11879   
    pub struct Builder {
11700         -
        pub(crate) long_in_body: ::std::option::Option<i64>,
11701         -
        pub(crate) long_in_path: ::std::option::Option<i64>,
11702         -
        pub(crate) long_in_query: ::std::option::Option<i64>,
11703         -
        pub(crate) long_in_header: ::std::option::Option<i64>,
       11880  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       11881  +
        pub(crate) baz: ::std::option::Option<
       11882  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11883  +
        >,
11704  11884   
    }
11705  11885   
    impl Builder {
11706  11886   
        #[allow(missing_docs)] // documentation missing in model
11707         -
        pub fn long_in_body(mut self, input: ::std::option::Option<i64>) -> Self {
11708         -
            self.long_in_body = input;
       11887  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11888  +
            self.foo = input;
11709  11889   
            self
11710  11890   
        }
11711  11891   
        #[allow(missing_docs)] // documentation missing in model
11712         -
        pub fn long_in_path(mut self, input: i64) -> Self {
11713         -
            self.long_in_path = Some(input);
       11892  +
        pub fn baz(
       11893  +
            mut self,
       11894  +
            input: ::std::option::Option<
       11895  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11896  +
            >,
       11897  +
        ) -> Self {
       11898  +
            self.baz = input;
11714  11899   
            self
11715  11900   
        }
11716         -
        #[allow(missing_docs)] // documentation missing in model
11717         -
        pub fn long_in_query(mut self, input: ::std::option::Option<i64>) -> Self {
11718         -
            self.long_in_query = input;
11719         -
            self
       11901  +
        /// Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       11902  +
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
       11903  +
            self.build_enforcing_required_and_enum_traits()
       11904  +
        }
       11905  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::QueryPrecedenceInput {
       11906  +
            crate::input::QueryPrecedenceInput {
       11907  +
                foo: self.foo,
       11908  +
                baz: self.baz,
       11909  +
            }
       11910  +
        }
       11911  +
    }
       11912  +
}
       11913  +
/// See [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       11914  +
pub(crate) mod http_query_params_only_operation_input_internal {
       11915  +
       11916  +
    impl ::std::convert::From<Builder> for crate::input::HttpQueryParamsOnlyOperationInput {
       11917  +
        fn from(builder: Builder) -> Self {
       11918  +
            builder.build()
11720  11919   
        }
       11920  +
    }
       11921  +
    /// A builder for [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       11922  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11923  +
    pub(crate) struct Builder {
       11924  +
        pub(crate) query_map: ::std::option::Option<
       11925  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11926  +
        >,
       11927  +
    }
       11928  +
    impl Builder {
11721  11929   
        #[allow(missing_docs)] // documentation missing in model
11722         -
        pub fn long_in_header(mut self, input: ::std::option::Option<i64>) -> Self {
11723         -
            self.long_in_header = input;
       11930  +
        pub(crate) fn set_query_map(
       11931  +
            mut self,
       11932  +
            input: Option<
       11933  +
                impl ::std::convert::Into<
       11934  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11935  +
                >,
       11936  +
            >,
       11937  +
        ) -> Self {
       11938  +
            self.query_map = input.map(|v| v.into());
11724  11939   
            self
11725  11940   
        }
11726         -
        /// Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
11727         -
        ///
11728         -
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if you do not provide a value for all non-`Option`al members.
11729         -
        ///
11730         -
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
11731         -
            self.build_enforcing_required_and_enum_traits()
       11941  +
        /// Consumes the builder and constructs a [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       11942  +
        pub fn build(self) -> crate::input::HttpQueryParamsOnlyOperationInput {
       11943  +
            self.build_enforcing_all_constraints()
11732  11944   
        }
11733         -
        fn build_enforcing_required_and_enum_traits(
       11945  +
        fn build_enforcing_all_constraints(
11734  11946   
            self,
11735         -
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
11736         -
            Ok(crate::input::MalformedLongInput {
11737         -
                long_in_body: self.long_in_body,
11738         -
                long_in_path: self
11739         -
                    .long_in_path
11740         -
                    .ok_or(ConstraintViolation::MissingLongInPath)?,
11741         -
                long_in_query: self.long_in_query,
11742         -
                long_in_header: self.long_in_header,
11743         -
            })
       11947  +
        ) -> crate::input::HttpQueryParamsOnlyOperationInput {
       11948  +
            crate::input::HttpQueryParamsOnlyOperationInput {
       11949  +
                query_map: self.query_map,
       11950  +
            }
11744  11951   
        }
11745  11952   
    }
11746  11953   
}
11747         -
/// See [`MalformedShortInput`](crate::input::MalformedShortInput).
11748         -
pub(crate) mod malformed_short_input_internal {
       11954  +
/// See [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       11955  +
pub mod http_query_params_only_operation_input {
11749  11956   
11750         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11751         -
    /// Holds one variant for each of the ways the builder can fail.
11752         -
    #[non_exhaustive]
11753         -
    #[allow(clippy::enum_variant_names)]
11754         -
    pub(crate) enum ConstraintViolation {
11755         -
        /// `short_in_path` was not provided but it is required when building `MalformedShortInput`.
11756         -
        MissingShortInPath,
11757         -
    }
11758         -
    impl ::std::fmt::Display for ConstraintViolation {
11759         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11760         -
            match self {
11761         -
                ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
11762         -
            }
       11957  +
    impl ::std::convert::From<Builder> for crate::input::HttpQueryParamsOnlyOperationInput {
       11958  +
        fn from(builder: Builder) -> Self {
       11959  +
            builder.build()
11763  11960   
        }
11764  11961   
    }
11765         -
    impl ::std::error::Error for ConstraintViolation {}
11766         -
    impl ConstraintViolation {
11767         -
        pub(crate) fn as_validation_exception_field(
11768         -
            self,
11769         -
            path: ::std::string::String,
11770         -
        ) -> crate::model::ValidationExceptionField {
11771         -
            match self {
11772         -
            ConstraintViolation::MissingShortInPath => crate::model::ValidationExceptionField {
11773         -
                                                message: format!("Value at '{}/shortInPath' failed to satisfy constraint: Member must not be null", path),
11774         -
                                                path: path + "/shortInPath",
11775         -
                                            },
11776         -
        }
11777         -
        }
       11962  +
    /// A builder for [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       11963  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11964  +
    pub struct Builder {
       11965  +
        pub(crate) query_map: ::std::option::Option<
       11966  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11967  +
        >,
11778  11968   
    }
11779         -
    impl ::std::convert::From<ConstraintViolation>
11780         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11781         -
    {
11782         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
11783         -
            let first_validation_exception_field =
11784         -
                constraint_violation.as_validation_exception_field("".to_owned());
11785         -
            let validation_exception = crate::error::ValidationException {
11786         -
                message: format!(
11787         -
                    "1 validation error detected. {}",
11788         -
                    &first_validation_exception_field.message
11789         -
                ),
11790         -
                field_list: Some(vec![first_validation_exception_field]),
11791         -
            };
11792         -
            Self::ConstraintViolation(
11793         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11794         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11795         -
                            )
       11969  +
    impl Builder {
       11970  +
        #[allow(missing_docs)] // documentation missing in model
       11971  +
        pub fn query_map(
       11972  +
            mut self,
       11973  +
            input: ::std::option::Option<
       11974  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       11975  +
            >,
       11976  +
        ) -> Self {
       11977  +
            self.query_map = input;
       11978  +
            self
11796  11979   
        }
11797         -
    }
11798         -
    impl ::std::convert::From<Builder>
11799         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedShortInput>
11800         -
    {
11801         -
        fn from(builder: Builder) -> Self {
11802         -
            Self::Unconstrained(builder)
       11980  +
        /// Consumes the builder and constructs a [`HttpQueryParamsOnlyOperationInput`](crate::input::HttpQueryParamsOnlyOperationInput).
       11981  +
        pub fn build(self) -> crate::input::HttpQueryParamsOnlyOperationInput {
       11982  +
            self.build_enforcing_required_and_enum_traits()
       11983  +
        }
       11984  +
        fn build_enforcing_required_and_enum_traits(
       11985  +
            self,
       11986  +
        ) -> crate::input::HttpQueryParamsOnlyOperationInput {
       11987  +
            crate::input::HttpQueryParamsOnlyOperationInput {
       11988  +
                query_map: self.query_map,
       11989  +
            }
11803  11990   
        }
11804  11991   
    }
11805         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
11806         -
        type Error = ConstraintViolation;
       11992  +
}
       11993  +
/// See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       11994  +
pub(crate) mod query_params_as_string_list_map_input_internal {
11807  11995   
11808         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11996  +
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
       11997  +
        fn from(builder: Builder) -> Self {
11809  11998   
            builder.build()
11810  11999   
        }
11811  12000   
    }
11812         -
    /// A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
       12001  +
    /// A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
11813  12002   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11814  12003   
    pub(crate) struct Builder {
11815         -
        pub(crate) short_in_body: ::std::option::Option<i16>,
11816         -
        pub(crate) short_in_path: ::std::option::Option<i16>,
11817         -
        pub(crate) short_in_query: ::std::option::Option<i16>,
11818         -
        pub(crate) short_in_header: ::std::option::Option<i16>,
       12004  +
        pub(crate) qux: ::std::option::Option<::std::string::String>,
       12005  +
        pub(crate) foo: ::std::option::Option<
       12006  +
            ::std::collections::HashMap<
       12007  +
                ::std::string::String,
       12008  +
                ::std::vec::Vec<::std::string::String>,
       12009  +
            >,
       12010  +
        >,
11819  12011   
    }
11820  12012   
    impl Builder {
11821  12013   
        #[allow(missing_docs)] // documentation missing in model
11822         -
        pub(crate) fn set_short_in_body(
       12014  +
        pub(crate) fn set_qux(
11823  12015   
            mut self,
11824         -
            input: Option<impl ::std::convert::Into<i16>>,
       12016  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
11825  12017   
        ) -> Self {
11826         -
            self.short_in_body = input.map(|v| v.into());
       12018  +
            self.qux = input.map(|v| v.into());
11827  12019   
            self
11828  12020   
        }
11829  12021   
        #[allow(missing_docs)] // documentation missing in model
11830         -
        pub(crate) fn set_short_in_path(mut self, input: impl ::std::convert::Into<i16>) -> Self {
11831         -
            self.short_in_path = Some(input.into());
       12022  +
        pub(crate) fn set_foo(
       12023  +
            mut self,
       12024  +
            input: Option<
       12025  +
                impl ::std::convert::Into<
       12026  +
                    ::std::collections::HashMap<
       12027  +
                        ::std::string::String,
       12028  +
                        ::std::vec::Vec<::std::string::String>,
       12029  +
                    >,
       12030  +
                >,
       12031  +
            >,
       12032  +
        ) -> Self {
       12033  +
            self.foo = input.map(|v| v.into());
11832  12034   
            self
11833  12035   
        }
       12036  +
        /// Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       12037  +
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
       12038  +
            self.build_enforcing_all_constraints()
       12039  +
        }
       12040  +
        fn build_enforcing_all_constraints(self) -> crate::input::QueryParamsAsStringListMapInput {
       12041  +
            crate::input::QueryParamsAsStringListMapInput {
       12042  +
                qux: self.qux,
       12043  +
                foo: self.foo,
       12044  +
            }
       12045  +
        }
       12046  +
    }
       12047  +
}
       12048  +
/// See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       12049  +
pub mod query_params_as_string_list_map_input {
       12050  +
       12051  +
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
       12052  +
        fn from(builder: Builder) -> Self {
       12053  +
            builder.build()
       12054  +
        }
       12055  +
    }
       12056  +
    /// A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       12057  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12058  +
    pub struct Builder {
       12059  +
        pub(crate) qux: ::std::option::Option<::std::string::String>,
       12060  +
        pub(crate) foo: ::std::option::Option<
       12061  +
            ::std::collections::HashMap<
       12062  +
                ::std::string::String,
       12063  +
                ::std::vec::Vec<::std::string::String>,
       12064  +
            >,
       12065  +
        >,
       12066  +
    }
       12067  +
    impl Builder {
11834  12068   
        #[allow(missing_docs)] // documentation missing in model
11835         -
        pub(crate) fn set_short_in_query(
11836         -
            mut self,
11837         -
            input: Option<impl ::std::convert::Into<i16>>,
11838         -
        ) -> Self {
11839         -
            self.short_in_query = input.map(|v| v.into());
       12069  +
        pub fn qux(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12070  +
            self.qux = input;
11840  12071   
            self
11841  12072   
        }
11842  12073   
        #[allow(missing_docs)] // documentation missing in model
11843         -
        pub(crate) fn set_short_in_header(
       12074  +
        pub fn foo(
11844  12075   
            mut self,
11845         -
            input: Option<impl ::std::convert::Into<i16>>,
       12076  +
            input: ::std::option::Option<
       12077  +
                ::std::collections::HashMap<
       12078  +
                    ::std::string::String,
       12079  +
                    ::std::vec::Vec<::std::string::String>,
       12080  +
                >,
       12081  +
            >,
11846  12082   
        ) -> Self {
11847         -
            self.short_in_header = input.map(|v| v.into());
       12083  +
            self.foo = input;
11848  12084   
            self
11849  12085   
        }
11850         -
        /// Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
11851         -
        ///
11852         -
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if a [`ConstraintViolation`] occurs.
11853         -
        ///
11854         -
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
11855         -
            self.build_enforcing_all_constraints()
       12086  +
        /// Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       12087  +
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
       12088  +
            self.build_enforcing_required_and_enum_traits()
11856  12089   
        }
11857         -
        fn build_enforcing_all_constraints(
       12090  +
        fn build_enforcing_required_and_enum_traits(
11858  12091   
            self,
11859         -
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
11860         -
            Ok(crate::input::MalformedShortInput {
11861         -
                short_in_body: self.short_in_body,
11862         -
                short_in_path: self
11863         -
                    .short_in_path
11864         -
                    .ok_or(ConstraintViolation::MissingShortInPath)?,
11865         -
                short_in_query: self.short_in_query,
11866         -
                short_in_header: self.short_in_header,
11867         -
            })
11868         -
        }
11869         -
    }
11870         -
}
11871         -
/// See [`MalformedShortInput`](crate::input::MalformedShortInput).
11872         -
pub mod malformed_short_input {
11873         -
11874         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11875         -
    /// Holds one variant for each of the ways the builder can fail.
11876         -
    #[allow(clippy::enum_variant_names)]
11877         -
    pub enum ConstraintViolation {
11878         -
        /// `short_in_path` was not provided but it is required when building `MalformedShortInput`.
11879         -
        MissingShortInPath,
11880         -
    }
11881         -
    impl ::std::fmt::Display for ConstraintViolation {
11882         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11883         -
            match self {
11884         -
                ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
       12092  +
        ) -> crate::input::QueryParamsAsStringListMapInput {
       12093  +
            crate::input::QueryParamsAsStringListMapInput {
       12094  +
                qux: self.qux,
       12095  +
                foo: self.foo,
11885  12096   
            }
11886  12097   
        }
11887  12098   
    }
11888         -
    impl ::std::error::Error for ConstraintViolation {}
11889         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
11890         -
        type Error = ConstraintViolation;
       12099  +
}
       12100  +
/// See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       12101  +
pub(crate) mod http_prefix_headers_input_internal {
11891  12102   
11892         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12103  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
       12104  +
        fn from(builder: Builder) -> Self {
11893  12105   
            builder.build()
11894  12106   
        }
11895  12107   
    }
11896         -
    /// A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
       12108  +
    /// A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
11897  12109   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
11898         -
    pub struct Builder {
11899         -
        pub(crate) short_in_body: ::std::option::Option<i16>,
11900         -
        pub(crate) short_in_path: ::std::option::Option<i16>,
11901         -
        pub(crate) short_in_query: ::std::option::Option<i16>,
11902         -
        pub(crate) short_in_header: ::std::option::Option<i16>,
       12110  +
    pub(crate) struct Builder {
       12111  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       12112  +
        pub(crate) foo_map: ::std::option::Option<
       12113  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12114  +
        >,
11903  12115   
    }
11904  12116   
    impl Builder {
11905  12117   
        #[allow(missing_docs)] // documentation missing in model
11906         -
        pub fn short_in_body(mut self, input: ::std::option::Option<i16>) -> Self {
11907         -
            self.short_in_body = input;
       12118  +
        pub(crate) fn set_foo(
       12119  +
            mut self,
       12120  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       12121  +
        ) -> Self {
       12122  +
            self.foo = input.map(|v| v.into());
11908  12123   
            self
11909  12124   
        }
11910  12125   
        #[allow(missing_docs)] // documentation missing in model
11911         -
        pub fn short_in_path(mut self, input: i16) -> Self {
11912         -
            self.short_in_path = Some(input);
       12126  +
        pub(crate) fn set_foo_map(
       12127  +
            mut self,
       12128  +
            input: Option<
       12129  +
                impl ::std::convert::Into<
       12130  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12131  +
                >,
       12132  +
            >,
       12133  +
        ) -> Self {
       12134  +
            self.foo_map = input.map(|v| v.into());
11913  12135   
            self
11914  12136   
        }
       12137  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       12138  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
       12139  +
            self.build_enforcing_all_constraints()
       12140  +
        }
       12141  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInput {
       12142  +
            crate::input::HttpPrefixHeadersInput {
       12143  +
                foo: self.foo,
       12144  +
                foo_map: self.foo_map,
       12145  +
            }
       12146  +
        }
       12147  +
    }
       12148  +
}
       12149  +
/// See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       12150  +
pub mod http_prefix_headers_input {
       12151  +
       12152  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
       12153  +
        fn from(builder: Builder) -> Self {
       12154  +
            builder.build()
       12155  +
        }
       12156  +
    }
       12157  +
    /// A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       12158  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12159  +
    pub struct Builder {
       12160  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       12161  +
        pub(crate) foo_map: ::std::option::Option<
       12162  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12163  +
        >,
       12164  +
    }
       12165  +
    impl Builder {
11915  12166   
        #[allow(missing_docs)] // documentation missing in model
11916         -
        pub fn short_in_query(mut self, input: ::std::option::Option<i16>) -> Self {
11917         -
            self.short_in_query = input;
       12167  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12168  +
            self.foo = input;
11918  12169   
            self
11919  12170   
        }
11920  12171   
        #[allow(missing_docs)] // documentation missing in model
11921         -
        pub fn short_in_header(mut self, input: ::std::option::Option<i16>) -> Self {
11922         -
            self.short_in_header = input;
       12172  +
        pub fn foo_map(
       12173  +
            mut self,
       12174  +
            input: ::std::option::Option<
       12175  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12176  +
            >,
       12177  +
        ) -> Self {
       12178  +
            self.foo_map = input;
11923  12179   
            self
11924  12180   
        }
11925         -
        /// Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
11926         -
        ///
11927         -
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if you do not provide a value for all non-`Option`al members.
11928         -
        ///
11929         -
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
       12181  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       12182  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
11930  12183   
            self.build_enforcing_required_and_enum_traits()
11931  12184   
        }
11932         -
        fn build_enforcing_required_and_enum_traits(
11933         -
            self,
11934         -
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
11935         -
            Ok(crate::input::MalformedShortInput {
11936         -
                short_in_body: self.short_in_body,
11937         -
                short_in_path: self
11938         -
                    .short_in_path
11939         -
                    .ok_or(ConstraintViolation::MissingShortInPath)?,
11940         -
                short_in_query: self.short_in_query,
11941         -
                short_in_header: self.short_in_header,
11942         -
            })
11943         -
        }
11944         -
    }
11945         -
}
11946         -
/// See [`MalformedByteInput`](crate::input::MalformedByteInput).
11947         -
pub(crate) mod malformed_byte_input_internal {
11948         -
11949         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11950         -
    /// Holds one variant for each of the ways the builder can fail.
11951         -
    #[non_exhaustive]
11952         -
    #[allow(clippy::enum_variant_names)]
11953         -
    pub(crate) enum ConstraintViolation {
11954         -
        /// `byte_in_path` was not provided but it is required when building `MalformedByteInput`.
11955         -
        MissingByteInPath,
11956         -
    }
11957         -
    impl ::std::fmt::Display for ConstraintViolation {
11958         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11959         -
            match self {
11960         -
                ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
       12185  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpPrefixHeadersInput {
       12186  +
            crate::input::HttpPrefixHeadersInput {
       12187  +
                foo: self.foo,
       12188  +
                foo_map: self.foo_map,
11961  12189   
            }
11962  12190   
        }
11963  12191   
    }
11964         -
    impl ::std::error::Error for ConstraintViolation {}
11965         -
    impl ConstraintViolation {
11966         -
        pub(crate) fn as_validation_exception_field(
11967         -
            self,
11968         -
            path: ::std::string::String,
11969         -
        ) -> crate::model::ValidationExceptionField {
11970         -
            match self {
11971         -
            ConstraintViolation::MissingByteInPath => crate::model::ValidationExceptionField {
11972         -
                                                message: format!("Value at '{}/byteInPath' failed to satisfy constraint: Member must not be null", path),
11973         -
                                                path: path + "/byteInPath",
11974         -
                                            },
       12192  +
}
       12193  +
/// See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       12194  +
pub(crate) mod http_prefix_headers_in_response_input_internal {
       12195  +
       12196  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
       12197  +
        fn from(builder: Builder) -> Self {
       12198  +
            builder.build()
       12199  +
        }
       12200  +
    }
       12201  +
    /// A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       12202  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12203  +
    pub(crate) struct Builder {}
       12204  +
    impl Builder {
       12205  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       12206  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       12207  +
            self.build_enforcing_all_constraints()
11975  12208   
        }
       12209  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       12210  +
            crate::input::HttpPrefixHeadersInResponseInput {}
11976  12211   
        }
11977  12212   
    }
11978         -
    impl ::std::convert::From<ConstraintViolation>
11979         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
11980         -
    {
11981         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
11982         -
            let first_validation_exception_field =
11983         -
                constraint_violation.as_validation_exception_field("".to_owned());
11984         -
            let validation_exception = crate::error::ValidationException {
11985         -
                message: format!(
11986         -
                    "1 validation error detected. {}",
11987         -
                    &first_validation_exception_field.message
11988         -
                ),
11989         -
                field_list: Some(vec![first_validation_exception_field]),
11990         -
            };
11991         -
            Self::ConstraintViolation(
11992         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
11993         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
11994         -
                            )
       12213  +
}
       12214  +
/// See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       12215  +
pub mod http_prefix_headers_in_response_input {
       12216  +
       12217  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
       12218  +
        fn from(builder: Builder) -> Self {
       12219  +
            builder.build()
11995  12220   
        }
11996  12221   
    }
11997         -
    impl ::std::convert::From<Builder>
11998         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedByteInput>
11999         -
    {
12000         -
        fn from(builder: Builder) -> Self {
12001         -
            Self::Unconstrained(builder)
       12222  +
    /// A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       12223  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12224  +
    pub struct Builder {}
       12225  +
    impl Builder {
       12226  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       12227  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       12228  +
            self.build_enforcing_required_and_enum_traits()
       12229  +
        }
       12230  +
        fn build_enforcing_required_and_enum_traits(
       12231  +
            self,
       12232  +
        ) -> crate::input::HttpPrefixHeadersInResponseInput {
       12233  +
            crate::input::HttpPrefixHeadersInResponseInput {}
12002  12234   
        }
12003  12235   
    }
12004         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
12005         -
        type Error = ConstraintViolation;
       12236  +
}
       12237  +
/// See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       12238  +
pub(crate) mod http_empty_prefix_headers_input_internal {
12006  12239   
12007         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12240  +
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
       12241  +
        fn from(builder: Builder) -> Self {
12008  12242   
            builder.build()
12009  12243   
        }
12010  12244   
    }
12011         -
    /// A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
       12245  +
    /// A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
12012  12246   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12013  12247   
    pub(crate) struct Builder {
12014         -
        pub(crate) byte_in_body: ::std::option::Option<i8>,
12015         -
        pub(crate) byte_in_path: ::std::option::Option<i8>,
12016         -
        pub(crate) byte_in_query: ::std::option::Option<i8>,
12017         -
        pub(crate) byte_in_header: ::std::option::Option<i8>,
       12248  +
        pub(crate) prefix_headers: ::std::option::Option<
       12249  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12250  +
        >,
       12251  +
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
12018  12252   
    }
12019  12253   
    impl Builder {
12020  12254   
        #[allow(missing_docs)] // documentation missing in model
12021         -
        pub(crate) fn set_byte_in_body(
12022         -
            mut self,
12023         -
            input: Option<impl ::std::convert::Into<i8>>,
12024         -
        ) -> Self {
12025         -
            self.byte_in_body = input.map(|v| v.into());
12026         -
            self
12027         -
        }
12028         -
        #[allow(missing_docs)] // documentation missing in model
12029         -
        pub(crate) fn set_byte_in_path(mut self, input: impl ::std::convert::Into<i8>) -> Self {
12030         -
            self.byte_in_path = Some(input.into());
12031         -
            self
12032         -
        }
12033         -
        #[allow(missing_docs)] // documentation missing in model
12034         -
        pub(crate) fn set_byte_in_query(
       12255  +
        pub(crate) fn set_prefix_headers(
12035  12256   
            mut self,
12036         -
            input: Option<impl ::std::convert::Into<i8>>,
       12257  +
            input: Option<
       12258  +
                impl ::std::convert::Into<
       12259  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12260  +
                >,
       12261  +
            >,
12037  12262   
        ) -> Self {
12038         -
            self.byte_in_query = input.map(|v| v.into());
       12263  +
            self.prefix_headers = input.map(|v| v.into());
12039  12264   
            self
12040  12265   
        }
12041  12266   
        #[allow(missing_docs)] // documentation missing in model
12042         -
        pub(crate) fn set_byte_in_header(
       12267  +
        pub(crate) fn set_specific_header(
12043  12268   
            mut self,
12044         -
            input: Option<impl ::std::convert::Into<i8>>,
       12269  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
12045  12270   
        ) -> Self {
12046         -
            self.byte_in_header = input.map(|v| v.into());
       12271  +
            self.specific_header = input.map(|v| v.into());
12047  12272   
            self
12048  12273   
        }
12049         -
        /// Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
12050         -
        ///
12051         -
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if a [`ConstraintViolation`] occurs.
12052         -
        ///
12053         -
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       12274  +
        /// Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       12275  +
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
12054  12276   
            self.build_enforcing_all_constraints()
12055  12277   
        }
12056         -
        fn build_enforcing_all_constraints(
12057         -
            self,
12058         -
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
12059         -
            Ok(crate::input::MalformedByteInput {
12060         -
                byte_in_body: self.byte_in_body,
12061         -
                byte_in_path: self
12062         -
                    .byte_in_path
12063         -
                    .ok_or(ConstraintViolation::MissingByteInPath)?,
12064         -
                byte_in_query: self.byte_in_query,
12065         -
                byte_in_header: self.byte_in_header,
12066         -
            })
12067         -
        }
12068         -
    }
12069         -
}
12070         -
/// See [`MalformedByteInput`](crate::input::MalformedByteInput).
12071         -
pub mod malformed_byte_input {
12072         -
12073         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12074         -
    /// Holds one variant for each of the ways the builder can fail.
12075         -
    #[allow(clippy::enum_variant_names)]
12076         -
    pub enum ConstraintViolation {
12077         -
        /// `byte_in_path` was not provided but it is required when building `MalformedByteInput`.
12078         -
        MissingByteInPath,
12079         -
    }
12080         -
    impl ::std::fmt::Display for ConstraintViolation {
12081         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12082         -
            match self {
12083         -
                ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
       12278  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       12279  +
            crate::input::HttpEmptyPrefixHeadersInput {
       12280  +
                prefix_headers: self.prefix_headers,
       12281  +
                specific_header: self.specific_header,
12084  12282   
            }
12085  12283   
        }
12086  12284   
    }
12087         -
    impl ::std::error::Error for ConstraintViolation {}
12088         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
12089         -
        type Error = ConstraintViolation;
       12285  +
}
       12286  +
/// See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       12287  +
pub mod http_empty_prefix_headers_input {
12090  12288   
12091         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12289  +
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
       12290  +
        fn from(builder: Builder) -> Self {
12092  12291   
            builder.build()
12093  12292   
        }
12094  12293   
    }
12095         -
    /// A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
       12294  +
    /// A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
12096  12295   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12097  12296   
    pub struct Builder {
12098         -
        pub(crate) byte_in_body: ::std::option::Option<i8>,
12099         -
        pub(crate) byte_in_path: ::std::option::Option<i8>,
12100         -
        pub(crate) byte_in_query: ::std::option::Option<i8>,
12101         -
        pub(crate) byte_in_header: ::std::option::Option<i8>,
       12297  +
        pub(crate) prefix_headers: ::std::option::Option<
       12298  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12299  +
        >,
       12300  +
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
12102  12301   
    }
12103  12302   
    impl Builder {
12104  12303   
        #[allow(missing_docs)] // documentation missing in model
12105         -
        pub fn byte_in_body(mut self, input: ::std::option::Option<i8>) -> Self {
12106         -
            self.byte_in_body = input;
12107         -
            self
12108         -
        }
12109         -
        #[allow(missing_docs)] // documentation missing in model
12110         -
        pub fn byte_in_path(mut self, input: i8) -> Self {
12111         -
            self.byte_in_path = Some(input);
12112         -
            self
12113         -
        }
12114         -
        #[allow(missing_docs)] // documentation missing in model
12115         -
        pub fn byte_in_query(mut self, input: ::std::option::Option<i8>) -> Self {
12116         -
            self.byte_in_query = input;
       12304  +
        pub fn prefix_headers(
       12305  +
            mut self,
       12306  +
            input: ::std::option::Option<
       12307  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12308  +
            >,
       12309  +
        ) -> Self {
       12310  +
            self.prefix_headers = input;
12117  12311   
            self
12118  12312   
        }
12119  12313   
        #[allow(missing_docs)] // documentation missing in model
12120         -
        pub fn byte_in_header(mut self, input: ::std::option::Option<i8>) -> Self {
12121         -
            self.byte_in_header = input;
       12314  +
        pub fn specific_header(
       12315  +
            mut self,
       12316  +
            input: ::std::option::Option<::std::string::String>,
       12317  +
        ) -> Self {
       12318  +
            self.specific_header = input;
12122  12319   
            self
12123  12320   
        }
12124         -
        /// Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
12125         -
        ///
12126         -
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if you do not provide a value for all non-`Option`al members.
12127         -
        ///
12128         -
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       12321  +
        /// Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       12322  +
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
12129  12323   
            self.build_enforcing_required_and_enum_traits()
12130  12324   
        }
12131  12325   
        fn build_enforcing_required_and_enum_traits(
12132  12326   
            self,
12133         -
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
12134         -
            Ok(crate::input::MalformedByteInput {
12135         -
                byte_in_body: self.byte_in_body,
12136         -
                byte_in_path: self
12137         -
                    .byte_in_path
12138         -
                    .ok_or(ConstraintViolation::MissingByteInPath)?,
12139         -
                byte_in_query: self.byte_in_query,
12140         -
                byte_in_header: self.byte_in_header,
12141         -
            })
       12327  +
        ) -> crate::input::HttpEmptyPrefixHeadersInput {
       12328  +
            crate::input::HttpEmptyPrefixHeadersInput {
       12329  +
                prefix_headers: self.prefix_headers,
       12330  +
                specific_header: self.specific_header,
       12331  +
            }
12142  12332   
        }
12143  12333   
    }
12144  12334   
}
12145         -
/// See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
12146         -
pub(crate) mod malformed_blob_input_internal {
       12335  +
/// See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       12336  +
pub(crate) mod http_payload_traits_input_internal {
12147  12337   
12148         -
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
       12338  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
12149  12339   
        fn from(builder: Builder) -> Self {
12150  12340   
            builder.build()
12151  12341   
        }
12152  12342   
    }
12153         -
    /// A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       12343  +
    /// A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
12154  12344   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12155  12345   
    pub(crate) struct Builder {
       12346  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
12156  12347   
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
12157  12348   
    }
12158  12349   
    impl Builder {
       12350  +
        #[allow(missing_docs)] // documentation missing in model
       12351  +
        pub(crate) fn set_foo(
       12352  +
            mut self,
       12353  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       12354  +
        ) -> Self {
       12355  +
            self.foo = input.map(|v| v.into());
       12356  +
            self
       12357  +
        }
12159  12358   
        #[allow(missing_docs)] // documentation missing in model
12160  12359   
        pub(crate) fn set_blob(
12161  12360   
            mut self,
12162  12361   
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
12163  12362   
        ) -> Self {
12164  12363   
            self.blob = input.map(|v| v.into());
12165  12364   
            self
12166  12365   
        }
12167         -
        /// Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
12168         -
        pub fn build(self) -> crate::input::MalformedBlobInput {
       12366  +
        /// Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       12367  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
12169  12368   
            self.build_enforcing_all_constraints()
12170  12369   
        }
12171         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedBlobInput {
12172         -
            crate::input::MalformedBlobInput { blob: self.blob }
       12370  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadTraitsInput {
       12371  +
            crate::input::HttpPayloadTraitsInput {
       12372  +
                foo: self.foo,
       12373  +
                blob: self.blob,
       12374  +
            }
12173  12375   
        }
12174  12376   
    }
12175  12377   
}
12176         -
/// See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
12177         -
pub mod malformed_blob_input {
       12378  +
/// See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       12379  +
pub mod http_payload_traits_input {
12178  12380   
12179         -
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
       12381  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
12180  12382   
        fn from(builder: Builder) -> Self {
12181  12383   
            builder.build()
12182  12384   
        }
12183  12385   
    }
12184         -
    /// A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       12386  +
    /// A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
12185  12387   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12186  12388   
    pub struct Builder {
       12389  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
12187  12390   
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
12188  12391   
    }
12189  12392   
    impl Builder {
       12393  +
        #[allow(missing_docs)] // documentation missing in model
       12394  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12395  +
            self.foo = input;
       12396  +
            self
       12397  +
        }
12190  12398   
        #[allow(missing_docs)] // documentation missing in model
12191  12399   
        pub fn blob(
12192  12400   
            mut self,
12193  12401   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
12194  12402   
        ) -> Self {
12195  12403   
            self.blob = input;
12196  12404   
            self
12197  12405   
        }
12198         -
        /// Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
12199         -
        pub fn build(self) -> crate::input::MalformedBlobInput {
       12406  +
        /// Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       12407  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
12200  12408   
            self.build_enforcing_required_and_enum_traits()
12201  12409   
        }
12202         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedBlobInput {
12203         -
            crate::input::MalformedBlobInput { blob: self.blob }
       12410  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpPayloadTraitsInput {
       12411  +
            crate::input::HttpPayloadTraitsInput {
       12412  +
                foo: self.foo,
       12413  +
                blob: self.blob,
       12414  +
            }
12204  12415   
        }
12205  12416   
    }
12206  12417   
}
12207         -
/// See [`MalformedMapInput`](crate::input::MalformedMapInput).
12208         -
pub(crate) mod malformed_map_input_internal {
       12418  +
/// See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       12419  +
pub(crate) mod http_payload_traits_with_media_type_input_internal {
12209  12420   
12210         -
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
       12421  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
12211  12422   
        fn from(builder: Builder) -> Self {
12212  12423   
            builder.build()
12213  12424   
        }
12214  12425   
    }
12215         -
    /// A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
       12426  +
    /// A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
12216  12427   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12217  12428   
    pub(crate) struct Builder {
12218         -
        pub(crate) body_map: ::std::option::Option<
12219         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
12220         -
        >,
       12429  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       12430  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
12221  12431   
    }
12222  12432   
    impl Builder {
12223  12433   
        #[allow(missing_docs)] // documentation missing in model
12224         -
        pub(crate) fn set_body_map(
       12434  +
        pub(crate) fn set_foo(
12225  12435   
            mut self,
12226         -
            input: Option<
12227         -
                impl ::std::convert::Into<
12228         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
12229         -
                >,
12230         -
            >,
       12436  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
12231  12437   
        ) -> Self {
12232         -
            self.body_map = input.map(|v| v.into());
       12438  +
            self.foo = input.map(|v| v.into());
12233  12439   
            self
12234  12440   
        }
12235         -
        /// Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
12236         -
        pub fn build(self) -> crate::input::MalformedMapInput {
       12441  +
        #[allow(missing_docs)] // documentation missing in model
       12442  +
        pub(crate) fn set_blob(
       12443  +
            mut self,
       12444  +
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
       12445  +
        ) -> Self {
       12446  +
            self.blob = input.map(|v| v.into());
       12447  +
            self
       12448  +
        }
       12449  +
        /// Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       12450  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
12237  12451   
            self.build_enforcing_all_constraints()
12238  12452   
        }
12239         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedMapInput {
12240         -
            crate::input::MalformedMapInput {
12241         -
                body_map: self.body_map,
       12453  +
        fn build_enforcing_all_constraints(
       12454  +
            self,
       12455  +
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       12456  +
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
       12457  +
                foo: self.foo,
       12458  +
                blob: self.blob,
12242  12459   
            }
12243  12460   
        }
12244  12461   
    }
12245  12462   
}
12246         -
/// See [`MalformedMapInput`](crate::input::MalformedMapInput).
12247         -
pub mod malformed_map_input {
       12463  +
/// See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       12464  +
pub mod http_payload_traits_with_media_type_input {
12248  12465   
12249         -
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
       12466  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
12250  12467   
        fn from(builder: Builder) -> Self {
12251  12468   
            builder.build()
12252  12469   
        }
12253  12470   
    }
12254         -
    /// A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
       12471  +
    /// A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
12255  12472   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12256  12473   
    pub struct Builder {
12257         -
        pub(crate) body_map: ::std::option::Option<
12258         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
12259         -
        >,
       12474  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       12475  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
12260  12476   
    }
12261  12477   
    impl Builder {
12262  12478   
        #[allow(missing_docs)] // documentation missing in model
12263         -
        pub fn body_map(
       12479  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12480  +
            self.foo = input;
       12481  +
            self
       12482  +
        }
       12483  +
        #[allow(missing_docs)] // documentation missing in model
       12484  +
        pub fn blob(
12264  12485   
            mut self,
12265         -
            input: ::std::option::Option<
12266         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
12267         -
            >,
       12486  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
12268  12487   
        ) -> Self {
12269         -
            self.body_map = input;
       12488  +
            self.blob = input;
12270  12489   
            self
12271  12490   
        }
12272         -
        /// Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
12273         -
        pub fn build(self) -> crate::input::MalformedMapInput {
       12491  +
        /// Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       12492  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
12274  12493   
            self.build_enforcing_required_and_enum_traits()
12275  12494   
        }
12276         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedMapInput {
12277         -
            crate::input::MalformedMapInput {
12278         -
                body_map: self.body_map,
       12495  +
        fn build_enforcing_required_and_enum_traits(
       12496  +
            self,
       12497  +
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       12498  +
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
       12499  +
                foo: self.foo,
       12500  +
                blob: self.blob,
12279  12501   
            }
12280  12502   
        }
12281  12503   
    }
12282  12504   
}
12283         -
/// See [`MalformedListInput`](crate::input::MalformedListInput).
12284         -
pub(crate) mod malformed_list_input_internal {
       12505  +
/// See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       12506  +
pub(crate) mod http_payload_with_structure_input_internal {
12285  12507   
12286         -
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
       12508  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
12287  12509   
        fn from(builder: Builder) -> Self {
12288  12510   
            builder.build()
12289  12511   
        }
12290  12512   
    }
12291         -
    /// A builder for [`MalformedListInput`](crate::input::MalformedListInput).
       12513  +
    /// A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
12292  12514   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12293  12515   
    pub(crate) struct Builder {
12294         -
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       12516  +
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
12295  12517   
    }
12296  12518   
    impl Builder {
12297  12519   
        #[allow(missing_docs)] // documentation missing in model
12298         -
        pub(crate) fn set_body_list(
       12520  +
        pub(crate) fn set_nested(
12299  12521   
            mut self,
12300         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       12522  +
            input: Option<impl ::std::convert::Into<crate::model::NestedPayload>>,
12301  12523   
        ) -> Self {
12302         -
            self.body_list = input.map(|v| v.into());
       12524  +
            self.nested = input.map(|v| v.into());
12303  12525   
            self
12304  12526   
        }
12305         -
        /// Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
12306         -
        pub fn build(self) -> crate::input::MalformedListInput {
       12527  +
        /// Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       12528  +
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
12307  12529   
            self.build_enforcing_all_constraints()
12308  12530   
        }
12309         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedListInput {
12310         -
            crate::input::MalformedListInput {
12311         -
                body_list: self.body_list,
       12531  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithStructureInput {
       12532  +
            crate::input::HttpPayloadWithStructureInput {
       12533  +
                nested: self.nested,
12312  12534   
            }
12313  12535   
        }
12314  12536   
    }
12315  12537   
}
12316         -
/// See [`MalformedListInput`](crate::input::MalformedListInput).
12317         -
pub mod malformed_list_input {
       12538  +
/// See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       12539  +
pub mod http_payload_with_structure_input {
12318  12540   
12319         -
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
       12541  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
12320  12542   
        fn from(builder: Builder) -> Self {
12321  12543   
            builder.build()
12322  12544   
        }
12323  12545   
    }
12324         -
    /// A builder for [`MalformedListInput`](crate::input::MalformedListInput).
       12546  +
    /// A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
12325  12547   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12326  12548   
    pub struct Builder {
12327         -
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       12549  +
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
12328  12550   
    }
12329  12551   
    impl Builder {
12330  12552   
        #[allow(missing_docs)] // documentation missing in model
12331         -
        pub fn body_list(
12332         -
            mut self,
12333         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
12334         -
        ) -> Self {
12335         -
            self.body_list = input;
       12553  +
        pub fn nested(mut self, input: ::std::option::Option<crate::model::NestedPayload>) -> Self {
       12554  +
            self.nested = input;
12336  12555   
            self
12337  12556   
        }
12338         -
        /// Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
12339         -
        pub fn build(self) -> crate::input::MalformedListInput {
       12557  +
        /// Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       12558  +
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
12340  12559   
            self.build_enforcing_required_and_enum_traits()
12341  12560   
        }
12342         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedListInput {
12343         -
            crate::input::MalformedListInput {
12344         -
                body_list: self.body_list,
       12561  +
        fn build_enforcing_required_and_enum_traits(
       12562  +
            self,
       12563  +
        ) -> crate::input::HttpPayloadWithStructureInput {
       12564  +
            crate::input::HttpPayloadWithStructureInput {
       12565  +
                nested: self.nested,
12345  12566   
            }
12346  12567   
        }
12347  12568   
    }
12348  12569   
}
12349         -
/// See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
12350         -
pub(crate) mod malformed_boolean_input_internal {
       12570  +
/// See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       12571  +
pub(crate) mod http_enum_payload_input_internal {
12351  12572   
12352  12573   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12353  12574   
    /// Holds one variant for each of the ways the builder can fail.
12354  12575   
    #[non_exhaustive]
12355  12576   
    #[allow(clippy::enum_variant_names)]
12356  12577   
    pub(crate) enum ConstraintViolation {
12357         -
        /// `boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
12358         -
        MissingBooleanInPath,
       12578  +
        /// Constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`.
       12579  +
        #[doc(hidden)]
       12580  +
        Payload(crate::model::string_enum_internal::ConstraintViolation),
12359  12581   
    }
12360  12582   
    impl ::std::fmt::Display for ConstraintViolation {
12361  12583   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12362  12584   
            match self {
12363         -
                ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
       12585  +
                ConstraintViolation::Payload(_) => write!(f, "constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`"),
12364  12586   
            }
12365  12587   
        }
12366  12588   
    }
12367  12589   
    impl ::std::error::Error for ConstraintViolation {}
12368  12590   
    impl ConstraintViolation {
12369  12591   
        pub(crate) fn as_validation_exception_field(
12370  12592   
            self,
12371  12593   
            path: ::std::string::String,
12372  12594   
        ) -> crate::model::ValidationExceptionField {
12373  12595   
            match self {
12374         -
            ConstraintViolation::MissingBooleanInPath => crate::model::ValidationExceptionField {
12375         -
                                                message: format!("Value at '{}/booleanInPath' failed to satisfy constraint: Member must not be null", path),
12376         -
                                                path: path + "/booleanInPath",
12377         -
                                            },
12378         -
        }
       12596  +
                ConstraintViolation::Payload(inner) => {
       12597  +
                    inner.as_validation_exception_field(path + "/payload")
       12598  +
                }
       12599  +
            }
12379  12600   
        }
12380  12601   
    }
12381  12602   
    impl ::std::convert::From<ConstraintViolation>
12382  12603   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
12383  12604   
    {
12384  12605   
        fn from(constraint_violation: ConstraintViolation) -> Self {
12385  12606   
            let first_validation_exception_field =
12386  12607   
                constraint_violation.as_validation_exception_field("".to_owned());
12387  12608   
            let validation_exception = crate::error::ValidationException {
12388  12609   
                message: format!(
12389  12610   
                    "1 validation error detected. {}",
12390  12611   
                    &first_validation_exception_field.message
12391  12612   
                ),
12392  12613   
                field_list: Some(vec![first_validation_exception_field]),
12393  12614   
            };
12394  12615   
            Self::ConstraintViolation(
12395  12616   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
12396  12617   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
12397  12618   
                            )
12398  12619   
        }
12399  12620   
    }
12400  12621   
    impl ::std::convert::From<Builder>
12401         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedBooleanInput>
       12622  +
        for crate::constrained::MaybeConstrained<crate::input::HttpEnumPayloadInput>
12402  12623   
    {
12403  12624   
        fn from(builder: Builder) -> Self {
12404  12625   
            Self::Unconstrained(builder)
12405  12626   
        }
12406  12627   
    }
12407         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
12408         -
        type Error = ConstraintViolation;
       12628  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpEnumPayloadInput {
       12629  +
        type Error = ConstraintViolation;
       12630  +
       12631  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12632  +
            builder.build()
       12633  +
        }
       12634  +
    }
       12635  +
    /// A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       12636  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12637  +
    pub(crate) struct Builder {
       12638  +
        pub(crate) payload:
       12639  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringEnum>>,
       12640  +
    }
       12641  +
    impl Builder {
       12642  +
        #[allow(missing_docs)] // documentation missing in model
       12643  +
        pub(crate) fn set_payload(
       12644  +
            mut self,
       12645  +
            input: Option<
       12646  +
                impl ::std::convert::Into<
       12647  +
                    crate::constrained::MaybeConstrained<crate::model::StringEnum>,
       12648  +
                >,
       12649  +
            >,
       12650  +
        ) -> Self {
       12651  +
            self.payload = input.map(|v| v.into());
       12652  +
            self
       12653  +
        }
       12654  +
        /// Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       12655  +
        ///
       12656  +
        /// The builder fails to construct a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput) if a [`ConstraintViolation`] occurs.
       12657  +
        ///
       12658  +
        pub fn build(self) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       12659  +
            self.build_enforcing_all_constraints()
       12660  +
        }
       12661  +
        fn build_enforcing_all_constraints(
       12662  +
            self,
       12663  +
        ) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       12664  +
            Ok(crate::input::HttpEnumPayloadInput {
       12665  +
                payload: self
       12666  +
                    .payload
       12667  +
                    .map(|v| match v {
       12668  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12669  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12670  +
                    })
       12671  +
                    .map(|res| res.map_err(ConstraintViolation::Payload))
       12672  +
                    .transpose()?,
       12673  +
            })
       12674  +
        }
       12675  +
    }
       12676  +
}
       12677  +
/// See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       12678  +
pub mod http_enum_payload_input {
       12679  +
       12680  +
    impl ::std::convert::From<Builder> for crate::input::HttpEnumPayloadInput {
       12681  +
        fn from(builder: Builder) -> Self {
       12682  +
            builder.build()
       12683  +
        }
       12684  +
    }
       12685  +
    /// A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       12686  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12687  +
    pub struct Builder {
       12688  +
        pub(crate) payload: ::std::option::Option<crate::model::StringEnum>,
       12689  +
    }
       12690  +
    impl Builder {
       12691  +
        #[allow(missing_docs)] // documentation missing in model
       12692  +
        pub fn payload(mut self, input: ::std::option::Option<crate::model::StringEnum>) -> Self {
       12693  +
            self.payload = input;
       12694  +
            self
       12695  +
        }
       12696  +
        /// Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       12697  +
        pub fn build(self) -> crate::input::HttpEnumPayloadInput {
       12698  +
            self.build_enforcing_required_and_enum_traits()
       12699  +
        }
       12700  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpEnumPayloadInput {
       12701  +
            crate::input::HttpEnumPayloadInput {
       12702  +
                payload: self.payload,
       12703  +
            }
       12704  +
        }
       12705  +
    }
       12706  +
}
       12707  +
/// See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       12708  +
pub(crate) mod http_string_payload_input_internal {
12409  12709   
12410         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12710  +
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
       12711  +
        fn from(builder: Builder) -> Self {
12411  12712   
            builder.build()
12412  12713   
        }
12413  12714   
    }
12414         -
    /// A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       12715  +
    /// A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
12415  12716   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12416  12717   
    pub(crate) struct Builder {
12417         -
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
12418         -
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
12419         -
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
12420         -
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
       12718  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
12421  12719   
    }
12422  12720   
    impl Builder {
12423  12721   
        #[allow(missing_docs)] // documentation missing in model
12424         -
        pub(crate) fn set_boolean_in_body(
12425         -
            mut self,
12426         -
            input: Option<impl ::std::convert::Into<bool>>,
12427         -
        ) -> Self {
12428         -
            self.boolean_in_body = input.map(|v| v.into());
12429         -
            self
12430         -
        }
12431         -
        #[allow(missing_docs)] // documentation missing in model
12432         -
        pub(crate) fn set_boolean_in_path(
12433         -
            mut self,
12434         -
            input: impl ::std::convert::Into<bool>,
12435         -
        ) -> Self {
12436         -
            self.boolean_in_path = Some(input.into());
12437         -
            self
12438         -
        }
12439         -
        #[allow(missing_docs)] // documentation missing in model
12440         -
        pub(crate) fn set_boolean_in_query(
12441         -
            mut self,
12442         -
            input: Option<impl ::std::convert::Into<bool>>,
12443         -
        ) -> Self {
12444         -
            self.boolean_in_query = input.map(|v| v.into());
12445         -
            self
12446         -
        }
12447         -
        #[allow(missing_docs)] // documentation missing in model
12448         -
        pub(crate) fn set_boolean_in_header(
       12722  +
        pub(crate) fn set_payload(
12449  12723   
            mut self,
12450         -
            input: Option<impl ::std::convert::Into<bool>>,
       12724  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
12451  12725   
        ) -> Self {
12452         -
            self.boolean_in_header = input.map(|v| v.into());
       12726  +
            self.payload = input.map(|v| v.into());
12453  12727   
            self
12454  12728   
        }
12455         -
        /// Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
12456         -
        ///
12457         -
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if a [`ConstraintViolation`] occurs.
12458         -
        ///
12459         -
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       12729  +
        /// Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       12730  +
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
12460  12731   
            self.build_enforcing_all_constraints()
12461  12732   
        }
12462         -
        fn build_enforcing_all_constraints(
12463         -
            self,
12464         -
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
12465         -
            Ok(crate::input::MalformedBooleanInput {
12466         -
                boolean_in_body: self.boolean_in_body,
12467         -
                boolean_in_path: self
12468         -
                    .boolean_in_path
12469         -
                    .ok_or(ConstraintViolation::MissingBooleanInPath)?,
12470         -
                boolean_in_query: self.boolean_in_query,
12471         -
                boolean_in_header: self.boolean_in_header,
12472         -
            })
12473         -
        }
12474         -
    }
12475         -
}
12476         -
/// See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
12477         -
pub mod malformed_boolean_input {
12478         -
12479         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12480         -
    /// Holds one variant for each of the ways the builder can fail.
12481         -
    #[allow(clippy::enum_variant_names)]
12482         -
    pub enum ConstraintViolation {
12483         -
        /// `boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
12484         -
        MissingBooleanInPath,
12485         -
    }
12486         -
    impl ::std::fmt::Display for ConstraintViolation {
12487         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12488         -
            match self {
12489         -
                ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
       12733  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpStringPayloadInput {
       12734  +
            crate::input::HttpStringPayloadInput {
       12735  +
                payload: self.payload,
12490  12736   
            }
12491  12737   
        }
12492  12738   
    }
12493         -
    impl ::std::error::Error for ConstraintViolation {}
12494         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
12495         -
        type Error = ConstraintViolation;
       12739  +
}
       12740  +
/// See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       12741  +
pub mod http_string_payload_input {
12496  12742   
12497         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12743  +
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
       12744  +
        fn from(builder: Builder) -> Self {
12498  12745   
            builder.build()
12499  12746   
        }
12500  12747   
    }
12501         -
    /// A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       12748  +
    /// A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
12502  12749   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12503  12750   
    pub struct Builder {
12504         -
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
12505         -
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
12506         -
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
12507         -
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
       12751  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
12508  12752   
    }
12509  12753   
    impl Builder {
12510  12754   
        #[allow(missing_docs)] // documentation missing in model
12511         -
        pub fn boolean_in_body(mut self, input: ::std::option::Option<bool>) -> Self {
12512         -
            self.boolean_in_body = input;
12513         -
            self
12514         -
        }
12515         -
        #[allow(missing_docs)] // documentation missing in model
12516         -
        pub fn boolean_in_path(mut self, input: bool) -> Self {
12517         -
            self.boolean_in_path = Some(input);
12518         -
            self
12519         -
        }
12520         -
        #[allow(missing_docs)] // documentation missing in model
12521         -
        pub fn boolean_in_query(mut self, input: ::std::option::Option<bool>) -> Self {
12522         -
            self.boolean_in_query = input;
12523         -
            self
12524         -
        }
12525         -
        #[allow(missing_docs)] // documentation missing in model
12526         -
        pub fn boolean_in_header(mut self, input: ::std::option::Option<bool>) -> Self {
12527         -
            self.boolean_in_header = input;
       12755  +
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       12756  +
            self.payload = input;
12528  12757   
            self
12529  12758   
        }
12530         -
        /// Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
12531         -
        ///
12532         -
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if you do not provide a value for all non-`Option`al members.
12533         -
        ///
12534         -
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       12759  +
        /// Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       12760  +
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
12535  12761   
            self.build_enforcing_required_and_enum_traits()
12536  12762   
        }
12537         -
        fn build_enforcing_required_and_enum_traits(
12538         -
            self,
12539         -
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
12540         -
            Ok(crate::input::MalformedBooleanInput {
12541         -
                boolean_in_body: self.boolean_in_body,
12542         -
                boolean_in_path: self
12543         -
                    .boolean_in_path
12544         -
                    .ok_or(ConstraintViolation::MissingBooleanInPath)?,
12545         -
                boolean_in_query: self.boolean_in_query,
12546         -
                boolean_in_header: self.boolean_in_header,
12547         -
            })
       12763  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpStringPayloadInput {
       12764  +
            crate::input::HttpStringPayloadInput {
       12765  +
                payload: self.payload,
       12766  +
            }
12548  12767   
        }
12549  12768   
    }
12550  12769   
}
12551         -
/// See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
12552         -
pub(crate) mod malformed_union_input_internal {
       12770  +
/// See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       12771  +
pub(crate) mod http_payload_with_union_input_internal {
12553  12772   
12554         -
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
       12773  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
12555  12774   
        fn from(builder: Builder) -> Self {
12556  12775   
            builder.build()
12557  12776   
        }
12558  12777   
    }
12559         -
    /// A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       12778  +
    /// A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
12560  12779   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12561  12780   
    pub(crate) struct Builder {
12562         -
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
       12781  +
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
12563  12782   
    }
12564  12783   
    impl Builder {
12565  12784   
        #[allow(missing_docs)] // documentation missing in model
12566         -
        pub(crate) fn set_union(
       12785  +
        pub(crate) fn set_nested(
12567  12786   
            mut self,
12568         -
            input: Option<impl ::std::convert::Into<crate::model::SimpleUnion>>,
       12787  +
            input: Option<impl ::std::convert::Into<crate::model::UnionPayload>>,
12569  12788   
        ) -> Self {
12570         -
            self.union = input.map(|v| v.into());
       12789  +
            self.nested = input.map(|v| v.into());
12571  12790   
            self
12572  12791   
        }
12573         -
        /// Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
12574         -
        pub fn build(self) -> crate::input::MalformedUnionInput {
       12792  +
        /// Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       12793  +
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
12575  12794   
            self.build_enforcing_all_constraints()
12576  12795   
        }
12577         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedUnionInput {
12578         -
            crate::input::MalformedUnionInput { union: self.union }
       12796  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithUnionInput {
       12797  +
            crate::input::HttpPayloadWithUnionInput {
       12798  +
                nested: self.nested,
       12799  +
            }
12579  12800   
        }
12580  12801   
    }
12581  12802   
}
12582         -
/// See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
12583         -
pub mod malformed_union_input {
       12803  +
/// See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       12804  +
pub mod http_payload_with_union_input {
12584  12805   
12585         -
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
       12806  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
12586  12807   
        fn from(builder: Builder) -> Self {
12587  12808   
            builder.build()
12588  12809   
        }
12589  12810   
    }
12590         -
    /// A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       12811  +
    /// A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
12591  12812   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12592  12813   
    pub struct Builder {
12593         -
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
       12814  +
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
12594  12815   
    }
12595  12816   
    impl Builder {
12596  12817   
        #[allow(missing_docs)] // documentation missing in model
12597         -
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
12598         -
            self.union = input;
       12818  +
        pub fn nested(mut self, input: ::std::option::Option<crate::model::UnionPayload>) -> Self {
       12819  +
            self.nested = input;
12599  12820   
            self
12600  12821   
        }
12601         -
        /// Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
12602         -
        pub fn build(self) -> crate::input::MalformedUnionInput {
       12822  +
        /// Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       12823  +
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
12603  12824   
            self.build_enforcing_required_and_enum_traits()
12604  12825   
        }
12605         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedUnionInput {
12606         -
            crate::input::MalformedUnionInput { union: self.union }
       12826  +
        fn build_enforcing_required_and_enum_traits(
       12827  +
            self,
       12828  +
        ) -> crate::input::HttpPayloadWithUnionInput {
       12829  +
            crate::input::HttpPayloadWithUnionInput {
       12830  +
                nested: self.nested,
       12831  +
            }
12607  12832   
        }
12608  12833   
    }
12609  12834   
}
12610         -
/// See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
12611         -
pub(crate) mod malformed_integer_input_internal {
       12835  +
/// See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       12836  +
pub(crate) mod http_response_code_input_internal {
12612  12837   
12613         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12614         -
    /// Holds one variant for each of the ways the builder can fail.
12615         -
    #[non_exhaustive]
12616         -
    #[allow(clippy::enum_variant_names)]
12617         -
    pub(crate) enum ConstraintViolation {
12618         -
        /// `integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
12619         -
        MissingIntegerInPath,
12620         -
    }
12621         -
    impl ::std::fmt::Display for ConstraintViolation {
12622         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12623         -
            match self {
12624         -
                ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
12625         -
            }
12626         -
        }
12627         -
    }
12628         -
    impl ::std::error::Error for ConstraintViolation {}
12629         -
    impl ConstraintViolation {
12630         -
        pub(crate) fn as_validation_exception_field(
12631         -
            self,
12632         -
            path: ::std::string::String,
12633         -
        ) -> crate::model::ValidationExceptionField {
12634         -
            match self {
12635         -
            ConstraintViolation::MissingIntegerInPath => crate::model::ValidationExceptionField {
12636         -
                                                message: format!("Value at '{}/integerInPath' failed to satisfy constraint: Member must not be null", path),
12637         -
                                                path: path + "/integerInPath",
12638         -
                                            },
12639         -
        }
12640         -
        }
12641         -
    }
12642         -
    impl ::std::convert::From<ConstraintViolation>
12643         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
12644         -
    {
12645         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
12646         -
            let first_validation_exception_field =
12647         -
                constraint_violation.as_validation_exception_field("".to_owned());
12648         -
            let validation_exception = crate::error::ValidationException {
12649         -
                message: format!(
12650         -
                    "1 validation error detected. {}",
12651         -
                    &first_validation_exception_field.message
12652         -
                ),
12653         -
                field_list: Some(vec![first_validation_exception_field]),
12654         -
            };
12655         -
            Self::ConstraintViolation(
12656         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
12657         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
12658         -
                            )
       12838  +
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
       12839  +
        fn from(builder: Builder) -> Self {
       12840  +
            builder.build()
12659  12841   
        }
12660  12842   
    }
12661         -
    impl ::std::convert::From<Builder>
12662         -
        for crate::constrained::MaybeConstrained<crate::input::MalformedIntegerInput>
12663         -
    {
12664         -
        fn from(builder: Builder) -> Self {
12665         -
            Self::Unconstrained(builder)
       12843  +
    /// A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       12844  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12845  +
    pub(crate) struct Builder {}
       12846  +
    impl Builder {
       12847  +
        /// Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       12848  +
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
       12849  +
            self.build_enforcing_all_constraints()
       12850  +
        }
       12851  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpResponseCodeInput {
       12852  +
            crate::input::HttpResponseCodeInput {}
12666  12853   
        }
12667  12854   
    }
12668         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
12669         -
        type Error = ConstraintViolation;
       12855  +
}
       12856  +
/// See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       12857  +
pub mod http_response_code_input {
12670  12858   
12671         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12859  +
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
       12860  +
        fn from(builder: Builder) -> Self {
12672  12861   
            builder.build()
12673  12862   
        }
12674  12863   
    }
12675         -
    /// A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       12864  +
    /// A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
12676  12865   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12677         -
    pub(crate) struct Builder {
12678         -
        pub(crate) integer_in_body: ::std::option::Option<i32>,
12679         -
        pub(crate) integer_in_path: ::std::option::Option<i32>,
12680         -
        pub(crate) integer_in_query: ::std::option::Option<i32>,
12681         -
        pub(crate) integer_in_header: ::std::option::Option<i32>,
12682         -
    }
       12866  +
    pub struct Builder {}
12683  12867   
    impl Builder {
12684         -
        #[allow(missing_docs)] // documentation missing in model
12685         -
        pub(crate) fn set_integer_in_body(
12686         -
            mut self,
12687         -
            input: Option<impl ::std::convert::Into<i32>>,
12688         -
        ) -> Self {
12689         -
            self.integer_in_body = input.map(|v| v.into());
12690         -
            self
12691         -
        }
12692         -
        #[allow(missing_docs)] // documentation missing in model
12693         -
        pub(crate) fn set_integer_in_path(mut self, input: impl ::std::convert::Into<i32>) -> Self {
12694         -
            self.integer_in_path = Some(input.into());
12695         -
            self
       12868  +
        /// Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       12869  +
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
       12870  +
            self.build_enforcing_required_and_enum_traits()
12696  12871   
        }
12697         -
        #[allow(missing_docs)] // documentation missing in model
12698         -
        pub(crate) fn set_integer_in_query(
12699         -
            mut self,
12700         -
            input: Option<impl ::std::convert::Into<i32>>,
12701         -
        ) -> Self {
12702         -
            self.integer_in_query = input.map(|v| v.into());
12703         -
            self
       12872  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpResponseCodeInput {
       12873  +
            crate::input::HttpResponseCodeInput {}
12704  12874   
        }
12705         -
        #[allow(missing_docs)] // documentation missing in model
12706         -
        pub(crate) fn set_integer_in_header(
12707         -
            mut self,
12708         -
            input: Option<impl ::std::convert::Into<i32>>,
12709         -
        ) -> Self {
12710         -
            self.integer_in_header = input.map(|v| v.into());
12711         -
            self
       12875  +
    }
       12876  +
}
       12877  +
/// See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       12878  +
pub(crate) mod response_code_required_input_internal {
       12879  +
       12880  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
       12881  +
        fn from(builder: Builder) -> Self {
       12882  +
            builder.build()
12712  12883   
        }
12713         -
        /// Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
12714         -
        ///
12715         -
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if a [`ConstraintViolation`] occurs.
12716         -
        ///
12717         -
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       12884  +
    }
       12885  +
    /// A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       12886  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12887  +
    pub(crate) struct Builder {}
       12888  +
    impl Builder {
       12889  +
        /// Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       12890  +
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
12718  12891   
            self.build_enforcing_all_constraints()
12719  12892   
        }
12720         -
        fn build_enforcing_all_constraints(
12721         -
            self,
12722         -
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
12723         -
            Ok(crate::input::MalformedIntegerInput {
12724         -
                integer_in_body: self.integer_in_body,
12725         -
                integer_in_path: self
12726         -
                    .integer_in_path
12727         -
                    .ok_or(ConstraintViolation::MissingIntegerInPath)?,
12728         -
                integer_in_query: self.integer_in_query,
12729         -
                integer_in_header: self.integer_in_header,
12730         -
            })
       12893  +
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeRequiredInput {
       12894  +
            crate::input::ResponseCodeRequiredInput {}
12731  12895   
        }
12732  12896   
    }
12733  12897   
}
12734         -
/// See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
12735         -
pub mod malformed_integer_input {
       12898  +
/// See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       12899  +
pub mod response_code_required_input {
12736  12900   
12737         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12738         -
    /// Holds one variant for each of the ways the builder can fail.
12739         -
    #[allow(clippy::enum_variant_names)]
12740         -
    pub enum ConstraintViolation {
12741         -
        /// `integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
12742         -
        MissingIntegerInPath,
       12901  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
       12902  +
        fn from(builder: Builder) -> Self {
       12903  +
            builder.build()
       12904  +
        }
12743  12905   
    }
12744         -
    impl ::std::fmt::Display for ConstraintViolation {
12745         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12746         -
            match self {
12747         -
                ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
12748         -
            }
       12906  +
    /// A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       12907  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12908  +
    pub struct Builder {}
       12909  +
    impl Builder {
       12910  +
        /// Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       12911  +
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
       12912  +
            self.build_enforcing_required_and_enum_traits()
       12913  +
        }
       12914  +
        fn build_enforcing_required_and_enum_traits(
       12915  +
            self,
       12916  +
        ) -> crate::input::ResponseCodeRequiredInput {
       12917  +
            crate::input::ResponseCodeRequiredInput {}
12749  12918   
        }
12750  12919   
    }
12751         -
    impl ::std::error::Error for ConstraintViolation {}
12752         -
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
12753         -
        type Error = ConstraintViolation;
       12920  +
}
       12921  +
/// See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       12922  +
pub(crate) mod response_code_http_fallback_input_internal {
12754  12923   
12755         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12924  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
       12925  +
        fn from(builder: Builder) -> Self {
12756  12926   
            builder.build()
12757  12927   
        }
12758  12928   
    }
12759         -
    /// A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       12929  +
    /// A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
12760  12930   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12761         -
    pub struct Builder {
12762         -
        pub(crate) integer_in_body: ::std::option::Option<i32>,
12763         -
        pub(crate) integer_in_path: ::std::option::Option<i32>,
12764         -
        pub(crate) integer_in_query: ::std::option::Option<i32>,
12765         -
        pub(crate) integer_in_header: ::std::option::Option<i32>,
12766         -
    }
       12931  +
    pub(crate) struct Builder {}
12767  12932   
    impl Builder {
12768         -
        #[allow(missing_docs)] // documentation missing in model
12769         -
        pub fn integer_in_body(mut self, input: ::std::option::Option<i32>) -> Self {
12770         -
            self.integer_in_body = input;
12771         -
            self
12772         -
        }
12773         -
        #[allow(missing_docs)] // documentation missing in model
12774         -
        pub fn integer_in_path(mut self, input: i32) -> Self {
12775         -
            self.integer_in_path = Some(input);
12776         -
            self
       12933  +
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       12934  +
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
       12935  +
            self.build_enforcing_all_constraints()
12777  12936   
        }
12778         -
        #[allow(missing_docs)] // documentation missing in model
12779         -
        pub fn integer_in_query(mut self, input: ::std::option::Option<i32>) -> Self {
12780         -
            self.integer_in_query = input;
12781         -
            self
       12937  +
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeHttpFallbackInput {
       12938  +
            crate::input::ResponseCodeHttpFallbackInput {}
12782  12939   
        }
12783         -
        #[allow(missing_docs)] // documentation missing in model
12784         -
        pub fn integer_in_header(mut self, input: ::std::option::Option<i32>) -> Self {
12785         -
            self.integer_in_header = input;
12786         -
            self
       12940  +
    }
       12941  +
}
       12942  +
/// See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       12943  +
pub mod response_code_http_fallback_input {
       12944  +
       12945  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
       12946  +
        fn from(builder: Builder) -> Self {
       12947  +
            builder.build()
12787  12948   
        }
12788         -
        /// Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
12789         -
        ///
12790         -
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if you do not provide a value for all non-`Option`al members.
12791         -
        ///
12792         -
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       12949  +
    }
       12950  +
    /// A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       12951  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12952  +
    pub struct Builder {}
       12953  +
    impl Builder {
       12954  +
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       12955  +
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
12793  12956   
            self.build_enforcing_required_and_enum_traits()
12794  12957   
        }
12795  12958   
        fn build_enforcing_required_and_enum_traits(
12796  12959   
            self,
12797         -
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
12798         -
            Ok(crate::input::MalformedIntegerInput {
12799         -
                integer_in_body: self.integer_in_body,
12800         -
                integer_in_path: self
12801         -
                    .integer_in_path
12802         -
                    .ok_or(ConstraintViolation::MissingIntegerInPath)?,
12803         -
                integer_in_query: self.integer_in_query,
12804         -
                integer_in_header: self.integer_in_header,
12805         -
            })
       12960  +
        ) -> crate::input::ResponseCodeHttpFallbackInput {
       12961  +
            crate::input::ResponseCodeHttpFallbackInput {}
12806  12962   
        }
12807  12963   
    }
12808  12964   
}
12809         -
/// See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
12810         -
pub(crate) mod malformed_request_body_input_internal {
       12965  +
/// See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       12966  +
pub(crate) mod streaming_traits_input_internal {
12811  12967   
12812         -
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
       12968  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
12813  12969   
        fn from(builder: Builder) -> Self {
12814  12970   
            builder.build()
12815  12971   
        }
12816  12972   
    }
12817         -
    /// A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       12973  +
    /// A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
12818  12974   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12819  12975   
    pub(crate) struct Builder {
12820         -
        pub(crate) int: ::std::option::Option<i32>,
12821         -
        pub(crate) float: ::std::option::Option<f32>,
       12976  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       12977  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
12822  12978   
    }
12823  12979   
    impl Builder {
12824  12980   
        #[allow(missing_docs)] // documentation missing in model
12825         -
        pub(crate) fn set_int(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
12826         -
            self.int = input.map(|v| v.into());
       12981  +
        pub(crate) fn set_foo(
       12982  +
            mut self,
       12983  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       12984  +
        ) -> Self {
       12985  +
            self.foo = input.map(|v| v.into());
12827  12986   
            self
12828  12987   
        }
12829  12988   
        #[allow(missing_docs)] // documentation missing in model
12830         -
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
12831         -
            self.float = input.map(|v| v.into());
       12989  +
        pub(crate) fn set_blob(
       12990  +
            mut self,
       12991  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::ByteStream>,
       12992  +
        ) -> Self {
       12993  +
            self.blob = Some(input.into());
12832  12994   
            self
12833  12995   
        }
12834         -
        /// Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
12835         -
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
       12996  +
        /// Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       12997  +
        pub fn build(self) -> crate::input::StreamingTraitsInput {
12836  12998   
            self.build_enforcing_all_constraints()
12837  12999   
        }
12838         -
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedRequestBodyInput {
12839         -
            crate::input::MalformedRequestBodyInput {
12840         -
                int: self.int,
12841         -
                float: self.float,
       13000  +
        fn build_enforcing_all_constraints(self) -> crate::input::StreamingTraitsInput {
       13001  +
            crate::input::StreamingTraitsInput {
       13002  +
                foo: self.foo,
       13003  +
                blob: self.blob.unwrap_or_default(),
12842  13004   
            }
12843  13005   
        }
12844  13006   
    }
12845  13007   
}
12846         -
/// See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
12847         -
pub mod malformed_request_body_input {
       13008  +
/// See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       13009  +
pub mod streaming_traits_input {
12848  13010   
12849         -
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
       13011  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
12850  13012   
        fn from(builder: Builder) -> Self {
12851  13013   
            builder.build()
12852  13014   
        }
12853  13015   
    }
12854         -
    /// A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       13016  +
    /// A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
12855  13017   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12856  13018   
    pub struct Builder {
12857         -
        pub(crate) int: ::std::option::Option<i32>,
12858         -
        pub(crate) float: ::std::option::Option<f32>,
       13019  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13020  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
12859  13021   
    }
12860  13022   
    impl Builder {
12861  13023   
        #[allow(missing_docs)] // documentation missing in model
12862         -
        pub fn int(mut self, input: ::std::option::Option<i32>) -> Self {
12863         -
            self.int = input;
       13024  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       13025  +
            self.foo = input;
12864  13026   
            self
12865  13027   
        }
12866  13028   
        #[allow(missing_docs)] // documentation missing in model
12867         -
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
12868         -
            self.float = input;
       13029  +
        pub fn blob(mut self, input: ::aws_smithy_http_server_python::types::ByteStream) -> Self {
       13030  +
            self.blob = Some(input);
12869  13031   
            self
12870         -
        }
12871         -
        /// Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
12872         -
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
12873         -
            self.build_enforcing_required_and_enum_traits()
12874         -
        }
12875         -
        fn build_enforcing_required_and_enum_traits(
12876         -
            self,
12877         -
        ) -> crate::input::MalformedRequestBodyInput {
12878         -
            crate::input::MalformedRequestBodyInput {
12879         -
                int: self.int,
12880         -
                float: self.float,
       13032  +
        }
       13033  +
        /// Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       13034  +
        pub fn build(self) -> crate::input::StreamingTraitsInput {
       13035  +
            self.build_enforcing_required_and_enum_traits()
       13036  +
        }
       13037  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::StreamingTraitsInput {
       13038  +
            crate::input::StreamingTraitsInput {
       13039  +
                foo: self.foo,
       13040  +
                blob: self.blob.unwrap_or_default(),
12881  13041   
            }
12882  13042   
        }
12883  13043   
    }
12884  13044   
}
12885         -
/// See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
12886         -
pub(crate) mod http_checksum_required_input_internal {
       13045  +
/// See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       13046  +
pub(crate) mod streaming_traits_require_length_input_internal {
12887  13047   
12888         -
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
       13048  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
12889  13049   
        fn from(builder: Builder) -> Self {
12890  13050   
            builder.build()
12891  13051   
        }
12892  13052   
    }
12893         -
    /// A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       13053  +
    /// A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
12894  13054   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12895  13055   
    pub(crate) struct Builder {
12896  13056   
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13057  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
12897  13058   
    }
12898  13059   
    impl Builder {
12899  13060   
        #[allow(missing_docs)] // documentation missing in model
12900  13061   
        pub(crate) fn set_foo(
12901  13062   
            mut self,
12902  13063   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
12903  13064   
        ) -> Self {
12904  13065   
            self.foo = input.map(|v| v.into());
12905  13066   
            self
12906  13067   
        }
12907         -
        /// Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
12908         -
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       13068  +
        #[allow(missing_docs)] // documentation missing in model
       13069  +
        pub(crate) fn set_blob(
       13070  +
            mut self,
       13071  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::ByteStream>,
       13072  +
        ) -> Self {
       13073  +
            self.blob = Some(input.into());
       13074  +
            self
       13075  +
        }
       13076  +
        /// Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       13077  +
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
12909  13078   
            self.build_enforcing_all_constraints()
12910  13079   
        }
12911         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpChecksumRequiredInput {
12912         -
            crate::input::HttpChecksumRequiredInput { foo: self.foo }
       13080  +
        fn build_enforcing_all_constraints(
       13081  +
            self,
       13082  +
        ) -> crate::input::StreamingTraitsRequireLengthInput {
       13083  +
            crate::input::StreamingTraitsRequireLengthInput {
       13084  +
                foo: self.foo,
       13085  +
                blob: self.blob.unwrap_or_default(),
       13086  +
            }
12913  13087   
        }
12914  13088   
    }
12915  13089   
}
12916         -
/// See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
12917         -
pub mod http_checksum_required_input {
       13090  +
/// See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       13091  +
pub mod streaming_traits_require_length_input {
12918  13092   
12919         -
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
       13093  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
12920  13094   
        fn from(builder: Builder) -> Self {
12921  13095   
            builder.build()
12922  13096   
        }
12923  13097   
    }
12924         -
    /// A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       13098  +
    /// A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
12925  13099   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12926  13100   
    pub struct Builder {
12927  13101   
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13102  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
12928  13103   
    }
12929  13104   
    impl Builder {
12930  13105   
        #[allow(missing_docs)] // documentation missing in model
12931  13106   
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
12932  13107   
            self.foo = input;
12933  13108   
            self
12934  13109   
        }
12935         -
        /// Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
12936         -
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       13110  +
        #[allow(missing_docs)] // documentation missing in model
       13111  +
        pub fn blob(mut self, input: ::aws_smithy_http_server_python::types::ByteStream) -> Self {
       13112  +
            self.blob = Some(input);
       13113  +
            self
       13114  +
        }
       13115  +
        /// Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       13116  +
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
12937  13117   
            self.build_enforcing_required_and_enum_traits()
12938  13118   
        }
12939  13119   
        fn build_enforcing_required_and_enum_traits(
12940  13120   
            self,
12941         -
        ) -> crate::input::HttpChecksumRequiredInput {
12942         -
            crate::input::HttpChecksumRequiredInput { foo: self.foo }
       13121  +
        ) -> crate::input::StreamingTraitsRequireLengthInput {
       13122  +
            crate::input::StreamingTraitsRequireLengthInput {
       13123  +
                foo: self.foo,
       13124  +
                blob: self.blob.unwrap_or_default(),
       13125  +
            }
12943  13126   
        }
12944  13127   
    }
12945  13128   
}
12946         -
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
12947         -
pub(crate) mod host_with_path_operation_input_internal {
       13129  +
/// See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       13130  +
pub(crate) mod streaming_traits_with_media_type_input_internal {
12948  13131   
12949         -
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
       13132  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
12950  13133   
        fn from(builder: Builder) -> Self {
12951  13134   
            builder.build()
12952  13135   
        }
12953  13136   
    }
12954         -
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       13137  +
    /// A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
12955  13138   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12956         -
    pub(crate) struct Builder {}
       13139  +
    pub(crate) struct Builder {
       13140  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13141  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       13142  +
    }
12957  13143   
    impl Builder {
12958         -
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
12959         -
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
       13144  +
        #[allow(missing_docs)] // documentation missing in model
       13145  +
        pub(crate) fn set_foo(
       13146  +
            mut self,
       13147  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       13148  +
        ) -> Self {
       13149  +
            self.foo = input.map(|v| v.into());
       13150  +
            self
       13151  +
        }
       13152  +
        #[allow(missing_docs)] // documentation missing in model
       13153  +
        pub(crate) fn set_blob(
       13154  +
            mut self,
       13155  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::ByteStream>,
       13156  +
        ) -> Self {
       13157  +
            self.blob = Some(input.into());
       13158  +
            self
       13159  +
        }
       13160  +
        /// Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       13161  +
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
12960  13162   
            self.build_enforcing_all_constraints()
12961  13163   
        }
12962         -
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
12963         -
            crate::input::HostWithPathOperationInput {}
       13164  +
        fn build_enforcing_all_constraints(
       13165  +
            self,
       13166  +
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
       13167  +
            crate::input::StreamingTraitsWithMediaTypeInput {
       13168  +
                foo: self.foo,
       13169  +
                blob: self.blob.unwrap_or_default(),
       13170  +
            }
12964  13171   
        }
12965  13172   
    }
12966  13173   
}
12967         -
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
12968         -
pub mod host_with_path_operation_input {
       13174  +
/// See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       13175  +
pub mod streaming_traits_with_media_type_input {
12969  13176   
12970         -
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
       13177  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
12971  13178   
        fn from(builder: Builder) -> Self {
12972  13179   
            builder.build()
12973  13180   
        }
12974  13181   
    }
12975         -
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       13182  +
    /// A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
12976  13183   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
12977         -
    pub struct Builder {}
       13184  +
    pub struct Builder {
       13185  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13186  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       13187  +
    }
12978  13188   
    impl Builder {
12979         -
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
12980         -
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
       13189  +
        #[allow(missing_docs)] // documentation missing in model
       13190  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       13191  +
            self.foo = input;
       13192  +
            self
       13193  +
        }
       13194  +
        #[allow(missing_docs)] // documentation missing in model
       13195  +
        pub fn blob(mut self, input: ::aws_smithy_http_server_python::types::ByteStream) -> Self {
       13196  +
            self.blob = Some(input);
       13197  +
            self
       13198  +
        }
       13199  +
        /// Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       13200  +
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
12981  13201   
            self.build_enforcing_required_and_enum_traits()
12982  13202   
        }
12983  13203   
        fn build_enforcing_required_and_enum_traits(
12984  13204   
            self,
12985         -
        ) -> crate::input::HostWithPathOperationInput {
12986         -
            crate::input::HostWithPathOperationInput {}
       13205  +
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
       13206  +
            crate::input::StreamingTraitsWithMediaTypeInput {
       13207  +
                foo: self.foo,
       13208  +
                blob: self.blob.unwrap_or_default(),
       13209  +
            }
12987  13210   
        }
12988  13211   
    }
12989  13212   
}
12990         -
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
12991         -
pub(crate) mod endpoint_with_host_label_operation_input_internal {
       13213  +
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       13214  +
pub(crate) mod greeting_with_errors_input_internal {
12992  13215   
12993         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12994         -
    /// Holds one variant for each of the ways the builder can fail.
12995         -
    #[non_exhaustive]
12996         -
    #[allow(clippy::enum_variant_names)]
12997         -
    pub(crate) enum ConstraintViolation {
12998         -
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
12999         -
        MissingLabel,
13000         -
    }
13001         -
    impl ::std::fmt::Display for ConstraintViolation {
13002         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13003         -
            match self {
13004         -
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
13005         -
            }
13006         -
        }
13007         -
    }
13008         -
    impl ::std::error::Error for ConstraintViolation {}
13009         -
    impl ConstraintViolation {
13010         -
        pub(crate) fn as_validation_exception_field(
13011         -
            self,
13012         -
            path: ::std::string::String,
13013         -
        ) -> crate::model::ValidationExceptionField {
13014         -
            match self {
13015         -
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
13016         -
                    message: format!(
13017         -
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
13018         -
                        path
13019         -
                    ),
13020         -
                    path: path + "/label",
13021         -
                },
13022         -
            }
13023         -
        }
13024         -
    }
13025         -
    impl ::std::convert::From<ConstraintViolation>
13026         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
13027         -
    {
13028         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
13029         -
            let first_validation_exception_field =
13030         -
                constraint_violation.as_validation_exception_field("".to_owned());
13031         -
            let validation_exception = crate::error::ValidationException {
13032         -
                message: format!(
13033         -
                    "1 validation error detected. {}",
13034         -
                    &first_validation_exception_field.message
13035         -
                ),
13036         -
                field_list: Some(vec![first_validation_exception_field]),
13037         -
            };
13038         -
            Self::ConstraintViolation(
13039         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
13040         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
13041         -
                            )
13042         -
        }
13043         -
    }
13044         -
    impl ::std::convert::From<Builder>
13045         -
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
13046         -
    {
       13216  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
13047  13217   
        fn from(builder: Builder) -> Self {
13048         -
            Self::Unconstrained(builder)
13049         -
        }
13050         -
    }
13051         -
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
13052         -
        type Error = ConstraintViolation;
13053         -
13054         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
13055  13218   
            builder.build()
13056  13219   
        }
13057  13220   
    }
13058         -
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       13221  +
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
13059  13222   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13060         -
    pub(crate) struct Builder {
13061         -
        pub(crate) label: ::std::option::Option<::std::string::String>,
13062         -
    }
       13223  +
    pub(crate) struct Builder {}
13063  13224   
    impl Builder {
13064         -
        #[allow(missing_docs)] // documentation missing in model
13065         -
        pub(crate) fn set_label(
13066         -
            mut self,
13067         -
            input: impl ::std::convert::Into<::std::string::String>,
13068         -
        ) -> Self {
13069         -
            self.label = Some(input.into());
13070         -
            self
13071         -
        }
13072         -
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
13073         -
        ///
13074         -
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
13075         -
        ///
13076         -
        pub fn build(
13077         -
            self,
13078         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
13079         -
        {
13080         -
            self.build_enforcing_all_constraints()
13081         -
        }
13082         -
        fn build_enforcing_all_constraints(
13083         -
            self,
13084         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
13085         -
        {
13086         -
            Ok(crate::input::EndpointWithHostLabelOperationInput {
13087         -
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
13088         -
            })
13089         -
        }
13090         -
    }
13091         -
}
13092         -
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
13093         -
pub mod endpoint_with_host_label_operation_input {
13094         -
13095         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
13096         -
    /// Holds one variant for each of the ways the builder can fail.
13097         -
    #[allow(clippy::enum_variant_names)]
13098         -
    pub enum ConstraintViolation {
13099         -
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
13100         -
        MissingLabel,
13101         -
    }
13102         -
    impl ::std::fmt::Display for ConstraintViolation {
13103         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13104         -
            match self {
13105         -
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
13106         -
            }
       13225  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       13226  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
       13227  +
            self.build_enforcing_all_constraints()
       13228  +
        }
       13229  +
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
       13230  +
            crate::input::GreetingWithErrorsInput {}
13107  13231   
        }
13108  13232   
    }
13109         -
    impl ::std::error::Error for ConstraintViolation {}
13110         -
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
13111         -
        type Error = ConstraintViolation;
       13233  +
}
       13234  +
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       13235  +
pub mod greeting_with_errors_input {
13112  13236   
13113         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       13237  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
       13238  +
        fn from(builder: Builder) -> Self {
13114  13239   
            builder.build()
13115  13240   
        }
13116  13241   
    }
13117         -
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       13242  +
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
13118  13243   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13119         -
    pub struct Builder {
13120         -
        pub(crate) label: ::std::option::Option<::std::string::String>,
13121         -
    }
       13244  +
    pub struct Builder {}
13122  13245   
    impl Builder {
13123         -
        #[allow(missing_docs)] // documentation missing in model
13124         -
        pub fn label(mut self, input: ::std::string::String) -> Self {
13125         -
            self.label = Some(input);
13126         -
            self
13127         -
        }
13128         -
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
13129         -
        ///
13130         -
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if you do not provide a value for all non-`Option`al members.
13131         -
        ///
13132         -
        pub fn build(
13133         -
            self,
13134         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
13135         -
        {
       13246  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       13247  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
13136  13248   
            self.build_enforcing_required_and_enum_traits()
13137  13249   
        }
13138         -
        fn build_enforcing_required_and_enum_traits(
13139         -
            self,
13140         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
13141         -
        {
13142         -
            Ok(crate::input::EndpointWithHostLabelOperationInput {
13143         -
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
13144         -
            })
       13250  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::GreetingWithErrorsInput {
       13251  +
            crate::input::GreetingWithErrorsInput {}
13145  13252   
        }
13146  13253   
    }
13147  13254   
}
13148         -
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
13149         -
pub(crate) mod endpoint_operation_input_internal {
       13255  +
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       13256  +
pub(crate) mod simple_scalar_properties_input_internal {
13150  13257   
13151         -
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
       13258  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
13152  13259   
        fn from(builder: Builder) -> Self {
13153  13260   
            builder.build()
13154  13261   
        }
13155  13262   
    }
13156         -
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       13263  +
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
13157  13264   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13158         -
    pub(crate) struct Builder {}
       13265  +
    pub(crate) struct Builder {
       13266  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13267  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       13268  +
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
       13269  +
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
       13270  +
        pub(crate) byte_value: ::std::option::Option<i8>,
       13271  +
        pub(crate) short_value: ::std::option::Option<i16>,
       13272  +
        pub(crate) integer_value: ::std::option::Option<i32>,
       13273  +
        pub(crate) long_value: ::std::option::Option<i64>,
       13274  +
        pub(crate) float_value: ::std::option::Option<f32>,
       13275  +
        pub(crate) double_value: ::std::option::Option<f64>,
       13276  +
    }
13159  13277   
    impl Builder {
13160         -
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
13161         -
        pub fn build(self) -> crate::input::EndpointOperationInput {
       13278  +
        #[allow(missing_docs)] // documentation missing in model
       13279  +
        pub(crate) fn set_foo(
       13280  +
            mut self,
       13281  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       13282  +
        ) -> Self {
       13283  +
            self.foo = input.map(|v| v.into());
       13284  +
            self
       13285  +
        }
       13286  +
        #[allow(missing_docs)] // documentation missing in model
       13287  +
        pub(crate) fn set_string_value(
       13288  +
            mut self,
       13289  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       13290  +
        ) -> Self {
       13291  +
            self.string_value = input.map(|v| v.into());
       13292  +
            self
       13293  +
        }
       13294  +
        #[allow(missing_docs)] // documentation missing in model
       13295  +
        pub(crate) fn set_true_boolean_value(
       13296  +
            mut self,
       13297  +
            input: Option<impl ::std::convert::Into<bool>>,
       13298  +
        ) -> Self {
       13299  +
            self.true_boolean_value = input.map(|v| v.into());
       13300  +
            self
       13301  +
        }
       13302  +
        #[allow(missing_docs)] // documentation missing in model
       13303  +
        pub(crate) fn set_false_boolean_value(
       13304  +
            mut self,
       13305  +
            input: Option<impl ::std::convert::Into<bool>>,
       13306  +
        ) -> Self {
       13307  +
            self.false_boolean_value = input.map(|v| v.into());
       13308  +
            self
       13309  +
        }
       13310  +
        #[allow(missing_docs)] // documentation missing in model
       13311  +
        pub(crate) fn set_byte_value(
       13312  +
            mut self,
       13313  +
            input: Option<impl ::std::convert::Into<i8>>,
       13314  +
        ) -> Self {
       13315  +
            self.byte_value = input.map(|v| v.into());
       13316  +
            self
       13317  +
        }
       13318  +
        #[allow(missing_docs)] // documentation missing in model
       13319  +
        pub(crate) fn set_short_value(
       13320  +
            mut self,
       13321  +
            input: Option<impl ::std::convert::Into<i16>>,
       13322  +
        ) -> Self {
       13323  +
            self.short_value = input.map(|v| v.into());
       13324  +
            self
       13325  +
        }
       13326  +
        #[allow(missing_docs)] // documentation missing in model
       13327  +
        pub(crate) fn set_integer_value(
       13328  +
            mut self,
       13329  +
            input: Option<impl ::std::convert::Into<i32>>,
       13330  +
        ) -> Self {
       13331  +
            self.integer_value = input.map(|v| v.into());
       13332  +
            self
       13333  +
        }
       13334  +
        #[allow(missing_docs)] // documentation missing in model
       13335  +
        pub(crate) fn set_long_value(
       13336  +
            mut self,
       13337  +
            input: Option<impl ::std::convert::Into<i64>>,
       13338  +
        ) -> Self {
       13339  +
            self.long_value = input.map(|v| v.into());
       13340  +
            self
       13341  +
        }
       13342  +
        #[allow(missing_docs)] // documentation missing in model
       13343  +
        pub(crate) fn set_float_value(
       13344  +
            mut self,
       13345  +
            input: Option<impl ::std::convert::Into<f32>>,
       13346  +
        ) -> Self {
       13347  +
            self.float_value = input.map(|v| v.into());
       13348  +
            self
       13349  +
        }
       13350  +
        #[allow(missing_docs)] // documentation missing in model
       13351  +
        pub(crate) fn set_double_value(
       13352  +
            mut self,
       13353  +
            input: Option<impl ::std::convert::Into<f64>>,
       13354  +
        ) -> Self {
       13355  +
            self.double_value = input.map(|v| v.into());
       13356  +
            self
       13357  +
        }
       13358  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       13359  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
13162  13360   
            self.build_enforcing_all_constraints()
13163  13361   
        }
13164         -
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
13165         -
            crate::input::EndpointOperationInput {}
       13362  +
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
       13363  +
            crate::input::SimpleScalarPropertiesInput {
       13364  +
                foo: self.foo,
       13365  +
                string_value: self.string_value,
       13366  +
                true_boolean_value: self.true_boolean_value,
       13367  +
                false_boolean_value: self.false_boolean_value,
       13368  +
                byte_value: self.byte_value,
       13369  +
                short_value: self.short_value,
       13370  +
                integer_value: self.integer_value,
       13371  +
                long_value: self.long_value,
       13372  +
                float_value: self.float_value,
       13373  +
                double_value: self.double_value,
       13374  +
            }
13166  13375   
        }
13167  13376   
    }
13168  13377   
}
13169         -
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
13170         -
pub mod endpoint_operation_input {
       13378  +
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       13379  +
pub mod simple_scalar_properties_input {
13171  13380   
13172         -
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
       13381  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
13173  13382   
        fn from(builder: Builder) -> Self {
13174  13383   
            builder.build()
13175  13384   
        }
13176  13385   
    }
13177         -
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       13386  +
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
13178  13387   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13179         -
    pub struct Builder {}
       13388  +
    pub struct Builder {
       13389  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       13390  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       13391  +
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
       13392  +
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
       13393  +
        pub(crate) byte_value: ::std::option::Option<i8>,
       13394  +
        pub(crate) short_value: ::std::option::Option<i16>,
       13395  +
        pub(crate) integer_value: ::std::option::Option<i32>,
       13396  +
        pub(crate) long_value: ::std::option::Option<i64>,
       13397  +
        pub(crate) float_value: ::std::option::Option<f32>,
       13398  +
        pub(crate) double_value: ::std::option::Option<f64>,
       13399  +
    }
13180  13400   
    impl Builder {
13181         -
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
13182         -
        pub fn build(self) -> crate::input::EndpointOperationInput {
       13401  +
        #[allow(missing_docs)] // documentation missing in model
       13402  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       13403  +
            self.foo = input;
       13404  +
            self
       13405  +
        }
       13406  +
        #[allow(missing_docs)] // documentation missing in model
       13407  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       13408  +
            self.string_value = input;
       13409  +
            self
       13410  +
        }
       13411  +
        #[allow(missing_docs)] // documentation missing in model
       13412  +
        pub fn true_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
       13413  +
            self.true_boolean_value = input;
       13414  +
            self
       13415  +
        }
       13416  +
        #[allow(missing_docs)] // documentation missing in model
       13417  +
        pub fn false_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
       13418  +
            self.false_boolean_value = input;
       13419  +
            self
       13420  +
        }
       13421  +
        #[allow(missing_docs)] // documentation missing in model
       13422  +
        pub fn byte_value(mut self, input: ::std::option::Option<i8>) -> Self {
       13423  +
            self.byte_value = input;
       13424  +
            self
       13425  +
        }
       13426  +
        #[allow(missing_docs)] // documentation missing in model
       13427  +
        pub fn short_value(mut self, input: ::std::option::Option<i16>) -> Self {
       13428  +
            self.short_value = input;
       13429  +
            self
       13430  +
        }
       13431  +
        #[allow(missing_docs)] // documentation missing in model
       13432  +
        pub fn integer_value(mut self, input: ::std::option::Option<i32>) -> Self {
       13433  +
            self.integer_value = input;
       13434  +
            self
       13435  +
        }
       13436  +
        #[allow(missing_docs)] // documentation missing in model
       13437  +
        pub fn long_value(mut self, input: ::std::option::Option<i64>) -> Self {
       13438  +
            self.long_value = input;
       13439  +
            self
       13440  +
        }
       13441  +
        #[allow(missing_docs)] // documentation missing in model
       13442  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
       13443  +
            self.float_value = input;
       13444  +
            self
       13445  +
        }
       13446  +
        #[allow(missing_docs)] // documentation missing in model
       13447  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
       13448  +
            self.double_value = input;
       13449  +
            self
       13450  +
        }
       13451  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       13452  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
13183  13453   
            self.build_enforcing_required_and_enum_traits()
13184  13454   
        }
13185         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::EndpointOperationInput {
13186         -
            crate::input::EndpointOperationInput {}
       13455  +
        fn build_enforcing_required_and_enum_traits(
       13456  +
            self,
       13457  +
        ) -> crate::input::SimpleScalarPropertiesInput {
       13458  +
            crate::input::SimpleScalarPropertiesInput {
       13459  +
                foo: self.foo,
       13460  +
                string_value: self.string_value,
       13461  +
                true_boolean_value: self.true_boolean_value,
       13462  +
                false_boolean_value: self.false_boolean_value,
       13463  +
                byte_value: self.byte_value,
       13464  +
                short_value: self.short_value,
       13465  +
                integer_value: self.integer_value,
       13466  +
                long_value: self.long_value,
       13467  +
                float_value: self.float_value,
       13468  +
                double_value: self.double_value,
       13469  +
            }
13187  13470   
        }
13188  13471   
    }
13189  13472   
}
13190         -
/// See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
13191         -
pub(crate) mod post_union_with_json_name_input_internal {
       13473  +
/// See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13474  +
pub(crate) mod json_timestamps_input_internal {
13192  13475   
13193         -
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
       13476  +
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
13194  13477   
        fn from(builder: Builder) -> Self {
13195  13478   
            builder.build()
13196  13479   
        }
13197  13480   
    }
13198         -
    /// A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       13481  +
    /// A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
13199  13482   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13200  13483   
    pub(crate) struct Builder {
13201         -
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
       13484  +
        pub(crate) normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13485  +
        pub(crate) date_time:
       13486  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13487  +
        pub(crate) date_time_on_target:
       13488  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13489  +
        pub(crate) epoch_seconds:
       13490  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13491  +
        pub(crate) epoch_seconds_on_target:
       13492  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13493  +
        pub(crate) http_date:
       13494  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13495  +
        pub(crate) http_date_on_target:
       13496  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
13202  13497   
    }
13203  13498   
    impl Builder {
13204  13499   
        #[allow(missing_docs)] // documentation missing in model
13205         -
        pub(crate) fn set_value(
       13500  +
        pub(crate) fn set_normal(
13206  13501   
            mut self,
13207         -
            input: Option<impl ::std::convert::Into<crate::model::UnionWithJsonName>>,
       13502  +
            input: Option<
       13503  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13504  +
            >,
13208  13505   
        ) -> Self {
13209         -
            self.value = input.map(|v| v.into());
       13506  +
            self.normal = input.map(|v| v.into());
13210  13507   
            self
13211  13508   
        }
13212         -
        /// Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
13213         -
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
13214         -
            self.build_enforcing_all_constraints()
13215         -
        }
13216         -
        fn build_enforcing_all_constraints(self) -> crate::input::PostUnionWithJsonNameInput {
13217         -
            crate::input::PostUnionWithJsonNameInput { value: self.value }
13218         -
        }
13219         -
    }
13220         -
}
13221         -
/// See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
13222         -
pub mod post_union_with_json_name_input {
13223         -
13224         -
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
13225         -
        fn from(builder: Builder) -> Self {
13226         -
            builder.build()
       13509  +
        #[allow(missing_docs)] // documentation missing in model
       13510  +
        pub(crate) fn set_date_time(
       13511  +
            mut self,
       13512  +
            input: Option<
       13513  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13514  +
            >,
       13515  +
        ) -> Self {
       13516  +
            self.date_time = input.map(|v| v.into());
       13517  +
            self
13227  13518   
        }
13228         -
    }
13229         -
    /// A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
13230         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13231         -
    pub struct Builder {
13232         -
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
13233         -
    }
13234         -
    impl Builder {
13235  13519   
        #[allow(missing_docs)] // documentation missing in model
13236         -
        pub fn value(
       13520  +
        pub(crate) fn set_date_time_on_target(
13237  13521   
            mut self,
13238         -
            input: ::std::option::Option<crate::model::UnionWithJsonName>,
       13522  +
            input: Option<
       13523  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13524  +
            >,
13239  13525   
        ) -> Self {
13240         -
            self.value = input;
       13526  +
            self.date_time_on_target = input.map(|v| v.into());
13241  13527   
            self
13242  13528   
        }
13243         -
        /// Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
13244         -
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
13245         -
            self.build_enforcing_required_and_enum_traits()
       13529  +
        #[allow(missing_docs)] // documentation missing in model
       13530  +
        pub(crate) fn set_epoch_seconds(
       13531  +
            mut self,
       13532  +
            input: Option<
       13533  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13534  +
            >,
       13535  +
        ) -> Self {
       13536  +
            self.epoch_seconds = input.map(|v| v.into());
       13537  +
            self
13246  13538   
        }
13247         -
        fn build_enforcing_required_and_enum_traits(
13248         -
            self,
13249         -
        ) -> crate::input::PostUnionWithJsonNameInput {
13250         -
            crate::input::PostUnionWithJsonNameInput { value: self.value }
       13539  +
        #[allow(missing_docs)] // documentation missing in model
       13540  +
        pub(crate) fn set_epoch_seconds_on_target(
       13541  +
            mut self,
       13542  +
            input: Option<
       13543  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13544  +
            >,
       13545  +
        ) -> Self {
       13546  +
            self.epoch_seconds_on_target = input.map(|v| v.into());
       13547  +
            self
13251  13548   
        }
13252         -
    }
13253         -
}
13254         -
/// See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
13255         -
pub(crate) mod post_player_action_input_internal {
13256         -
13257         -
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
13258         -
        fn from(builder: Builder) -> Self {
13259         -
            builder.build()
       13549  +
        #[allow(missing_docs)] // documentation missing in model
       13550  +
        pub(crate) fn set_http_date(
       13551  +
            mut self,
       13552  +
            input: Option<
       13553  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13554  +
            >,
       13555  +
        ) -> Self {
       13556  +
            self.http_date = input.map(|v| v.into());
       13557  +
            self
13260  13558   
        }
13261         -
    }
13262         -
    /// A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
13263         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13264         -
    pub(crate) struct Builder {
13265         -
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
13266         -
    }
13267         -
    impl Builder {
13268  13559   
        #[allow(missing_docs)] // documentation missing in model
13269         -
        pub(crate) fn set_action(
       13560  +
        pub(crate) fn set_http_date_on_target(
13270  13561   
            mut self,
13271         -
            input: Option<impl ::std::convert::Into<crate::model::PlayerAction>>,
       13562  +
            input: Option<
       13563  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       13564  +
            >,
13272  13565   
        ) -> Self {
13273         -
            self.action = input.map(|v| v.into());
       13566  +
            self.http_date_on_target = input.map(|v| v.into());
13274  13567   
            self
13275  13568   
        }
13276         -
        /// Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
13277         -
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       13569  +
        /// Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13570  +
        pub fn build(self) -> crate::input::JsonTimestampsInput {
13278  13571   
            self.build_enforcing_all_constraints()
13279  13572   
        }
13280         -
        fn build_enforcing_all_constraints(self) -> crate::input::PostPlayerActionInput {
13281         -
            crate::input::PostPlayerActionInput {
13282         -
                action: self.action,
       13573  +
        fn build_enforcing_all_constraints(self) -> crate::input::JsonTimestampsInput {
       13574  +
            crate::input::JsonTimestampsInput {
       13575  +
                normal: self.normal,
       13576  +
                date_time: self.date_time,
       13577  +
                date_time_on_target: self.date_time_on_target,
       13578  +
                epoch_seconds: self.epoch_seconds,
       13579  +
                epoch_seconds_on_target: self.epoch_seconds_on_target,
       13580  +
                http_date: self.http_date,
       13581  +
                http_date_on_target: self.http_date_on_target,
13283  13582   
            }
13284  13583   
        }
13285  13584   
    }
13286  13585   
}
13287         -
/// See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
13288         -
pub mod post_player_action_input {
       13586  +
/// See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13587  +
pub mod json_timestamps_input {
13289  13588   
13290         -
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
       13589  +
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
13291  13590   
        fn from(builder: Builder) -> Self {
13292  13591   
            builder.build()
13293  13592   
        }
13294  13593   
    }
13295         -
    /// A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       13594  +
    /// A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
13296  13595   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13297  13596   
    pub struct Builder {
13298         -
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
       13597  +
        pub(crate) normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13598  +
        pub(crate) date_time:
       13599  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13600  +
        pub(crate) date_time_on_target:
       13601  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13602  +
        pub(crate) epoch_seconds:
       13603  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13604  +
        pub(crate) epoch_seconds_on_target:
       13605  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13606  +
        pub(crate) http_date:
       13607  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13608  +
        pub(crate) http_date_on_target:
       13609  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
13299  13610   
    }
13300  13611   
    impl Builder {
13301  13612   
        #[allow(missing_docs)] // documentation missing in model
13302         -
        pub fn action(mut self, input: ::std::option::Option<crate::model::PlayerAction>) -> Self {
13303         -
            self.action = input;
       13613  +
        pub fn normal(
       13614  +
            mut self,
       13615  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13616  +
        ) -> Self {
       13617  +
            self.normal = input;
13304  13618   
            self
13305  13619   
        }
13306         -
        /// Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
13307         -
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       13620  +
        #[allow(missing_docs)] // documentation missing in model
       13621  +
        pub fn date_time(
       13622  +
            mut self,
       13623  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13624  +
        ) -> Self {
       13625  +
            self.date_time = input;
       13626  +
            self
       13627  +
        }
       13628  +
        #[allow(missing_docs)] // documentation missing in model
       13629  +
        pub fn date_time_on_target(
       13630  +
            mut self,
       13631  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13632  +
        ) -> Self {
       13633  +
            self.date_time_on_target = input;
       13634  +
            self
       13635  +
        }
       13636  +
        #[allow(missing_docs)] // documentation missing in model
       13637  +
        pub fn epoch_seconds(
       13638  +
            mut self,
       13639  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13640  +
        ) -> Self {
       13641  +
            self.epoch_seconds = input;
       13642  +
            self
       13643  +
        }
       13644  +
        #[allow(missing_docs)] // documentation missing in model
       13645  +
        pub fn epoch_seconds_on_target(
       13646  +
            mut self,
       13647  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13648  +
        ) -> Self {
       13649  +
            self.epoch_seconds_on_target = input;
       13650  +
            self
       13651  +
        }
       13652  +
        #[allow(missing_docs)] // documentation missing in model
       13653  +
        pub fn http_date(
       13654  +
            mut self,
       13655  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13656  +
        ) -> Self {
       13657  +
            self.http_date = input;
       13658  +
            self
       13659  +
        }
       13660  +
        #[allow(missing_docs)] // documentation missing in model
       13661  +
        pub fn http_date_on_target(
       13662  +
            mut self,
       13663  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       13664  +
        ) -> Self {
       13665  +
            self.http_date_on_target = input;
       13666  +
            self
       13667  +
        }
       13668  +
        /// Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13669  +
        pub fn build(self) -> crate::input::JsonTimestampsInput {
13308  13670   
            self.build_enforcing_required_and_enum_traits()
13309  13671   
        }
13310         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::PostPlayerActionInput {
13311         -
            crate::input::PostPlayerActionInput {
13312         -
                action: self.action,
       13672  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonTimestampsInput {
       13673  +
            crate::input::JsonTimestampsInput {
       13674  +
                normal: self.normal,
       13675  +
                date_time: self.date_time,
       13676  +
                date_time_on_target: self.date_time_on_target,
       13677  +
                epoch_seconds: self.epoch_seconds,
       13678  +
                epoch_seconds_on_target: self.epoch_seconds_on_target,
       13679  +
                http_date: self.http_date,
       13680  +
                http_date_on_target: self.http_date_on_target,
13313  13681   
            }
13314  13682   
        }
13315  13683   
    }
13316  13684   
}
13317         -
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
13318         -
pub(crate) mod json_unions_input_internal {
       13685  +
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       13686  +
pub(crate) mod json_enums_input_internal {
13319  13687   
13320  13688   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
13321  13689   
    /// Holds one variant for each of the ways the builder can fail.
13322  13690   
    #[non_exhaustive]
13323  13691   
    #[allow(clippy::enum_variant_names)]
13324  13692   
    pub(crate) enum ConstraintViolation {
13325         -
        /// Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
       13693  +
        /// Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
       13694  +
        #[doc(hidden)]
       13695  +
        FooEnum1(crate::model::foo_enum_internal::ConstraintViolation),
       13696  +
        /// Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
       13697  +
        #[doc(hidden)]
       13698  +
        FooEnum2(crate::model::foo_enum_internal::ConstraintViolation),
       13699  +
        /// Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
       13700  +
        #[doc(hidden)]
       13701  +
        FooEnum3(crate::model::foo_enum_internal::ConstraintViolation),
       13702  +
        /// Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
       13703  +
        #[doc(hidden)]
       13704  +
        FooEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
       13705  +
        /// Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
       13706  +
        #[doc(hidden)]
       13707  +
        FooEnumSet(crate::model::foo_enum_set_internal::ConstraintViolation),
       13708  +
        /// Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
13326  13709   
        #[doc(hidden)]
13327         -
        Contents(crate::model::my_union_internal::ConstraintViolation),
       13710  +
        FooEnumMap(crate::model::foo_enum_map_internal::ConstraintViolation),
13328  13711   
    }
13329  13712   
    impl ::std::fmt::Display for ConstraintViolation {
13330  13713   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13331  13714   
            match self {
13332         -
                ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
       13715  +
                ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
       13716  +
                ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
       13717  +
                ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
       13718  +
                ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
       13719  +
                ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
       13720  +
                ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
13333  13721   
            }
13334  13722   
        }
13335  13723   
    }
13336  13724   
    impl ::std::error::Error for ConstraintViolation {}
13337  13725   
    impl ConstraintViolation {
13338  13726   
        pub(crate) fn as_validation_exception_field(
13339  13727   
            self,
13340  13728   
            path: ::std::string::String,
13341  13729   
        ) -> crate::model::ValidationExceptionField {
13342  13730   
            match self {
13343         -
                ConstraintViolation::Contents(inner) => {
13344         -
                    inner.as_validation_exception_field(path + "/contents")
       13731  +
                ConstraintViolation::FooEnum1(inner) => {
       13732  +
                    inner.as_validation_exception_field(path + "/fooEnum1")
       13733  +
                }
       13734  +
                ConstraintViolation::FooEnum2(inner) => {
       13735  +
                    inner.as_validation_exception_field(path + "/fooEnum2")
       13736  +
                }
       13737  +
                ConstraintViolation::FooEnum3(inner) => {
       13738  +
                    inner.as_validation_exception_field(path + "/fooEnum3")
       13739  +
                }
       13740  +
                ConstraintViolation::FooEnumList(inner) => {
       13741  +
                    inner.as_validation_exception_field(path + "/fooEnumList")
       13742  +
                }
       13743  +
                ConstraintViolation::FooEnumSet(inner) => {
       13744  +
                    inner.as_validation_exception_field(path + "/fooEnumSet")
       13745  +
                }
       13746  +
                ConstraintViolation::FooEnumMap(inner) => {
       13747  +
                    inner.as_validation_exception_field(path + "/fooEnumMap")
13345  13748   
                }
13346  13749   
            }
13347  13750   
        }
13348  13751   
    }
13349  13752   
    impl ::std::convert::From<ConstraintViolation>
13350  13753   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
13351  13754   
    {
13352  13755   
        fn from(constraint_violation: ConstraintViolation) -> Self {
13353  13756   
            let first_validation_exception_field =
13354  13757   
                constraint_violation.as_validation_exception_field("".to_owned());
13355  13758   
            let validation_exception = crate::error::ValidationException {
13356  13759   
                message: format!(
13357  13760   
                    "1 validation error detected. {}",
13358  13761   
                    &first_validation_exception_field.message
13359  13762   
                ),
13360  13763   
                field_list: Some(vec![first_validation_exception_field]),
13361  13764   
            };
13362  13765   
            Self::ConstraintViolation(
13363  13766   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
13364  13767   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
13365  13768   
                            )
13366  13769   
        }
13367  13770   
    }
13368  13771   
    impl ::std::convert::From<Builder>
13369         -
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
       13772  +
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
13370  13773   
    {
13371  13774   
        fn from(builder: Builder) -> Self {
13372  13775   
            Self::Unconstrained(builder)
13373  13776   
        }
13374  13777   
    }
13375         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
       13778  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
13376  13779   
        type Error = ConstraintViolation;
13377  13780   
13378  13781   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
13379  13782   
            builder.build()
13380  13783   
        }
13381  13784   
    }
13382         -
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       13785  +
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
13383  13786   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13384  13787   
    pub(crate) struct Builder {
13385         -
        pub(crate) contents:
13386         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
       13788  +
        pub(crate) foo_enum1:
       13789  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13790  +
        pub(crate) foo_enum2:
       13791  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13792  +
        pub(crate) foo_enum3:
       13793  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13794  +
        pub(crate) foo_enum_list: ::std::option::Option<
       13795  +
            crate::constrained::MaybeConstrained<
       13796  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       13797  +
            >,
       13798  +
        >,
       13799  +
        pub(crate) foo_enum_set:
       13800  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
       13801  +
        pub(crate) foo_enum_map: ::std::option::Option<
       13802  +
            crate::constrained::MaybeConstrained<
       13803  +
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
       13804  +
            >,
       13805  +
        >,
13387  13806   
    }
13388  13807   
    impl Builder {
13389         -
        /// A union with a representative set of types for members.
13390         -
        pub(crate) fn set_contents(
       13808  +
        #[allow(missing_docs)] // documentation missing in model
       13809  +
        pub(crate) fn set_foo_enum1(
13391  13810   
            mut self,
13392  13811   
            input: Option<
13393         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
       13812  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
13394  13813   
            >,
13395  13814   
        ) -> Self {
13396         -
            self.contents = input.map(|v| v.into());
       13815  +
            self.foo_enum1 = input.map(|v| v.into());
13397  13816   
            self
13398  13817   
        }
13399         -
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       13818  +
        #[allow(missing_docs)] // documentation missing in model
       13819  +
        pub(crate) fn set_foo_enum2(
       13820  +
            mut self,
       13821  +
            input: Option<
       13822  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13823  +
            >,
       13824  +
        ) -> Self {
       13825  +
            self.foo_enum2 = input.map(|v| v.into());
       13826  +
            self
       13827  +
        }
       13828  +
        #[allow(missing_docs)] // documentation missing in model
       13829  +
        pub(crate) fn set_foo_enum3(
       13830  +
            mut self,
       13831  +
            input: Option<
       13832  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13833  +
            >,
       13834  +
        ) -> Self {
       13835  +
            self.foo_enum3 = input.map(|v| v.into());
       13836  +
            self
       13837  +
        }
       13838  +
        #[allow(missing_docs)] // documentation missing in model
       13839  +
        pub(crate) fn set_foo_enum_list(
       13840  +
            mut self,
       13841  +
            input: Option<
       13842  +
                impl ::std::convert::Into<
       13843  +
                    crate::constrained::MaybeConstrained<
       13844  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       13845  +
                    >,
       13846  +
                >,
       13847  +
            >,
       13848  +
        ) -> Self {
       13849  +
            self.foo_enum_list = input.map(|v| v.into());
       13850  +
            self
       13851  +
        }
       13852  +
        #[allow(missing_docs)] // documentation missing in model
       13853  +
        pub(crate) fn set_foo_enum_set(
       13854  +
            mut self,
       13855  +
            input: Option<
       13856  +
                impl ::std::convert::Into<
       13857  +
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
       13858  +
                >,
       13859  +
            >,
       13860  +
        ) -> Self {
       13861  +
            self.foo_enum_set = input.map(|v| v.into());
       13862  +
            self
       13863  +
        }
       13864  +
        #[allow(missing_docs)] // documentation missing in model
       13865  +
        pub(crate) fn set_foo_enum_map(
       13866  +
            mut self,
       13867  +
            input: Option<
       13868  +
                impl ::std::convert::Into<
       13869  +
                    crate::constrained::MaybeConstrained<
       13870  +
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
       13871  +
                    >,
       13872  +
                >,
       13873  +
            >,
       13874  +
        ) -> Self {
       13875  +
            self.foo_enum_map = input.map(|v| v.into());
       13876  +
            self
       13877  +
        }
       13878  +
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
13400  13879   
        ///
13401         -
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
       13880  +
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
13402  13881   
        ///
13403         -
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
       13882  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       13883  +
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
13404  13884   
            self.build_enforcing_all_constraints()
13405  13885   
        }
13406  13886   
        fn build_enforcing_all_constraints(
13407  13887   
            self,
13408         -
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
13409         -
            Ok(crate::input::JsonUnionsInput {
13410         -
                contents: self
13411         -
                    .contents
       13888  +
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
       13889  +
            Ok(crate::input::JsonEnumsInput {
       13890  +
                foo_enum1: self
       13891  +
                    .foo_enum1
13412  13892   
                    .map(|v| match v {
13413  13893   
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13414  13894   
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13415  13895   
                    })
13416         -
                    .map(|res| res.map_err(ConstraintViolation::Contents))
       13896  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum1))
       13897  +
                    .transpose()?,
       13898  +
                foo_enum2: self
       13899  +
                    .foo_enum2
       13900  +
                    .map(|v| match v {
       13901  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13902  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13903  +
                    })
       13904  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum2))
       13905  +
                    .transpose()?,
       13906  +
                foo_enum3: self
       13907  +
                    .foo_enum3
       13908  +
                    .map(|v| match v {
       13909  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13910  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13911  +
                    })
       13912  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum3))
       13913  +
                    .transpose()?,
       13914  +
                foo_enum_list: self
       13915  +
                    .foo_enum_list
       13916  +
                    .map(|v| match v {
       13917  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13918  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13919  +
                    })
       13920  +
                    .map(|res| {
       13921  +
                        res.map(|v| v.into())
       13922  +
                            .map_err(ConstraintViolation::FooEnumList)
       13923  +
                    })
       13924  +
                    .transpose()?,
       13925  +
                foo_enum_set: self
       13926  +
                    .foo_enum_set
       13927  +
                    .map(|v| match v {
       13928  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13929  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13930  +
                    })
       13931  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
       13932  +
                    .transpose()?
       13933  +
                    .map(|v: crate::model::FooEnumSet| v.into()),
       13934  +
                foo_enum_map: self
       13935  +
                    .foo_enum_map
       13936  +
                    .map(|v| match v {
       13937  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13938  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13939  +
                    })
       13940  +
                    .map(|res| {
       13941  +
                        res.map(|v| v.into())
       13942  +
                            .map_err(ConstraintViolation::FooEnumMap)
       13943  +
                    })
13417  13944   
                    .transpose()?,
13418  13945   
            })
13419  13946   
        }
13420  13947   
    }
13421  13948   
}
13422         -
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
13423         -
pub mod json_unions_input {
       13949  +
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       13950  +
pub mod json_enums_input {
13424  13951   
13425         -
    impl ::std::convert::From<Builder> for crate::input::JsonUnionsInput {
       13952  +
    impl ::std::convert::From<Builder> for crate::input::JsonEnumsInput {
13426  13953   
        fn from(builder: Builder) -> Self {
13427  13954   
            builder.build()
13428  13955   
        }
13429  13956   
    }
13430         -
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       13957  +
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
13431  13958   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13432  13959   
    pub struct Builder {
13433         -
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
       13960  +
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
       13961  +
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
       13962  +
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
       13963  +
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       13964  +
        pub(crate) foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       13965  +
        pub(crate) foo_enum_map: ::std::option::Option<
       13966  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
       13967  +
        >,
13434  13968   
    }
13435  13969   
    impl Builder {
13436         -
        /// A union with a representative set of types for members.
13437         -
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
13438         -
            self.contents = input;
       13970  +
        #[allow(missing_docs)] // documentation missing in model
       13971  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       13972  +
            self.foo_enum1 = input;
13439  13973   
            self
13440  13974   
        }
13441         -
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
13442         -
        pub fn build(self) -> crate::input::JsonUnionsInput {
13443         -
            self.build_enforcing_required_and_enum_traits()
13444         -
        }
13445         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonUnionsInput {
13446         -
            crate::input::JsonUnionsInput {
13447         -
                contents: self.contents,
13448         -
            }
13449         -
        }
13450         -
    }
13451         -
}
13452         -
/// See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13453         -
pub(crate) mod document_type_as_map_value_input_internal {
13454         -
13455         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
13456         -
        fn from(builder: Builder) -> Self {
13457         -
            builder.build()
       13975  +
        #[allow(missing_docs)] // documentation missing in model
       13976  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       13977  +
            self.foo_enum2 = input;
       13978  +
            self
13458  13979   
        }
13459         -
    }
13460         -
    /// A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13461         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13462         -
    pub(crate) struct Builder {
13463         -
        pub(crate) doc_valued_map: ::std::option::Option<
13464         -
            ::std::collections::HashMap<
13465         -
                ::std::string::String,
13466         -
                ::aws_smithy_http_server_python::types::Document,
13467         -
            >,
13468         -
        >,
13469         -
    }
13470         -
    impl Builder {
13471  13980   
        #[allow(missing_docs)] // documentation missing in model
13472         -
        pub(crate) fn set_doc_valued_map(
13473         -
            mut self,
13474         -
            input: Option<
13475         -
                impl ::std::convert::Into<
13476         -
                    ::std::collections::HashMap<
13477         -
                        ::std::string::String,
13478         -
                        ::aws_smithy_http_server_python::types::Document,
13479         -
                    >,
13480         -
                >,
13481         -
            >,
13482         -
        ) -> Self {
13483         -
            self.doc_valued_map = input.map(|v| v.into());
       13981  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       13982  +
            self.foo_enum3 = input;
13484  13983   
            self
13485  13984   
        }
13486         -
        /// Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13487         -
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
13488         -
            self.build_enforcing_all_constraints()
13489         -
        }
13490         -
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsMapValueInput {
13491         -
            crate::input::DocumentTypeAsMapValueInput {
13492         -
                doc_valued_map: self.doc_valued_map,
13493         -
            }
       13985  +
        #[allow(missing_docs)] // documentation missing in model
       13986  +
        pub fn foo_enum_list(
       13987  +
            mut self,
       13988  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       13989  +
        ) -> Self {
       13990  +
            self.foo_enum_list = input;
       13991  +
            self
13494  13992   
        }
13495         -
    }
13496         -
}
13497         -
/// See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13498         -
pub mod document_type_as_map_value_input {
13499         -
13500         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
13501         -
        fn from(builder: Builder) -> Self {
13502         -
            builder.build()
       13993  +
        #[allow(missing_docs)] // documentation missing in model
       13994  +
        pub fn foo_enum_set(
       13995  +
            mut self,
       13996  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       13997  +
        ) -> Self {
       13998  +
            self.foo_enum_set = input;
       13999  +
            self
13503  14000   
        }
13504         -
    }
13505         -
    /// A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13506         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13507         -
    pub struct Builder {
13508         -
        pub(crate) doc_valued_map: ::std::option::Option<
13509         -
            ::std::collections::HashMap<
13510         -
                ::std::string::String,
13511         -
                ::aws_smithy_http_server_python::types::Document,
13512         -
            >,
13513         -
        >,
13514         -
    }
13515         -
    impl Builder {
13516  14001   
        #[allow(missing_docs)] // documentation missing in model
13517         -
        pub fn doc_valued_map(
       14002  +
        pub fn foo_enum_map(
13518  14003   
            mut self,
13519  14004   
            input: ::std::option::Option<
13520         -
                ::std::collections::HashMap<
13521         -
                    ::std::string::String,
13522         -
                    ::aws_smithy_http_server_python::types::Document,
13523         -
                >,
       14005  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
13524  14006   
            >,
13525  14007   
        ) -> Self {
13526         -
            self.doc_valued_map = input;
       14008  +
            self.foo_enum_map = input;
13527  14009   
            self
13528  14010   
        }
13529         -
        /// Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
13530         -
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
       14011  +
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       14012  +
        pub fn build(self) -> crate::input::JsonEnumsInput {
13531  14013   
            self.build_enforcing_required_and_enum_traits()
13532  14014   
        }
13533         -
        fn build_enforcing_required_and_enum_traits(
13534         -
            self,
13535         -
        ) -> crate::input::DocumentTypeAsMapValueInput {
13536         -
            crate::input::DocumentTypeAsMapValueInput {
13537         -
                doc_valued_map: self.doc_valued_map,
       14015  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonEnumsInput {
       14016  +
            crate::input::JsonEnumsInput {
       14017  +
                foo_enum1: self.foo_enum1,
       14018  +
                foo_enum2: self.foo_enum2,
       14019  +
                foo_enum3: self.foo_enum3,
       14020  +
                foo_enum_list: self.foo_enum_list,
       14021  +
                foo_enum_set: self.foo_enum_set,
       14022  +
                foo_enum_map: self.foo_enum_map,
13538  14023   
            }
13539  14024   
        }
13540  14025   
    }
13541  14026   
}
13542         -
/// See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
13543         -
pub(crate) mod document_type_as_payload_input_internal {
       14027  +
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       14028  +
pub(crate) mod json_int_enums_input_internal {
13544  14029   
13545         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
13546         -
        fn from(builder: Builder) -> Self {
13547         -
            builder.build()
13548         -
        }
       14030  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       14031  +
    /// Holds one variant for each of the ways the builder can fail.
       14032  +
    #[non_exhaustive]
       14033  +
    #[allow(clippy::enum_variant_names)]
       14034  +
    pub(crate) enum ConstraintViolation {
       14035  +
        /// Constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`.
       14036  +
        #[doc(hidden)]
       14037  +
        IntegerEnumSet(crate::model::integer_enum_set_internal::ConstraintViolation),
13549  14038   
    }
13550         -
    /// A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
13551         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13552         -
    pub(crate) struct Builder {
13553         -
        pub(crate) document_value:
13554         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       14039  +
    impl ::std::fmt::Display for ConstraintViolation {
       14040  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       14041  +
            match self {
       14042  +
                ConstraintViolation::IntegerEnumSet(_) => write!(f, "constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`"),
       14043  +
            }
       14044  +
        }
13555  14045   
    }
13556         -
    impl Builder {
13557         -
        #[allow(missing_docs)] // documentation missing in model
13558         -
        pub(crate) fn set_document_value(
13559         -
            mut self,
13560         -
            input: Option<
13561         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::Document>,
13562         -
            >,
13563         -
        ) -> Self {
13564         -
            self.document_value = input.map(|v| v.into());
13565         -
            self
       14046  +
    impl ::std::error::Error for ConstraintViolation {}
       14047  +
    impl ConstraintViolation {
       14048  +
        pub(crate) fn as_validation_exception_field(
       14049  +
            self,
       14050  +
            path: ::std::string::String,
       14051  +
        ) -> crate::model::ValidationExceptionField {
       14052  +
            match self {
       14053  +
                ConstraintViolation::IntegerEnumSet(inner) => {
       14054  +
                    inner.as_validation_exception_field(path + "/integerEnumSet")
       14055  +
                }
       14056  +
            }
13566  14057   
        }
13567         -
        /// Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
13568         -
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
13569         -
            self.build_enforcing_all_constraints()
       14058  +
    }
       14059  +
    impl ::std::convert::From<ConstraintViolation>
       14060  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       14061  +
    {
       14062  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       14063  +
            let first_validation_exception_field =
       14064  +
                constraint_violation.as_validation_exception_field("".to_owned());
       14065  +
            let validation_exception = crate::error::ValidationException {
       14066  +
                message: format!(
       14067  +
                    "1 validation error detected. {}",
       14068  +
                    &first_validation_exception_field.message
       14069  +
                ),
       14070  +
                field_list: Some(vec![first_validation_exception_field]),
       14071  +
            };
       14072  +
            Self::ConstraintViolation(
       14073  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       14074  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       14075  +
                            )
13570  14076   
        }
13571         -
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsPayloadInput {
13572         -
            crate::input::DocumentTypeAsPayloadInput {
13573         -
                document_value: self.document_value,
13574         -
            }
       14077  +
    }
       14078  +
    impl ::std::convert::From<Builder>
       14079  +
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
       14080  +
    {
       14081  +
        fn from(builder: Builder) -> Self {
       14082  +
            Self::Unconstrained(builder)
13575  14083   
        }
13576  14084   
    }
13577         -
}
13578         -
/// See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
13579         -
pub mod document_type_as_payload_input {
       14085  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
       14086  +
        type Error = ConstraintViolation;
13580  14087   
13581         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
13582         -
        fn from(builder: Builder) -> Self {
       14088  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
13583  14089   
            builder.build()
13584  14090   
        }
13585  14091   
    }
13586         -
    /// A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       14092  +
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
13587  14093   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13588         -
    pub struct Builder {
13589         -
        pub(crate) document_value:
13590         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       14094  +
    pub(crate) struct Builder {
       14095  +
        pub(crate) integer_enum1: ::std::option::Option<i32>,
       14096  +
        pub(crate) integer_enum2: ::std::option::Option<i32>,
       14097  +
        pub(crate) integer_enum3: ::std::option::Option<i32>,
       14098  +
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14099  +
        pub(crate) integer_enum_set: ::std::option::Option<
       14100  +
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
       14101  +
        >,
       14102  +
        pub(crate) integer_enum_map:
       14103  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
13591  14104   
    }
13592  14105   
    impl Builder {
13593  14106   
        #[allow(missing_docs)] // documentation missing in model
13594         -
        pub fn document_value(
       14107  +
        pub(crate) fn set_integer_enum1(
13595  14108   
            mut self,
13596         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       14109  +
            input: Option<impl ::std::convert::Into<i32>>,
13597  14110   
        ) -> Self {
13598         -
            self.document_value = input;
       14111  +
            self.integer_enum1 = input.map(|v| v.into());
13599  14112   
            self
13600  14113   
        }
13601         -
        /// Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
13602         -
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
13603         -
            self.build_enforcing_required_and_enum_traits()
       14114  +
        #[allow(missing_docs)] // documentation missing in model
       14115  +
        pub(crate) fn set_integer_enum2(
       14116  +
            mut self,
       14117  +
            input: Option<impl ::std::convert::Into<i32>>,
       14118  +
        ) -> Self {
       14119  +
            self.integer_enum2 = input.map(|v| v.into());
       14120  +
            self
13604  14121   
        }
13605         -
        fn build_enforcing_required_and_enum_traits(
13606         -
            self,
13607         -
        ) -> crate::input::DocumentTypeAsPayloadInput {
13608         -
            crate::input::DocumentTypeAsPayloadInput {
13609         -
                document_value: self.document_value,
13610         -
            }
       14122  +
        #[allow(missing_docs)] // documentation missing in model
       14123  +
        pub(crate) fn set_integer_enum3(
       14124  +
            mut self,
       14125  +
            input: Option<impl ::std::convert::Into<i32>>,
       14126  +
        ) -> Self {
       14127  +
            self.integer_enum3 = input.map(|v| v.into());
       14128  +
            self
13611  14129   
        }
13612         -
    }
13613         -
}
13614         -
/// See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
13615         -
pub(crate) mod document_type_input_internal {
13616         -
13617         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
13618         -
        fn from(builder: Builder) -> Self {
13619         -
            builder.build()
       14130  +
        #[allow(missing_docs)] // documentation missing in model
       14131  +
        pub(crate) fn set_integer_enum_list(
       14132  +
            mut self,
       14133  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       14134  +
        ) -> Self {
       14135  +
            self.integer_enum_list = input.map(|v| v.into());
       14136  +
            self
13620  14137   
        }
13621         -
    }
13622         -
    /// A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
13623         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13624         -
    pub(crate) struct Builder {
13625         -
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
13626         -
        pub(crate) document_value:
13627         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
13628         -
    }
13629         -
    impl Builder {
13630  14138   
        #[allow(missing_docs)] // documentation missing in model
13631         -
        pub(crate) fn set_string_value(
       14139  +
        pub(crate) fn set_integer_enum_set(
13632  14140   
            mut self,
13633         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14141  +
            input: Option<
       14142  +
                impl ::std::convert::Into<
       14143  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
       14144  +
                >,
       14145  +
            >,
13634  14146   
        ) -> Self {
13635         -
            self.string_value = input.map(|v| v.into());
       14147  +
            self.integer_enum_set = input.map(|v| v.into());
13636  14148   
            self
13637  14149   
        }
13638  14150   
        #[allow(missing_docs)] // documentation missing in model
13639         -
        pub(crate) fn set_document_value(
       14151  +
        pub(crate) fn set_integer_enum_map(
13640  14152   
            mut self,
13641  14153   
            input: Option<
13642         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::Document>,
       14154  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
13643  14155   
            >,
13644  14156   
        ) -> Self {
13645         -
            self.document_value = input.map(|v| v.into());
       14157  +
            self.integer_enum_map = input.map(|v| v.into());
13646  14158   
            self
13647  14159   
        }
13648         -
        /// Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
13649         -
        pub fn build(self) -> crate::input::DocumentTypeInput {
       14160  +
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       14161  +
        ///
       14162  +
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
       14163  +
        ///
       14164  +
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
13650  14165   
            self.build_enforcing_all_constraints()
13651  14166   
        }
13652         -
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeInput {
13653         -
            crate::input::DocumentTypeInput {
13654         -
                string_value: self.string_value,
13655         -
                document_value: self.document_value,
13656         -
            }
       14167  +
        fn build_enforcing_all_constraints(
       14168  +
            self,
       14169  +
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
       14170  +
            Ok(crate::input::JsonIntEnumsInput {
       14171  +
                integer_enum1: self.integer_enum1,
       14172  +
                integer_enum2: self.integer_enum2,
       14173  +
                integer_enum3: self.integer_enum3,
       14174  +
                integer_enum_list: self.integer_enum_list,
       14175  +
                integer_enum_set: self
       14176  +
                    .integer_enum_set
       14177  +
                    .map(|v| match v {
       14178  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       14179  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       14180  +
                    })
       14181  +
                    .map(|res| res.map_err(ConstraintViolation::IntegerEnumSet))
       14182  +
                    .transpose()?
       14183  +
                    .map(|v: crate::model::IntegerEnumSet| v.into()),
       14184  +
                integer_enum_map: self.integer_enum_map,
       14185  +
            })
13657  14186   
        }
13658  14187   
    }
13659  14188   
}
13660         -
/// See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
13661         -
pub mod document_type_input {
       14189  +
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       14190  +
pub mod json_int_enums_input {
13662  14191   
13663         -
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
       14192  +
    impl ::std::convert::From<Builder> for crate::input::JsonIntEnumsInput {
13664  14193   
        fn from(builder: Builder) -> Self {
13665  14194   
            builder.build()
13666  14195   
        }
13667  14196   
    }
13668         -
    /// A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       14197  +
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
13669  14198   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13670  14199   
    pub struct Builder {
13671         -
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
13672         -
        pub(crate) document_value:
13673         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       14200  +
        pub(crate) integer_enum1: ::std::option::Option<i32>,
       14201  +
        pub(crate) integer_enum2: ::std::option::Option<i32>,
       14202  +
        pub(crate) integer_enum3: ::std::option::Option<i32>,
       14203  +
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14204  +
        pub(crate) integer_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
       14205  +
        pub(crate) integer_enum_map:
       14206  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
13674  14207   
    }
13675  14208   
    impl Builder {
13676  14209   
        #[allow(missing_docs)] // documentation missing in model
13677         -
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
13678         -
            self.string_value = input;
       14210  +
        pub fn integer_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
       14211  +
            self.integer_enum1 = input;
13679  14212   
            self
13680  14213   
        }
13681  14214   
        #[allow(missing_docs)] // documentation missing in model
13682         -
        pub fn document_value(
       14215  +
        pub fn integer_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
       14216  +
            self.integer_enum2 = input;
       14217  +
            self
       14218  +
        }
       14219  +
        #[allow(missing_docs)] // documentation missing in model
       14220  +
        pub fn integer_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
       14221  +
            self.integer_enum3 = input;
       14222  +
            self
       14223  +
        }
       14224  +
        #[allow(missing_docs)] // documentation missing in model
       14225  +
        pub fn integer_enum_list(
13683  14226   
            mut self,
13684         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       14227  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
13685  14228   
        ) -> Self {
13686         -
            self.document_value = input;
       14229  +
            self.integer_enum_list = input;
13687  14230   
            self
13688  14231   
        }
13689         -
        /// Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
13690         -
        pub fn build(self) -> crate::input::DocumentTypeInput {
       14232  +
        #[allow(missing_docs)] // documentation missing in model
       14233  +
        pub fn integer_enum_set(
       14234  +
            mut self,
       14235  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       14236  +
        ) -> Self {
       14237  +
            self.integer_enum_set = input;
       14238  +
            self
       14239  +
        }
       14240  +
        #[allow(missing_docs)] // documentation missing in model
       14241  +
        pub fn integer_enum_map(
       14242  +
            mut self,
       14243  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       14244  +
        ) -> Self {
       14245  +
            self.integer_enum_map = input;
       14246  +
            self
       14247  +
        }
       14248  +
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       14249  +
        pub fn build(self) -> crate::input::JsonIntEnumsInput {
13691  14250   
            self.build_enforcing_required_and_enum_traits()
13692  14251   
        }
13693         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::DocumentTypeInput {
13694         -
            crate::input::DocumentTypeInput {
13695         -
                string_value: self.string_value,
13696         -
                document_value: self.document_value,
       14252  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonIntEnumsInput {
       14253  +
            crate::input::JsonIntEnumsInput {
       14254  +
                integer_enum1: self.integer_enum1,
       14255  +
                integer_enum2: self.integer_enum2,
       14256  +
                integer_enum3: self.integer_enum3,
       14257  +
                integer_enum_list: self.integer_enum_list,
       14258  +
                integer_enum_set: self.integer_enum_set,
       14259  +
                integer_enum_map: self.integer_enum_map,
13697  14260   
            }
13698  14261   
        }
13699  14262   
    }
13700  14263   
}
13701         -
/// See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
13702         -
pub(crate) mod json_blobs_input_internal {
       14264  +
/// See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       14265  +
pub(crate) mod recursive_shapes_input_internal {
13703  14266   
13704         -
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
       14267  +
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
13705  14268   
        fn from(builder: Builder) -> Self {
13706  14269   
            builder.build()
13707  14270   
        }
13708  14271   
    }
13709         -
    /// A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       14272  +
    /// A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
13710  14273   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13711  14274   
    pub(crate) struct Builder {
13712         -
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       14275  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
13713  14276   
    }
13714  14277   
    impl Builder {
13715  14278   
        #[allow(missing_docs)] // documentation missing in model
13716         -
        pub(crate) fn set_data(
       14279  +
        pub(crate) fn set_nested(
13717  14280   
            mut self,
13718         -
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
       14281  +
            input: Option<
       14282  +
                impl ::std::convert::Into<crate::model::RecursiveShapesInputOutputNested1>,
       14283  +
            >,
13719  14284   
        ) -> Self {
13720         -
            self.data = input.map(|v| v.into());
       14285  +
            self.nested = input.map(|v| v.into());
13721  14286   
            self
13722  14287   
        }
13723         -
        /// Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
13724         -
        pub fn build(self) -> crate::input::JsonBlobsInput {
       14288  +
        /// Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       14289  +
        pub fn build(self) -> crate::input::RecursiveShapesInput {
13725  14290   
            self.build_enforcing_all_constraints()
13726  14291   
        }
13727         -
        fn build_enforcing_all_constraints(self) -> crate::input::JsonBlobsInput {
13728         -
            crate::input::JsonBlobsInput { data: self.data }
       14292  +
        fn build_enforcing_all_constraints(self) -> crate::input::RecursiveShapesInput {
       14293  +
            crate::input::RecursiveShapesInput {
       14294  +
                nested: self.nested,
       14295  +
            }
13729  14296   
        }
13730  14297   
    }
13731  14298   
}
13732         -
/// See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
13733         -
pub mod json_blobs_input {
       14299  +
/// See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       14300  +
pub mod recursive_shapes_input {
13734  14301   
13735         -
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
       14302  +
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
13736  14303   
        fn from(builder: Builder) -> Self {
13737  14304   
            builder.build()
13738  14305   
        }
13739  14306   
    }
13740         -
    /// A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       14307  +
    /// A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
13741  14308   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13742  14309   
    pub struct Builder {
13743         -
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       14310  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
13744  14311   
    }
13745  14312   
    impl Builder {
13746  14313   
        #[allow(missing_docs)] // documentation missing in model
13747         -
        pub fn data(
       14314  +
        pub fn nested(
13748  14315   
            mut self,
13749         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       14316  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
13750  14317   
        ) -> Self {
13751         -
            self.data = input;
       14318  +
            self.nested = input;
13752  14319   
            self
13753  14320   
        }
13754         -
        /// Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
13755         -
        pub fn build(self) -> crate::input::JsonBlobsInput {
       14321  +
        /// Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       14322  +
        pub fn build(self) -> crate::input::RecursiveShapesInput {
13756  14323   
            self.build_enforcing_required_and_enum_traits()
13757  14324   
        }
13758         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonBlobsInput {
13759         -
            crate::input::JsonBlobsInput { data: self.data }
       14325  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::RecursiveShapesInput {
       14326  +
            crate::input::RecursiveShapesInput {
       14327  +
                nested: self.nested,
       14328  +
            }
13760  14329   
        }
13761  14330   
    }
13762  14331   
}
13763         -
/// See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
13764         -
pub(crate) mod sparse_json_maps_input_internal {
       14332  +
/// See [`JsonListsInput`](crate::input::JsonListsInput).
       14333  +
pub(crate) mod json_lists_input_internal {
13765  14334   
13766  14335   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
13767  14336   
    /// Holds one variant for each of the ways the builder can fail.
13768  14337   
    #[non_exhaustive]
13769  14338   
    #[allow(clippy::enum_variant_names)]
13770  14339   
    pub(crate) enum ConstraintViolation {
13771         -
        /// Constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`.
       14340  +
        /// Constraint violation occurred building member `string_set` when building `JsonListsInput`.
13772  14341   
        #[doc(hidden)]
13773         -
        SparseSetMap(crate::model::sparse_set_map_internal::ConstraintViolation),
       14342  +
        StringSet(crate::model::string_set_internal::ConstraintViolation),
       14343  +
        /// Constraint violation occurred building member `enum_list` when building `JsonListsInput`.
       14344  +
        #[doc(hidden)]
       14345  +
        EnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
13774  14346   
    }
13775  14347   
    impl ::std::fmt::Display for ConstraintViolation {
13776  14348   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13777  14349   
            match self {
13778         -
                ConstraintViolation::SparseSetMap(_) => write!(f, "constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`"),
       14350  +
                ConstraintViolation::StringSet(_) => write!(f, "constraint violation occurred building member `string_set` when building `JsonListsInput`"),
       14351  +
                ConstraintViolation::EnumList(_) => write!(f, "constraint violation occurred building member `enum_list` when building `JsonListsInput`"),
13779  14352   
            }
13780  14353   
        }
13781  14354   
    }
13782  14355   
    impl ::std::error::Error for ConstraintViolation {}
13783  14356   
    impl ConstraintViolation {
13784  14357   
        pub(crate) fn as_validation_exception_field(
13785  14358   
            self,
13786  14359   
            path: ::std::string::String,
13787  14360   
        ) -> crate::model::ValidationExceptionField {
13788  14361   
            match self {
13789         -
                ConstraintViolation::SparseSetMap(inner) => {
13790         -
                    inner.as_validation_exception_field(path + "/sparseSetMap")
       14362  +
                ConstraintViolation::StringSet(inner) => {
       14363  +
                    inner.as_validation_exception_field(path + "/stringSet")
       14364  +
                }
       14365  +
                ConstraintViolation::EnumList(inner) => {
       14366  +
                    inner.as_validation_exception_field(path + "/enumList")
13791  14367   
                }
13792  14368   
            }
13793  14369   
        }
13794  14370   
    }
13795  14371   
    impl ::std::convert::From<ConstraintViolation>
13796  14372   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
13797  14373   
    {
13798  14374   
        fn from(constraint_violation: ConstraintViolation) -> Self {
13799  14375   
            let first_validation_exception_field =
13800  14376   
                constraint_violation.as_validation_exception_field("".to_owned());
13801  14377   
            let validation_exception = crate::error::ValidationException {
13802  14378   
                message: format!(
13803  14379   
                    "1 validation error detected. {}",
13804  14380   
                    &first_validation_exception_field.message
13805  14381   
                ),
13806  14382   
                field_list: Some(vec![first_validation_exception_field]),
13807  14383   
            };
13808  14384   
            Self::ConstraintViolation(
13809  14385   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
13810  14386   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
13811  14387   
                            )
13812  14388   
        }
13813  14389   
    }
13814  14390   
    impl ::std::convert::From<Builder>
13815         -
        for crate::constrained::MaybeConstrained<crate::input::SparseJsonMapsInput>
       14391  +
        for crate::constrained::MaybeConstrained<crate::input::JsonListsInput>
13816  14392   
    {
13817  14393   
        fn from(builder: Builder) -> Self {
13818  14394   
            Self::Unconstrained(builder)
13819  14395   
        }
13820  14396   
    }
13821         -
    impl ::std::convert::TryFrom<Builder> for crate::input::SparseJsonMapsInput {
       14397  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonListsInput {
13822  14398   
        type Error = ConstraintViolation;
13823  14399   
13824  14400   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
13825  14401   
            builder.build()
13826  14402   
        }
13827  14403   
    }
13828         -
    /// A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       14404  +
    /// A builder for [`JsonListsInput`](crate::input::JsonListsInput).
13829  14405   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13830  14406   
    pub(crate) struct Builder {
13831         -
        pub(crate) sparse_struct_map: ::std::option::Option<
13832         -
            ::std::collections::HashMap<
13833         -
                ::std::string::String,
13834         -
                ::std::option::Option<crate::model::GreetingStruct>,
13835         -
            >,
13836         -
        >,
13837         -
        pub(crate) sparse_number_map: ::std::option::Option<
13838         -
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
13839         -
        >,
13840         -
        pub(crate) sparse_boolean_map: ::std::option::Option<
13841         -
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
13842         -
        >,
13843         -
        pub(crate) sparse_string_map: ::std::option::Option<
13844         -
            ::std::collections::HashMap<
13845         -
                ::std::string::String,
13846         -
                ::std::option::Option<::std::string::String>,
13847         -
            >,
       14407  +
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       14408  +
        pub(crate) string_set:
       14409  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       14410  +
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14411  +
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       14412  +
        pub(crate) timestamp_list: ::std::option::Option<
       14413  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
13848  14414   
        >,
13849         -
        pub(crate) sparse_set_map: ::std::option::Option<
       14415  +
        pub(crate) enum_list: ::std::option::Option<
13850  14416   
            crate::constrained::MaybeConstrained<
13851         -
                crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       14417  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
13852  14418   
            >,
13853  14419   
        >,
       14420  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14421  +
        pub(crate) nested_string_list:
       14422  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       14423  +
        pub(crate) structure_list:
       14424  +
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
13854  14425   
    }
13855  14426   
    impl Builder {
13856  14427   
        #[allow(missing_docs)] // documentation missing in model
13857         -
        pub(crate) fn set_sparse_struct_map(
       14428  +
        pub(crate) fn set_string_list(
       14429  +
            mut self,
       14430  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       14431  +
        ) -> Self {
       14432  +
            self.string_list = input.map(|v| v.into());
       14433  +
            self
       14434  +
        }
       14435  +
        #[allow(missing_docs)] // documentation missing in model
       14436  +
        pub(crate) fn set_string_set(
13858  14437   
            mut self,
13859  14438   
            input: Option<
13860         -
                impl ::std::convert::Into<
13861         -
                    ::std::collections::HashMap<
13862         -
                        ::std::string::String,
13863         -
                        ::std::option::Option<crate::model::GreetingStruct>,
13864         -
                    >,
13865         -
                >,
       14439  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
13866  14440   
            >,
13867  14441   
        ) -> Self {
13868         -
            self.sparse_struct_map = input.map(|v| v.into());
       14442  +
            self.string_set = input.map(|v| v.into());
13869  14443   
            self
13870  14444   
        }
13871  14445   
        #[allow(missing_docs)] // documentation missing in model
13872         -
        pub(crate) fn set_sparse_number_map(
       14446  +
        pub(crate) fn set_integer_list(
       14447  +
            mut self,
       14448  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       14449  +
        ) -> Self {
       14450  +
            self.integer_list = input.map(|v| v.into());
       14451  +
            self
       14452  +
        }
       14453  +
        #[allow(missing_docs)] // documentation missing in model
       14454  +
        pub(crate) fn set_boolean_list(
       14455  +
            mut self,
       14456  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       14457  +
        ) -> Self {
       14458  +
            self.boolean_list = input.map(|v| v.into());
       14459  +
            self
       14460  +
        }
       14461  +
        #[allow(missing_docs)] // documentation missing in model
       14462  +
        pub(crate) fn set_timestamp_list(
13873  14463   
            mut self,
13874  14464   
            input: Option<
13875  14465   
                impl ::std::convert::Into<
13876         -
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       14466  +
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
13877  14467   
                >,
13878  14468   
            >,
13879  14469   
        ) -> Self {
13880         -
            self.sparse_number_map = input.map(|v| v.into());
       14470  +
            self.timestamp_list = input.map(|v| v.into());
13881  14471   
            self
13882  14472   
        }
13883  14473   
        #[allow(missing_docs)] // documentation missing in model
13884         -
        pub(crate) fn set_sparse_boolean_map(
       14474  +
        pub(crate) fn set_enum_list(
13885  14475   
            mut self,
13886  14476   
            input: Option<
13887  14477   
                impl ::std::convert::Into<
13888         -
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       14478  +
                    crate::constrained::MaybeConstrained<
       14479  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       14480  +
                    >,
13889  14481   
                >,
13890  14482   
            >,
13891  14483   
        ) -> Self {
13892         -
            self.sparse_boolean_map = input.map(|v| v.into());
       14484  +
            self.enum_list = input.map(|v| v.into());
13893  14485   
            self
13894  14486   
        }
13895  14487   
        #[allow(missing_docs)] // documentation missing in model
13896         -
        pub(crate) fn set_sparse_string_map(
       14488  +
        pub(crate) fn set_int_enum_list(
       14489  +
            mut self,
       14490  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       14491  +
        ) -> Self {
       14492  +
            self.int_enum_list = input.map(|v| v.into());
       14493  +
            self
       14494  +
        }
       14495  +
        /// A list of lists of strings.
       14496  +
        pub(crate) fn set_nested_string_list(
13897  14497   
            mut self,
13898  14498   
            input: Option<
13899         -
                impl ::std::convert::Into<
13900         -
                    ::std::collections::HashMap<
13901         -
                        ::std::string::String,
13902         -
                        ::std::option::Option<::std::string::String>,
13903         -
                    >,
13904         -
                >,
       14499  +
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
13905  14500   
            >,
13906  14501   
        ) -> Self {
13907         -
            self.sparse_string_map = input.map(|v| v.into());
       14502  +
            self.nested_string_list = input.map(|v| v.into());
13908  14503   
            self
13909  14504   
        }
13910  14505   
        #[allow(missing_docs)] // documentation missing in model
13911         -
        pub(crate) fn set_sparse_set_map(
       14506  +
        pub(crate) fn set_structure_list(
13912  14507   
            mut self,
13913  14508   
            input: Option<
13914         -
                impl ::std::convert::Into<
13915         -
                    crate::constrained::MaybeConstrained<
13916         -
                        crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
13917         -
                    >,
13918         -
                >,
       14509  +
                impl ::std::convert::Into<::std::vec::Vec<crate::model::StructureListMember>>,
13919  14510   
            >,
13920  14511   
        ) -> Self {
13921         -
            self.sparse_set_map = input.map(|v| v.into());
       14512  +
            self.structure_list = input.map(|v| v.into());
13922  14513   
            self
13923  14514   
        }
13924         -
        /// Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       14515  +
        /// Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
13925  14516   
        ///
13926         -
        /// The builder fails to construct a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput) if a [`ConstraintViolation`] occurs.
       14517  +
        /// The builder fails to construct a [`JsonListsInput`](crate::input::JsonListsInput) if a [`ConstraintViolation`] occurs.
13927  14518   
        ///
13928         -
        pub fn build(self) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
       14519  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       14520  +
        pub fn build(self) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
13929  14521   
            self.build_enforcing_all_constraints()
13930  14522   
        }
13931  14523   
        fn build_enforcing_all_constraints(
13932  14524   
            self,
13933         -
        ) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
13934         -
            Ok(crate::input::SparseJsonMapsInput {
13935         -
                sparse_struct_map: self.sparse_struct_map,
13936         -
                sparse_number_map: self.sparse_number_map,
13937         -
                sparse_boolean_map: self.sparse_boolean_map,
13938         -
                sparse_string_map: self.sparse_string_map,
13939         -
                sparse_set_map: self
13940         -
                    .sparse_set_map
       14525  +
        ) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       14526  +
            Ok(crate::input::JsonListsInput {
       14527  +
                string_list: self.string_list,
       14528  +
                string_set: self
       14529  +
                    .string_set
13941  14530   
                    .map(|v| match v {
13942  14531   
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
13943  14532   
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13944  14533   
                    })
13945         -
                    .map(|res| {
13946         -
                        res.map(|v| v.into())
13947         -
                            .map_err(ConstraintViolation::SparseSetMap)
       14534  +
                    .map(|res| res.map_err(ConstraintViolation::StringSet))
       14535  +
                    .transpose()?
       14536  +
                    .map(|v: crate::model::StringSet| v.into()),
       14537  +
                integer_list: self.integer_list,
       14538  +
                boolean_list: self.boolean_list,
       14539  +
                timestamp_list: self.timestamp_list,
       14540  +
                enum_list: self
       14541  +
                    .enum_list
       14542  +
                    .map(|v| match v {
       14543  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       14544  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
13948  14545   
                    })
       14546  +
                    .map(|res| res.map(|v| v.into()).map_err(ConstraintViolation::EnumList))
13949  14547   
                    .transpose()?,
       14548  +
                int_enum_list: self.int_enum_list,
       14549  +
                nested_string_list: self.nested_string_list,
       14550  +
                structure_list: self.structure_list,
13950  14551   
            })
13951  14552   
        }
13952  14553   
    }
13953  14554   
}
13954         -
/// See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
13955         -
pub mod sparse_json_maps_input {
       14555  +
/// See [`JsonListsInput`](crate::input::JsonListsInput).
       14556  +
pub mod json_lists_input {
13956  14557   
13957         -
    impl ::std::convert::From<Builder> for crate::input::SparseJsonMapsInput {
       14558  +
    impl ::std::convert::From<Builder> for crate::input::JsonListsInput {
13958  14559   
        fn from(builder: Builder) -> Self {
13959  14560   
            builder.build()
13960  14561   
        }
13961  14562   
    }
13962         -
    /// A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       14563  +
    /// A builder for [`JsonListsInput`](crate::input::JsonListsInput).
13963  14564   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
13964  14565   
    pub struct Builder {
13965         -
        pub(crate) sparse_struct_map: ::std::option::Option<
13966         -
            ::std::collections::HashMap<
13967         -
                ::std::string::String,
13968         -
                ::std::option::Option<crate::model::GreetingStruct>,
13969         -
            >,
13970         -
        >,
13971         -
        pub(crate) sparse_number_map: ::std::option::Option<
13972         -
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
13973         -
        >,
13974         -
        pub(crate) sparse_boolean_map: ::std::option::Option<
13975         -
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
13976         -
        >,
13977         -
        pub(crate) sparse_string_map: ::std::option::Option<
13978         -
            ::std::collections::HashMap<
13979         -
                ::std::string::String,
13980         -
                ::std::option::Option<::std::string::String>,
13981         -
            >,
13982         -
        >,
13983         -
        pub(crate) sparse_set_map: ::std::option::Option<
13984         -
            ::std::collections::HashMap<
13985         -
                ::std::string::String,
13986         -
                ::std::option::Option<::std::vec::Vec<::std::string::String>>,
13987         -
            >,
       14566  +
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       14567  +
        pub(crate) string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       14568  +
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14569  +
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       14570  +
        pub(crate) timestamp_list: ::std::option::Option<
       14571  +
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
13988  14572   
        >,
       14573  +
        pub(crate) enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       14574  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       14575  +
        pub(crate) nested_string_list:
       14576  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       14577  +
        pub(crate) structure_list:
       14578  +
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
13989  14579   
    }
13990  14580   
    impl Builder {
13991  14581   
        #[allow(missing_docs)] // documentation missing in model
13992         -
        pub fn sparse_struct_map(
       14582  +
        pub fn string_list(
13993  14583   
            mut self,
13994         -
            input: ::std::option::Option<
13995         -
                ::std::collections::HashMap<
13996         -
                    ::std::string::String,
13997         -
                    ::std::option::Option<crate::model::GreetingStruct>,
13998         -
                >,
13999         -
            >,
       14584  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14000  14585   
        ) -> Self {
14001         -
            self.sparse_struct_map = input;
       14586  +
            self.string_list = input;
14002  14587   
            self
14003  14588   
        }
14004  14589   
        #[allow(missing_docs)] // documentation missing in model
14005         -
        pub fn sparse_number_map(
       14590  +
        pub fn string_set(
14006  14591   
            mut self,
14007         -
            input: ::std::option::Option<
14008         -
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
14009         -
            >,
       14592  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14010  14593   
        ) -> Self {
14011         -
            self.sparse_number_map = input;
       14594  +
            self.string_set = input;
14012  14595   
            self
14013  14596   
        }
14014  14597   
        #[allow(missing_docs)] // documentation missing in model
14015         -
        pub fn sparse_boolean_map(
       14598  +
        pub fn integer_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       14599  +
            self.integer_list = input;
       14600  +
            self
       14601  +
        }
       14602  +
        #[allow(missing_docs)] // documentation missing in model
       14603  +
        pub fn boolean_list(mut self, input: ::std::option::Option<::std::vec::Vec<bool>>) -> Self {
       14604  +
            self.boolean_list = input;
       14605  +
            self
       14606  +
        }
       14607  +
        #[allow(missing_docs)] // documentation missing in model
       14608  +
        pub fn timestamp_list(
14016  14609   
            mut self,
14017  14610   
            input: ::std::option::Option<
14018         -
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       14611  +
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
14019  14612   
            >,
14020  14613   
        ) -> Self {
14021         -
            self.sparse_boolean_map = input;
       14614  +
            self.timestamp_list = input;
14022  14615   
            self
14023  14616   
        }
14024  14617   
        #[allow(missing_docs)] // documentation missing in model
14025         -
        pub fn sparse_string_map(
       14618  +
        pub fn enum_list(
14026  14619   
            mut self,
14027         -
            input: ::std::option::Option<
14028         -
                ::std::collections::HashMap<
14029         -
                    ::std::string::String,
14030         -
                    ::std::option::Option<::std::string::String>,
14031         -
                >,
       14620  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       14621  +
        ) -> Self {
       14622  +
            self.enum_list = input;
       14623  +
            self
       14624  +
        }
       14625  +
        #[allow(missing_docs)] // documentation missing in model
       14626  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       14627  +
            self.int_enum_list = input;
       14628  +
            self
       14629  +
        }
       14630  +
        /// A list of lists of strings.
       14631  +
        pub fn nested_string_list(
       14632  +
            mut self,
       14633  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       14634  +
        ) -> Self {
       14635  +
            self.nested_string_list = input;
       14636  +
            self
       14637  +
        }
       14638  +
        #[allow(missing_docs)] // documentation missing in model
       14639  +
        pub fn structure_list(
       14640  +
            mut self,
       14641  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
       14642  +
        ) -> Self {
       14643  +
            self.structure_list = input;
       14644  +
            self
       14645  +
        }
       14646  +
        /// Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
       14647  +
        pub fn build(self) -> crate::input::JsonListsInput {
       14648  +
            self.build_enforcing_required_and_enum_traits()
       14649  +
        }
       14650  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonListsInput {
       14651  +
            crate::input::JsonListsInput {
       14652  +
                string_list: self.string_list,
       14653  +
                string_set: self.string_set,
       14654  +
                integer_list: self.integer_list,
       14655  +
                boolean_list: self.boolean_list,
       14656  +
                timestamp_list: self.timestamp_list,
       14657  +
                enum_list: self.enum_list,
       14658  +
                int_enum_list: self.int_enum_list,
       14659  +
                nested_string_list: self.nested_string_list,
       14660  +
                structure_list: self.structure_list,
       14661  +
            }
       14662  +
        }
       14663  +
    }
       14664  +
}
       14665  +
/// See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       14666  +
pub(crate) mod sparse_json_lists_input_internal {
       14667  +
       14668  +
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
       14669  +
        fn from(builder: Builder) -> Self {
       14670  +
            builder.build()
       14671  +
        }
       14672  +
    }
       14673  +
    /// A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       14674  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14675  +
    pub(crate) struct Builder {
       14676  +
        pub(crate) sparse_string_list:
       14677  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
       14678  +
        pub(crate) sparse_short_list:
       14679  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
       14680  +
    }
       14681  +
    impl Builder {
       14682  +
        #[allow(missing_docs)] // documentation missing in model
       14683  +
        pub(crate) fn set_sparse_string_list(
       14684  +
            mut self,
       14685  +
            input: Option<
       14686  +
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
14032  14687   
            >,
14033  14688   
        ) -> Self {
14034         -
            self.sparse_string_map = input;
       14689  +
            self.sparse_string_list = input.map(|v| v.into());
14035  14690   
            self
14036  14691   
        }
14037  14692   
        #[allow(missing_docs)] // documentation missing in model
14038         -
        pub fn sparse_set_map(
       14693  +
        pub(crate) fn set_sparse_short_list(
       14694  +
            mut self,
       14695  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<i16>>>>,
       14696  +
        ) -> Self {
       14697  +
            self.sparse_short_list = input.map(|v| v.into());
       14698  +
            self
       14699  +
        }
       14700  +
        /// Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       14701  +
        pub fn build(self) -> crate::input::SparseJsonListsInput {
       14702  +
            self.build_enforcing_all_constraints()
       14703  +
        }
       14704  +
        fn build_enforcing_all_constraints(self) -> crate::input::SparseJsonListsInput {
       14705  +
            crate::input::SparseJsonListsInput {
       14706  +
                sparse_string_list: self.sparse_string_list,
       14707  +
                sparse_short_list: self.sparse_short_list,
       14708  +
            }
       14709  +
        }
       14710  +
    }
       14711  +
}
       14712  +
/// See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       14713  +
pub mod sparse_json_lists_input {
       14714  +
       14715  +
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
       14716  +
        fn from(builder: Builder) -> Self {
       14717  +
            builder.build()
       14718  +
        }
       14719  +
    }
       14720  +
    /// A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       14721  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14722  +
    pub struct Builder {
       14723  +
        pub(crate) sparse_string_list:
       14724  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
       14725  +
        pub(crate) sparse_short_list:
       14726  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
       14727  +
    }
       14728  +
    impl Builder {
       14729  +
        #[allow(missing_docs)] // documentation missing in model
       14730  +
        pub fn sparse_string_list(
14039  14731   
            mut self,
14040  14732   
            input: ::std::option::Option<
14041         -
                ::std::collections::HashMap<
14042         -
                    ::std::string::String,
14043         -
                    ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14044         -
                >,
       14733  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
14045  14734   
            >,
14046  14735   
        ) -> Self {
14047         -
            self.sparse_set_map = input;
       14736  +
            self.sparse_string_list = input;
14048  14737   
            self
14049  14738   
        }
14050         -
        /// Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
14051         -
        pub fn build(self) -> crate::input::SparseJsonMapsInput {
       14739  +
        #[allow(missing_docs)] // documentation missing in model
       14740  +
        pub fn sparse_short_list(
       14741  +
            mut self,
       14742  +
            input: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
       14743  +
        ) -> Self {
       14744  +
            self.sparse_short_list = input;
       14745  +
            self
       14746  +
        }
       14747  +
        /// Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       14748  +
        pub fn build(self) -> crate::input::SparseJsonListsInput {
14052  14749   
            self.build_enforcing_required_and_enum_traits()
14053  14750   
        }
14054         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::SparseJsonMapsInput {
14055         -
            crate::input::SparseJsonMapsInput {
14056         -
                sparse_struct_map: self.sparse_struct_map,
14057         -
                sparse_number_map: self.sparse_number_map,
14058         -
                sparse_boolean_map: self.sparse_boolean_map,
14059         -
                sparse_string_map: self.sparse_string_map,
14060         -
                sparse_set_map: self.sparse_set_map,
       14751  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::SparseJsonListsInput {
       14752  +
            crate::input::SparseJsonListsInput {
       14753  +
                sparse_string_list: self.sparse_string_list,
       14754  +
                sparse_short_list: self.sparse_short_list,
14061  14755   
            }
14062  14756   
        }
14063  14757   
    }
14064  14758   
}
14065  14759   
/// See [`JsonMapsInput`](crate::input::JsonMapsInput).
14066  14760   
pub(crate) mod json_maps_input_internal {
14067  14761   
14068  14762   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
14069  14763   
    /// Holds one variant for each of the ways the builder can fail.
14070  14764   
    #[non_exhaustive]
@@ -14304,14998 +20907,22406 @@
14324  15018   
            crate::input::JsonMapsInput {
14325  15019   
                dense_struct_map: self.dense_struct_map,
14326  15020   
                dense_number_map: self.dense_number_map,
14327  15021   
                dense_boolean_map: self.dense_boolean_map,
14328  15022   
                dense_string_map: self.dense_string_map,
14329  15023   
                dense_set_map: self.dense_set_map,
14330  15024   
            }
14331  15025   
        }
14332  15026   
    }
14333  15027   
}
14334         -
/// See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
14335         -
pub(crate) mod sparse_json_lists_input_internal {
14336         -
14337         -
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
14338         -
        fn from(builder: Builder) -> Self {
14339         -
            builder.build()
14340         -
        }
14341         -
    }
14342         -
    /// A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
14343         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14344         -
    pub(crate) struct Builder {
14345         -
        pub(crate) sparse_string_list:
14346         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
14347         -
        pub(crate) sparse_short_list:
14348         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
14349         -
    }
14350         -
    impl Builder {
14351         -
        #[allow(missing_docs)] // documentation missing in model
14352         -
        pub(crate) fn set_sparse_string_list(
14353         -
            mut self,
14354         -
            input: Option<
14355         -
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
14356         -
            >,
14357         -
        ) -> Self {
14358         -
            self.sparse_string_list = input.map(|v| v.into());
14359         -
            self
14360         -
        }
14361         -
        #[allow(missing_docs)] // documentation missing in model
14362         -
        pub(crate) fn set_sparse_short_list(
14363         -
            mut self,
14364         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<i16>>>>,
14365         -
        ) -> Self {
14366         -
            self.sparse_short_list = input.map(|v| v.into());
14367         -
            self
14368         -
        }
14369         -
        /// Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
14370         -
        pub fn build(self) -> crate::input::SparseJsonListsInput {
14371         -
            self.build_enforcing_all_constraints()
14372         -
        }
14373         -
        fn build_enforcing_all_constraints(self) -> crate::input::SparseJsonListsInput {
14374         -
            crate::input::SparseJsonListsInput {
14375         -
                sparse_string_list: self.sparse_string_list,
14376         -
                sparse_short_list: self.sparse_short_list,
14377         -
            }
14378         -
        }
14379         -
    }
14380         -
}
14381         -
/// See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
14382         -
pub mod sparse_json_lists_input {
14383         -
14384         -
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
14385         -
        fn from(builder: Builder) -> Self {
14386         -
            builder.build()
14387         -
        }
14388         -
    }
14389         -
    /// A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
14390         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14391         -
    pub struct Builder {
14392         -
        pub(crate) sparse_string_list:
14393         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
14394         -
        pub(crate) sparse_short_list:
14395         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
14396         -
    }
14397         -
    impl Builder {
14398         -
        #[allow(missing_docs)] // documentation missing in model
14399         -
        pub fn sparse_string_list(
14400         -
            mut self,
14401         -
            input: ::std::option::Option<
14402         -
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
14403         -
            >,
14404         -
        ) -> Self {
14405         -
            self.sparse_string_list = input;
14406         -
            self
14407         -
        }
14408         -
        #[allow(missing_docs)] // documentation missing in model
14409         -
        pub fn sparse_short_list(
14410         -
            mut self,
14411         -
            input: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
14412         -
        ) -> Self {
14413         -
            self.sparse_short_list = input;
14414         -
            self
14415         -
        }
14416         -
        /// Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
14417         -
        pub fn build(self) -> crate::input::SparseJsonListsInput {
14418         -
            self.build_enforcing_required_and_enum_traits()
14419         -
        }
14420         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::SparseJsonListsInput {
14421         -
            crate::input::SparseJsonListsInput {
14422         -
                sparse_string_list: self.sparse_string_list,
14423         -
                sparse_short_list: self.sparse_short_list,
14424         -
            }
14425         -
        }
14426         -
    }
14427         -
}
14428         -
/// See [`JsonListsInput`](crate::input::JsonListsInput).
14429         -
pub(crate) mod json_lists_input_internal {
       15028  +
/// See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       15029  +
pub(crate) mod sparse_json_maps_input_internal {
14430  15030   
14431  15031   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
14432  15032   
    /// Holds one variant for each of the ways the builder can fail.
14433  15033   
    #[non_exhaustive]
14434  15034   
    #[allow(clippy::enum_variant_names)]
14435  15035   
    pub(crate) enum ConstraintViolation {
14436         -
        /// Constraint violation occurred building member `string_set` when building `JsonListsInput`.
14437         -
        #[doc(hidden)]
14438         -
        StringSet(crate::model::string_set_internal::ConstraintViolation),
14439         -
        /// Constraint violation occurred building member `enum_list` when building `JsonListsInput`.
       15036  +
        /// Constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`.
14440  15037   
        #[doc(hidden)]
14441         -
        EnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
       15038  +
        SparseSetMap(crate::model::sparse_set_map_internal::ConstraintViolation),
14442  15039   
    }
14443  15040   
    impl ::std::fmt::Display for ConstraintViolation {
14444  15041   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14445  15042   
            match self {
14446         -
                ConstraintViolation::StringSet(_) => write!(f, "constraint violation occurred building member `string_set` when building `JsonListsInput`"),
14447         -
                ConstraintViolation::EnumList(_) => write!(f, "constraint violation occurred building member `enum_list` when building `JsonListsInput`"),
       15043  +
                ConstraintViolation::SparseSetMap(_) => write!(f, "constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`"),
14448  15044   
            }
14449  15045   
        }
14450  15046   
    }
14451  15047   
    impl ::std::error::Error for ConstraintViolation {}
14452  15048   
    impl ConstraintViolation {
14453  15049   
        pub(crate) fn as_validation_exception_field(
14454  15050   
            self,
14455  15051   
            path: ::std::string::String,
14456  15052   
        ) -> crate::model::ValidationExceptionField {
14457  15053   
            match self {
14458         -
                ConstraintViolation::StringSet(inner) => {
14459         -
                    inner.as_validation_exception_field(path + "/stringSet")
14460         -
                }
14461         -
                ConstraintViolation::EnumList(inner) => {
14462         -
                    inner.as_validation_exception_field(path + "/enumList")
       15054  +
                ConstraintViolation::SparseSetMap(inner) => {
       15055  +
                    inner.as_validation_exception_field(path + "/sparseSetMap")
14463  15056   
                }
14464  15057   
            }
14465  15058   
        }
14466  15059   
    }
14467  15060   
    impl ::std::convert::From<ConstraintViolation>
14468  15061   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
14469  15062   
    {
14470  15063   
        fn from(constraint_violation: ConstraintViolation) -> Self {
14471  15064   
            let first_validation_exception_field =
14472  15065   
                constraint_violation.as_validation_exception_field("".to_owned());
14473  15066   
            let validation_exception = crate::error::ValidationException {
14474  15067   
                message: format!(
14475  15068   
                    "1 validation error detected. {}",
14476  15069   
                    &first_validation_exception_field.message
14477  15070   
                ),
14478  15071   
                field_list: Some(vec![first_validation_exception_field]),
14479  15072   
            };
14480  15073   
            Self::ConstraintViolation(
14481  15074   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
14482  15075   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
14483  15076   
                            )
14484  15077   
        }
14485         -
    }
14486         -
    impl ::std::convert::From<Builder>
14487         -
        for crate::constrained::MaybeConstrained<crate::input::JsonListsInput>
14488         -
    {
14489         -
        fn from(builder: Builder) -> Self {
14490         -
            Self::Unconstrained(builder)
       15078  +
    }
       15079  +
    impl ::std::convert::From<Builder>
       15080  +
        for crate::constrained::MaybeConstrained<crate::input::SparseJsonMapsInput>
       15081  +
    {
       15082  +
        fn from(builder: Builder) -> Self {
       15083  +
            Self::Unconstrained(builder)
       15084  +
        }
       15085  +
    }
       15086  +
    impl ::std::convert::TryFrom<Builder> for crate::input::SparseJsonMapsInput {
       15087  +
        type Error = ConstraintViolation;
       15088  +
       15089  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       15090  +
            builder.build()
       15091  +
        }
       15092  +
    }
       15093  +
    /// A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       15094  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15095  +
    pub(crate) struct Builder {
       15096  +
        pub(crate) sparse_struct_map: ::std::option::Option<
       15097  +
            ::std::collections::HashMap<
       15098  +
                ::std::string::String,
       15099  +
                ::std::option::Option<crate::model::GreetingStruct>,
       15100  +
            >,
       15101  +
        >,
       15102  +
        pub(crate) sparse_number_map: ::std::option::Option<
       15103  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       15104  +
        >,
       15105  +
        pub(crate) sparse_boolean_map: ::std::option::Option<
       15106  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       15107  +
        >,
       15108  +
        pub(crate) sparse_string_map: ::std::option::Option<
       15109  +
            ::std::collections::HashMap<
       15110  +
                ::std::string::String,
       15111  +
                ::std::option::Option<::std::string::String>,
       15112  +
            >,
       15113  +
        >,
       15114  +
        pub(crate) sparse_set_map: ::std::option::Option<
       15115  +
            crate::constrained::MaybeConstrained<
       15116  +
                crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       15117  +
            >,
       15118  +
        >,
       15119  +
    }
       15120  +
    impl Builder {
       15121  +
        #[allow(missing_docs)] // documentation missing in model
       15122  +
        pub(crate) fn set_sparse_struct_map(
       15123  +
            mut self,
       15124  +
            input: Option<
       15125  +
                impl ::std::convert::Into<
       15126  +
                    ::std::collections::HashMap<
       15127  +
                        ::std::string::String,
       15128  +
                        ::std::option::Option<crate::model::GreetingStruct>,
       15129  +
                    >,
       15130  +
                >,
       15131  +
            >,
       15132  +
        ) -> Self {
       15133  +
            self.sparse_struct_map = input.map(|v| v.into());
       15134  +
            self
       15135  +
        }
       15136  +
        #[allow(missing_docs)] // documentation missing in model
       15137  +
        pub(crate) fn set_sparse_number_map(
       15138  +
            mut self,
       15139  +
            input: Option<
       15140  +
                impl ::std::convert::Into<
       15141  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       15142  +
                >,
       15143  +
            >,
       15144  +
        ) -> Self {
       15145  +
            self.sparse_number_map = input.map(|v| v.into());
       15146  +
            self
       15147  +
        }
       15148  +
        #[allow(missing_docs)] // documentation missing in model
       15149  +
        pub(crate) fn set_sparse_boolean_map(
       15150  +
            mut self,
       15151  +
            input: Option<
       15152  +
                impl ::std::convert::Into<
       15153  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       15154  +
                >,
       15155  +
            >,
       15156  +
        ) -> Self {
       15157  +
            self.sparse_boolean_map = input.map(|v| v.into());
       15158  +
            self
       15159  +
        }
       15160  +
        #[allow(missing_docs)] // documentation missing in model
       15161  +
        pub(crate) fn set_sparse_string_map(
       15162  +
            mut self,
       15163  +
            input: Option<
       15164  +
                impl ::std::convert::Into<
       15165  +
                    ::std::collections::HashMap<
       15166  +
                        ::std::string::String,
       15167  +
                        ::std::option::Option<::std::string::String>,
       15168  +
                    >,
       15169  +
                >,
       15170  +
            >,
       15171  +
        ) -> Self {
       15172  +
            self.sparse_string_map = input.map(|v| v.into());
       15173  +
            self
       15174  +
        }
       15175  +
        #[allow(missing_docs)] // documentation missing in model
       15176  +
        pub(crate) fn set_sparse_set_map(
       15177  +
            mut self,
       15178  +
            input: Option<
       15179  +
                impl ::std::convert::Into<
       15180  +
                    crate::constrained::MaybeConstrained<
       15181  +
                        crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       15182  +
                    >,
       15183  +
                >,
       15184  +
            >,
       15185  +
        ) -> Self {
       15186  +
            self.sparse_set_map = input.map(|v| v.into());
       15187  +
            self
       15188  +
        }
       15189  +
        /// Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       15190  +
        ///
       15191  +
        /// The builder fails to construct a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput) if a [`ConstraintViolation`] occurs.
       15192  +
        ///
       15193  +
        pub fn build(self) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
       15194  +
            self.build_enforcing_all_constraints()
       15195  +
        }
       15196  +
        fn build_enforcing_all_constraints(
       15197  +
            self,
       15198  +
        ) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
       15199  +
            Ok(crate::input::SparseJsonMapsInput {
       15200  +
                sparse_struct_map: self.sparse_struct_map,
       15201  +
                sparse_number_map: self.sparse_number_map,
       15202  +
                sparse_boolean_map: self.sparse_boolean_map,
       15203  +
                sparse_string_map: self.sparse_string_map,
       15204  +
                sparse_set_map: self
       15205  +
                    .sparse_set_map
       15206  +
                    .map(|v| match v {
       15207  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       15208  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       15209  +
                    })
       15210  +
                    .map(|res| {
       15211  +
                        res.map(|v| v.into())
       15212  +
                            .map_err(ConstraintViolation::SparseSetMap)
       15213  +
                    })
       15214  +
                    .transpose()?,
       15215  +
            })
14491  15216   
        }
14492  15217   
    }
14493         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonListsInput {
14494         -
        type Error = ConstraintViolation;
       15218  +
}
       15219  +
/// See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       15220  +
pub mod sparse_json_maps_input {
14495  15221   
14496         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       15222  +
    impl ::std::convert::From<Builder> for crate::input::SparseJsonMapsInput {
       15223  +
        fn from(builder: Builder) -> Self {
14497  15224   
            builder.build()
14498  15225   
        }
14499  15226   
    }
14500         -
    /// A builder for [`JsonListsInput`](crate::input::JsonListsInput).
       15227  +
    /// A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
14501  15228   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14502         -
    pub(crate) struct Builder {
14503         -
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14504         -
        pub(crate) string_set:
14505         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
14506         -
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
14507         -
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
14508         -
        pub(crate) timestamp_list: ::std::option::Option<
14509         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       15229  +
    pub struct Builder {
       15230  +
        pub(crate) sparse_struct_map: ::std::option::Option<
       15231  +
            ::std::collections::HashMap<
       15232  +
                ::std::string::String,
       15233  +
                ::std::option::Option<crate::model::GreetingStruct>,
       15234  +
            >,
14510  15235   
        >,
14511         -
        pub(crate) enum_list: ::std::option::Option<
14512         -
            crate::constrained::MaybeConstrained<
14513         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       15236  +
        pub(crate) sparse_number_map: ::std::option::Option<
       15237  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       15238  +
        >,
       15239  +
        pub(crate) sparse_boolean_map: ::std::option::Option<
       15240  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       15241  +
        >,
       15242  +
        pub(crate) sparse_string_map: ::std::option::Option<
       15243  +
            ::std::collections::HashMap<
       15244  +
                ::std::string::String,
       15245  +
                ::std::option::Option<::std::string::String>,
       15246  +
            >,
       15247  +
        >,
       15248  +
        pub(crate) sparse_set_map: ::std::option::Option<
       15249  +
            ::std::collections::HashMap<
       15250  +
                ::std::string::String,
       15251  +
                ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14514  15252   
            >,
14515  15253   
        >,
14516         -
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
14517         -
        pub(crate) nested_string_list:
14518         -
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
14519         -
        pub(crate) structure_list:
14520         -
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
14521  15254   
    }
14522  15255   
    impl Builder {
14523  15256   
        #[allow(missing_docs)] // documentation missing in model
14524         -
        pub(crate) fn set_string_list(
14525         -
            mut self,
14526         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
14527         -
        ) -> Self {
14528         -
            self.string_list = input.map(|v| v.into());
14529         -
            self
14530         -
        }
14531         -
        #[allow(missing_docs)] // documentation missing in model
14532         -
        pub(crate) fn set_string_set(
       15257  +
        pub fn sparse_struct_map(
14533  15258   
            mut self,
14534         -
            input: Option<
14535         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       15259  +
            input: ::std::option::Option<
       15260  +
                ::std::collections::HashMap<
       15261  +
                    ::std::string::String,
       15262  +
                    ::std::option::Option<crate::model::GreetingStruct>,
       15263  +
                >,
14536  15264   
            >,
14537  15265   
        ) -> Self {
14538         -
            self.string_set = input.map(|v| v.into());
       15266  +
            self.sparse_struct_map = input;
14539  15267   
            self
14540  15268   
        }
14541  15269   
        #[allow(missing_docs)] // documentation missing in model
14542         -
        pub(crate) fn set_integer_list(
       15270  +
        pub fn sparse_number_map(
14543  15271   
            mut self,
14544         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       15272  +
            input: ::std::option::Option<
       15273  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       15274  +
            >,
14545  15275   
        ) -> Self {
14546         -
            self.integer_list = input.map(|v| v.into());
       15276  +
            self.sparse_number_map = input;
14547  15277   
            self
14548  15278   
        }
14549  15279   
        #[allow(missing_docs)] // documentation missing in model
14550         -
        pub(crate) fn set_boolean_list(
       15280  +
        pub fn sparse_boolean_map(
14551  15281   
            mut self,
14552         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       15282  +
            input: ::std::option::Option<
       15283  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       15284  +
            >,
14553  15285   
        ) -> Self {
14554         -
            self.boolean_list = input.map(|v| v.into());
       15286  +
            self.sparse_boolean_map = input;
14555  15287   
            self
14556  15288   
        }
14557  15289   
        #[allow(missing_docs)] // documentation missing in model
14558         -
        pub(crate) fn set_timestamp_list(
       15290  +
        pub fn sparse_string_map(
14559  15291   
            mut self,
14560         -
            input: Option<
14561         -
                impl ::std::convert::Into<
14562         -
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       15292  +
            input: ::std::option::Option<
       15293  +
                ::std::collections::HashMap<
       15294  +
                    ::std::string::String,
       15295  +
                    ::std::option::Option<::std::string::String>,
14563  15296   
                >,
14564  15297   
            >,
14565  15298   
        ) -> Self {
14566         -
            self.timestamp_list = input.map(|v| v.into());
       15299  +
            self.sparse_string_map = input;
14567  15300   
            self
14568  15301   
        }
14569  15302   
        #[allow(missing_docs)] // documentation missing in model
14570         -
        pub(crate) fn set_enum_list(
       15303  +
        pub fn sparse_set_map(
14571  15304   
            mut self,
14572         -
            input: Option<
14573         -
                impl ::std::convert::Into<
14574         -
                    crate::constrained::MaybeConstrained<
14575         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
14576         -
                    >,
       15305  +
            input: ::std::option::Option<
       15306  +
                ::std::collections::HashMap<
       15307  +
                    ::std::string::String,
       15308  +
                    ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14577  15309   
                >,
14578  15310   
            >,
14579  15311   
        ) -> Self {
14580         -
            self.enum_list = input.map(|v| v.into());
       15312  +
            self.sparse_set_map = input;
14581  15313   
            self
14582  15314   
        }
       15315  +
        /// Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       15316  +
        pub fn build(self) -> crate::input::SparseJsonMapsInput {
       15317  +
            self.build_enforcing_required_and_enum_traits()
       15318  +
        }
       15319  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::SparseJsonMapsInput {
       15320  +
            crate::input::SparseJsonMapsInput {
       15321  +
                sparse_struct_map: self.sparse_struct_map,
       15322  +
                sparse_number_map: self.sparse_number_map,
       15323  +
                sparse_boolean_map: self.sparse_boolean_map,
       15324  +
                sparse_string_map: self.sparse_string_map,
       15325  +
                sparse_set_map: self.sparse_set_map,
       15326  +
            }
       15327  +
        }
       15328  +
    }
       15329  +
}
       15330  +
/// See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       15331  +
pub(crate) mod json_blobs_input_internal {
       15332  +
       15333  +
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
       15334  +
        fn from(builder: Builder) -> Self {
       15335  +
            builder.build()
       15336  +
        }
       15337  +
    }
       15338  +
    /// A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       15339  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15340  +
    pub(crate) struct Builder {
       15341  +
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       15342  +
    }
       15343  +
    impl Builder {
14583  15344   
        #[allow(missing_docs)] // documentation missing in model
14584         -
        pub(crate) fn set_int_enum_list(
       15345  +
        pub(crate) fn set_data(
14585  15346   
            mut self,
14586         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       15347  +
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
14587  15348   
        ) -> Self {
14588         -
            self.int_enum_list = input.map(|v| v.into());
       15349  +
            self.data = input.map(|v| v.into());
14589  15350   
            self
14590  15351   
        }
14591         -
        /// A list of lists of strings.
14592         -
        pub(crate) fn set_nested_string_list(
14593         -
            mut self,
14594         -
            input: Option<
14595         -
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
14596         -
            >,
14597         -
        ) -> Self {
14598         -
            self.nested_string_list = input.map(|v| v.into());
14599         -
            self
       15352  +
        /// Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       15353  +
        pub fn build(self) -> crate::input::JsonBlobsInput {
       15354  +
            self.build_enforcing_all_constraints()
       15355  +
        }
       15356  +
        fn build_enforcing_all_constraints(self) -> crate::input::JsonBlobsInput {
       15357  +
            crate::input::JsonBlobsInput { data: self.data }
       15358  +
        }
       15359  +
    }
       15360  +
}
       15361  +
/// See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       15362  +
pub mod json_blobs_input {
       15363  +
       15364  +
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
       15365  +
        fn from(builder: Builder) -> Self {
       15366  +
            builder.build()
14600  15367   
        }
       15368  +
    }
       15369  +
    /// A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       15370  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15371  +
    pub struct Builder {
       15372  +
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       15373  +
    }
       15374  +
    impl Builder {
14601  15375   
        #[allow(missing_docs)] // documentation missing in model
14602         -
        pub(crate) fn set_structure_list(
       15376  +
        pub fn data(
14603  15377   
            mut self,
14604         -
            input: Option<
14605         -
                impl ::std::convert::Into<::std::vec::Vec<crate::model::StructureListMember>>,
14606         -
            >,
       15378  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
14607  15379   
        ) -> Self {
14608         -
            self.structure_list = input.map(|v| v.into());
       15380  +
            self.data = input;
14609  15381   
            self
14610  15382   
        }
14611         -
        /// Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
14612         -
        ///
14613         -
        /// The builder fails to construct a [`JsonListsInput`](crate::input::JsonListsInput) if a [`ConstraintViolation`] occurs.
14614         -
        ///
14615         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
14616         -
        pub fn build(self) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
14617         -
            self.build_enforcing_all_constraints()
       15383  +
        /// Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       15384  +
        pub fn build(self) -> crate::input::JsonBlobsInput {
       15385  +
            self.build_enforcing_required_and_enum_traits()
14618  15386   
        }
14619         -
        fn build_enforcing_all_constraints(
14620         -
            self,
14621         -
        ) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
14622         -
            Ok(crate::input::JsonListsInput {
14623         -
                string_list: self.string_list,
14624         -
                string_set: self
14625         -
                    .string_set
14626         -
                    .map(|v| match v {
14627         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
14628         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
14629         -
                    })
14630         -
                    .map(|res| res.map_err(ConstraintViolation::StringSet))
14631         -
                    .transpose()?
14632         -
                    .map(|v: crate::model::StringSet| v.into()),
14633         -
                integer_list: self.integer_list,
14634         -
                boolean_list: self.boolean_list,
14635         -
                timestamp_list: self.timestamp_list,
14636         -
                enum_list: self
14637         -
                    .enum_list
14638         -
                    .map(|v| match v {
14639         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
14640         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
14641         -
                    })
14642         -
                    .map(|res| res.map(|v| v.into()).map_err(ConstraintViolation::EnumList))
14643         -
                    .transpose()?,
14644         -
                int_enum_list: self.int_enum_list,
14645         -
                nested_string_list: self.nested_string_list,
14646         -
                structure_list: self.structure_list,
14647         -
            })
       15387  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonBlobsInput {
       15388  +
            crate::input::JsonBlobsInput { data: self.data }
14648  15389   
        }
14649  15390   
    }
14650  15391   
}
14651         -
/// See [`JsonListsInput`](crate::input::JsonListsInput).
14652         -
pub mod json_lists_input {
       15392  +
/// See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       15393  +
pub(crate) mod document_type_input_internal {
14653  15394   
14654         -
    impl ::std::convert::From<Builder> for crate::input::JsonListsInput {
       15395  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
14655  15396   
        fn from(builder: Builder) -> Self {
14656  15397   
            builder.build()
14657  15398   
        }
14658  15399   
    }
14659         -
    /// A builder for [`JsonListsInput`](crate::input::JsonListsInput).
       15400  +
    /// A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
14660  15401   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14661         -
    pub struct Builder {
14662         -
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14663         -
        pub(crate) string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14664         -
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
14665         -
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
14666         -
        pub(crate) timestamp_list: ::std::option::Option<
14667         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
14668         -
        >,
14669         -
        pub(crate) enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
14670         -
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
14671         -
        pub(crate) nested_string_list:
14672         -
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
14673         -
        pub(crate) structure_list:
14674         -
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
       15402  +
    pub(crate) struct Builder {
       15403  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       15404  +
        pub(crate) document_value:
       15405  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
14675  15406   
    }
14676  15407   
    impl Builder {
14677  15408   
        #[allow(missing_docs)] // documentation missing in model
14678         -
        pub fn string_list(
       15409  +
        pub(crate) fn set_string_value(
14679  15410   
            mut self,
14680         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       15411  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
14681  15412   
        ) -> Self {
14682         -
            self.string_list = input;
       15413  +
            self.string_value = input.map(|v| v.into());
14683  15414   
            self
14684  15415   
        }
14685  15416   
        #[allow(missing_docs)] // documentation missing in model
14686         -
        pub fn string_set(
       15417  +
        pub(crate) fn set_document_value(
14687  15418   
            mut self,
14688         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       15419  +
            input: Option<
       15420  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::Document>,
       15421  +
            >,
14689  15422   
        ) -> Self {
14690         -
            self.string_set = input;
       15423  +
            self.document_value = input.map(|v| v.into());
14691  15424   
            self
14692  15425   
        }
14693         -
        #[allow(missing_docs)] // documentation missing in model
14694         -
        pub fn integer_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
14695         -
            self.integer_list = input;
14696         -
            self
       15426  +
        /// Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       15427  +
        pub fn build(self) -> crate::input::DocumentTypeInput {
       15428  +
            self.build_enforcing_all_constraints()
       15429  +
        }
       15430  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeInput {
       15431  +
            crate::input::DocumentTypeInput {
       15432  +
                string_value: self.string_value,
       15433  +
                document_value: self.document_value,
       15434  +
            }
       15435  +
        }
       15436  +
    }
       15437  +
}
       15438  +
/// See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       15439  +
pub mod document_type_input {
       15440  +
       15441  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
       15442  +
        fn from(builder: Builder) -> Self {
       15443  +
            builder.build()
14697  15444   
        }
       15445  +
    }
       15446  +
    /// A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       15447  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15448  +
    pub struct Builder {
       15449  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       15450  +
        pub(crate) document_value:
       15451  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       15452  +
    }
       15453  +
    impl Builder {
14698  15454   
        #[allow(missing_docs)] // documentation missing in model
14699         -
        pub fn boolean_list(mut self, input: ::std::option::Option<::std::vec::Vec<bool>>) -> Self {
14700         -
            self.boolean_list = input;
       15455  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15456  +
            self.string_value = input;
14701  15457   
            self
14702  15458   
        }
14703  15459   
        #[allow(missing_docs)] // documentation missing in model
14704         -
        pub fn timestamp_list(
       15460  +
        pub fn document_value(
14705  15461   
            mut self,
14706         -
            input: ::std::option::Option<
14707         -
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
14708         -
            >,
       15462  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
14709  15463   
        ) -> Self {
14710         -
            self.timestamp_list = input;
       15464  +
            self.document_value = input;
14711  15465   
            self
14712  15466   
        }
       15467  +
        /// Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       15468  +
        pub fn build(self) -> crate::input::DocumentTypeInput {
       15469  +
            self.build_enforcing_required_and_enum_traits()
       15470  +
        }
       15471  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::DocumentTypeInput {
       15472  +
            crate::input::DocumentTypeInput {
       15473  +
                string_value: self.string_value,
       15474  +
                document_value: self.document_value,
       15475  +
            }
       15476  +
        }
       15477  +
    }
       15478  +
}
       15479  +
/// See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       15480  +
pub(crate) mod document_type_as_payload_input_internal {
       15481  +
       15482  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
       15483  +
        fn from(builder: Builder) -> Self {
       15484  +
            builder.build()
       15485  +
        }
       15486  +
    }
       15487  +
    /// A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       15488  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15489  +
    pub(crate) struct Builder {
       15490  +
        pub(crate) document_value:
       15491  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       15492  +
    }
       15493  +
    impl Builder {
14713  15494   
        #[allow(missing_docs)] // documentation missing in model
14714         -
        pub fn enum_list(
       15495  +
        pub(crate) fn set_document_value(
14715  15496   
            mut self,
14716         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       15497  +
            input: Option<
       15498  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::Document>,
       15499  +
            >,
14717  15500   
        ) -> Self {
14718         -
            self.enum_list = input;
       15501  +
            self.document_value = input.map(|v| v.into());
14719  15502   
            self
14720  15503   
        }
14721         -
        #[allow(missing_docs)] // documentation missing in model
14722         -
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
14723         -
            self.int_enum_list = input;
14724         -
            self
       15504  +
        /// Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       15505  +
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
       15506  +
            self.build_enforcing_all_constraints()
14725  15507   
        }
14726         -
        /// A list of lists of strings.
14727         -
        pub fn nested_string_list(
14728         -
            mut self,
14729         -
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
14730         -
        ) -> Self {
14731         -
            self.nested_string_list = input;
14732         -
            self
       15508  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsPayloadInput {
       15509  +
            crate::input::DocumentTypeAsPayloadInput {
       15510  +
                document_value: self.document_value,
       15511  +
            }
       15512  +
        }
       15513  +
    }
       15514  +
}
       15515  +
/// See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       15516  +
pub mod document_type_as_payload_input {
       15517  +
       15518  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
       15519  +
        fn from(builder: Builder) -> Self {
       15520  +
            builder.build()
14733  15521   
        }
       15522  +
    }
       15523  +
    /// A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       15524  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15525  +
    pub struct Builder {
       15526  +
        pub(crate) document_value:
       15527  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
       15528  +
    }
       15529  +
    impl Builder {
14734  15530   
        #[allow(missing_docs)] // documentation missing in model
14735         -
        pub fn structure_list(
       15531  +
        pub fn document_value(
14736  15532   
            mut self,
14737         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
       15533  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
14738  15534   
        ) -> Self {
14739         -
            self.structure_list = input;
       15535  +
            self.document_value = input;
14740  15536   
            self
14741  15537   
        }
14742         -
        /// Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
14743         -
        pub fn build(self) -> crate::input::JsonListsInput {
       15538  +
        /// Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       15539  +
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
14744  15540   
            self.build_enforcing_required_and_enum_traits()
14745  15541   
        }
14746         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonListsInput {
14747         -
            crate::input::JsonListsInput {
14748         -
                string_list: self.string_list,
14749         -
                string_set: self.string_set,
14750         -
                integer_list: self.integer_list,
14751         -
                boolean_list: self.boolean_list,
14752         -
                timestamp_list: self.timestamp_list,
14753         -
                enum_list: self.enum_list,
14754         -
                int_enum_list: self.int_enum_list,
14755         -
                nested_string_list: self.nested_string_list,
14756         -
                structure_list: self.structure_list,
       15542  +
        fn build_enforcing_required_and_enum_traits(
       15543  +
            self,
       15544  +
        ) -> crate::input::DocumentTypeAsPayloadInput {
       15545  +
            crate::input::DocumentTypeAsPayloadInput {
       15546  +
                document_value: self.document_value,
14757  15547   
            }
14758  15548   
        }
14759  15549   
    }
14760  15550   
}
14761         -
/// See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
14762         -
pub(crate) mod recursive_shapes_input_internal {
       15551  +
/// See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       15552  +
pub(crate) mod document_type_as_map_value_input_internal {
14763  15553   
14764         -
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
       15554  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
14765  15555   
        fn from(builder: Builder) -> Self {
14766  15556   
            builder.build()
14767  15557   
        }
14768  15558   
    }
14769         -
    /// A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       15559  +
    /// A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
14770  15560   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14771  15561   
    pub(crate) struct Builder {
14772         -
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       15562  +
        pub(crate) doc_valued_map: ::std::option::Option<
       15563  +
            ::std::collections::HashMap<
       15564  +
                ::std::string::String,
       15565  +
                ::aws_smithy_http_server_python::types::Document,
       15566  +
            >,
       15567  +
        >,
14773  15568   
    }
14774  15569   
    impl Builder {
14775  15570   
        #[allow(missing_docs)] // documentation missing in model
14776         -
        pub(crate) fn set_nested(
       15571  +
        pub(crate) fn set_doc_valued_map(
14777  15572   
            mut self,
14778  15573   
            input: Option<
14779         -
                impl ::std::convert::Into<crate::model::RecursiveShapesInputOutputNested1>,
       15574  +
                impl ::std::convert::Into<
       15575  +
                    ::std::collections::HashMap<
       15576  +
                        ::std::string::String,
       15577  +
                        ::aws_smithy_http_server_python::types::Document,
       15578  +
                    >,
       15579  +
                >,
14780  15580   
            >,
14781  15581   
        ) -> Self {
14782         -
            self.nested = input.map(|v| v.into());
       15582  +
            self.doc_valued_map = input.map(|v| v.into());
14783  15583   
            self
14784  15584   
        }
14785         -
        /// Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
14786         -
        pub fn build(self) -> crate::input::RecursiveShapesInput {
       15585  +
        /// Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       15586  +
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
14787  15587   
            self.build_enforcing_all_constraints()
14788  15588   
        }
14789         -
        fn build_enforcing_all_constraints(self) -> crate::input::RecursiveShapesInput {
14790         -
            crate::input::RecursiveShapesInput {
14791         -
                nested: self.nested,
       15589  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsMapValueInput {
       15590  +
            crate::input::DocumentTypeAsMapValueInput {
       15591  +
                doc_valued_map: self.doc_valued_map,
14792  15592   
            }
14793  15593   
        }
14794  15594   
    }
14795  15595   
}
14796         -
/// See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
14797         -
pub mod recursive_shapes_input {
       15596  +
/// See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       15597  +
pub mod document_type_as_map_value_input {
14798  15598   
14799         -
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
       15599  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
14800  15600   
        fn from(builder: Builder) -> Self {
14801  15601   
            builder.build()
14802  15602   
        }
14803  15603   
    }
14804         -
    /// A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       15604  +
    /// A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
14805  15605   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14806  15606   
    pub struct Builder {
14807         -
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       15607  +
        pub(crate) doc_valued_map: ::std::option::Option<
       15608  +
            ::std::collections::HashMap<
       15609  +
                ::std::string::String,
       15610  +
                ::aws_smithy_http_server_python::types::Document,
       15611  +
            >,
       15612  +
        >,
14808  15613   
    }
14809  15614   
    impl Builder {
14810  15615   
        #[allow(missing_docs)] // documentation missing in model
14811         -
        pub fn nested(
       15616  +
        pub fn doc_valued_map(
14812  15617   
            mut self,
14813         -
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       15618  +
            input: ::std::option::Option<
       15619  +
                ::std::collections::HashMap<
       15620  +
                    ::std::string::String,
       15621  +
                    ::aws_smithy_http_server_python::types::Document,
       15622  +
                >,
       15623  +
            >,
14814  15624   
        ) -> Self {
14815         -
            self.nested = input;
       15625  +
            self.doc_valued_map = input;
14816  15626   
            self
14817  15627   
        }
14818         -
        /// Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
14819         -
        pub fn build(self) -> crate::input::RecursiveShapesInput {
       15628  +
        /// Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       15629  +
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
14820  15630   
            self.build_enforcing_required_and_enum_traits()
14821  15631   
        }
14822         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::RecursiveShapesInput {
14823         -
            crate::input::RecursiveShapesInput {
14824         -
                nested: self.nested,
       15632  +
        fn build_enforcing_required_and_enum_traits(
       15633  +
            self,
       15634  +
        ) -> crate::input::DocumentTypeAsMapValueInput {
       15635  +
            crate::input::DocumentTypeAsMapValueInput {
       15636  +
                doc_valued_map: self.doc_valued_map,
14825  15637   
            }
14826  15638   
        }
14827  15639   
    }
14828  15640   
}
14829         -
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
14830         -
pub(crate) mod json_int_enums_input_internal {
       15641  +
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       15642  +
pub(crate) mod json_unions_input_internal {
14831  15643   
14832  15644   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
14833  15645   
    /// Holds one variant for each of the ways the builder can fail.
14834  15646   
    #[non_exhaustive]
14835  15647   
    #[allow(clippy::enum_variant_names)]
14836  15648   
    pub(crate) enum ConstraintViolation {
14837         -
        /// Constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`.
       15649  +
        /// Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
14838  15650   
        #[doc(hidden)]
14839         -
        IntegerEnumSet(crate::model::integer_enum_set_internal::ConstraintViolation),
       15651  +
        Contents(crate::model::my_union_internal::ConstraintViolation),
14840  15652   
    }
14841  15653   
    impl ::std::fmt::Display for ConstraintViolation {
14842  15654   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14843  15655   
            match self {
14844         -
                ConstraintViolation::IntegerEnumSet(_) => write!(f, "constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`"),
       15656  +
                ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
14845  15657   
            }
14846  15658   
        }
14847  15659   
    }
14848  15660   
    impl ::std::error::Error for ConstraintViolation {}
14849  15661   
    impl ConstraintViolation {
14850  15662   
        pub(crate) fn as_validation_exception_field(
14851  15663   
            self,
14852  15664   
            path: ::std::string::String,
14853  15665   
        ) -> crate::model::ValidationExceptionField {
14854  15666   
            match self {
14855         -
                ConstraintViolation::IntegerEnumSet(inner) => {
14856         -
                    inner.as_validation_exception_field(path + "/integerEnumSet")
       15667  +
                ConstraintViolation::Contents(inner) => {
       15668  +
                    inner.as_validation_exception_field(path + "/contents")
14857  15669   
                }
14858  15670   
            }
14859  15671   
        }
14860  15672   
    }
14861  15673   
    impl ::std::convert::From<ConstraintViolation>
14862  15674   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
14863  15675   
    {
14864  15676   
        fn from(constraint_violation: ConstraintViolation) -> Self {
14865  15677   
            let first_validation_exception_field =
14866  15678   
                constraint_violation.as_validation_exception_field("".to_owned());
14867  15679   
            let validation_exception = crate::error::ValidationException {
14868  15680   
                message: format!(
14869  15681   
                    "1 validation error detected. {}",
14870  15682   
                    &first_validation_exception_field.message
14871  15683   
                ),
14872  15684   
                field_list: Some(vec![first_validation_exception_field]),
14873  15685   
            };
14874  15686   
            Self::ConstraintViolation(
14875  15687   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
14876  15688   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
14877  15689   
                            )
14878  15690   
        }
14879  15691   
    }
14880  15692   
    impl ::std::convert::From<Builder>
14881         -
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
       15693  +
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
14882  15694   
    {
14883  15695   
        fn from(builder: Builder) -> Self {
14884  15696   
            Self::Unconstrained(builder)
14885  15697   
        }
14886  15698   
    }
14887         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
       15699  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
14888  15700   
        type Error = ConstraintViolation;
14889  15701   
14890  15702   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
14891  15703   
            builder.build()
14892  15704   
        }
14893  15705   
    }
14894         -
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       15706  +
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
14895  15707   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
14896  15708   
    pub(crate) struct Builder {
14897         -
        pub(crate) integer_enum1: ::std::option::Option<i32>,
14898         -
        pub(crate) integer_enum2: ::std::option::Option<i32>,
14899         -
        pub(crate) integer_enum3: ::std::option::Option<i32>,
14900         -
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
14901         -
        pub(crate) integer_enum_set: ::std::option::Option<
14902         -
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
14903         -
        >,
14904         -
        pub(crate) integer_enum_map:
14905         -
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       15709  +
        pub(crate) contents:
       15710  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
14906  15711   
    }
14907  15712   
    impl Builder {
14908         -
        #[allow(missing_docs)] // documentation missing in model
14909         -
        pub(crate) fn set_integer_enum1(
       15713  +
        /// A union with a representative set of types for members.
       15714  +
        pub(crate) fn set_contents(
14910  15715   
            mut self,
14911         -
            input: Option<impl ::std::convert::Into<i32>>,
       15716  +
            input: Option<
       15717  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
       15718  +
            >,
14912  15719   
        ) -> Self {
14913         -
            self.integer_enum1 = input.map(|v| v.into());
       15720  +
            self.contents = input.map(|v| v.into());
14914  15721   
            self
14915  15722   
        }
14916         -
        #[allow(missing_docs)] // documentation missing in model
14917         -
        pub(crate) fn set_integer_enum2(
14918         -
            mut self,
14919         -
            input: Option<impl ::std::convert::Into<i32>>,
14920         -
        ) -> Self {
14921         -
            self.integer_enum2 = input.map(|v| v.into());
14922         -
            self
       15723  +
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       15724  +
        ///
       15725  +
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
       15726  +
        ///
       15727  +
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
       15728  +
            self.build_enforcing_all_constraints()
14923  15729   
        }
14924         -
        #[allow(missing_docs)] // documentation missing in model
14925         -
        pub(crate) fn set_integer_enum3(
14926         -
            mut self,
14927         -
            input: Option<impl ::std::convert::Into<i32>>,
14928         -
        ) -> Self {
14929         -
            self.integer_enum3 = input.map(|v| v.into());
       15730  +
        fn build_enforcing_all_constraints(
       15731  +
            self,
       15732  +
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
       15733  +
            Ok(crate::input::JsonUnionsInput {
       15734  +
                contents: self
       15735  +
                    .contents
       15736  +
                    .map(|v| match v {
       15737  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       15738  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       15739  +
                    })
       15740  +
                    .map(|res| res.map_err(ConstraintViolation::Contents))
       15741  +
                    .transpose()?,
       15742  +
            })
       15743  +
        }
       15744  +
    }
       15745  +
}
       15746  +
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       15747  +
pub mod json_unions_input {
       15748  +
       15749  +
    impl ::std::convert::From<Builder> for crate::input::JsonUnionsInput {
       15750  +
        fn from(builder: Builder) -> Self {
       15751  +
            builder.build()
       15752  +
        }
       15753  +
    }
       15754  +
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       15755  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15756  +
    pub struct Builder {
       15757  +
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
       15758  +
    }
       15759  +
    impl Builder {
       15760  +
        /// A union with a representative set of types for members.
       15761  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
       15762  +
            self.contents = input;
14930  15763   
            self
14931  15764   
        }
       15765  +
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       15766  +
        pub fn build(self) -> crate::input::JsonUnionsInput {
       15767  +
            self.build_enforcing_required_and_enum_traits()
       15768  +
        }
       15769  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonUnionsInput {
       15770  +
            crate::input::JsonUnionsInput {
       15771  +
                contents: self.contents,
       15772  +
            }
       15773  +
        }
       15774  +
    }
       15775  +
}
       15776  +
/// See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       15777  +
pub(crate) mod post_player_action_input_internal {
       15778  +
       15779  +
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
       15780  +
        fn from(builder: Builder) -> Self {
       15781  +
            builder.build()
       15782  +
        }
       15783  +
    }
       15784  +
    /// A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       15785  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15786  +
    pub(crate) struct Builder {
       15787  +
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
       15788  +
    }
       15789  +
    impl Builder {
14932  15790   
        #[allow(missing_docs)] // documentation missing in model
14933         -
        pub(crate) fn set_integer_enum_list(
       15791  +
        pub(crate) fn set_action(
14934  15792   
            mut self,
14935         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       15793  +
            input: Option<impl ::std::convert::Into<crate::model::PlayerAction>>,
14936  15794   
        ) -> Self {
14937         -
            self.integer_enum_list = input.map(|v| v.into());
       15795  +
            self.action = input.map(|v| v.into());
14938  15796   
            self
14939  15797   
        }
       15798  +
        /// Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       15799  +
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       15800  +
            self.build_enforcing_all_constraints()
       15801  +
        }
       15802  +
        fn build_enforcing_all_constraints(self) -> crate::input::PostPlayerActionInput {
       15803  +
            crate::input::PostPlayerActionInput {
       15804  +
                action: self.action,
       15805  +
            }
       15806  +
        }
       15807  +
    }
       15808  +
}
       15809  +
/// See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       15810  +
pub mod post_player_action_input {
       15811  +
       15812  +
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
       15813  +
        fn from(builder: Builder) -> Self {
       15814  +
            builder.build()
       15815  +
        }
       15816  +
    }
       15817  +
    /// A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       15818  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15819  +
    pub struct Builder {
       15820  +
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
       15821  +
    }
       15822  +
    impl Builder {
14940  15823   
        #[allow(missing_docs)] // documentation missing in model
14941         -
        pub(crate) fn set_integer_enum_set(
14942         -
            mut self,
14943         -
            input: Option<
14944         -
                impl ::std::convert::Into<
14945         -
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
14946         -
                >,
14947         -
            >,
14948         -
        ) -> Self {
14949         -
            self.integer_enum_set = input.map(|v| v.into());
       15824  +
        pub fn action(mut self, input: ::std::option::Option<crate::model::PlayerAction>) -> Self {
       15825  +
            self.action = input;
14950  15826   
            self
14951  15827   
        }
       15828  +
        /// Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       15829  +
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       15830  +
            self.build_enforcing_required_and_enum_traits()
       15831  +
        }
       15832  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::PostPlayerActionInput {
       15833  +
            crate::input::PostPlayerActionInput {
       15834  +
                action: self.action,
       15835  +
            }
       15836  +
        }
       15837  +
    }
       15838  +
}
       15839  +
/// See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       15840  +
pub(crate) mod post_union_with_json_name_input_internal {
       15841  +
       15842  +
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
       15843  +
        fn from(builder: Builder) -> Self {
       15844  +
            builder.build()
       15845  +
        }
       15846  +
    }
       15847  +
    /// A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       15848  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15849  +
    pub(crate) struct Builder {
       15850  +
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
       15851  +
    }
       15852  +
    impl Builder {
14952  15853   
        #[allow(missing_docs)] // documentation missing in model
14953         -
        pub(crate) fn set_integer_enum_map(
       15854  +
        pub(crate) fn set_value(
14954  15855   
            mut self,
14955         -
            input: Option<
14956         -
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
14957         -
            >,
       15856  +
            input: Option<impl ::std::convert::Into<crate::model::UnionWithJsonName>>,
14958  15857   
        ) -> Self {
14959         -
            self.integer_enum_map = input.map(|v| v.into());
       15858  +
            self.value = input.map(|v| v.into());
14960  15859   
            self
14961  15860   
        }
14962         -
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
14963         -
        ///
14964         -
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
14965         -
        ///
14966         -
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
       15861  +
        /// Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       15862  +
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
14967  15863   
            self.build_enforcing_all_constraints()
14968  15864   
        }
14969         -
        fn build_enforcing_all_constraints(
14970         -
            self,
14971         -
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
14972         -
            Ok(crate::input::JsonIntEnumsInput {
14973         -
                integer_enum1: self.integer_enum1,
14974         -
                integer_enum2: self.integer_enum2,
14975         -
                integer_enum3: self.integer_enum3,
14976         -
                integer_enum_list: self.integer_enum_list,
14977         -
                integer_enum_set: self
14978         -
                    .integer_enum_set
14979         -
                    .map(|v| match v {
14980         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
14981         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
14982         -
                    })
14983         -
                    .map(|res| res.map_err(ConstraintViolation::IntegerEnumSet))
14984         -
                    .transpose()?
14985         -
                    .map(|v: crate::model::IntegerEnumSet| v.into()),
14986         -
                integer_enum_map: self.integer_enum_map,
14987         -
            })
       15865  +
        fn build_enforcing_all_constraints(self) -> crate::input::PostUnionWithJsonNameInput {
       15866  +
            crate::input::PostUnionWithJsonNameInput { value: self.value }
14988  15867   
        }
14989  15868   
    }
14990  15869   
}
14991         -
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
14992         -
pub mod json_int_enums_input {
       15870  +
/// See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       15871  +
pub mod post_union_with_json_name_input {
14993  15872   
14994         -
    impl ::std::convert::From<Builder> for crate::input::JsonIntEnumsInput {
       15873  +
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
14995  15874   
        fn from(builder: Builder) -> Self {
14996  15875   
            builder.build()
14997  15876   
        }
14998  15877   
    }
14999         -
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       15878  +
    /// A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
15000  15879   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15001  15880   
    pub struct Builder {
15002         -
        pub(crate) integer_enum1: ::std::option::Option<i32>,
15003         -
        pub(crate) integer_enum2: ::std::option::Option<i32>,
15004         -
        pub(crate) integer_enum3: ::std::option::Option<i32>,
15005         -
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
15006         -
        pub(crate) integer_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
15007         -
        pub(crate) integer_enum_map:
15008         -
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       15881  +
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
15009  15882   
    }
15010  15883   
    impl Builder {
15011  15884   
        #[allow(missing_docs)] // documentation missing in model
15012         -
        pub fn integer_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
15013         -
            self.integer_enum1 = input;
       15885  +
        pub fn value(
       15886  +
            mut self,
       15887  +
            input: ::std::option::Option<crate::model::UnionWithJsonName>,
       15888  +
        ) -> Self {
       15889  +
            self.value = input;
15014  15890   
            self
15015  15891   
        }
15016         -
        #[allow(missing_docs)] // documentation missing in model
15017         -
        pub fn integer_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
15018         -
            self.integer_enum2 = input;
15019         -
            self
       15892  +
        /// Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       15893  +
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
       15894  +
            self.build_enforcing_required_and_enum_traits()
15020  15895   
        }
15021         -
        #[allow(missing_docs)] // documentation missing in model
15022         -
        pub fn integer_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
15023         -
            self.integer_enum3 = input;
15024         -
            self
       15896  +
        fn build_enforcing_required_and_enum_traits(
       15897  +
            self,
       15898  +
        ) -> crate::input::PostUnionWithJsonNameInput {
       15899  +
            crate::input::PostUnionWithJsonNameInput { value: self.value }
       15900  +
        }
       15901  +
    }
       15902  +
}
       15903  +
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       15904  +
pub(crate) mod endpoint_operation_input_internal {
       15905  +
       15906  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
       15907  +
        fn from(builder: Builder) -> Self {
       15908  +
            builder.build()
15025  15909   
        }
15026         -
        #[allow(missing_docs)] // documentation missing in model
15027         -
        pub fn integer_enum_list(
15028         -
            mut self,
15029         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
15030         -
        ) -> Self {
15031         -
            self.integer_enum_list = input;
15032         -
            self
       15910  +
    }
       15911  +
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       15912  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15913  +
    pub(crate) struct Builder {}
       15914  +
    impl Builder {
       15915  +
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       15916  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
       15917  +
            self.build_enforcing_all_constraints()
15033  15918   
        }
15034         -
        #[allow(missing_docs)] // documentation missing in model
15035         -
        pub fn integer_enum_set(
15036         -
            mut self,
15037         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
15038         -
        ) -> Self {
15039         -
            self.integer_enum_set = input;
15040         -
            self
       15919  +
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
       15920  +
            crate::input::EndpointOperationInput {}
15041  15921   
        }
15042         -
        #[allow(missing_docs)] // documentation missing in model
15043         -
        pub fn integer_enum_map(
15044         -
            mut self,
15045         -
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
15046         -
        ) -> Self {
15047         -
            self.integer_enum_map = input;
15048         -
            self
       15922  +
    }
       15923  +
}
       15924  +
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       15925  +
pub mod endpoint_operation_input {
       15926  +
       15927  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
       15928  +
        fn from(builder: Builder) -> Self {
       15929  +
            builder.build()
15049  15930   
        }
15050         -
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
15051         -
        pub fn build(self) -> crate::input::JsonIntEnumsInput {
       15931  +
    }
       15932  +
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       15933  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15934  +
    pub struct Builder {}
       15935  +
    impl Builder {
       15936  +
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       15937  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
15052  15938   
            self.build_enforcing_required_and_enum_traits()
15053  15939   
        }
15054         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonIntEnumsInput {
15055         -
            crate::input::JsonIntEnumsInput {
15056         -
                integer_enum1: self.integer_enum1,
15057         -
                integer_enum2: self.integer_enum2,
15058         -
                integer_enum3: self.integer_enum3,
15059         -
                integer_enum_list: self.integer_enum_list,
15060         -
                integer_enum_set: self.integer_enum_set,
15061         -
                integer_enum_map: self.integer_enum_map,
15062         -
            }
       15940  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::EndpointOperationInput {
       15941  +
            crate::input::EndpointOperationInput {}
15063  15942   
        }
15064  15943   
    }
15065  15944   
}
15066         -
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
15067         -
pub(crate) mod json_enums_input_internal {
       15945  +
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       15946  +
pub(crate) mod endpoint_with_host_label_operation_input_internal {
15068  15947   
15069  15948   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
15070  15949   
    /// Holds one variant for each of the ways the builder can fail.
15071  15950   
    #[non_exhaustive]
15072  15951   
    #[allow(clippy::enum_variant_names)]
15073  15952   
    pub(crate) enum ConstraintViolation {
15074         -
        /// Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
15075         -
        #[doc(hidden)]
15076         -
        FooEnum1(crate::model::foo_enum_internal::ConstraintViolation),
15077         -
        /// Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
15078         -
        #[doc(hidden)]
15079         -
        FooEnum2(crate::model::foo_enum_internal::ConstraintViolation),
15080         -
        /// Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
15081         -
        #[doc(hidden)]
15082         -
        FooEnum3(crate::model::foo_enum_internal::ConstraintViolation),
15083         -
        /// Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
15084         -
        #[doc(hidden)]
15085         -
        FooEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
15086         -
        /// Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
15087         -
        #[doc(hidden)]
15088         -
        FooEnumSet(crate::model::foo_enum_set_internal::ConstraintViolation),
15089         -
        /// Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
15090         -
        #[doc(hidden)]
15091         -
        FooEnumMap(crate::model::foo_enum_map_internal::ConstraintViolation),
       15953  +
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
       15954  +
        MissingLabel,
15092  15955   
    }
15093  15956   
    impl ::std::fmt::Display for ConstraintViolation {
15094  15957   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15095  15958   
            match self {
15096         -
                ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
15097         -
                ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
15098         -
                ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
15099         -
                ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
15100         -
                ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
15101         -
                ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
       15959  +
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
15102  15960   
            }
15103  15961   
        }
15104  15962   
    }
15105  15963   
    impl ::std::error::Error for ConstraintViolation {}
15106  15964   
    impl ConstraintViolation {
15107  15965   
        pub(crate) fn as_validation_exception_field(
15108  15966   
            self,
15109  15967   
            path: ::std::string::String,
15110  15968   
        ) -> crate::model::ValidationExceptionField {
15111  15969   
            match self {
15112         -
                ConstraintViolation::FooEnum1(inner) => {
15113         -
                    inner.as_validation_exception_field(path + "/fooEnum1")
15114         -
                }
15115         -
                ConstraintViolation::FooEnum2(inner) => {
15116         -
                    inner.as_validation_exception_field(path + "/fooEnum2")
15117         -
                }
15118         -
                ConstraintViolation::FooEnum3(inner) => {
15119         -
                    inner.as_validation_exception_field(path + "/fooEnum3")
15120         -
                }
15121         -
                ConstraintViolation::FooEnumList(inner) => {
15122         -
                    inner.as_validation_exception_field(path + "/fooEnumList")
15123         -
                }
15124         -
                ConstraintViolation::FooEnumSet(inner) => {
15125         -
                    inner.as_validation_exception_field(path + "/fooEnumSet")
15126         -
                }
15127         -
                ConstraintViolation::FooEnumMap(inner) => {
15128         -
                    inner.as_validation_exception_field(path + "/fooEnumMap")
15129         -
                }
       15970  +
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
       15971  +
                    message: format!(
       15972  +
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
       15973  +
                        path
       15974  +
                    ),
       15975  +
                    path: path + "/label",
       15976  +
                },
15130  15977   
            }
15131  15978   
        }
15132  15979   
    }
15133  15980   
    impl ::std::convert::From<ConstraintViolation>
15134  15981   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
15135  15982   
    {
15136  15983   
        fn from(constraint_violation: ConstraintViolation) -> Self {
15137  15984   
            let first_validation_exception_field =
15138  15985   
                constraint_violation.as_validation_exception_field("".to_owned());
15139  15986   
            let validation_exception = crate::error::ValidationException {
15140  15987   
                message: format!(
15141  15988   
                    "1 validation error detected. {}",
15142  15989   
                    &first_validation_exception_field.message
15143  15990   
                ),
15144  15991   
                field_list: Some(vec![first_validation_exception_field]),
15145  15992   
            };
15146  15993   
            Self::ConstraintViolation(
15147  15994   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
15148  15995   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
15149  15996   
                            )
15150  15997   
        }
15151         -
    }
15152         -
    impl ::std::convert::From<Builder>
15153         -
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
15154         -
    {
15155         -
        fn from(builder: Builder) -> Self {
15156         -
            Self::Unconstrained(builder)
       15998  +
    }
       15999  +
    impl ::std::convert::From<Builder>
       16000  +
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
       16001  +
    {
       16002  +
        fn from(builder: Builder) -> Self {
       16003  +
            Self::Unconstrained(builder)
       16004  +
        }
       16005  +
    }
       16006  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
       16007  +
        type Error = ConstraintViolation;
       16008  +
       16009  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16010  +
            builder.build()
       16011  +
        }
       16012  +
    }
       16013  +
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       16014  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16015  +
    pub(crate) struct Builder {
       16016  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
       16017  +
    }
       16018  +
    impl Builder {
       16019  +
        #[allow(missing_docs)] // documentation missing in model
       16020  +
        pub(crate) fn set_label(
       16021  +
            mut self,
       16022  +
            input: impl ::std::convert::Into<::std::string::String>,
       16023  +
        ) -> Self {
       16024  +
            self.label = Some(input.into());
       16025  +
            self
       16026  +
        }
       16027  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       16028  +
        ///
       16029  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
       16030  +
        ///
       16031  +
        pub fn build(
       16032  +
            self,
       16033  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       16034  +
        {
       16035  +
            self.build_enforcing_all_constraints()
       16036  +
        }
       16037  +
        fn build_enforcing_all_constraints(
       16038  +
            self,
       16039  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       16040  +
        {
       16041  +
            Ok(crate::input::EndpointWithHostLabelOperationInput {
       16042  +
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
       16043  +
            })
       16044  +
        }
       16045  +
    }
       16046  +
}
       16047  +
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       16048  +
pub mod endpoint_with_host_label_operation_input {
       16049  +
       16050  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16051  +
    /// Holds one variant for each of the ways the builder can fail.
       16052  +
    #[allow(clippy::enum_variant_names)]
       16053  +
    pub enum ConstraintViolation {
       16054  +
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
       16055  +
        MissingLabel,
       16056  +
    }
       16057  +
    impl ::std::fmt::Display for ConstraintViolation {
       16058  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16059  +
            match self {
       16060  +
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
       16061  +
            }
       16062  +
        }
       16063  +
    }
       16064  +
    impl ::std::error::Error for ConstraintViolation {}
       16065  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
       16066  +
        type Error = ConstraintViolation;
       16067  +
       16068  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16069  +
            builder.build()
       16070  +
        }
       16071  +
    }
       16072  +
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       16073  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16074  +
    pub struct Builder {
       16075  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
       16076  +
    }
       16077  +
    impl Builder {
       16078  +
        #[allow(missing_docs)] // documentation missing in model
       16079  +
        pub fn label(mut self, input: ::std::string::String) -> Self {
       16080  +
            self.label = Some(input);
       16081  +
            self
       16082  +
        }
       16083  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       16084  +
        ///
       16085  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if you do not provide a value for all non-`Option`al members.
       16086  +
        ///
       16087  +
        pub fn build(
       16088  +
            self,
       16089  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       16090  +
        {
       16091  +
            self.build_enforcing_required_and_enum_traits()
       16092  +
        }
       16093  +
        fn build_enforcing_required_and_enum_traits(
       16094  +
            self,
       16095  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       16096  +
        {
       16097  +
            Ok(crate::input::EndpointWithHostLabelOperationInput {
       16098  +
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
       16099  +
            })
       16100  +
        }
       16101  +
    }
       16102  +
}
       16103  +
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       16104  +
pub(crate) mod host_with_path_operation_input_internal {
       16105  +
       16106  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
       16107  +
        fn from(builder: Builder) -> Self {
       16108  +
            builder.build()
       16109  +
        }
       16110  +
    }
       16111  +
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       16112  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16113  +
    pub(crate) struct Builder {}
       16114  +
    impl Builder {
       16115  +
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       16116  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
       16117  +
            self.build_enforcing_all_constraints()
       16118  +
        }
       16119  +
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
       16120  +
            crate::input::HostWithPathOperationInput {}
       16121  +
        }
       16122  +
    }
       16123  +
}
       16124  +
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       16125  +
pub mod host_with_path_operation_input {
       16126  +
       16127  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
       16128  +
        fn from(builder: Builder) -> Self {
       16129  +
            builder.build()
       16130  +
        }
       16131  +
    }
       16132  +
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       16133  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16134  +
    pub struct Builder {}
       16135  +
    impl Builder {
       16136  +
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       16137  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
       16138  +
            self.build_enforcing_required_and_enum_traits()
       16139  +
        }
       16140  +
        fn build_enforcing_required_and_enum_traits(
       16141  +
            self,
       16142  +
        ) -> crate::input::HostWithPathOperationInput {
       16143  +
            crate::input::HostWithPathOperationInput {}
15157  16144   
        }
15158  16145   
    }
15159         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
15160         -
        type Error = ConstraintViolation;
       16146  +
}
       16147  +
/// See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       16148  +
pub(crate) mod http_checksum_required_input_internal {
15161  16149   
15162         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16150  +
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
       16151  +
        fn from(builder: Builder) -> Self {
15163  16152   
            builder.build()
15164  16153   
        }
15165  16154   
    }
15166         -
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       16155  +
    /// A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
15167  16156   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15168  16157   
    pub(crate) struct Builder {
15169         -
        pub(crate) foo_enum1:
15170         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
15171         -
        pub(crate) foo_enum2:
15172         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
15173         -
        pub(crate) foo_enum3:
15174         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
15175         -
        pub(crate) foo_enum_list: ::std::option::Option<
15176         -
            crate::constrained::MaybeConstrained<
15177         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
15178         -
            >,
15179         -
        >,
15180         -
        pub(crate) foo_enum_set:
15181         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
15182         -
        pub(crate) foo_enum_map: ::std::option::Option<
15183         -
            crate::constrained::MaybeConstrained<
15184         -
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
15185         -
            >,
15186         -
        >,
       16158  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15187  16159   
    }
15188  16160   
    impl Builder {
15189  16161   
        #[allow(missing_docs)] // documentation missing in model
15190         -
        pub(crate) fn set_foo_enum1(
15191         -
            mut self,
15192         -
            input: Option<
15193         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
15194         -
            >,
15195         -
        ) -> Self {
15196         -
            self.foo_enum1 = input.map(|v| v.into());
15197         -
            self
15198         -
        }
15199         -
        #[allow(missing_docs)] // documentation missing in model
15200         -
        pub(crate) fn set_foo_enum2(
       16162  +
        pub(crate) fn set_foo(
15201  16163   
            mut self,
15202         -
            input: Option<
15203         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
15204         -
            >,
       16164  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15205  16165   
        ) -> Self {
15206         -
            self.foo_enum2 = input.map(|v| v.into());
       16166  +
            self.foo = input.map(|v| v.into());
15207  16167   
            self
15208  16168   
        }
15209         -
        #[allow(missing_docs)] // documentation missing in model
15210         -
        pub(crate) fn set_foo_enum3(
15211         -
            mut self,
15212         -
            input: Option<
15213         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
15214         -
            >,
15215         -
        ) -> Self {
15216         -
            self.foo_enum3 = input.map(|v| v.into());
15217         -
            self
       16169  +
        /// Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       16170  +
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       16171  +
            self.build_enforcing_all_constraints()
15218  16172   
        }
15219         -
        #[allow(missing_docs)] // documentation missing in model
15220         -
        pub(crate) fn set_foo_enum_list(
15221         -
            mut self,
15222         -
            input: Option<
15223         -
                impl ::std::convert::Into<
15224         -
                    crate::constrained::MaybeConstrained<
15225         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
15226         -
                    >,
15227         -
                >,
15228         -
            >,
15229         -
        ) -> Self {
15230         -
            self.foo_enum_list = input.map(|v| v.into());
15231         -
            self
       16173  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpChecksumRequiredInput {
       16174  +
            crate::input::HttpChecksumRequiredInput { foo: self.foo }
15232  16175   
        }
15233         -
        #[allow(missing_docs)] // documentation missing in model
15234         -
        pub(crate) fn set_foo_enum_set(
15235         -
            mut self,
15236         -
            input: Option<
15237         -
                impl ::std::convert::Into<
15238         -
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
15239         -
                >,
15240         -
            >,
15241         -
        ) -> Self {
15242         -
            self.foo_enum_set = input.map(|v| v.into());
15243         -
            self
       16176  +
    }
       16177  +
}
       16178  +
/// See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       16179  +
pub mod http_checksum_required_input {
       16180  +
       16181  +
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
       16182  +
        fn from(builder: Builder) -> Self {
       16183  +
            builder.build()
15244  16184   
        }
       16185  +
    }
       16186  +
    /// A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       16187  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16188  +
    pub struct Builder {
       16189  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       16190  +
    }
       16191  +
    impl Builder {
15245  16192   
        #[allow(missing_docs)] // documentation missing in model
15246         -
        pub(crate) fn set_foo_enum_map(
15247         -
            mut self,
15248         -
            input: Option<
15249         -
                impl ::std::convert::Into<
15250         -
                    crate::constrained::MaybeConstrained<
15251         -
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
15252         -
                    >,
15253         -
                >,
15254         -
            >,
15255         -
        ) -> Self {
15256         -
            self.foo_enum_map = input.map(|v| v.into());
       16193  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16194  +
            self.foo = input;
15257  16195   
            self
15258  16196   
        }
15259         -
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
15260         -
        ///
15261         -
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
15262         -
        ///
15263         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
15264         -
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
15265         -
            self.build_enforcing_all_constraints()
       16197  +
        /// Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       16198  +
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       16199  +
            self.build_enforcing_required_and_enum_traits()
15266  16200   
        }
15267         -
        fn build_enforcing_all_constraints(
       16201  +
        fn build_enforcing_required_and_enum_traits(
15268  16202   
            self,
15269         -
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
15270         -
            Ok(crate::input::JsonEnumsInput {
15271         -
                foo_enum1: self
15272         -
                    .foo_enum1
15273         -
                    .map(|v| match v {
15274         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
15275         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
15276         -
                    })
15277         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnum1))
15278         -
                    .transpose()?,
15279         -
                foo_enum2: self
15280         -
                    .foo_enum2
15281         -
                    .map(|v| match v {
15282         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
15283         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
15284         -
                    })
15285         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnum2))
15286         -
                    .transpose()?,
15287         -
                foo_enum3: self
15288         -
                    .foo_enum3
15289         -
                    .map(|v| match v {
15290         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
15291         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
15292         -
                    })
15293         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnum3))
15294         -
                    .transpose()?,
15295         -
                foo_enum_list: self
15296         -
                    .foo_enum_list
15297         -
                    .map(|v| match v {
15298         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
15299         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
15300         -
                    })
15301         -
                    .map(|res| {
15302         -
                        res.map(|v| v.into())
15303         -
                            .map_err(ConstraintViolation::FooEnumList)
15304         -
                    })
15305         -
                    .transpose()?,
15306         -
                foo_enum_set: self
15307         -
                    .foo_enum_set
15308         -
                    .map(|v| match v {
15309         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
15310         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
15311         -
                    })
15312         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
15313         -
                    .transpose()?
15314         -
                    .map(|v: crate::model::FooEnumSet| v.into()),
15315         -
                foo_enum_map: self
15316         -
                    .foo_enum_map
15317         -
                    .map(|v| match v {
15318         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
15319         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
15320         -
                    })
15321         -
                    .map(|res| {
15322         -
                        res.map(|v| v.into())
15323         -
                            .map_err(ConstraintViolation::FooEnumMap)
15324         -
                    })
15325         -
                    .transpose()?,
15326         -
            })
       16203  +
        ) -> crate::input::HttpChecksumRequiredInput {
       16204  +
            crate::input::HttpChecksumRequiredInput { foo: self.foo }
15327  16205   
        }
15328  16206   
    }
15329  16207   
}
15330         -
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
15331         -
pub mod json_enums_input {
       16208  +
/// See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       16209  +
pub(crate) mod malformed_request_body_input_internal {
15332  16210   
15333         -
    impl ::std::convert::From<Builder> for crate::input::JsonEnumsInput {
       16211  +
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
15334  16212   
        fn from(builder: Builder) -> Self {
15335  16213   
            builder.build()
15336  16214   
        }
15337  16215   
    }
15338         -
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       16216  +
    /// A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
15339  16217   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15340         -
    pub struct Builder {
15341         -
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
15342         -
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
15343         -
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
15344         -
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
15345         -
        pub(crate) foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
15346         -
        pub(crate) foo_enum_map: ::std::option::Option<
15347         -
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
15348         -
        >,
       16218  +
    pub(crate) struct Builder {
       16219  +
        pub(crate) int: ::std::option::Option<i32>,
       16220  +
        pub(crate) float: ::std::option::Option<f32>,
15349  16221   
    }
15350  16222   
    impl Builder {
15351  16223   
        #[allow(missing_docs)] // documentation missing in model
15352         -
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
15353         -
            self.foo_enum1 = input;
       16224  +
        pub(crate) fn set_int(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
       16225  +
            self.int = input.map(|v| v.into());
15354  16226   
            self
15355  16227   
        }
15356  16228   
        #[allow(missing_docs)] // documentation missing in model
15357         -
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
15358         -
            self.foo_enum2 = input;
       16229  +
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
       16230  +
            self.float = input.map(|v| v.into());
15359  16231   
            self
15360  16232   
        }
15361         -
        #[allow(missing_docs)] // documentation missing in model
15362         -
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
15363         -
            self.foo_enum3 = input;
15364         -
            self
       16233  +
        /// Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       16234  +
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
       16235  +
            self.build_enforcing_all_constraints()
15365  16236   
        }
15366         -
        #[allow(missing_docs)] // documentation missing in model
15367         -
        pub fn foo_enum_list(
15368         -
            mut self,
15369         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
15370         -
        ) -> Self {
15371         -
            self.foo_enum_list = input;
15372         -
            self
       16237  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedRequestBodyInput {
       16238  +
            crate::input::MalformedRequestBodyInput {
       16239  +
                int: self.int,
       16240  +
                float: self.float,
       16241  +
            }
       16242  +
        }
       16243  +
    }
       16244  +
}
       16245  +
/// See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       16246  +
pub mod malformed_request_body_input {
       16247  +
       16248  +
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
       16249  +
        fn from(builder: Builder) -> Self {
       16250  +
            builder.build()
15373  16251   
        }
       16252  +
    }
       16253  +
    /// A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       16254  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16255  +
    pub struct Builder {
       16256  +
        pub(crate) int: ::std::option::Option<i32>,
       16257  +
        pub(crate) float: ::std::option::Option<f32>,
       16258  +
    }
       16259  +
    impl Builder {
15374  16260   
        #[allow(missing_docs)] // documentation missing in model
15375         -
        pub fn foo_enum_set(
15376         -
            mut self,
15377         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
15378         -
        ) -> Self {
15379         -
            self.foo_enum_set = input;
       16261  +
        pub fn int(mut self, input: ::std::option::Option<i32>) -> Self {
       16262  +
            self.int = input;
15380  16263   
            self
15381  16264   
        }
15382  16265   
        #[allow(missing_docs)] // documentation missing in model
15383         -
        pub fn foo_enum_map(
15384         -
            mut self,
15385         -
            input: ::std::option::Option<
15386         -
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
15387         -
            >,
15388         -
        ) -> Self {
15389         -
            self.foo_enum_map = input;
       16266  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
       16267  +
            self.float = input;
15390  16268   
            self
15391  16269   
        }
15392         -
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
15393         -
        pub fn build(self) -> crate::input::JsonEnumsInput {
       16270  +
        /// Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       16271  +
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
15394  16272   
            self.build_enforcing_required_and_enum_traits()
15395  16273   
        }
15396         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonEnumsInput {
15397         -
            crate::input::JsonEnumsInput {
15398         -
                foo_enum1: self.foo_enum1,
15399         -
                foo_enum2: self.foo_enum2,
15400         -
                foo_enum3: self.foo_enum3,
15401         -
                foo_enum_list: self.foo_enum_list,
15402         -
                foo_enum_set: self.foo_enum_set,
15403         -
                foo_enum_map: self.foo_enum_map,
       16274  +
        fn build_enforcing_required_and_enum_traits(
       16275  +
            self,
       16276  +
        ) -> crate::input::MalformedRequestBodyInput {
       16277  +
            crate::input::MalformedRequestBodyInput {
       16278  +
                int: self.int,
       16279  +
                float: self.float,
15404  16280   
            }
15405  16281   
        }
15406  16282   
    }
15407  16283   
}
15408         -
/// See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
15409         -
pub(crate) mod json_timestamps_input_internal {
       16284  +
/// See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       16285  +
pub(crate) mod malformed_integer_input_internal {
15410  16286   
15411         -
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
       16287  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16288  +
    /// Holds one variant for each of the ways the builder can fail.
       16289  +
    #[non_exhaustive]
       16290  +
    #[allow(clippy::enum_variant_names)]
       16291  +
    pub(crate) enum ConstraintViolation {
       16292  +
        /// `integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
       16293  +
        MissingIntegerInPath,
       16294  +
    }
       16295  +
    impl ::std::fmt::Display for ConstraintViolation {
       16296  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16297  +
            match self {
       16298  +
                ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
       16299  +
            }
       16300  +
        }
       16301  +
    }
       16302  +
    impl ::std::error::Error for ConstraintViolation {}
       16303  +
    impl ConstraintViolation {
       16304  +
        pub(crate) fn as_validation_exception_field(
       16305  +
            self,
       16306  +
            path: ::std::string::String,
       16307  +
        ) -> crate::model::ValidationExceptionField {
       16308  +
            match self {
       16309  +
            ConstraintViolation::MissingIntegerInPath => crate::model::ValidationExceptionField {
       16310  +
                                                message: format!("Value at '{}/integerInPath' failed to satisfy constraint: Member must not be null", path),
       16311  +
                                                path: path + "/integerInPath",
       16312  +
                                            },
       16313  +
        }
       16314  +
        }
       16315  +
    }
       16316  +
    impl ::std::convert::From<ConstraintViolation>
       16317  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16318  +
    {
       16319  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16320  +
            let first_validation_exception_field =
       16321  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16322  +
            let validation_exception = crate::error::ValidationException {
       16323  +
                message: format!(
       16324  +
                    "1 validation error detected. {}",
       16325  +
                    &first_validation_exception_field.message
       16326  +
                ),
       16327  +
                field_list: Some(vec![first_validation_exception_field]),
       16328  +
            };
       16329  +
            Self::ConstraintViolation(
       16330  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16331  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16332  +
                            )
       16333  +
        }
       16334  +
    }
       16335  +
    impl ::std::convert::From<Builder>
       16336  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedIntegerInput>
       16337  +
    {
15412  16338   
        fn from(builder: Builder) -> Self {
       16339  +
            Self::Unconstrained(builder)
       16340  +
        }
       16341  +
    }
       16342  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
       16343  +
        type Error = ConstraintViolation;
       16344  +
       16345  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
15413  16346   
            builder.build()
15414  16347   
        }
15415  16348   
    }
15416         -
    /// A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       16349  +
    /// A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
15417  16350   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15418  16351   
    pub(crate) struct Builder {
15419         -
        pub(crate) normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15420         -
        pub(crate) date_time:
15421         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15422         -
        pub(crate) date_time_on_target:
15423         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15424         -
        pub(crate) epoch_seconds:
15425         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15426         -
        pub(crate) epoch_seconds_on_target:
15427         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15428         -
        pub(crate) http_date:
15429         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15430         -
        pub(crate) http_date_on_target:
15431         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       16352  +
        pub(crate) integer_in_body: ::std::option::Option<i32>,
       16353  +
        pub(crate) integer_in_path: ::std::option::Option<i32>,
       16354  +
        pub(crate) integer_in_query: ::std::option::Option<i32>,
       16355  +
        pub(crate) integer_in_header: ::std::option::Option<i32>,
15432  16356   
    }
15433  16357   
    impl Builder {
15434  16358   
        #[allow(missing_docs)] // documentation missing in model
15435         -
        pub(crate) fn set_normal(
15436         -
            mut self,
15437         -
            input: Option<
15438         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15439         -
            >,
15440         -
        ) -> Self {
15441         -
            self.normal = input.map(|v| v.into());
15442         -
            self
15443         -
        }
15444         -
        #[allow(missing_docs)] // documentation missing in model
15445         -
        pub(crate) fn set_date_time(
15446         -
            mut self,
15447         -
            input: Option<
15448         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15449         -
            >,
15450         -
        ) -> Self {
15451         -
            self.date_time = input.map(|v| v.into());
15452         -
            self
15453         -
        }
15454         -
        #[allow(missing_docs)] // documentation missing in model
15455         -
        pub(crate) fn set_date_time_on_target(
15456         -
            mut self,
15457         -
            input: Option<
15458         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15459         -
            >,
15460         -
        ) -> Self {
15461         -
            self.date_time_on_target = input.map(|v| v.into());
15462         -
            self
15463         -
        }
15464         -
        #[allow(missing_docs)] // documentation missing in model
15465         -
        pub(crate) fn set_epoch_seconds(
       16359  +
        pub(crate) fn set_integer_in_body(
15466  16360   
            mut self,
15467         -
            input: Option<
15468         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15469         -
            >,
       16361  +
            input: Option<impl ::std::convert::Into<i32>>,
15470  16362   
        ) -> Self {
15471         -
            self.epoch_seconds = input.map(|v| v.into());
       16363  +
            self.integer_in_body = input.map(|v| v.into());
15472  16364   
            self
15473  16365   
        }
15474  16366   
        #[allow(missing_docs)] // documentation missing in model
15475         -
        pub(crate) fn set_epoch_seconds_on_target(
15476         -
            mut self,
15477         -
            input: Option<
15478         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15479         -
            >,
15480         -
        ) -> Self {
15481         -
            self.epoch_seconds_on_target = input.map(|v| v.into());
       16367  +
        pub(crate) fn set_integer_in_path(mut self, input: impl ::std::convert::Into<i32>) -> Self {
       16368  +
            self.integer_in_path = Some(input.into());
15482  16369   
            self
15483  16370   
        }
15484  16371   
        #[allow(missing_docs)] // documentation missing in model
15485         -
        pub(crate) fn set_http_date(
       16372  +
        pub(crate) fn set_integer_in_query(
15486  16373   
            mut self,
15487         -
            input: Option<
15488         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15489         -
            >,
       16374  +
            input: Option<impl ::std::convert::Into<i32>>,
15490  16375   
        ) -> Self {
15491         -
            self.http_date = input.map(|v| v.into());
       16376  +
            self.integer_in_query = input.map(|v| v.into());
15492  16377   
            self
15493  16378   
        }
15494  16379   
        #[allow(missing_docs)] // documentation missing in model
15495         -
        pub(crate) fn set_http_date_on_target(
       16380  +
        pub(crate) fn set_integer_in_header(
15496  16381   
            mut self,
15497         -
            input: Option<
15498         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
15499         -
            >,
       16382  +
            input: Option<impl ::std::convert::Into<i32>>,
15500  16383   
        ) -> Self {
15501         -
            self.http_date_on_target = input.map(|v| v.into());
       16384  +
            self.integer_in_header = input.map(|v| v.into());
15502  16385   
            self
15503  16386   
        }
15504         -
        /// Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
15505         -
        pub fn build(self) -> crate::input::JsonTimestampsInput {
       16387  +
        /// Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       16388  +
        ///
       16389  +
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if a [`ConstraintViolation`] occurs.
       16390  +
        ///
       16391  +
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
15506  16392   
            self.build_enforcing_all_constraints()
15507  16393   
        }
15508         -
        fn build_enforcing_all_constraints(self) -> crate::input::JsonTimestampsInput {
15509         -
            crate::input::JsonTimestampsInput {
15510         -
                normal: self.normal,
15511         -
                date_time: self.date_time,
15512         -
                date_time_on_target: self.date_time_on_target,
15513         -
                epoch_seconds: self.epoch_seconds,
15514         -
                epoch_seconds_on_target: self.epoch_seconds_on_target,
15515         -
                http_date: self.http_date,
15516         -
                http_date_on_target: self.http_date_on_target,
15517         -
            }
       16394  +
        fn build_enforcing_all_constraints(
       16395  +
            self,
       16396  +
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       16397  +
            Ok(crate::input::MalformedIntegerInput {
       16398  +
                integer_in_body: self.integer_in_body,
       16399  +
                integer_in_path: self
       16400  +
                    .integer_in_path
       16401  +
                    .ok_or(ConstraintViolation::MissingIntegerInPath)?,
       16402  +
                integer_in_query: self.integer_in_query,
       16403  +
                integer_in_header: self.integer_in_header,
       16404  +
            })
15518  16405   
        }
15519  16406   
    }
15520  16407   
}
15521         -
/// See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
15522         -
pub mod json_timestamps_input {
       16408  +
/// See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       16409  +
pub mod malformed_integer_input {
15523  16410   
15524         -
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
15525         -
        fn from(builder: Builder) -> Self {
15526         -
            builder.build()
       16411  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16412  +
    /// Holds one variant for each of the ways the builder can fail.
       16413  +
    #[allow(clippy::enum_variant_names)]
       16414  +
    pub enum ConstraintViolation {
       16415  +
        /// `integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
       16416  +
        MissingIntegerInPath,
       16417  +
    }
       16418  +
    impl ::std::fmt::Display for ConstraintViolation {
       16419  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16420  +
            match self {
       16421  +
                ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
       16422  +
            }
15527  16423   
        }
15528  16424   
    }
15529         -
    /// A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
15530         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15531         -
    pub struct Builder {
15532         -
        pub(crate) normal: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15533         -
        pub(crate) date_time:
15534         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15535         -
        pub(crate) date_time_on_target:
15536         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15537         -
        pub(crate) epoch_seconds:
15538         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15539         -
        pub(crate) epoch_seconds_on_target:
15540         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15541         -
        pub(crate) http_date:
15542         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15543         -
        pub(crate) http_date_on_target:
15544         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       16425  +
    impl ::std::error::Error for ConstraintViolation {}
       16426  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
       16427  +
        type Error = ConstraintViolation;
       16428  +
       16429  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16430  +
            builder.build()
       16431  +
        }
       16432  +
    }
       16433  +
    /// A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       16434  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16435  +
    pub struct Builder {
       16436  +
        pub(crate) integer_in_body: ::std::option::Option<i32>,
       16437  +
        pub(crate) integer_in_path: ::std::option::Option<i32>,
       16438  +
        pub(crate) integer_in_query: ::std::option::Option<i32>,
       16439  +
        pub(crate) integer_in_header: ::std::option::Option<i32>,
15545  16440   
    }
15546  16441   
    impl Builder {
15547  16442   
        #[allow(missing_docs)] // documentation missing in model
15548         -
        pub fn normal(
15549         -
            mut self,
15550         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15551         -
        ) -> Self {
15552         -
            self.normal = input;
       16443  +
        pub fn integer_in_body(mut self, input: ::std::option::Option<i32>) -> Self {
       16444  +
            self.integer_in_body = input;
15553  16445   
            self
15554  16446   
        }
15555  16447   
        #[allow(missing_docs)] // documentation missing in model
15556         -
        pub fn date_time(
15557         -
            mut self,
15558         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15559         -
        ) -> Self {
15560         -
            self.date_time = input;
       16448  +
        pub fn integer_in_path(mut self, input: i32) -> Self {
       16449  +
            self.integer_in_path = Some(input);
15561  16450   
            self
15562  16451   
        }
15563  16452   
        #[allow(missing_docs)] // documentation missing in model
15564         -
        pub fn date_time_on_target(
15565         -
            mut self,
15566         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15567         -
        ) -> Self {
15568         -
            self.date_time_on_target = input;
       16453  +
        pub fn integer_in_query(mut self, input: ::std::option::Option<i32>) -> Self {
       16454  +
            self.integer_in_query = input;
15569  16455   
            self
15570  16456   
        }
15571  16457   
        #[allow(missing_docs)] // documentation missing in model
15572         -
        pub fn epoch_seconds(
15573         -
            mut self,
15574         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15575         -
        ) -> Self {
15576         -
            self.epoch_seconds = input;
       16458  +
        pub fn integer_in_header(mut self, input: ::std::option::Option<i32>) -> Self {
       16459  +
            self.integer_in_header = input;
15577  16460   
            self
15578  16461   
        }
15579         -
        #[allow(missing_docs)] // documentation missing in model
15580         -
        pub fn epoch_seconds_on_target(
15581         -
            mut self,
15582         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15583         -
        ) -> Self {
15584         -
            self.epoch_seconds_on_target = input;
15585         -
            self
       16462  +
        /// Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       16463  +
        ///
       16464  +
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if you do not provide a value for all non-`Option`al members.
       16465  +
        ///
       16466  +
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       16467  +
            self.build_enforcing_required_and_enum_traits()
15586  16468   
        }
15587         -
        #[allow(missing_docs)] // documentation missing in model
15588         -
        pub fn http_date(
15589         -
            mut self,
15590         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
15591         -
        ) -> Self {
15592         -
            self.http_date = input;
15593         -
            self
       16469  +
        fn build_enforcing_required_and_enum_traits(
       16470  +
            self,
       16471  +
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       16472  +
            Ok(crate::input::MalformedIntegerInput {
       16473  +
                integer_in_body: self.integer_in_body,
       16474  +
                integer_in_path: self
       16475  +
                    .integer_in_path
       16476  +
                    .ok_or(ConstraintViolation::MissingIntegerInPath)?,
       16477  +
                integer_in_query: self.integer_in_query,
       16478  +
                integer_in_header: self.integer_in_header,
       16479  +
            })
       16480  +
        }
       16481  +
    }
       16482  +
}
       16483  +
/// See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       16484  +
pub(crate) mod malformed_union_input_internal {
       16485  +
       16486  +
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
       16487  +
        fn from(builder: Builder) -> Self {
       16488  +
            builder.build()
15594  16489   
        }
       16490  +
    }
       16491  +
    /// A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       16492  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16493  +
    pub(crate) struct Builder {
       16494  +
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
       16495  +
    }
       16496  +
    impl Builder {
15595  16497   
        #[allow(missing_docs)] // documentation missing in model
15596         -
        pub fn http_date_on_target(
       16498  +
        pub(crate) fn set_union(
15597  16499   
            mut self,
15598         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       16500  +
            input: Option<impl ::std::convert::Into<crate::model::SimpleUnion>>,
15599  16501   
        ) -> Self {
15600         -
            self.http_date_on_target = input;
       16502  +
            self.union = input.map(|v| v.into());
15601  16503   
            self
15602  16504   
        }
15603         -
        /// Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
15604         -
        pub fn build(self) -> crate::input::JsonTimestampsInput {
15605         -
            self.build_enforcing_required_and_enum_traits()
       16505  +
        /// Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       16506  +
        pub fn build(self) -> crate::input::MalformedUnionInput {
       16507  +
            self.build_enforcing_all_constraints()
15606  16508   
        }
15607         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonTimestampsInput {
15608         -
            crate::input::JsonTimestampsInput {
15609         -
                normal: self.normal,
15610         -
                date_time: self.date_time,
15611         -
                date_time_on_target: self.date_time_on_target,
15612         -
                epoch_seconds: self.epoch_seconds,
15613         -
                epoch_seconds_on_target: self.epoch_seconds_on_target,
15614         -
                http_date: self.http_date,
15615         -
                http_date_on_target: self.http_date_on_target,
15616         -
            }
       16509  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedUnionInput {
       16510  +
            crate::input::MalformedUnionInput { union: self.union }
15617  16511   
        }
15618  16512   
    }
15619  16513   
}
15620         -
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
15621         -
pub(crate) mod simple_scalar_properties_input_internal {
       16514  +
/// See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       16515  +
pub mod malformed_union_input {
15622  16516   
15623         -
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
       16517  +
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
15624  16518   
        fn from(builder: Builder) -> Self {
15625  16519   
            builder.build()
15626  16520   
        }
15627  16521   
    }
15628         -
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       16522  +
    /// A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
15629  16523   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15630         -
    pub(crate) struct Builder {
15631         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15632         -
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
15633         -
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
15634         -
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
15635         -
        pub(crate) byte_value: ::std::option::Option<i8>,
15636         -
        pub(crate) short_value: ::std::option::Option<i16>,
15637         -
        pub(crate) integer_value: ::std::option::Option<i32>,
15638         -
        pub(crate) long_value: ::std::option::Option<i64>,
15639         -
        pub(crate) float_value: ::std::option::Option<f32>,
15640         -
        pub(crate) double_value: ::std::option::Option<f64>,
       16524  +
    pub struct Builder {
       16525  +
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
15641  16526   
    }
15642  16527   
    impl Builder {
15643  16528   
        #[allow(missing_docs)] // documentation missing in model
15644         -
        pub(crate) fn set_foo(
15645         -
            mut self,
15646         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15647         -
        ) -> Self {
15648         -
            self.foo = input.map(|v| v.into());
       16529  +
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
       16530  +
            self.union = input;
15649  16531   
            self
15650  16532   
        }
15651         -
        #[allow(missing_docs)] // documentation missing in model
15652         -
        pub(crate) fn set_string_value(
15653         -
            mut self,
15654         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15655         -
        ) -> Self {
15656         -
            self.string_value = input.map(|v| v.into());
15657         -
            self
       16533  +
        /// Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       16534  +
        pub fn build(self) -> crate::input::MalformedUnionInput {
       16535  +
            self.build_enforcing_required_and_enum_traits()
15658  16536   
        }
15659         -
        #[allow(missing_docs)] // documentation missing in model
15660         -
        pub(crate) fn set_true_boolean_value(
15661         -
            mut self,
15662         -
            input: Option<impl ::std::convert::Into<bool>>,
15663         -
        ) -> Self {
15664         -
            self.true_boolean_value = input.map(|v| v.into());
15665         -
            self
       16537  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedUnionInput {
       16538  +
            crate::input::MalformedUnionInput { union: self.union }
15666  16539   
        }
15667         -
        #[allow(missing_docs)] // documentation missing in model
15668         -
        pub(crate) fn set_false_boolean_value(
15669         -
            mut self,
15670         -
            input: Option<impl ::std::convert::Into<bool>>,
15671         -
        ) -> Self {
15672         -
            self.false_boolean_value = input.map(|v| v.into());
15673         -
            self
       16540  +
    }
       16541  +
}
       16542  +
/// See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       16543  +
pub(crate) mod malformed_boolean_input_internal {
       16544  +
       16545  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16546  +
    /// Holds one variant for each of the ways the builder can fail.
       16547  +
    #[non_exhaustive]
       16548  +
    #[allow(clippy::enum_variant_names)]
       16549  +
    pub(crate) enum ConstraintViolation {
       16550  +
        /// `boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
       16551  +
        MissingBooleanInPath,
       16552  +
    }
       16553  +
    impl ::std::fmt::Display for ConstraintViolation {
       16554  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16555  +
            match self {
       16556  +
                ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
       16557  +
            }
15674  16558   
        }
15675         -
        #[allow(missing_docs)] // documentation missing in model
15676         -
        pub(crate) fn set_byte_value(
15677         -
            mut self,
15678         -
            input: Option<impl ::std::convert::Into<i8>>,
15679         -
        ) -> Self {
15680         -
            self.byte_value = input.map(|v| v.into());
15681         -
            self
       16559  +
    }
       16560  +
    impl ::std::error::Error for ConstraintViolation {}
       16561  +
    impl ConstraintViolation {
       16562  +
        pub(crate) fn as_validation_exception_field(
       16563  +
            self,
       16564  +
            path: ::std::string::String,
       16565  +
        ) -> crate::model::ValidationExceptionField {
       16566  +
            match self {
       16567  +
            ConstraintViolation::MissingBooleanInPath => crate::model::ValidationExceptionField {
       16568  +
                                                message: format!("Value at '{}/booleanInPath' failed to satisfy constraint: Member must not be null", path),
       16569  +
                                                path: path + "/booleanInPath",
       16570  +
                                            },
15682  16571   
        }
15683         -
        #[allow(missing_docs)] // documentation missing in model
15684         -
        pub(crate) fn set_short_value(
15685         -
            mut self,
15686         -
            input: Option<impl ::std::convert::Into<i16>>,
15687         -
        ) -> Self {
15688         -
            self.short_value = input.map(|v| v.into());
15689         -
            self
15690  16572   
        }
       16573  +
    }
       16574  +
    impl ::std::convert::From<ConstraintViolation>
       16575  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16576  +
    {
       16577  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16578  +
            let first_validation_exception_field =
       16579  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16580  +
            let validation_exception = crate::error::ValidationException {
       16581  +
                message: format!(
       16582  +
                    "1 validation error detected. {}",
       16583  +
                    &first_validation_exception_field.message
       16584  +
                ),
       16585  +
                field_list: Some(vec![first_validation_exception_field]),
       16586  +
            };
       16587  +
            Self::ConstraintViolation(
       16588  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16589  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16590  +
                            )
       16591  +
        }
       16592  +
    }
       16593  +
    impl ::std::convert::From<Builder>
       16594  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedBooleanInput>
       16595  +
    {
       16596  +
        fn from(builder: Builder) -> Self {
       16597  +
            Self::Unconstrained(builder)
       16598  +
        }
       16599  +
    }
       16600  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
       16601  +
        type Error = ConstraintViolation;
       16602  +
       16603  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16604  +
            builder.build()
       16605  +
        }
       16606  +
    }
       16607  +
    /// A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       16608  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16609  +
    pub(crate) struct Builder {
       16610  +
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
       16611  +
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
       16612  +
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
       16613  +
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
       16614  +
    }
       16615  +
    impl Builder {
15691  16616   
        #[allow(missing_docs)] // documentation missing in model
15692         -
        pub(crate) fn set_integer_value(
       16617  +
        pub(crate) fn set_boolean_in_body(
15693  16618   
            mut self,
15694         -
            input: Option<impl ::std::convert::Into<i32>>,
       16619  +
            input: Option<impl ::std::convert::Into<bool>>,
15695  16620   
        ) -> Self {
15696         -
            self.integer_value = input.map(|v| v.into());
       16621  +
            self.boolean_in_body = input.map(|v| v.into());
15697  16622   
            self
15698  16623   
        }
15699  16624   
        #[allow(missing_docs)] // documentation missing in model
15700         -
        pub(crate) fn set_long_value(
       16625  +
        pub(crate) fn set_boolean_in_path(
15701  16626   
            mut self,
15702         -
            input: Option<impl ::std::convert::Into<i64>>,
       16627  +
            input: impl ::std::convert::Into<bool>,
15703  16628   
        ) -> Self {
15704         -
            self.long_value = input.map(|v| v.into());
       16629  +
            self.boolean_in_path = Some(input.into());
15705  16630   
            self
15706  16631   
        }
15707  16632   
        #[allow(missing_docs)] // documentation missing in model
15708         -
        pub(crate) fn set_float_value(
       16633  +
        pub(crate) fn set_boolean_in_query(
15709  16634   
            mut self,
15710         -
            input: Option<impl ::std::convert::Into<f32>>,
       16635  +
            input: Option<impl ::std::convert::Into<bool>>,
15711  16636   
        ) -> Self {
15712         -
            self.float_value = input.map(|v| v.into());
       16637  +
            self.boolean_in_query = input.map(|v| v.into());
15713  16638   
            self
15714  16639   
        }
15715  16640   
        #[allow(missing_docs)] // documentation missing in model
15716         -
        pub(crate) fn set_double_value(
       16641  +
        pub(crate) fn set_boolean_in_header(
15717  16642   
            mut self,
15718         -
            input: Option<impl ::std::convert::Into<f64>>,
       16643  +
            input: Option<impl ::std::convert::Into<bool>>,
15719  16644   
        ) -> Self {
15720         -
            self.double_value = input.map(|v| v.into());
       16645  +
            self.boolean_in_header = input.map(|v| v.into());
15721  16646   
            self
15722  16647   
        }
15723         -
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
15724         -
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
       16648  +
        /// Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       16649  +
        ///
       16650  +
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if a [`ConstraintViolation`] occurs.
       16651  +
        ///
       16652  +
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
15725  16653   
            self.build_enforcing_all_constraints()
15726  16654   
        }
15727         -
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
15728         -
            crate::input::SimpleScalarPropertiesInput {
15729         -
                foo: self.foo,
15730         -
                string_value: self.string_value,
15731         -
                true_boolean_value: self.true_boolean_value,
15732         -
                false_boolean_value: self.false_boolean_value,
15733         -
                byte_value: self.byte_value,
15734         -
                short_value: self.short_value,
15735         -
                integer_value: self.integer_value,
15736         -
                long_value: self.long_value,
15737         -
                float_value: self.float_value,
15738         -
                double_value: self.double_value,
15739         -
            }
       16655  +
        fn build_enforcing_all_constraints(
       16656  +
            self,
       16657  +
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       16658  +
            Ok(crate::input::MalformedBooleanInput {
       16659  +
                boolean_in_body: self.boolean_in_body,
       16660  +
                boolean_in_path: self
       16661  +
                    .boolean_in_path
       16662  +
                    .ok_or(ConstraintViolation::MissingBooleanInPath)?,
       16663  +
                boolean_in_query: self.boolean_in_query,
       16664  +
                boolean_in_header: self.boolean_in_header,
       16665  +
            })
15740  16666   
        }
15741  16667   
    }
15742  16668   
}
15743         -
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
15744         -
pub mod simple_scalar_properties_input {
       16669  +
/// See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       16670  +
pub mod malformed_boolean_input {
15745  16671   
15746         -
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
15747         -
        fn from(builder: Builder) -> Self {
       16672  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16673  +
    /// Holds one variant for each of the ways the builder can fail.
       16674  +
    #[allow(clippy::enum_variant_names)]
       16675  +
    pub enum ConstraintViolation {
       16676  +
        /// `boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
       16677  +
        MissingBooleanInPath,
       16678  +
    }
       16679  +
    impl ::std::fmt::Display for ConstraintViolation {
       16680  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16681  +
            match self {
       16682  +
                ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
       16683  +
            }
       16684  +
        }
       16685  +
    }
       16686  +
    impl ::std::error::Error for ConstraintViolation {}
       16687  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
       16688  +
        type Error = ConstraintViolation;
       16689  +
       16690  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
15748  16691   
            builder.build()
15749  16692   
        }
15750  16693   
    }
15751         -
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       16694  +
    /// A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
15752  16695   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15753  16696   
    pub struct Builder {
15754         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15755         -
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
15756         -
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
15757         -
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
15758         -
        pub(crate) byte_value: ::std::option::Option<i8>,
15759         -
        pub(crate) short_value: ::std::option::Option<i16>,
15760         -
        pub(crate) integer_value: ::std::option::Option<i32>,
15761         -
        pub(crate) long_value: ::std::option::Option<i64>,
15762         -
        pub(crate) float_value: ::std::option::Option<f32>,
15763         -
        pub(crate) double_value: ::std::option::Option<f64>,
       16697  +
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
       16698  +
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
       16699  +
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
       16700  +
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
15764  16701   
    }
15765  16702   
    impl Builder {
15766  16703   
        #[allow(missing_docs)] // documentation missing in model
15767         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
15768         -
            self.foo = input;
15769         -
            self
15770         -
        }
15771         -
        #[allow(missing_docs)] // documentation missing in model
15772         -
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
15773         -
            self.string_value = input;
15774         -
            self
15775         -
        }
15776         -
        #[allow(missing_docs)] // documentation missing in model
15777         -
        pub fn true_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
15778         -
            self.true_boolean_value = input;
15779         -
            self
15780         -
        }
15781         -
        #[allow(missing_docs)] // documentation missing in model
15782         -
        pub fn false_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
15783         -
            self.false_boolean_value = input;
15784         -
            self
15785         -
        }
15786         -
        #[allow(missing_docs)] // documentation missing in model
15787         -
        pub fn byte_value(mut self, input: ::std::option::Option<i8>) -> Self {
15788         -
            self.byte_value = input;
15789         -
            self
15790         -
        }
15791         -
        #[allow(missing_docs)] // documentation missing in model
15792         -
        pub fn short_value(mut self, input: ::std::option::Option<i16>) -> Self {
15793         -
            self.short_value = input;
15794         -
            self
15795         -
        }
15796         -
        #[allow(missing_docs)] // documentation missing in model
15797         -
        pub fn integer_value(mut self, input: ::std::option::Option<i32>) -> Self {
15798         -
            self.integer_value = input;
       16704  +
        pub fn boolean_in_body(mut self, input: ::std::option::Option<bool>) -> Self {
       16705  +
            self.boolean_in_body = input;
15799  16706   
            self
15800  16707   
        }
15801  16708   
        #[allow(missing_docs)] // documentation missing in model
15802         -
        pub fn long_value(mut self, input: ::std::option::Option<i64>) -> Self {
15803         -
            self.long_value = input;
       16709  +
        pub fn boolean_in_path(mut self, input: bool) -> Self {
       16710  +
            self.boolean_in_path = Some(input);
15804  16711   
            self
15805  16712   
        }
15806  16713   
        #[allow(missing_docs)] // documentation missing in model
15807         -
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
15808         -
            self.float_value = input;
       16714  +
        pub fn boolean_in_query(mut self, input: ::std::option::Option<bool>) -> Self {
       16715  +
            self.boolean_in_query = input;
15809  16716   
            self
15810  16717   
        }
15811  16718   
        #[allow(missing_docs)] // documentation missing in model
15812         -
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
15813         -
            self.double_value = input;
       16719  +
        pub fn boolean_in_header(mut self, input: ::std::option::Option<bool>) -> Self {
       16720  +
            self.boolean_in_header = input;
15814  16721   
            self
15815  16722   
        }
15816         -
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
15817         -
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
       16723  +
        /// Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       16724  +
        ///
       16725  +
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if you do not provide a value for all non-`Option`al members.
       16726  +
        ///
       16727  +
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
15818  16728   
            self.build_enforcing_required_and_enum_traits()
15819  16729   
        }
15820  16730   
        fn build_enforcing_required_and_enum_traits(
15821  16731   
            self,
15822         -
        ) -> crate::input::SimpleScalarPropertiesInput {
15823         -
            crate::input::SimpleScalarPropertiesInput {
15824         -
                foo: self.foo,
15825         -
                string_value: self.string_value,
15826         -
                true_boolean_value: self.true_boolean_value,
15827         -
                false_boolean_value: self.false_boolean_value,
15828         -
                byte_value: self.byte_value,
15829         -
                short_value: self.short_value,
15830         -
                integer_value: self.integer_value,
15831         -
                long_value: self.long_value,
15832         -
                float_value: self.float_value,
15833         -
                double_value: self.double_value,
15834         -
            }
       16732  +
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       16733  +
            Ok(crate::input::MalformedBooleanInput {
       16734  +
                boolean_in_body: self.boolean_in_body,
       16735  +
                boolean_in_path: self
       16736  +
                    .boolean_in_path
       16737  +
                    .ok_or(ConstraintViolation::MissingBooleanInPath)?,
       16738  +
                boolean_in_query: self.boolean_in_query,
       16739  +
                boolean_in_header: self.boolean_in_header,
       16740  +
            })
15835  16741   
        }
15836  16742   
    }
15837  16743   
}
15838         -
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
15839         -
pub(crate) mod greeting_with_errors_input_internal {
       16744  +
/// See [`MalformedListInput`](crate::input::MalformedListInput).
       16745  +
pub(crate) mod malformed_list_input_internal {
15840  16746   
15841         -
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
       16747  +
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
15842  16748   
        fn from(builder: Builder) -> Self {
15843  16749   
            builder.build()
15844  16750   
        }
15845  16751   
    }
15846         -
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       16752  +
    /// A builder for [`MalformedListInput`](crate::input::MalformedListInput).
15847  16753   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15848         -
    pub(crate) struct Builder {}
       16754  +
    pub(crate) struct Builder {
       16755  +
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       16756  +
    }
15849  16757   
    impl Builder {
15850         -
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
15851         -
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
       16758  +
        #[allow(missing_docs)] // documentation missing in model
       16759  +
        pub(crate) fn set_body_list(
       16760  +
            mut self,
       16761  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       16762  +
        ) -> Self {
       16763  +
            self.body_list = input.map(|v| v.into());
       16764  +
            self
       16765  +
        }
       16766  +
        /// Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
       16767  +
        pub fn build(self) -> crate::input::MalformedListInput {
15852  16768   
            self.build_enforcing_all_constraints()
15853  16769   
        }
15854         -
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
15855         -
            crate::input::GreetingWithErrorsInput {}
       16770  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedListInput {
       16771  +
            crate::input::MalformedListInput {
       16772  +
                body_list: self.body_list,
       16773  +
            }
15856  16774   
        }
15857  16775   
    }
15858  16776   
}
15859         -
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
15860         -
pub mod greeting_with_errors_input {
       16777  +
/// See [`MalformedListInput`](crate::input::MalformedListInput).
       16778  +
pub mod malformed_list_input {
15861  16779   
15862         -
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
       16780  +
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
15863  16781   
        fn from(builder: Builder) -> Self {
15864  16782   
            builder.build()
15865  16783   
        }
15866  16784   
    }
15867         -
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       16785  +
    /// A builder for [`MalformedListInput`](crate::input::MalformedListInput).
15868  16786   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15869         -
    pub struct Builder {}
       16787  +
    pub struct Builder {
       16788  +
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       16789  +
    }
15870  16790   
    impl Builder {
15871         -
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
15872         -
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
       16791  +
        #[allow(missing_docs)] // documentation missing in model
       16792  +
        pub fn body_list(
       16793  +
            mut self,
       16794  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       16795  +
        ) -> Self {
       16796  +
            self.body_list = input;
       16797  +
            self
       16798  +
        }
       16799  +
        /// Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
       16800  +
        pub fn build(self) -> crate::input::MalformedListInput {
15873  16801   
            self.build_enforcing_required_and_enum_traits()
15874  16802   
        }
15875         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::GreetingWithErrorsInput {
15876         -
            crate::input::GreetingWithErrorsInput {}
       16803  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedListInput {
       16804  +
            crate::input::MalformedListInput {
       16805  +
                body_list: self.body_list,
       16806  +
            }
15877  16807   
        }
15878  16808   
    }
15879  16809   
}
15880         -
/// See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
15881         -
pub(crate) mod streaming_traits_with_media_type_input_internal {
       16810  +
/// See [`MalformedMapInput`](crate::input::MalformedMapInput).
       16811  +
pub(crate) mod malformed_map_input_internal {
15882  16812   
15883         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
       16813  +
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
15884  16814   
        fn from(builder: Builder) -> Self {
15885  16815   
            builder.build()
15886  16816   
        }
15887  16817   
    }
15888         -
    /// A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       16818  +
    /// A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
15889  16819   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15890  16820   
    pub(crate) struct Builder {
15891         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15892         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       16821  +
        pub(crate) body_map: ::std::option::Option<
       16822  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       16823  +
        >,
15893  16824   
    }
15894  16825   
    impl Builder {
15895  16826   
        #[allow(missing_docs)] // documentation missing in model
15896         -
        pub(crate) fn set_foo(
15897         -
            mut self,
15898         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15899         -
        ) -> Self {
15900         -
            self.foo = input.map(|v| v.into());
15901         -
            self
15902         -
        }
15903         -
        #[allow(missing_docs)] // documentation missing in model
15904         -
        pub(crate) fn set_blob(
       16827  +
        pub(crate) fn set_body_map(
15905  16828   
            mut self,
15906         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::ByteStream>,
       16829  +
            input: Option<
       16830  +
                impl ::std::convert::Into<
       16831  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       16832  +
                >,
       16833  +
            >,
15907  16834   
        ) -> Self {
15908         -
            self.blob = Some(input.into());
       16835  +
            self.body_map = input.map(|v| v.into());
15909  16836   
            self
15910  16837   
        }
15911         -
        /// Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
15912         -
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
       16838  +
        /// Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
       16839  +
        pub fn build(self) -> crate::input::MalformedMapInput {
15913  16840   
            self.build_enforcing_all_constraints()
15914  16841   
        }
15915         -
        fn build_enforcing_all_constraints(
15916         -
            self,
15917         -
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
15918         -
            crate::input::StreamingTraitsWithMediaTypeInput {
15919         -
                foo: self.foo,
15920         -
                blob: self.blob.unwrap_or_default(),
       16842  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedMapInput {
       16843  +
            crate::input::MalformedMapInput {
       16844  +
                body_map: self.body_map,
15921  16845   
            }
15922  16846   
        }
15923  16847   
    }
15924  16848   
}
15925         -
/// See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
15926         -
pub mod streaming_traits_with_media_type_input {
       16849  +
/// See [`MalformedMapInput`](crate::input::MalformedMapInput).
       16850  +
pub mod malformed_map_input {
15927  16851   
15928         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
       16852  +
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
15929  16853   
        fn from(builder: Builder) -> Self {
15930  16854   
            builder.build()
15931  16855   
        }
15932  16856   
    }
15933         -
    /// A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       16857  +
    /// A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
15934  16858   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15935  16859   
    pub struct Builder {
15936         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15937         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       16860  +
        pub(crate) body_map: ::std::option::Option<
       16861  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       16862  +
        >,
15938  16863   
    }
15939  16864   
    impl Builder {
15940  16865   
        #[allow(missing_docs)] // documentation missing in model
15941         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
15942         -
            self.foo = input;
15943         -
            self
15944         -
        }
15945         -
        #[allow(missing_docs)] // documentation missing in model
15946         -
        pub fn blob(mut self, input: ::aws_smithy_http_server_python::types::ByteStream) -> Self {
15947         -
            self.blob = Some(input);
       16866  +
        pub fn body_map(
       16867  +
            mut self,
       16868  +
            input: ::std::option::Option<
       16869  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       16870  +
            >,
       16871  +
        ) -> Self {
       16872  +
            self.body_map = input;
15948  16873   
            self
15949  16874   
        }
15950         -
        /// Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
15951         -
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
       16875  +
        /// Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
       16876  +
        pub fn build(self) -> crate::input::MalformedMapInput {
15952  16877   
            self.build_enforcing_required_and_enum_traits()
15953  16878   
        }
15954         -
        fn build_enforcing_required_and_enum_traits(
15955         -
            self,
15956         -
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
15957         -
            crate::input::StreamingTraitsWithMediaTypeInput {
15958         -
                foo: self.foo,
15959         -
                blob: self.blob.unwrap_or_default(),
       16879  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedMapInput {
       16880  +
            crate::input::MalformedMapInput {
       16881  +
                body_map: self.body_map,
15960  16882   
            }
15961  16883   
        }
15962  16884   
    }
15963  16885   
}
15964         -
/// See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
15965         -
pub(crate) mod streaming_traits_require_length_input_internal {
       16886  +
/// See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       16887  +
pub(crate) mod malformed_blob_input_internal {
15966  16888   
15967         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
       16889  +
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
15968  16890   
        fn from(builder: Builder) -> Self {
15969  16891   
            builder.build()
15970  16892   
        }
15971  16893   
    }
15972         -
    /// A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       16894  +
    /// A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
15973  16895   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
15974  16896   
    pub(crate) struct Builder {
15975         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
15976         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       16897  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
15977  16898   
    }
15978  16899   
    impl Builder {
15979         -
        #[allow(missing_docs)] // documentation missing in model
15980         -
        pub(crate) fn set_foo(
15981         -
            mut self,
15982         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
15983         -
        ) -> Self {
15984         -
            self.foo = input.map(|v| v.into());
15985         -
            self
15986         -
        }
15987  16900   
        #[allow(missing_docs)] // documentation missing in model
15988  16901   
        pub(crate) fn set_blob(
15989  16902   
            mut self,
15990         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::ByteStream>,
       16903  +
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
15991  16904   
        ) -> Self {
15992         -
            self.blob = Some(input.into());
       16905  +
            self.blob = input.map(|v| v.into());
15993  16906   
            self
15994  16907   
        }
15995         -
        /// Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
15996         -
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
       16908  +
        /// Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       16909  +
        pub fn build(self) -> crate::input::MalformedBlobInput {
15997  16910   
            self.build_enforcing_all_constraints()
15998  16911   
        }
15999         -
        fn build_enforcing_all_constraints(
16000         -
            self,
16001         -
        ) -> crate::input::StreamingTraitsRequireLengthInput {
16002         -
            crate::input::StreamingTraitsRequireLengthInput {
16003         -
                foo: self.foo,
16004         -
                blob: self.blob.unwrap_or_default(),
16005         -
            }
       16912  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedBlobInput {
       16913  +
            crate::input::MalformedBlobInput { blob: self.blob }
16006  16914   
        }
16007  16915   
    }
16008  16916   
}
16009         -
/// See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
16010         -
pub mod streaming_traits_require_length_input {
       16917  +
/// See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       16918  +
pub mod malformed_blob_input {
16011  16919   
16012         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
       16920  +
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
16013  16921   
        fn from(builder: Builder) -> Self {
16014  16922   
            builder.build()
16015  16923   
        }
16016  16924   
    }
16017         -
    /// A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       16925  +
    /// A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
16018  16926   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16019  16927   
    pub struct Builder {
16020         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16021         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       16928  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
16022  16929   
    }
16023  16930   
    impl Builder {
16024  16931   
        #[allow(missing_docs)] // documentation missing in model
16025         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16026         -
            self.foo = input;
16027         -
            self
16028         -
        }
16029         -
        #[allow(missing_docs)] // documentation missing in model
16030         -
        pub fn blob(mut self, input: ::aws_smithy_http_server_python::types::ByteStream) -> Self {
16031         -
            self.blob = Some(input);
       16932  +
        pub fn blob(
       16933  +
            mut self,
       16934  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       16935  +
        ) -> Self {
       16936  +
            self.blob = input;
16032  16937   
            self
16033  16938   
        }
16034         -
        /// Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
16035         -
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
       16939  +
        /// Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       16940  +
        pub fn build(self) -> crate::input::MalformedBlobInput {
16036  16941   
            self.build_enforcing_required_and_enum_traits()
16037  16942   
        }
16038         -
        fn build_enforcing_required_and_enum_traits(
16039         -
            self,
16040         -
        ) -> crate::input::StreamingTraitsRequireLengthInput {
16041         -
            crate::input::StreamingTraitsRequireLengthInput {
16042         -
                foo: self.foo,
16043         -
                blob: self.blob.unwrap_or_default(),
16044         -
            }
       16943  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedBlobInput {
       16944  +
            crate::input::MalformedBlobInput { blob: self.blob }
16045  16945   
        }
16046  16946   
    }
16047  16947   
}
16048         -
/// See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
16049         -
pub(crate) mod streaming_traits_input_internal {
       16948  +
/// See [`MalformedByteInput`](crate::input::MalformedByteInput).
       16949  +
pub(crate) mod malformed_byte_input_internal {
16050  16950   
16051         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
       16951  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16952  +
    /// Holds one variant for each of the ways the builder can fail.
       16953  +
    #[non_exhaustive]
       16954  +
    #[allow(clippy::enum_variant_names)]
       16955  +
    pub(crate) enum ConstraintViolation {
       16956  +
        /// `byte_in_path` was not provided but it is required when building `MalformedByteInput`.
       16957  +
        MissingByteInPath,
       16958  +
    }
       16959  +
    impl ::std::fmt::Display for ConstraintViolation {
       16960  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16961  +
            match self {
       16962  +
                ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
       16963  +
            }
       16964  +
        }
       16965  +
    }
       16966  +
    impl ::std::error::Error for ConstraintViolation {}
       16967  +
    impl ConstraintViolation {
       16968  +
        pub(crate) fn as_validation_exception_field(
       16969  +
            self,
       16970  +
            path: ::std::string::String,
       16971  +
        ) -> crate::model::ValidationExceptionField {
       16972  +
            match self {
       16973  +
            ConstraintViolation::MissingByteInPath => crate::model::ValidationExceptionField {
       16974  +
                                                message: format!("Value at '{}/byteInPath' failed to satisfy constraint: Member must not be null", path),
       16975  +
                                                path: path + "/byteInPath",
       16976  +
                                            },
       16977  +
        }
       16978  +
        }
       16979  +
    }
       16980  +
    impl ::std::convert::From<ConstraintViolation>
       16981  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16982  +
    {
       16983  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16984  +
            let first_validation_exception_field =
       16985  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16986  +
            let validation_exception = crate::error::ValidationException {
       16987  +
                message: format!(
       16988  +
                    "1 validation error detected. {}",
       16989  +
                    &first_validation_exception_field.message
       16990  +
                ),
       16991  +
                field_list: Some(vec![first_validation_exception_field]),
       16992  +
            };
       16993  +
            Self::ConstraintViolation(
       16994  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16995  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16996  +
                            )
       16997  +
        }
       16998  +
    }
       16999  +
    impl ::std::convert::From<Builder>
       17000  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedByteInput>
       17001  +
    {
16052  17002   
        fn from(builder: Builder) -> Self {
       17003  +
            Self::Unconstrained(builder)
       17004  +
        }
       17005  +
    }
       17006  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
       17007  +
        type Error = ConstraintViolation;
       17008  +
       17009  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16053  17010   
            builder.build()
16054  17011   
        }
16055  17012   
    }
16056         -
    /// A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       17013  +
    /// A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
16057  17014   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16058  17015   
    pub(crate) struct Builder {
16059         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16060         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       17016  +
        pub(crate) byte_in_body: ::std::option::Option<i8>,
       17017  +
        pub(crate) byte_in_path: ::std::option::Option<i8>,
       17018  +
        pub(crate) byte_in_query: ::std::option::Option<i8>,
       17019  +
        pub(crate) byte_in_header: ::std::option::Option<i8>,
16061  17020   
    }
16062  17021   
    impl Builder {
16063  17022   
        #[allow(missing_docs)] // documentation missing in model
16064         -
        pub(crate) fn set_foo(
       17023  +
        pub(crate) fn set_byte_in_body(
16065  17024   
            mut self,
16066         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       17025  +
            input: Option<impl ::std::convert::Into<i8>>,
16067  17026   
        ) -> Self {
16068         -
            self.foo = input.map(|v| v.into());
       17027  +
            self.byte_in_body = input.map(|v| v.into());
16069  17028   
            self
16070  17029   
        }
16071  17030   
        #[allow(missing_docs)] // documentation missing in model
16072         -
        pub(crate) fn set_blob(
       17031  +
        pub(crate) fn set_byte_in_path(mut self, input: impl ::std::convert::Into<i8>) -> Self {
       17032  +
            self.byte_in_path = Some(input.into());
       17033  +
            self
       17034  +
        }
       17035  +
        #[allow(missing_docs)] // documentation missing in model
       17036  +
        pub(crate) fn set_byte_in_query(
16073  17037   
            mut self,
16074         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::ByteStream>,
       17038  +
            input: Option<impl ::std::convert::Into<i8>>,
16075  17039   
        ) -> Self {
16076         -
            self.blob = Some(input.into());
       17040  +
            self.byte_in_query = input.map(|v| v.into());
16077  17041   
            self
16078  17042   
        }
16079         -
        /// Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
16080         -
        pub fn build(self) -> crate::input::StreamingTraitsInput {
       17043  +
        #[allow(missing_docs)] // documentation missing in model
       17044  +
        pub(crate) fn set_byte_in_header(
       17045  +
            mut self,
       17046  +
            input: Option<impl ::std::convert::Into<i8>>,
       17047  +
        ) -> Self {
       17048  +
            self.byte_in_header = input.map(|v| v.into());
       17049  +
            self
       17050  +
        }
       17051  +
        /// Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
       17052  +
        ///
       17053  +
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if a [`ConstraintViolation`] occurs.
       17054  +
        ///
       17055  +
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
16081  17056   
            self.build_enforcing_all_constraints()
16082  17057   
        }
16083         -
        fn build_enforcing_all_constraints(self) -> crate::input::StreamingTraitsInput {
16084         -
            crate::input::StreamingTraitsInput {
16085         -
                foo: self.foo,
16086         -
                blob: self.blob.unwrap_or_default(),
       17058  +
        fn build_enforcing_all_constraints(
       17059  +
            self,
       17060  +
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       17061  +
            Ok(crate::input::MalformedByteInput {
       17062  +
                byte_in_body: self.byte_in_body,
       17063  +
                byte_in_path: self
       17064  +
                    .byte_in_path
       17065  +
                    .ok_or(ConstraintViolation::MissingByteInPath)?,
       17066  +
                byte_in_query: self.byte_in_query,
       17067  +
                byte_in_header: self.byte_in_header,
       17068  +
            })
       17069  +
        }
       17070  +
    }
       17071  +
}
       17072  +
/// See [`MalformedByteInput`](crate::input::MalformedByteInput).
       17073  +
pub mod malformed_byte_input {
       17074  +
       17075  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17076  +
    /// Holds one variant for each of the ways the builder can fail.
       17077  +
    #[allow(clippy::enum_variant_names)]
       17078  +
    pub enum ConstraintViolation {
       17079  +
        /// `byte_in_path` was not provided but it is required when building `MalformedByteInput`.
       17080  +
        MissingByteInPath,
       17081  +
    }
       17082  +
    impl ::std::fmt::Display for ConstraintViolation {
       17083  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17084  +
            match self {
       17085  +
                ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
16087  17086   
            }
16088  17087   
        }
16089  17088   
    }
16090         -
}
16091         -
/// See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
16092         -
pub mod streaming_traits_input {
       17089  +
    impl ::std::error::Error for ConstraintViolation {}
       17090  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
       17091  +
        type Error = ConstraintViolation;
16093  17092   
16094         -
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
16095         -
        fn from(builder: Builder) -> Self {
       17093  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16096  17094   
            builder.build()
16097  17095   
        }
16098  17096   
    }
16099         -
    /// A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       17097  +
    /// A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
16100  17098   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16101  17099   
    pub struct Builder {
16102         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16103         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
       17100  +
        pub(crate) byte_in_body: ::std::option::Option<i8>,
       17101  +
        pub(crate) byte_in_path: ::std::option::Option<i8>,
       17102  +
        pub(crate) byte_in_query: ::std::option::Option<i8>,
       17103  +
        pub(crate) byte_in_header: ::std::option::Option<i8>,
16104  17104   
    }
16105  17105   
    impl Builder {
16106  17106   
        #[allow(missing_docs)] // documentation missing in model
16107         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16108         -
            self.foo = input;
       17107  +
        pub fn byte_in_body(mut self, input: ::std::option::Option<i8>) -> Self {
       17108  +
            self.byte_in_body = input;
16109  17109   
            self
16110  17110   
        }
16111  17111   
        #[allow(missing_docs)] // documentation missing in model
16112         -
        pub fn blob(mut self, input: ::aws_smithy_http_server_python::types::ByteStream) -> Self {
16113         -
            self.blob = Some(input);
       17112  +
        pub fn byte_in_path(mut self, input: i8) -> Self {
       17113  +
            self.byte_in_path = Some(input);
16114  17114   
            self
16115  17115   
        }
16116         -
        /// Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
16117         -
        pub fn build(self) -> crate::input::StreamingTraitsInput {
       17116  +
        #[allow(missing_docs)] // documentation missing in model
       17117  +
        pub fn byte_in_query(mut self, input: ::std::option::Option<i8>) -> Self {
       17118  +
            self.byte_in_query = input;
       17119  +
            self
       17120  +
        }
       17121  +
        #[allow(missing_docs)] // documentation missing in model
       17122  +
        pub fn byte_in_header(mut self, input: ::std::option::Option<i8>) -> Self {
       17123  +
            self.byte_in_header = input;
       17124  +
            self
       17125  +
        }
       17126  +
        /// Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
       17127  +
        ///
       17128  +
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if you do not provide a value for all non-`Option`al members.
       17129  +
        ///
       17130  +
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
16118  17131   
            self.build_enforcing_required_and_enum_traits()
16119  17132   
        }
16120         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::StreamingTraitsInput {
16121         -
            crate::input::StreamingTraitsInput {
16122         -
                foo: self.foo,
16123         -
                blob: self.blob.unwrap_or_default(),
16124         -
            }
       17133  +
        fn build_enforcing_required_and_enum_traits(
       17134  +
            self,
       17135  +
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       17136  +
            Ok(crate::input::MalformedByteInput {
       17137  +
                byte_in_body: self.byte_in_body,
       17138  +
                byte_in_path: self
       17139  +
                    .byte_in_path
       17140  +
                    .ok_or(ConstraintViolation::MissingByteInPath)?,
       17141  +
                byte_in_query: self.byte_in_query,
       17142  +
                byte_in_header: self.byte_in_header,
       17143  +
            })
16125  17144   
        }
16126  17145   
    }
16127  17146   
}
16128         -
/// See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
16129         -
pub(crate) mod response_code_http_fallback_input_internal {
       17147  +
/// See [`MalformedShortInput`](crate::input::MalformedShortInput).
       17148  +
pub(crate) mod malformed_short_input_internal {
16130  17149   
16131         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
16132         -
        fn from(builder: Builder) -> Self {
16133         -
            builder.build()
       17150  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17151  +
    /// Holds one variant for each of the ways the builder can fail.
       17152  +
    #[non_exhaustive]
       17153  +
    #[allow(clippy::enum_variant_names)]
       17154  +
    pub(crate) enum ConstraintViolation {
       17155  +
        /// `short_in_path` was not provided but it is required when building `MalformedShortInput`.
       17156  +
        MissingShortInPath,
       17157  +
    }
       17158  +
    impl ::std::fmt::Display for ConstraintViolation {
       17159  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17160  +
            match self {
       17161  +
                ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
       17162  +
            }
16134  17163   
        }
16135  17164   
    }
16136         -
    /// A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
16137         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16138         -
    pub(crate) struct Builder {}
16139         -
    impl Builder {
16140         -
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
16141         -
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
16142         -
            self.build_enforcing_all_constraints()
       17165  +
    impl ::std::error::Error for ConstraintViolation {}
       17166  +
    impl ConstraintViolation {
       17167  +
        pub(crate) fn as_validation_exception_field(
       17168  +
            self,
       17169  +
            path: ::std::string::String,
       17170  +
        ) -> crate::model::ValidationExceptionField {
       17171  +
            match self {
       17172  +
            ConstraintViolation::MissingShortInPath => crate::model::ValidationExceptionField {
       17173  +
                                                message: format!("Value at '{}/shortInPath' failed to satisfy constraint: Member must not be null", path),
       17174  +
                                                path: path + "/shortInPath",
       17175  +
                                            },
16143  17176   
        }
16144         -
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeHttpFallbackInput {
16145         -
            crate::input::ResponseCodeHttpFallbackInput {}
16146  17177   
        }
16147  17178   
    }
16148         -
}
16149         -
/// See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
16150         -
pub mod response_code_http_fallback_input {
16151         -
16152         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
       17179  +
    impl ::std::convert::From<ConstraintViolation>
       17180  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17181  +
    {
       17182  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17183  +
            let first_validation_exception_field =
       17184  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17185  +
            let validation_exception = crate::error::ValidationException {
       17186  +
                message: format!(
       17187  +
                    "1 validation error detected. {}",
       17188  +
                    &first_validation_exception_field.message
       17189  +
                ),
       17190  +
                field_list: Some(vec![first_validation_exception_field]),
       17191  +
            };
       17192  +
            Self::ConstraintViolation(
       17193  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17194  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17195  +
                            )
       17196  +
        }
       17197  +
    }
       17198  +
    impl ::std::convert::From<Builder>
       17199  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedShortInput>
       17200  +
    {
16153  17201   
        fn from(builder: Builder) -> Self {
       17202  +
            Self::Unconstrained(builder)
       17203  +
        }
       17204  +
    }
       17205  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
       17206  +
        type Error = ConstraintViolation;
       17207  +
       17208  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16154  17209   
            builder.build()
16155  17210   
        }
16156  17211   
    }
16157         -
    /// A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       17212  +
    /// A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
16158  17213   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16159         -
    pub struct Builder {}
       17214  +
    pub(crate) struct Builder {
       17215  +
        pub(crate) short_in_body: ::std::option::Option<i16>,
       17216  +
        pub(crate) short_in_path: ::std::option::Option<i16>,
       17217  +
        pub(crate) short_in_query: ::std::option::Option<i16>,
       17218  +
        pub(crate) short_in_header: ::std::option::Option<i16>,
       17219  +
    }
16160  17220   
    impl Builder {
16161         -
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
16162         -
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
16163         -
            self.build_enforcing_required_and_enum_traits()
       17221  +
        #[allow(missing_docs)] // documentation missing in model
       17222  +
        pub(crate) fn set_short_in_body(
       17223  +
            mut self,
       17224  +
            input: Option<impl ::std::convert::Into<i16>>,
       17225  +
        ) -> Self {
       17226  +
            self.short_in_body = input.map(|v| v.into());
       17227  +
            self
16164  17228   
        }
16165         -
        fn build_enforcing_required_and_enum_traits(
       17229  +
        #[allow(missing_docs)] // documentation missing in model
       17230  +
        pub(crate) fn set_short_in_path(mut self, input: impl ::std::convert::Into<i16>) -> Self {
       17231  +
            self.short_in_path = Some(input.into());
       17232  +
            self
       17233  +
        }
       17234  +
        #[allow(missing_docs)] // documentation missing in model
       17235  +
        pub(crate) fn set_short_in_query(
       17236  +
            mut self,
       17237  +
            input: Option<impl ::std::convert::Into<i16>>,
       17238  +
        ) -> Self {
       17239  +
            self.short_in_query = input.map(|v| v.into());
       17240  +
            self
       17241  +
        }
       17242  +
        #[allow(missing_docs)] // documentation missing in model
       17243  +
        pub(crate) fn set_short_in_header(
       17244  +
            mut self,
       17245  +
            input: Option<impl ::std::convert::Into<i16>>,
       17246  +
        ) -> Self {
       17247  +
            self.short_in_header = input.map(|v| v.into());
       17248  +
            self
       17249  +
        }
       17250  +
        /// Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
       17251  +
        ///
       17252  +
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if a [`ConstraintViolation`] occurs.
       17253  +
        ///
       17254  +
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
       17255  +
            self.build_enforcing_all_constraints()
       17256  +
        }
       17257  +
        fn build_enforcing_all_constraints(
16166  17258   
            self,
16167         -
        ) -> crate::input::ResponseCodeHttpFallbackInput {
16168         -
            crate::input::ResponseCodeHttpFallbackInput {}
       17259  +
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
       17260  +
            Ok(crate::input::MalformedShortInput {
       17261  +
                short_in_body: self.short_in_body,
       17262  +
                short_in_path: self
       17263  +
                    .short_in_path
       17264  +
                    .ok_or(ConstraintViolation::MissingShortInPath)?,
       17265  +
                short_in_query: self.short_in_query,
       17266  +
                short_in_header: self.short_in_header,
       17267  +
            })
16169  17268   
        }
16170  17269   
    }
16171  17270   
}
16172         -
/// See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
16173         -
pub(crate) mod response_code_required_input_internal {
       17271  +
/// See [`MalformedShortInput`](crate::input::MalformedShortInput).
       17272  +
pub mod malformed_short_input {
16174  17273   
16175         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
16176         -
        fn from(builder: Builder) -> Self {
       17274  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17275  +
    /// Holds one variant for each of the ways the builder can fail.
       17276  +
    #[allow(clippy::enum_variant_names)]
       17277  +
    pub enum ConstraintViolation {
       17278  +
        /// `short_in_path` was not provided but it is required when building `MalformedShortInput`.
       17279  +
        MissingShortInPath,
       17280  +
    }
       17281  +
    impl ::std::fmt::Display for ConstraintViolation {
       17282  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17283  +
            match self {
       17284  +
                ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
       17285  +
            }
       17286  +
        }
       17287  +
    }
       17288  +
    impl ::std::error::Error for ConstraintViolation {}
       17289  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
       17290  +
        type Error = ConstraintViolation;
       17291  +
       17292  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16177  17293   
            builder.build()
16178  17294   
        }
16179  17295   
    }
16180         -
    /// A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       17296  +
    /// A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
16181  17297   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16182         -
    pub(crate) struct Builder {}
       17298  +
    pub struct Builder {
       17299  +
        pub(crate) short_in_body: ::std::option::Option<i16>,
       17300  +
        pub(crate) short_in_path: ::std::option::Option<i16>,
       17301  +
        pub(crate) short_in_query: ::std::option::Option<i16>,
       17302  +
        pub(crate) short_in_header: ::std::option::Option<i16>,
       17303  +
    }
16183  17304   
    impl Builder {
16184         -
        /// Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
16185         -
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
16186         -
            self.build_enforcing_all_constraints()
       17305  +
        #[allow(missing_docs)] // documentation missing in model
       17306  +
        pub fn short_in_body(mut self, input: ::std::option::Option<i16>) -> Self {
       17307  +
            self.short_in_body = input;
       17308  +
            self
16187  17309   
        }
16188         -
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeRequiredInput {
16189         -
            crate::input::ResponseCodeRequiredInput {}
       17310  +
        #[allow(missing_docs)] // documentation missing in model
       17311  +
        pub fn short_in_path(mut self, input: i16) -> Self {
       17312  +
            self.short_in_path = Some(input);
       17313  +
            self
16190  17314   
        }
16191         -
    }
16192         -
}
16193         -
/// See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
16194         -
pub mod response_code_required_input {
16195         -
16196         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
16197         -
        fn from(builder: Builder) -> Self {
16198         -
            builder.build()
       17315  +
        #[allow(missing_docs)] // documentation missing in model
       17316  +
        pub fn short_in_query(mut self, input: ::std::option::Option<i16>) -> Self {
       17317  +
            self.short_in_query = input;
       17318  +
            self
       17319  +
        }
       17320  +
        #[allow(missing_docs)] // documentation missing in model
       17321  +
        pub fn short_in_header(mut self, input: ::std::option::Option<i16>) -> Self {
       17322  +
            self.short_in_header = input;
       17323  +
            self
16199  17324   
        }
16200         -
    }
16201         -
    /// A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
16202         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16203         -
    pub struct Builder {}
16204         -
    impl Builder {
16205         -
        /// Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
16206         -
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
       17325  +
        /// Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
       17326  +
        ///
       17327  +
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if you do not provide a value for all non-`Option`al members.
       17328  +
        ///
       17329  +
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
16207  17330   
            self.build_enforcing_required_and_enum_traits()
16208  17331   
        }
16209  17332   
        fn build_enforcing_required_and_enum_traits(
16210  17333   
            self,
16211         -
        ) -> crate::input::ResponseCodeRequiredInput {
16212         -
            crate::input::ResponseCodeRequiredInput {}
       17334  +
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
       17335  +
            Ok(crate::input::MalformedShortInput {
       17336  +
                short_in_body: self.short_in_body,
       17337  +
                short_in_path: self
       17338  +
                    .short_in_path
       17339  +
                    .ok_or(ConstraintViolation::MissingShortInPath)?,
       17340  +
                short_in_query: self.short_in_query,
       17341  +
                short_in_header: self.short_in_header,
       17342  +
            })
16213  17343   
        }
16214  17344   
    }
16215  17345   
}
16216         -
/// See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
16217         -
pub(crate) mod http_response_code_input_internal {
       17346  +
/// See [`MalformedLongInput`](crate::input::MalformedLongInput).
       17347  +
pub(crate) mod malformed_long_input_internal {
16218  17348   
16219         -
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
16220         -
        fn from(builder: Builder) -> Self {
16221         -
            builder.build()
       17349  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17350  +
    /// Holds one variant for each of the ways the builder can fail.
       17351  +
    #[non_exhaustive]
       17352  +
    #[allow(clippy::enum_variant_names)]
       17353  +
    pub(crate) enum ConstraintViolation {
       17354  +
        /// `long_in_path` was not provided but it is required when building `MalformedLongInput`.
       17355  +
        MissingLongInPath,
       17356  +
    }
       17357  +
    impl ::std::fmt::Display for ConstraintViolation {
       17358  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17359  +
            match self {
       17360  +
                ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
       17361  +
            }
16222  17362   
        }
16223  17363   
    }
16224         -
    /// A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
16225         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16226         -
    pub(crate) struct Builder {}
16227         -
    impl Builder {
16228         -
        /// Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
16229         -
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
16230         -
            self.build_enforcing_all_constraints()
       17364  +
    impl ::std::error::Error for ConstraintViolation {}
       17365  +
    impl ConstraintViolation {
       17366  +
        pub(crate) fn as_validation_exception_field(
       17367  +
            self,
       17368  +
            path: ::std::string::String,
       17369  +
        ) -> crate::model::ValidationExceptionField {
       17370  +
            match self {
       17371  +
            ConstraintViolation::MissingLongInPath => crate::model::ValidationExceptionField {
       17372  +
                                                message: format!("Value at '{}/longInPath' failed to satisfy constraint: Member must not be null", path),
       17373  +
                                                path: path + "/longInPath",
       17374  +
                                            },
16231  17375   
        }
16232         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpResponseCodeInput {
16233         -
            crate::input::HttpResponseCodeInput {}
16234  17376   
        }
16235  17377   
    }
16236         -
}
16237         -
/// See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
16238         -
pub mod http_response_code_input {
16239         -
16240         -
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
16241         -
        fn from(builder: Builder) -> Self {
16242         -
            builder.build()
       17378  +
    impl ::std::convert::From<ConstraintViolation>
       17379  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17380  +
    {
       17381  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17382  +
            let first_validation_exception_field =
       17383  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17384  +
            let validation_exception = crate::error::ValidationException {
       17385  +
                message: format!(
       17386  +
                    "1 validation error detected. {}",
       17387  +
                    &first_validation_exception_field.message
       17388  +
                ),
       17389  +
                field_list: Some(vec![first_validation_exception_field]),
       17390  +
            };
       17391  +
            Self::ConstraintViolation(
       17392  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17393  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17394  +
                            )
16243  17395   
        }
16244  17396   
    }
16245         -
    /// A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
16246         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16247         -
    pub struct Builder {}
16248         -
    impl Builder {
16249         -
        /// Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
16250         -
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
16251         -
            self.build_enforcing_required_and_enum_traits()
16252         -
        }
16253         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpResponseCodeInput {
16254         -
            crate::input::HttpResponseCodeInput {}
       17397  +
    impl ::std::convert::From<Builder>
       17398  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedLongInput>
       17399  +
    {
       17400  +
        fn from(builder: Builder) -> Self {
       17401  +
            Self::Unconstrained(builder)
16255  17402   
        }
16256  17403   
    }
16257         -
}
16258         -
/// See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
16259         -
pub(crate) mod http_payload_with_union_input_internal {
       17404  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
       17405  +
        type Error = ConstraintViolation;
16260  17406   
16261         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
16262         -
        fn from(builder: Builder) -> Self {
       17407  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16263  17408   
            builder.build()
16264  17409   
        }
16265  17410   
    }
16266         -
    /// A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       17411  +
    /// A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
16267  17412   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16268  17413   
    pub(crate) struct Builder {
16269         -
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
       17414  +
        pub(crate) long_in_body: ::std::option::Option<i64>,
       17415  +
        pub(crate) long_in_path: ::std::option::Option<i64>,
       17416  +
        pub(crate) long_in_query: ::std::option::Option<i64>,
       17417  +
        pub(crate) long_in_header: ::std::option::Option<i64>,
16270  17418   
    }
16271  17419   
    impl Builder {
16272  17420   
        #[allow(missing_docs)] // documentation missing in model
16273         -
        pub(crate) fn set_nested(
       17421  +
        pub(crate) fn set_long_in_body(
16274  17422   
            mut self,
16275         -
            input: Option<impl ::std::convert::Into<crate::model::UnionPayload>>,
       17423  +
            input: Option<impl ::std::convert::Into<i64>>,
16276  17424   
        ) -> Self {
16277         -
            self.nested = input.map(|v| v.into());
       17425  +
            self.long_in_body = input.map(|v| v.into());
16278  17426   
            self
16279  17427   
        }
16280         -
        /// Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
16281         -
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
16282         -
            self.build_enforcing_all_constraints()
16283         -
        }
16284         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithUnionInput {
16285         -
            crate::input::HttpPayloadWithUnionInput {
16286         -
                nested: self.nested,
16287         -
            }
       17428  +
        #[allow(missing_docs)] // documentation missing in model
       17429  +
        pub(crate) fn set_long_in_path(mut self, input: impl ::std::convert::Into<i64>) -> Self {
       17430  +
            self.long_in_path = Some(input.into());
       17431  +
            self
16288  17432   
        }
16289         -
    }
16290         -
}
16291         -
/// See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
16292         -
pub mod http_payload_with_union_input {
16293         -
16294         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
16295         -
        fn from(builder: Builder) -> Self {
16296         -
            builder.build()
       17433  +
        #[allow(missing_docs)] // documentation missing in model
       17434  +
        pub(crate) fn set_long_in_query(
       17435  +
            mut self,
       17436  +
            input: Option<impl ::std::convert::Into<i64>>,
       17437  +
        ) -> Self {
       17438  +
            self.long_in_query = input.map(|v| v.into());
       17439  +
            self
16297  17440   
        }
16298         -
    }
16299         -
    /// A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
16300         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16301         -
    pub struct Builder {
16302         -
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
16303         -
    }
16304         -
    impl Builder {
16305  17441   
        #[allow(missing_docs)] // documentation missing in model
16306         -
        pub fn nested(mut self, input: ::std::option::Option<crate::model::UnionPayload>) -> Self {
16307         -
            self.nested = input;
       17442  +
        pub(crate) fn set_long_in_header(
       17443  +
            mut self,
       17444  +
            input: Option<impl ::std::convert::Into<i64>>,
       17445  +
        ) -> Self {
       17446  +
            self.long_in_header = input.map(|v| v.into());
16308  17447   
            self
16309  17448   
        }
16310         -
        /// Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
16311         -
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
16312         -
            self.build_enforcing_required_and_enum_traits()
       17449  +
        /// Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
       17450  +
        ///
       17451  +
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if a [`ConstraintViolation`] occurs.
       17452  +
        ///
       17453  +
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
       17454  +
            self.build_enforcing_all_constraints()
16313  17455   
        }
16314         -
        fn build_enforcing_required_and_enum_traits(
       17456  +
        fn build_enforcing_all_constraints(
16315  17457   
            self,
16316         -
        ) -> crate::input::HttpPayloadWithUnionInput {
16317         -
            crate::input::HttpPayloadWithUnionInput {
16318         -
                nested: self.nested,
16319         -
            }
       17458  +
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
       17459  +
            Ok(crate::input::MalformedLongInput {
       17460  +
                long_in_body: self.long_in_body,
       17461  +
                long_in_path: self
       17462  +
                    .long_in_path
       17463  +
                    .ok_or(ConstraintViolation::MissingLongInPath)?,
       17464  +
                long_in_query: self.long_in_query,
       17465  +
                long_in_header: self.long_in_header,
       17466  +
            })
16320  17467   
        }
16321  17468   
    }
16322  17469   
}
16323         -
/// See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
16324         -
pub(crate) mod http_string_payload_input_internal {
       17470  +
/// See [`MalformedLongInput`](crate::input::MalformedLongInput).
       17471  +
pub mod malformed_long_input {
16325  17472   
16326         -
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
16327         -
        fn from(builder: Builder) -> Self {
16328         -
            builder.build()
16329         -
        }
16330         -
    }
16331         -
    /// A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
16332         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16333         -
    pub(crate) struct Builder {
16334         -
        pub(crate) payload: ::std::option::Option<::std::string::String>,
       17473  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17474  +
    /// Holds one variant for each of the ways the builder can fail.
       17475  +
    #[allow(clippy::enum_variant_names)]
       17476  +
    pub enum ConstraintViolation {
       17477  +
        /// `long_in_path` was not provided but it is required when building `MalformedLongInput`.
       17478  +
        MissingLongInPath,
16335  17479   
    }
16336         -
    impl Builder {
16337         -
        #[allow(missing_docs)] // documentation missing in model
16338         -
        pub(crate) fn set_payload(
16339         -
            mut self,
16340         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16341         -
        ) -> Self {
16342         -
            self.payload = input.map(|v| v.into());
16343         -
            self
16344         -
        }
16345         -
        /// Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
16346         -
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
16347         -
            self.build_enforcing_all_constraints()
16348         -
        }
16349         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpStringPayloadInput {
16350         -
            crate::input::HttpStringPayloadInput {
16351         -
                payload: self.payload,
       17480  +
    impl ::std::fmt::Display for ConstraintViolation {
       17481  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17482  +
            match self {
       17483  +
                ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
16352  17484   
            }
16353  17485   
        }
16354  17486   
    }
16355         -
}
16356         -
/// See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
16357         -
pub mod http_string_payload_input {
       17487  +
    impl ::std::error::Error for ConstraintViolation {}
       17488  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
       17489  +
        type Error = ConstraintViolation;
16358  17490   
16359         -
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
16360         -
        fn from(builder: Builder) -> Self {
       17491  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16361  17492   
            builder.build()
16362  17493   
        }
16363  17494   
    }
16364         -
    /// A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       17495  +
    /// A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
16365  17496   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16366  17497   
    pub struct Builder {
16367         -
        pub(crate) payload: ::std::option::Option<::std::string::String>,
       17498  +
        pub(crate) long_in_body: ::std::option::Option<i64>,
       17499  +
        pub(crate) long_in_path: ::std::option::Option<i64>,
       17500  +
        pub(crate) long_in_query: ::std::option::Option<i64>,
       17501  +
        pub(crate) long_in_header: ::std::option::Option<i64>,
16368  17502   
    }
16369  17503   
    impl Builder {
16370  17504   
        #[allow(missing_docs)] // documentation missing in model
16371         -
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16372         -
            self.payload = input;
       17505  +
        pub fn long_in_body(mut self, input: ::std::option::Option<i64>) -> Self {
       17506  +
            self.long_in_body = input;
       17507  +
            self
       17508  +
        }
       17509  +
        #[allow(missing_docs)] // documentation missing in model
       17510  +
        pub fn long_in_path(mut self, input: i64) -> Self {
       17511  +
            self.long_in_path = Some(input);
       17512  +
            self
       17513  +
        }
       17514  +
        #[allow(missing_docs)] // documentation missing in model
       17515  +
        pub fn long_in_query(mut self, input: ::std::option::Option<i64>) -> Self {
       17516  +
            self.long_in_query = input;
       17517  +
            self
       17518  +
        }
       17519  +
        #[allow(missing_docs)] // documentation missing in model
       17520  +
        pub fn long_in_header(mut self, input: ::std::option::Option<i64>) -> Self {
       17521  +
            self.long_in_header = input;
16373  17522   
            self
16374  17523   
        }
16375         -
        /// Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
16376         -
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
       17524  +
        /// Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
       17525  +
        ///
       17526  +
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if you do not provide a value for all non-`Option`al members.
       17527  +
        ///
       17528  +
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
16377  17529   
            self.build_enforcing_required_and_enum_traits()
16378  17530   
        }
16379         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpStringPayloadInput {
16380         -
            crate::input::HttpStringPayloadInput {
16381         -
                payload: self.payload,
16382         -
            }
       17531  +
        fn build_enforcing_required_and_enum_traits(
       17532  +
            self,
       17533  +
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
       17534  +
            Ok(crate::input::MalformedLongInput {
       17535  +
                long_in_body: self.long_in_body,
       17536  +
                long_in_path: self
       17537  +
                    .long_in_path
       17538  +
                    .ok_or(ConstraintViolation::MissingLongInPath)?,
       17539  +
                long_in_query: self.long_in_query,
       17540  +
                long_in_header: self.long_in_header,
       17541  +
            })
16383  17542   
        }
16384  17543   
    }
16385  17544   
}
16386         -
/// See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
16387         -
pub(crate) mod http_enum_payload_input_internal {
       17545  +
/// See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       17546  +
pub(crate) mod malformed_float_input_internal {
16388  17547   
16389  17548   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
16390  17549   
    /// Holds one variant for each of the ways the builder can fail.
16391  17550   
    #[non_exhaustive]
16392  17551   
    #[allow(clippy::enum_variant_names)]
16393  17552   
    pub(crate) enum ConstraintViolation {
16394         -
        /// Constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`.
16395         -
        #[doc(hidden)]
16396         -
        Payload(crate::model::string_enum_internal::ConstraintViolation),
       17553  +
        /// `float_in_path` was not provided but it is required when building `MalformedFloatInput`.
       17554  +
        MissingFloatInPath,
16397  17555   
    }
16398  17556   
    impl ::std::fmt::Display for ConstraintViolation {
16399  17557   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16400  17558   
            match self {
16401         -
                ConstraintViolation::Payload(_) => write!(f, "constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`"),
       17559  +
                ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
16402  17560   
            }
16403  17561   
        }
16404  17562   
    }
16405  17563   
    impl ::std::error::Error for ConstraintViolation {}
16406  17564   
    impl ConstraintViolation {
16407  17565   
        pub(crate) fn as_validation_exception_field(
16408  17566   
            self,
16409  17567   
            path: ::std::string::String,
16410  17568   
        ) -> crate::model::ValidationExceptionField {
16411  17569   
            match self {
16412         -
                ConstraintViolation::Payload(inner) => {
16413         -
                    inner.as_validation_exception_field(path + "/payload")
16414         -
                }
16415         -
            }
       17570  +
            ConstraintViolation::MissingFloatInPath => crate::model::ValidationExceptionField {
       17571  +
                                                message: format!("Value at '{}/floatInPath' failed to satisfy constraint: Member must not be null", path),
       17572  +
                                                path: path + "/floatInPath",
       17573  +
                                            },
       17574  +
        }
16416  17575   
        }
16417  17576   
    }
16418  17577   
    impl ::std::convert::From<ConstraintViolation>
16419  17578   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
16420  17579   
    {
16421  17580   
        fn from(constraint_violation: ConstraintViolation) -> Self {
16422  17581   
            let first_validation_exception_field =
16423  17582   
                constraint_violation.as_validation_exception_field("".to_owned());
16424  17583   
            let validation_exception = crate::error::ValidationException {
16425  17584   
                message: format!(
16426  17585   
                    "1 validation error detected. {}",
16427  17586   
                    &first_validation_exception_field.message
16428  17587   
                ),
16429  17588   
                field_list: Some(vec![first_validation_exception_field]),
16430  17589   
            };
16431  17590   
            Self::ConstraintViolation(
16432  17591   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
16433  17592   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
16434  17593   
                            )
16435  17594   
        }
16436  17595   
    }
16437  17596   
    impl ::std::convert::From<Builder>
16438         -
        for crate::constrained::MaybeConstrained<crate::input::HttpEnumPayloadInput>
       17597  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedFloatInput>
16439  17598   
    {
16440  17599   
        fn from(builder: Builder) -> Self {
16441  17600   
            Self::Unconstrained(builder)
16442  17601   
        }
16443  17602   
    }
16444         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpEnumPayloadInput {
       17603  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
16445  17604   
        type Error = ConstraintViolation;
16446  17605   
16447  17606   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16448  17607   
            builder.build()
16449  17608   
        }
16450  17609   
    }
16451         -
    /// A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       17610  +
    /// A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
16452  17611   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16453  17612   
    pub(crate) struct Builder {
16454         -
        pub(crate) payload:
16455         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringEnum>>,
       17613  +
        pub(crate) float_in_body: ::std::option::Option<f32>,
       17614  +
        pub(crate) float_in_path: ::std::option::Option<f32>,
       17615  +
        pub(crate) float_in_query: ::std::option::Option<f32>,
       17616  +
        pub(crate) float_in_header: ::std::option::Option<f32>,
16456  17617   
    }
16457  17618   
    impl Builder {
16458  17619   
        #[allow(missing_docs)] // documentation missing in model
16459         -
        pub(crate) fn set_payload(
       17620  +
        pub(crate) fn set_float_in_body(
16460  17621   
            mut self,
16461         -
            input: Option<
16462         -
                impl ::std::convert::Into<
16463         -
                    crate::constrained::MaybeConstrained<crate::model::StringEnum>,
16464         -
                >,
16465         -
            >,
       17622  +
            input: Option<impl ::std::convert::Into<f32>>,
16466  17623   
        ) -> Self {
16467         -
            self.payload = input.map(|v| v.into());
       17624  +
            self.float_in_body = input.map(|v| v.into());
16468  17625   
            self
16469  17626   
        }
16470         -
        /// Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       17627  +
        #[allow(missing_docs)] // documentation missing in model
       17628  +
        pub(crate) fn set_float_in_path(mut self, input: impl ::std::convert::Into<f32>) -> Self {
       17629  +
            self.float_in_path = Some(input.into());
       17630  +
            self
       17631  +
        }
       17632  +
        #[allow(missing_docs)] // documentation missing in model
       17633  +
        pub(crate) fn set_float_in_query(
       17634  +
            mut self,
       17635  +
            input: Option<impl ::std::convert::Into<f32>>,
       17636  +
        ) -> Self {
       17637  +
            self.float_in_query = input.map(|v| v.into());
       17638  +
            self
       17639  +
        }
       17640  +
        #[allow(missing_docs)] // documentation missing in model
       17641  +
        pub(crate) fn set_float_in_header(
       17642  +
            mut self,
       17643  +
            input: Option<impl ::std::convert::Into<f32>>,
       17644  +
        ) -> Self {
       17645  +
            self.float_in_header = input.map(|v| v.into());
       17646  +
            self
       17647  +
        }
       17648  +
        /// Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
16471  17649   
        ///
16472         -
        /// The builder fails to construct a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput) if a [`ConstraintViolation`] occurs.
       17650  +
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if a [`ConstraintViolation`] occurs.
16473  17651   
        ///
16474         -
        pub fn build(self) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       17652  +
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
16475  17653   
            self.build_enforcing_all_constraints()
16476  17654   
        }
16477  17655   
        fn build_enforcing_all_constraints(
16478  17656   
            self,
16479         -
        ) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
16480         -
            Ok(crate::input::HttpEnumPayloadInput {
16481         -
                payload: self
16482         -
                    .payload
16483         -
                    .map(|v| match v {
16484         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
16485         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
16486         -
                    })
16487         -
                    .map(|res| res.map_err(ConstraintViolation::Payload))
16488         -
                    .transpose()?,
       17657  +
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       17658  +
            Ok(crate::input::MalformedFloatInput {
       17659  +
                float_in_body: self.float_in_body,
       17660  +
                float_in_path: self
       17661  +
                    .float_in_path
       17662  +
                    .ok_or(ConstraintViolation::MissingFloatInPath)?,
       17663  +
                float_in_query: self.float_in_query,
       17664  +
                float_in_header: self.float_in_header,
16489  17665   
            })
16490  17666   
        }
16491  17667   
    }
16492  17668   
}
16493         -
/// See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
16494         -
pub mod http_enum_payload_input {
       17669  +
/// See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       17670  +
pub mod malformed_float_input {
16495  17671   
16496         -
    impl ::std::convert::From<Builder> for crate::input::HttpEnumPayloadInput {
16497         -
        fn from(builder: Builder) -> Self {
       17672  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17673  +
    /// Holds one variant for each of the ways the builder can fail.
       17674  +
    #[allow(clippy::enum_variant_names)]
       17675  +
    pub enum ConstraintViolation {
       17676  +
        /// `float_in_path` was not provided but it is required when building `MalformedFloatInput`.
       17677  +
        MissingFloatInPath,
       17678  +
    }
       17679  +
    impl ::std::fmt::Display for ConstraintViolation {
       17680  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17681  +
            match self {
       17682  +
                ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
       17683  +
            }
       17684  +
        }
       17685  +
    }
       17686  +
    impl ::std::error::Error for ConstraintViolation {}
       17687  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
       17688  +
        type Error = ConstraintViolation;
       17689  +
       17690  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16498  17691   
            builder.build()
16499  17692   
        }
16500  17693   
    }
16501         -
    /// A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       17694  +
    /// A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
16502  17695   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16503  17696   
    pub struct Builder {
16504         -
        pub(crate) payload: ::std::option::Option<crate::model::StringEnum>,
       17697  +
        pub(crate) float_in_body: ::std::option::Option<f32>,
       17698  +
        pub(crate) float_in_path: ::std::option::Option<f32>,
       17699  +
        pub(crate) float_in_query: ::std::option::Option<f32>,
       17700  +
        pub(crate) float_in_header: ::std::option::Option<f32>,
16505  17701   
    }
16506  17702   
    impl Builder {
16507  17703   
        #[allow(missing_docs)] // documentation missing in model
16508         -
        pub fn payload(mut self, input: ::std::option::Option<crate::model::StringEnum>) -> Self {
16509         -
            self.payload = input;
       17704  +
        pub fn float_in_body(mut self, input: ::std::option::Option<f32>) -> Self {
       17705  +
            self.float_in_body = input;
16510  17706   
            self
16511  17707   
        }
16512         -
        /// Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
16513         -
        pub fn build(self) -> crate::input::HttpEnumPayloadInput {
       17708  +
        #[allow(missing_docs)] // documentation missing in model
       17709  +
        pub fn float_in_path(mut self, input: f32) -> Self {
       17710  +
            self.float_in_path = Some(input);
       17711  +
            self
       17712  +
        }
       17713  +
        #[allow(missing_docs)] // documentation missing in model
       17714  +
        pub fn float_in_query(mut self, input: ::std::option::Option<f32>) -> Self {
       17715  +
            self.float_in_query = input;
       17716  +
            self
       17717  +
        }
       17718  +
        #[allow(missing_docs)] // documentation missing in model
       17719  +
        pub fn float_in_header(mut self, input: ::std::option::Option<f32>) -> Self {
       17720  +
            self.float_in_header = input;
       17721  +
            self
       17722  +
        }
       17723  +
        /// Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
       17724  +
        ///
       17725  +
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if you do not provide a value for all non-`Option`al members.
       17726  +
        ///
       17727  +
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
16514  17728   
            self.build_enforcing_required_and_enum_traits()
16515  17729   
        }
16516         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpEnumPayloadInput {
16517         -
            crate::input::HttpEnumPayloadInput {
16518         -
                payload: self.payload,
16519         -
            }
       17730  +
        fn build_enforcing_required_and_enum_traits(
       17731  +
            self,
       17732  +
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
       17733  +
            Ok(crate::input::MalformedFloatInput {
       17734  +
                float_in_body: self.float_in_body,
       17735  +
                float_in_path: self
       17736  +
                    .float_in_path
       17737  +
                    .ok_or(ConstraintViolation::MissingFloatInPath)?,
       17738  +
                float_in_query: self.float_in_query,
       17739  +
                float_in_header: self.float_in_header,
       17740  +
            })
16520  17741   
        }
16521  17742   
    }
16522  17743   
}
16523         -
/// See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
16524         -
pub(crate) mod http_payload_with_structure_input_internal {
       17744  +
/// See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       17745  +
pub(crate) mod malformed_double_input_internal {
16525  17746   
16526         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
16527         -
        fn from(builder: Builder) -> Self {
16528         -
            builder.build()
16529         -
        }
       17747  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17748  +
    /// Holds one variant for each of the ways the builder can fail.
       17749  +
    #[non_exhaustive]
       17750  +
    #[allow(clippy::enum_variant_names)]
       17751  +
    pub(crate) enum ConstraintViolation {
       17752  +
        /// `double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
       17753  +
        MissingDoubleInPath,
16530  17754   
    }
16531         -
    /// A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
16532         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16533         -
    pub(crate) struct Builder {
16534         -
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
       17755  +
    impl ::std::fmt::Display for ConstraintViolation {
       17756  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17757  +
            match self {
       17758  +
                ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
       17759  +
            }
       17760  +
        }
16535  17761   
    }
16536         -
    impl Builder {
16537         -
        #[allow(missing_docs)] // documentation missing in model
16538         -
        pub(crate) fn set_nested(
16539         -
            mut self,
16540         -
            input: Option<impl ::std::convert::Into<crate::model::NestedPayload>>,
16541         -
        ) -> Self {
16542         -
            self.nested = input.map(|v| v.into());
16543         -
            self
       17762  +
    impl ::std::error::Error for ConstraintViolation {}
       17763  +
    impl ConstraintViolation {
       17764  +
        pub(crate) fn as_validation_exception_field(
       17765  +
            self,
       17766  +
            path: ::std::string::String,
       17767  +
        ) -> crate::model::ValidationExceptionField {
       17768  +
            match self {
       17769  +
            ConstraintViolation::MissingDoubleInPath => crate::model::ValidationExceptionField {
       17770  +
                                                message: format!("Value at '{}/doubleInPath' failed to satisfy constraint: Member must not be null", path),
       17771  +
                                                path: path + "/doubleInPath",
       17772  +
                                            },
16544  17773   
        }
16545         -
        /// Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
16546         -
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
16547         -
            self.build_enforcing_all_constraints()
16548  17774   
        }
16549         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithStructureInput {
16550         -
            crate::input::HttpPayloadWithStructureInput {
16551         -
                nested: self.nested,
16552         -
            }
       17775  +
    }
       17776  +
    impl ::std::convert::From<ConstraintViolation>
       17777  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17778  +
    {
       17779  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17780  +
            let first_validation_exception_field =
       17781  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17782  +
            let validation_exception = crate::error::ValidationException {
       17783  +
                message: format!(
       17784  +
                    "1 validation error detected. {}",
       17785  +
                    &first_validation_exception_field.message
       17786  +
                ),
       17787  +
                field_list: Some(vec![first_validation_exception_field]),
       17788  +
            };
       17789  +
            Self::ConstraintViolation(
       17790  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17791  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17792  +
                            )
       17793  +
        }
       17794  +
    }
       17795  +
    impl ::std::convert::From<Builder>
       17796  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedDoubleInput>
       17797  +
    {
       17798  +
        fn from(builder: Builder) -> Self {
       17799  +
            Self::Unconstrained(builder)
16553  17800   
        }
16554  17801   
    }
16555         -
}
16556         -
/// See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
16557         -
pub mod http_payload_with_structure_input {
       17802  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
       17803  +
        type Error = ConstraintViolation;
16558  17804   
16559         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
16560         -
        fn from(builder: Builder) -> Self {
       17805  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16561  17806   
            builder.build()
16562  17807   
        }
16563  17808   
    }
16564         -
    /// A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       17809  +
    /// A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
16565  17810   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16566         -
    pub struct Builder {
16567         -
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
       17811  +
    pub(crate) struct Builder {
       17812  +
        pub(crate) double_in_body: ::std::option::Option<f64>,
       17813  +
        pub(crate) double_in_path: ::std::option::Option<f64>,
       17814  +
        pub(crate) double_in_query: ::std::option::Option<f64>,
       17815  +
        pub(crate) double_in_header: ::std::option::Option<f64>,
16568  17816   
    }
16569  17817   
    impl Builder {
16570  17818   
        #[allow(missing_docs)] // documentation missing in model
16571         -
        pub fn nested(mut self, input: ::std::option::Option<crate::model::NestedPayload>) -> Self {
16572         -
            self.nested = input;
       17819  +
        pub(crate) fn set_double_in_body(
       17820  +
            mut self,
       17821  +
            input: Option<impl ::std::convert::Into<f64>>,
       17822  +
        ) -> Self {
       17823  +
            self.double_in_body = input.map(|v| v.into());
16573  17824   
            self
16574  17825   
        }
16575         -
        /// Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
16576         -
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
16577         -
            self.build_enforcing_required_and_enum_traits()
16578         -
        }
16579         -
        fn build_enforcing_required_and_enum_traits(
16580         -
            self,
16581         -
        ) -> crate::input::HttpPayloadWithStructureInput {
16582         -
            crate::input::HttpPayloadWithStructureInput {
16583         -
                nested: self.nested,
16584         -
            }
16585         -
        }
16586         -
    }
16587         -
}
16588         -
/// See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
16589         -
pub(crate) mod http_payload_traits_with_media_type_input_internal {
16590         -
16591         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
16592         -
        fn from(builder: Builder) -> Self {
16593         -
            builder.build()
       17826  +
        #[allow(missing_docs)] // documentation missing in model
       17827  +
        pub(crate) fn set_double_in_path(mut self, input: impl ::std::convert::Into<f64>) -> Self {
       17828  +
            self.double_in_path = Some(input.into());
       17829  +
            self
16594  17830   
        }
16595         -
    }
16596         -
    /// A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
16597         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16598         -
    pub(crate) struct Builder {
16599         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16600         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
16601         -
    }
16602         -
    impl Builder {
16603  17831   
        #[allow(missing_docs)] // documentation missing in model
16604         -
        pub(crate) fn set_foo(
       17832  +
        pub(crate) fn set_double_in_query(
16605  17833   
            mut self,
16606         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       17834  +
            input: Option<impl ::std::convert::Into<f64>>,
16607  17835   
        ) -> Self {
16608         -
            self.foo = input.map(|v| v.into());
       17836  +
            self.double_in_query = input.map(|v| v.into());
16609  17837   
            self
16610  17838   
        }
16611  17839   
        #[allow(missing_docs)] // documentation missing in model
16612         -
        pub(crate) fn set_blob(
       17840  +
        pub(crate) fn set_double_in_header(
16613  17841   
            mut self,
16614         -
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
       17842  +
            input: Option<impl ::std::convert::Into<f64>>,
16615  17843   
        ) -> Self {
16616         -
            self.blob = input.map(|v| v.into());
       17844  +
            self.double_in_header = input.map(|v| v.into());
16617  17845   
            self
16618  17846   
        }
16619         -
        /// Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
16620         -
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       17847  +
        /// Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       17848  +
        ///
       17849  +
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if a [`ConstraintViolation`] occurs.
       17850  +
        ///
       17851  +
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
16621  17852   
            self.build_enforcing_all_constraints()
16622  17853   
        }
16623  17854   
        fn build_enforcing_all_constraints(
16624  17855   
            self,
16625         -
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
16626         -
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
16627         -
                foo: self.foo,
16628         -
                blob: self.blob,
16629         -
            }
       17856  +
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
       17857  +
            Ok(crate::input::MalformedDoubleInput {
       17858  +
                double_in_body: self.double_in_body,
       17859  +
                double_in_path: self
       17860  +
                    .double_in_path
       17861  +
                    .ok_or(ConstraintViolation::MissingDoubleInPath)?,
       17862  +
                double_in_query: self.double_in_query,
       17863  +
                double_in_header: self.double_in_header,
       17864  +
            })
16630  17865   
        }
16631  17866   
    }
16632  17867   
}
16633         -
/// See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
16634         -
pub mod http_payload_traits_with_media_type_input {
       17868  +
/// See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       17869  +
pub mod malformed_double_input {
16635  17870   
16636         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
16637         -
        fn from(builder: Builder) -> Self {
       17871  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17872  +
    /// Holds one variant for each of the ways the builder can fail.
       17873  +
    #[allow(clippy::enum_variant_names)]
       17874  +
    pub enum ConstraintViolation {
       17875  +
        /// `double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
       17876  +
        MissingDoubleInPath,
       17877  +
    }
       17878  +
    impl ::std::fmt::Display for ConstraintViolation {
       17879  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17880  +
            match self {
       17881  +
                ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
       17882  +
            }
       17883  +
        }
       17884  +
    }
       17885  +
    impl ::std::error::Error for ConstraintViolation {}
       17886  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
       17887  +
        type Error = ConstraintViolation;
       17888  +
       17889  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16638  17890   
            builder.build()
16639  17891   
        }
16640  17892   
    }
16641         -
    /// A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       17893  +
    /// A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
16642  17894   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16643  17895   
    pub struct Builder {
16644         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16645         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       17896  +
        pub(crate) double_in_body: ::std::option::Option<f64>,
       17897  +
        pub(crate) double_in_path: ::std::option::Option<f64>,
       17898  +
        pub(crate) double_in_query: ::std::option::Option<f64>,
       17899  +
        pub(crate) double_in_header: ::std::option::Option<f64>,
16646  17900   
    }
16647  17901   
    impl Builder {
16648  17902   
        #[allow(missing_docs)] // documentation missing in model
16649         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16650         -
            self.foo = input;
       17903  +
        pub fn double_in_body(mut self, input: ::std::option::Option<f64>) -> Self {
       17904  +
            self.double_in_body = input;
16651  17905   
            self
16652  17906   
        }
16653  17907   
        #[allow(missing_docs)] // documentation missing in model
16654         -
        pub fn blob(
16655         -
            mut self,
16656         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
16657         -
        ) -> Self {
16658         -
            self.blob = input;
       17908  +
        pub fn double_in_path(mut self, input: f64) -> Self {
       17909  +
            self.double_in_path = Some(input);
16659  17910   
            self
16660  17911   
        }
16661         -
        /// Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
16662         -
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       17912  +
        #[allow(missing_docs)] // documentation missing in model
       17913  +
        pub fn double_in_query(mut self, input: ::std::option::Option<f64>) -> Self {
       17914  +
            self.double_in_query = input;
       17915  +
            self
       17916  +
        }
       17917  +
        #[allow(missing_docs)] // documentation missing in model
       17918  +
        pub fn double_in_header(mut self, input: ::std::option::Option<f64>) -> Self {
       17919  +
            self.double_in_header = input;
       17920  +
            self
       17921  +
        }
       17922  +
        /// Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
       17923  +
        ///
       17924  +
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if you do not provide a value for all non-`Option`al members.
       17925  +
        ///
       17926  +
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
16663  17927   
            self.build_enforcing_required_and_enum_traits()
16664  17928   
        }
16665  17929   
        fn build_enforcing_required_and_enum_traits(
16666  17930   
            self,
16667         -
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
16668         -
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
16669         -
                foo: self.foo,
16670         -
                blob: self.blob,
16671         -
            }
       17931  +
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
       17932  +
            Ok(crate::input::MalformedDoubleInput {
       17933  +
                double_in_body: self.double_in_body,
       17934  +
                double_in_path: self
       17935  +
                    .double_in_path
       17936  +
                    .ok_or(ConstraintViolation::MissingDoubleInPath)?,
       17937  +
                double_in_query: self.double_in_query,
       17938  +
                double_in_header: self.double_in_header,
       17939  +
            })
16672  17940   
        }
16673  17941   
    }
16674  17942   
}
16675         -
/// See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
16676         -
pub(crate) mod http_payload_traits_input_internal {
       17943  +
/// See [`MalformedStringInput`](crate::input::MalformedStringInput).
       17944  +
pub(crate) mod malformed_string_input_internal {
16677  17945   
16678         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
       17946  +
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
16679  17947   
        fn from(builder: Builder) -> Self {
16680  17948   
            builder.build()
16681  17949   
        }
16682  17950   
    }
16683         -
    /// A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       17951  +
    /// A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
16684  17952   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16685  17953   
    pub(crate) struct Builder {
16686         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16687         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       17954  +
        pub(crate) blob: ::std::option::Option<::std::string::String>,
16688  17955   
    }
16689  17956   
    impl Builder {
16690         -
        #[allow(missing_docs)] // documentation missing in model
16691         -
        pub(crate) fn set_foo(
16692         -
            mut self,
16693         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16694         -
        ) -> Self {
16695         -
            self.foo = input.map(|v| v.into());
16696         -
            self
16697         -
        }
16698  17957   
        #[allow(missing_docs)] // documentation missing in model
16699  17958   
        pub(crate) fn set_blob(
16700  17959   
            mut self,
16701         -
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
       17960  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16702  17961   
        ) -> Self {
16703  17962   
            self.blob = input.map(|v| v.into());
16704  17963   
            self
16705  17964   
        }
16706         -
        /// Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
16707         -
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
       17965  +
        /// Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
       17966  +
        pub fn build(self) -> crate::input::MalformedStringInput {
16708  17967   
            self.build_enforcing_all_constraints()
16709  17968   
        }
16710         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadTraitsInput {
16711         -
            crate::input::HttpPayloadTraitsInput {
16712         -
                foo: self.foo,
16713         -
                blob: self.blob,
16714         -
            }
       17969  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedStringInput {
       17970  +
            crate::input::MalformedStringInput { blob: self.blob }
16715  17971   
        }
16716  17972   
    }
16717  17973   
}
16718         -
/// See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
16719         -
pub mod http_payload_traits_input {
       17974  +
/// See [`MalformedStringInput`](crate::input::MalformedStringInput).
       17975  +
pub mod malformed_string_input {
16720  17976   
16721         -
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
       17977  +
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
16722  17978   
        fn from(builder: Builder) -> Self {
16723  17979   
            builder.build()
16724  17980   
        }
16725  17981   
    }
16726         -
    /// A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       17982  +
    /// A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
16727  17983   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16728  17984   
    pub struct Builder {
16729         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16730         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       17985  +
        pub(crate) blob: ::std::option::Option<::std::string::String>,
16731  17986   
    }
16732  17987   
    impl Builder {
16733  17988   
        #[allow(missing_docs)] // documentation missing in model
16734         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16735         -
            self.foo = input;
       17989  +
        pub fn blob(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       17990  +
            self.blob = input;
16736  17991   
            self
16737  17992   
        }
16738         -
        #[allow(missing_docs)] // documentation missing in model
16739         -
        pub fn blob(
16740         -
            mut self,
16741         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
16742         -
        ) -> Self {
16743         -
            self.blob = input;
16744         -
            self
       17993  +
        /// Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
       17994  +
        pub fn build(self) -> crate::input::MalformedStringInput {
       17995  +
            self.build_enforcing_required_and_enum_traits()
       17996  +
        }
       17997  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MalformedStringInput {
       17998  +
            crate::input::MalformedStringInput { blob: self.blob }
       17999  +
        }
       18000  +
    }
       18001  +
}
       18002  +
/// See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       18003  +
pub(crate) mod malformed_timestamp_path_default_input_internal {
       18004  +
       18005  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18006  +
    /// Holds one variant for each of the ways the builder can fail.
       18007  +
    #[non_exhaustive]
       18008  +
    #[allow(clippy::enum_variant_names)]
       18009  +
    pub(crate) enum ConstraintViolation {
       18010  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
       18011  +
        MissingTimestamp,
       18012  +
    }
       18013  +
    impl ::std::fmt::Display for ConstraintViolation {
       18014  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18015  +
            match self {
       18016  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
       18017  +
            }
       18018  +
        }
       18019  +
    }
       18020  +
    impl ::std::error::Error for ConstraintViolation {}
       18021  +
    impl ConstraintViolation {
       18022  +
        pub(crate) fn as_validation_exception_field(
       18023  +
            self,
       18024  +
            path: ::std::string::String,
       18025  +
        ) -> crate::model::ValidationExceptionField {
       18026  +
            match self {
       18027  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18028  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18029  +
                                                path: path + "/timestamp",
       18030  +
                                            },
       18031  +
        }
16745  18032   
        }
16746         -
        /// Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
16747         -
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
16748         -
            self.build_enforcing_required_and_enum_traits()
       18033  +
    }
       18034  +
    impl ::std::convert::From<ConstraintViolation>
       18035  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18036  +
    {
       18037  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18038  +
            let first_validation_exception_field =
       18039  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18040  +
            let validation_exception = crate::error::ValidationException {
       18041  +
                message: format!(
       18042  +
                    "1 validation error detected. {}",
       18043  +
                    &first_validation_exception_field.message
       18044  +
                ),
       18045  +
                field_list: Some(vec![first_validation_exception_field]),
       18046  +
            };
       18047  +
            Self::ConstraintViolation(
       18048  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18049  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18050  +
                            )
16749  18051   
        }
16750         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpPayloadTraitsInput {
16751         -
            crate::input::HttpPayloadTraitsInput {
16752         -
                foo: self.foo,
16753         -
                blob: self.blob,
16754         -
            }
       18052  +
    }
       18053  +
    impl ::std::convert::From<Builder>
       18054  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathDefaultInput>
       18055  +
    {
       18056  +
        fn from(builder: Builder) -> Self {
       18057  +
            Self::Unconstrained(builder)
16755  18058   
        }
16756  18059   
    }
16757         -
}
16758         -
/// See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
16759         -
pub(crate) mod http_empty_prefix_headers_input_internal {
       18060  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
       18061  +
        type Error = ConstraintViolation;
16760  18062   
16761         -
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
16762         -
        fn from(builder: Builder) -> Self {
       18063  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16763  18064   
            builder.build()
16764  18065   
        }
16765  18066   
    }
16766         -
    /// A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       18067  +
    /// A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
16767  18068   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16768  18069   
    pub(crate) struct Builder {
16769         -
        pub(crate) prefix_headers: ::std::option::Option<
16770         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16771         -
        >,
16772         -
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
       18070  +
        pub(crate) timestamp:
       18071  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
16773  18072   
    }
16774  18073   
    impl Builder {
16775  18074   
        #[allow(missing_docs)] // documentation missing in model
16776         -
        pub(crate) fn set_prefix_headers(
16777         -
            mut self,
16778         -
            input: Option<
16779         -
                impl ::std::convert::Into<
16780         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16781         -
                >,
16782         -
            >,
16783         -
        ) -> Self {
16784         -
            self.prefix_headers = input.map(|v| v.into());
16785         -
            self
16786         -
        }
16787         -
        #[allow(missing_docs)] // documentation missing in model
16788         -
        pub(crate) fn set_specific_header(
       18075  +
        pub(crate) fn set_timestamp(
16789  18076   
            mut self,
16790         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       18077  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
16791  18078   
        ) -> Self {
16792         -
            self.specific_header = input.map(|v| v.into());
       18079  +
            self.timestamp = Some(input.into());
16793  18080   
            self
16794  18081   
        }
16795         -
        /// Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
16796         -
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       18082  +
        /// Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       18083  +
        ///
       18084  +
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if a [`ConstraintViolation`] occurs.
       18085  +
        ///
       18086  +
        pub fn build(
       18087  +
            self,
       18088  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
16797  18089   
            self.build_enforcing_all_constraints()
16798  18090   
        }
16799         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpEmptyPrefixHeadersInput {
16800         -
            crate::input::HttpEmptyPrefixHeadersInput {
16801         -
                prefix_headers: self.prefix_headers,
16802         -
                specific_header: self.specific_header,
16803         -
            }
       18091  +
        fn build_enforcing_all_constraints(
       18092  +
            self,
       18093  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
       18094  +
            Ok(crate::input::MalformedTimestampPathDefaultInput {
       18095  +
                timestamp: self
       18096  +
                    .timestamp
       18097  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18098  +
            })
16804  18099   
        }
16805  18100   
    }
16806  18101   
}
16807         -
/// See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
16808         -
pub mod http_empty_prefix_headers_input {
       18102  +
/// See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       18103  +
pub mod malformed_timestamp_path_default_input {
16809  18104   
16810         -
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
16811         -
        fn from(builder: Builder) -> Self {
       18105  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18106  +
    /// Holds one variant for each of the ways the builder can fail.
       18107  +
    #[allow(clippy::enum_variant_names)]
       18108  +
    pub enum ConstraintViolation {
       18109  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
       18110  +
        MissingTimestamp,
       18111  +
    }
       18112  +
    impl ::std::fmt::Display for ConstraintViolation {
       18113  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18114  +
            match self {
       18115  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
       18116  +
            }
       18117  +
        }
       18118  +
    }
       18119  +
    impl ::std::error::Error for ConstraintViolation {}
       18120  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
       18121  +
        type Error = ConstraintViolation;
       18122  +
       18123  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16812  18124   
            builder.build()
16813  18125   
        }
16814  18126   
    }
16815         -
    /// A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       18127  +
    /// A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
16816  18128   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16817  18129   
    pub struct Builder {
16818         -
        pub(crate) prefix_headers: ::std::option::Option<
16819         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16820         -
        >,
16821         -
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
       18130  +
        pub(crate) timestamp:
       18131  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
16822  18132   
    }
16823  18133   
    impl Builder {
16824  18134   
        #[allow(missing_docs)] // documentation missing in model
16825         -
        pub fn prefix_headers(
16826         -
            mut self,
16827         -
            input: ::std::option::Option<
16828         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16829         -
            >,
16830         -
        ) -> Self {
16831         -
            self.prefix_headers = input;
16832         -
            self
16833         -
        }
16834         -
        #[allow(missing_docs)] // documentation missing in model
16835         -
        pub fn specific_header(
       18135  +
        pub fn timestamp(
16836  18136   
            mut self,
16837         -
            input: ::std::option::Option<::std::string::String>,
       18137  +
            input: ::aws_smithy_http_server_python::types::DateTime,
16838  18138   
        ) -> Self {
16839         -
            self.specific_header = input;
       18139  +
            self.timestamp = Some(input);
16840  18140   
            self
16841  18141   
        }
16842         -
        /// Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
16843         -
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       18142  +
        /// Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
       18143  +
        ///
       18144  +
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if you do not provide a value for all non-`Option`al members.
       18145  +
        ///
       18146  +
        pub fn build(
       18147  +
            self,
       18148  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
16844  18149   
            self.build_enforcing_required_and_enum_traits()
16845  18150   
        }
16846  18151   
        fn build_enforcing_required_and_enum_traits(
16847  18152   
            self,
16848         -
        ) -> crate::input::HttpEmptyPrefixHeadersInput {
16849         -
            crate::input::HttpEmptyPrefixHeadersInput {
16850         -
                prefix_headers: self.prefix_headers,
16851         -
                specific_header: self.specific_header,
16852         -
            }
       18153  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
       18154  +
            Ok(crate::input::MalformedTimestampPathDefaultInput {
       18155  +
                timestamp: self
       18156  +
                    .timestamp
       18157  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18158  +
            })
16853  18159   
        }
16854  18160   
    }
16855  18161   
}
16856         -
/// See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
16857         -
pub(crate) mod http_prefix_headers_in_response_input_internal {
       18162  +
/// See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       18163  +
pub(crate) mod malformed_timestamp_path_http_date_input_internal {
16858  18164   
16859         -
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
16860         -
        fn from(builder: Builder) -> Self {
16861         -
            builder.build()
       18165  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18166  +
    /// Holds one variant for each of the ways the builder can fail.
       18167  +
    #[non_exhaustive]
       18168  +
    #[allow(clippy::enum_variant_names)]
       18169  +
    pub(crate) enum ConstraintViolation {
       18170  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
       18171  +
        MissingTimestamp,
       18172  +
    }
       18173  +
    impl ::std::fmt::Display for ConstraintViolation {
       18174  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18175  +
            match self {
       18176  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
       18177  +
            }
16862  18178   
        }
16863  18179   
    }
16864         -
    /// A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
16865         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16866         -
    pub(crate) struct Builder {}
16867         -
    impl Builder {
16868         -
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
16869         -
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
16870         -
            self.build_enforcing_all_constraints()
       18180  +
    impl ::std::error::Error for ConstraintViolation {}
       18181  +
    impl ConstraintViolation {
       18182  +
        pub(crate) fn as_validation_exception_field(
       18183  +
            self,
       18184  +
            path: ::std::string::String,
       18185  +
        ) -> crate::model::ValidationExceptionField {
       18186  +
            match self {
       18187  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18188  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18189  +
                                                path: path + "/timestamp",
       18190  +
                                            },
16871  18191   
        }
16872         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInResponseInput {
16873         -
            crate::input::HttpPrefixHeadersInResponseInput {}
16874  18192   
        }
16875  18193   
    }
16876         -
}
16877         -
/// See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
16878         -
pub mod http_prefix_headers_in_response_input {
16879         -
16880         -
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
16881         -
        fn from(builder: Builder) -> Self {
16882         -
            builder.build()
       18194  +
    impl ::std::convert::From<ConstraintViolation>
       18195  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18196  +
    {
       18197  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18198  +
            let first_validation_exception_field =
       18199  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18200  +
            let validation_exception = crate::error::ValidationException {
       18201  +
                message: format!(
       18202  +
                    "1 validation error detected. {}",
       18203  +
                    &first_validation_exception_field.message
       18204  +
                ),
       18205  +
                field_list: Some(vec![first_validation_exception_field]),
       18206  +
            };
       18207  +
            Self::ConstraintViolation(
       18208  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18209  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18210  +
                            )
16883  18211   
        }
16884  18212   
    }
16885         -
    /// A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
16886         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16887         -
    pub struct Builder {}
16888         -
    impl Builder {
16889         -
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
16890         -
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
16891         -
            self.build_enforcing_required_and_enum_traits()
16892         -
        }
16893         -
        fn build_enforcing_required_and_enum_traits(
16894         -
            self,
16895         -
        ) -> crate::input::HttpPrefixHeadersInResponseInput {
16896         -
            crate::input::HttpPrefixHeadersInResponseInput {}
       18213  +
    impl ::std::convert::From<Builder>
       18214  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathHttpDateInput>
       18215  +
    {
       18216  +
        fn from(builder: Builder) -> Self {
       18217  +
            Self::Unconstrained(builder)
16897  18218   
        }
16898  18219   
    }
16899         -
}
16900         -
/// See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
16901         -
pub(crate) mod http_prefix_headers_input_internal {
       18220  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
       18221  +
        type Error = ConstraintViolation;
16902  18222   
16903         -
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
16904         -
        fn from(builder: Builder) -> Self {
       18223  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16905  18224   
            builder.build()
16906  18225   
        }
16907  18226   
    }
16908         -
    /// A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       18227  +
    /// A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
16909  18228   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16910  18229   
    pub(crate) struct Builder {
16911         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16912         -
        pub(crate) foo_map: ::std::option::Option<
16913         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16914         -
        >,
       18230  +
        pub(crate) timestamp:
       18231  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
16915  18232   
    }
16916  18233   
    impl Builder {
16917  18234   
        #[allow(missing_docs)] // documentation missing in model
16918         -
        pub(crate) fn set_foo(
16919         -
            mut self,
16920         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
16921         -
        ) -> Self {
16922         -
            self.foo = input.map(|v| v.into());
16923         -
            self
16924         -
        }
16925         -
        #[allow(missing_docs)] // documentation missing in model
16926         -
        pub(crate) fn set_foo_map(
       18235  +
        pub(crate) fn set_timestamp(
16927  18236   
            mut self,
16928         -
            input: Option<
16929         -
                impl ::std::convert::Into<
16930         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16931         -
                >,
16932         -
            >,
       18237  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
16933  18238   
        ) -> Self {
16934         -
            self.foo_map = input.map(|v| v.into());
       18239  +
            self.timestamp = Some(input.into());
16935  18240   
            self
16936  18241   
        }
16937         -
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
16938         -
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
       18242  +
        /// Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       18243  +
        ///
       18244  +
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if a [`ConstraintViolation`] occurs.
       18245  +
        ///
       18246  +
        pub fn build(
       18247  +
            self,
       18248  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
       18249  +
        {
16939  18250   
            self.build_enforcing_all_constraints()
16940  18251   
        }
16941         -
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInput {
16942         -
            crate::input::HttpPrefixHeadersInput {
16943         -
                foo: self.foo,
16944         -
                foo_map: self.foo_map,
16945         -
            }
       18252  +
        fn build_enforcing_all_constraints(
       18253  +
            self,
       18254  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
       18255  +
        {
       18256  +
            Ok(crate::input::MalformedTimestampPathHttpDateInput {
       18257  +
                timestamp: self
       18258  +
                    .timestamp
       18259  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18260  +
            })
16946  18261   
        }
16947  18262   
    }
16948  18263   
}
16949         -
/// See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
16950         -
pub mod http_prefix_headers_input {
       18264  +
/// See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       18265  +
pub mod malformed_timestamp_path_http_date_input {
16951  18266   
16952         -
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
16953         -
        fn from(builder: Builder) -> Self {
16954         -
            builder.build()
16955         -
        }
16956         -
    }
16957         -
    /// A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
16958         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
16959         -
    pub struct Builder {
16960         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
16961         -
        pub(crate) foo_map: ::std::option::Option<
16962         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16963         -
        >,
       18267  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18268  +
    /// Holds one variant for each of the ways the builder can fail.
       18269  +
    #[allow(clippy::enum_variant_names)]
       18270  +
    pub enum ConstraintViolation {
       18271  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
       18272  +
        MissingTimestamp,
16964  18273   
    }
16965         -
    impl Builder {
16966         -
        #[allow(missing_docs)] // documentation missing in model
16967         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
16968         -
            self.foo = input;
16969         -
            self
16970         -
        }
16971         -
        #[allow(missing_docs)] // documentation missing in model
16972         -
        pub fn foo_map(
16973         -
            mut self,
16974         -
            input: ::std::option::Option<
16975         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
16976         -
            >,
16977         -
        ) -> Self {
16978         -
            self.foo_map = input;
16979         -
            self
16980         -
        }
16981         -
        /// Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
16982         -
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
16983         -
            self.build_enforcing_required_and_enum_traits()
16984         -
        }
16985         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::HttpPrefixHeadersInput {
16986         -
            crate::input::HttpPrefixHeadersInput {
16987         -
                foo: self.foo,
16988         -
                foo_map: self.foo_map,
       18274  +
    impl ::std::fmt::Display for ConstraintViolation {
       18275  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18276  +
            match self {
       18277  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
16989  18278   
            }
16990  18279   
        }
16991  18280   
    }
16992         -
}
16993         -
/// See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
16994         -
pub(crate) mod query_params_as_string_list_map_input_internal {
       18281  +
    impl ::std::error::Error for ConstraintViolation {}
       18282  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
       18283  +
        type Error = ConstraintViolation;
16995  18284   
16996         -
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
16997         -
        fn from(builder: Builder) -> Self {
       18285  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
16998  18286   
            builder.build()
16999  18287   
        }
17000  18288   
    }
17001         -
    /// A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       18289  +
    /// A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
17002  18290   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17003         -
    pub(crate) struct Builder {
17004         -
        pub(crate) qux: ::std::option::Option<::std::string::String>,
17005         -
        pub(crate) foo: ::std::option::Option<
17006         -
            ::std::collections::HashMap<
17007         -
                ::std::string::String,
17008         -
                ::std::vec::Vec<::std::string::String>,
17009         -
            >,
17010         -
        >,
       18291  +
    pub struct Builder {
       18292  +
        pub(crate) timestamp:
       18293  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17011  18294   
    }
17012  18295   
    impl Builder {
17013  18296   
        #[allow(missing_docs)] // documentation missing in model
17014         -
        pub(crate) fn set_qux(
17015         -
            mut self,
17016         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
17017         -
        ) -> Self {
17018         -
            self.qux = input.map(|v| v.into());
17019         -
            self
17020         -
        }
17021         -
        #[allow(missing_docs)] // documentation missing in model
17022         -
        pub(crate) fn set_foo(
       18297  +
        pub fn timestamp(
17023  18298   
            mut self,
17024         -
            input: Option<
17025         -
                impl ::std::convert::Into<
17026         -
                    ::std::collections::HashMap<
17027         -
                        ::std::string::String,
17028         -
                        ::std::vec::Vec<::std::string::String>,
17029         -
                    >,
17030         -
                >,
17031         -
            >,
       18299  +
            input: ::aws_smithy_http_server_python::types::DateTime,
17032  18300   
        ) -> Self {
17033         -
            self.foo = input.map(|v| v.into());
       18301  +
            self.timestamp = Some(input);
17034  18302   
            self
17035  18303   
        }
17036         -
        /// Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
17037         -
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
17038         -
            self.build_enforcing_all_constraints()
       18304  +
        /// Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
       18305  +
        ///
       18306  +
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if you do not provide a value for all non-`Option`al members.
       18307  +
        ///
       18308  +
        pub fn build(
       18309  +
            self,
       18310  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
       18311  +
        {
       18312  +
            self.build_enforcing_required_and_enum_traits()
17039  18313   
        }
17040         -
        fn build_enforcing_all_constraints(self) -> crate::input::QueryParamsAsStringListMapInput {
17041         -
            crate::input::QueryParamsAsStringListMapInput {
17042         -
                qux: self.qux,
17043         -
                foo: self.foo,
17044         -
            }
       18314  +
        fn build_enforcing_required_and_enum_traits(
       18315  +
            self,
       18316  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
       18317  +
        {
       18318  +
            Ok(crate::input::MalformedTimestampPathHttpDateInput {
       18319  +
                timestamp: self
       18320  +
                    .timestamp
       18321  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18322  +
            })
17045  18323   
        }
17046  18324   
    }
17047  18325   
}
17048         -
/// See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
17049         -
pub mod query_params_as_string_list_map_input {
       18326  +
/// See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       18327  +
pub(crate) mod malformed_timestamp_path_epoch_input_internal {
17050  18328   
17051         -
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
17052         -
        fn from(builder: Builder) -> Self {
17053         -
            builder.build()
17054         -
        }
       18329  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18330  +
    /// Holds one variant for each of the ways the builder can fail.
       18331  +
    #[non_exhaustive]
       18332  +
    #[allow(clippy::enum_variant_names)]
       18333  +
    pub(crate) enum ConstraintViolation {
       18334  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
       18335  +
        MissingTimestamp,
17055  18336   
    }
17056         -
    /// A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
17057         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17058         -
    pub struct Builder {
17059         -
        pub(crate) qux: ::std::option::Option<::std::string::String>,
17060         -
        pub(crate) foo: ::std::option::Option<
17061         -
            ::std::collections::HashMap<
17062         -
                ::std::string::String,
17063         -
                ::std::vec::Vec<::std::string::String>,
17064         -
            >,
17065         -
        >,
       18337  +
    impl ::std::fmt::Display for ConstraintViolation {
       18338  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18339  +
            match self {
       18340  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
       18341  +
            }
       18342  +
        }
17066  18343   
    }
17067         -
    impl Builder {
17068         -
        #[allow(missing_docs)] // documentation missing in model
17069         -
        pub fn qux(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17070         -
            self.qux = input;
17071         -
            self
       18344  +
    impl ::std::error::Error for ConstraintViolation {}
       18345  +
    impl ConstraintViolation {
       18346  +
        pub(crate) fn as_validation_exception_field(
       18347  +
            self,
       18348  +
            path: ::std::string::String,
       18349  +
        ) -> crate::model::ValidationExceptionField {
       18350  +
            match self {
       18351  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18352  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18353  +
                                                path: path + "/timestamp",
       18354  +
                                            },
17072  18355   
        }
17073         -
        #[allow(missing_docs)] // documentation missing in model
17074         -
        pub fn foo(
17075         -
            mut self,
17076         -
            input: ::std::option::Option<
17077         -
                ::std::collections::HashMap<
17078         -
                    ::std::string::String,
17079         -
                    ::std::vec::Vec<::std::string::String>,
17080         -
                >,
17081         -
            >,
17082         -
        ) -> Self {
17083         -
            self.foo = input;
17084         -
            self
17085  18356   
        }
17086         -
        /// Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
17087         -
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
17088         -
            self.build_enforcing_required_and_enum_traits()
       18357  +
    }
       18358  +
    impl ::std::convert::From<ConstraintViolation>
       18359  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18360  +
    {
       18361  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18362  +
            let first_validation_exception_field =
       18363  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18364  +
            let validation_exception = crate::error::ValidationException {
       18365  +
                message: format!(
       18366  +
                    "1 validation error detected. {}",
       18367  +
                    &first_validation_exception_field.message
       18368  +
                ),
       18369  +
                field_list: Some(vec![first_validation_exception_field]),
       18370  +
            };
       18371  +
            Self::ConstraintViolation(
       18372  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18373  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18374  +
                            )
17089  18375   
        }
17090         -
        fn build_enforcing_required_and_enum_traits(
17091         -
            self,
17092         -
        ) -> crate::input::QueryParamsAsStringListMapInput {
17093         -
            crate::input::QueryParamsAsStringListMapInput {
17094         -
                qux: self.qux,
17095         -
                foo: self.foo,
17096         -
            }
       18376  +
    }
       18377  +
    impl ::std::convert::From<Builder>
       18378  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathEpochInput>
       18379  +
    {
       18380  +
        fn from(builder: Builder) -> Self {
       18381  +
            Self::Unconstrained(builder)
17097  18382   
        }
17098  18383   
    }
17099         -
}
17100         -
/// See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
17101         -
pub(crate) mod query_precedence_input_internal {
       18384  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
       18385  +
        type Error = ConstraintViolation;
17102  18386   
17103         -
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
17104         -
        fn from(builder: Builder) -> Self {
       18387  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17105  18388   
            builder.build()
17106  18389   
        }
17107  18390   
    }
17108         -
    /// A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       18391  +
    /// A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
17109  18392   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17110  18393   
    pub(crate) struct Builder {
17111         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
17112         -
        pub(crate) baz: ::std::option::Option<
17113         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
17114         -
        >,
       18394  +
        pub(crate) timestamp:
       18395  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17115  18396   
    }
17116  18397   
    impl Builder {
17117  18398   
        #[allow(missing_docs)] // documentation missing in model
17118         -
        pub(crate) fn set_foo(
17119         -
            mut self,
17120         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
17121         -
        ) -> Self {
17122         -
            self.foo = input.map(|v| v.into());
17123         -
            self
17124         -
        }
17125         -
        #[allow(missing_docs)] // documentation missing in model
17126         -
        pub(crate) fn set_baz(
       18399  +
        pub(crate) fn set_timestamp(
17127  18400   
            mut self,
17128         -
            input: Option<
17129         -
                impl ::std::convert::Into<
17130         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
17131         -
                >,
17132         -
            >,
       18401  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
17133  18402   
        ) -> Self {
17134         -
            self.baz = input.map(|v| v.into());
       18403  +
            self.timestamp = Some(input.into());
17135  18404   
            self
17136  18405   
        }
17137         -
        /// Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
17138         -
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
       18406  +
        /// Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       18407  +
        ///
       18408  +
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if a [`ConstraintViolation`] occurs.
       18409  +
        ///
       18410  +
        pub fn build(
       18411  +
            self,
       18412  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
17139  18413   
            self.build_enforcing_all_constraints()
17140  18414   
        }
17141         -
        fn build_enforcing_all_constraints(self) -> crate::input::QueryPrecedenceInput {
17142         -
            crate::input::QueryPrecedenceInput {
17143         -
                foo: self.foo,
17144         -
                baz: self.baz,
17145         -
            }
       18415  +
        fn build_enforcing_all_constraints(
       18416  +
            self,
       18417  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
       18418  +
            Ok(crate::input::MalformedTimestampPathEpochInput {
       18419  +
                timestamp: self
       18420  +
                    .timestamp
       18421  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18422  +
            })
17146  18423   
        }
17147  18424   
    }
17148  18425   
}
17149         -
/// See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
17150         -
pub mod query_precedence_input {
       18426  +
/// See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       18427  +
pub mod malformed_timestamp_path_epoch_input {
17151  18428   
17152         -
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
17153         -
        fn from(builder: Builder) -> Self {
       18429  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18430  +
    /// Holds one variant for each of the ways the builder can fail.
       18431  +
    #[allow(clippy::enum_variant_names)]
       18432  +
    pub enum ConstraintViolation {
       18433  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
       18434  +
        MissingTimestamp,
       18435  +
    }
       18436  +
    impl ::std::fmt::Display for ConstraintViolation {
       18437  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18438  +
            match self {
       18439  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
       18440  +
            }
       18441  +
        }
       18442  +
    }
       18443  +
    impl ::std::error::Error for ConstraintViolation {}
       18444  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
       18445  +
        type Error = ConstraintViolation;
       18446  +
       18447  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17154  18448   
            builder.build()
17155  18449   
        }
17156  18450   
    }
17157         -
    /// A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       18451  +
    /// A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
17158  18452   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17159  18453   
    pub struct Builder {
17160         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
17161         -
        pub(crate) baz: ::std::option::Option<
17162         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
17163         -
        >,
       18454  +
        pub(crate) timestamp:
       18455  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17164  18456   
    }
17165  18457   
    impl Builder {
17166  18458   
        #[allow(missing_docs)] // documentation missing in model
17167         -
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17168         -
            self.foo = input;
17169         -
            self
17170         -
        }
17171         -
        #[allow(missing_docs)] // documentation missing in model
17172         -
        pub fn baz(
       18459  +
        pub fn timestamp(
17173  18460   
            mut self,
17174         -
            input: ::std::option::Option<
17175         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
17176         -
            >,
       18461  +
            input: ::aws_smithy_http_server_python::types::DateTime,
17177  18462   
        ) -> Self {
17178         -
            self.baz = input;
       18463  +
            self.timestamp = Some(input);
17179  18464   
            self
17180  18465   
        }
17181         -
        /// Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
17182         -
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
       18466  +
        /// Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
       18467  +
        ///
       18468  +
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if you do not provide a value for all non-`Option`al members.
       18469  +
        ///
       18470  +
        pub fn build(
       18471  +
            self,
       18472  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
17183  18473   
            self.build_enforcing_required_and_enum_traits()
17184  18474   
        }
17185         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::QueryPrecedenceInput {
17186         -
            crate::input::QueryPrecedenceInput {
17187         -
                foo: self.foo,
17188         -
                baz: self.baz,
17189         -
            }
       18475  +
        fn build_enforcing_required_and_enum_traits(
       18476  +
            self,
       18477  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
       18478  +
            Ok(crate::input::MalformedTimestampPathEpochInput {
       18479  +
                timestamp: self
       18480  +
                    .timestamp
       18481  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18482  +
            })
17190  18483   
        }
17191  18484   
    }
17192  18485   
}
17193         -
/// See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
17194         -
pub(crate) mod query_idempotency_token_auto_fill_input_internal {
       18486  +
/// See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       18487  +
pub(crate) mod malformed_timestamp_query_default_input_internal {
17195  18488   
17196         -
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
       18489  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18490  +
    /// Holds one variant for each of the ways the builder can fail.
       18491  +
    #[non_exhaustive]
       18492  +
    #[allow(clippy::enum_variant_names)]
       18493  +
    pub(crate) enum ConstraintViolation {
       18494  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
       18495  +
        MissingTimestamp,
       18496  +
    }
       18497  +
    impl ::std::fmt::Display for ConstraintViolation {
       18498  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18499  +
            match self {
       18500  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
       18501  +
            }
       18502  +
        }
       18503  +
    }
       18504  +
    impl ::std::error::Error for ConstraintViolation {}
       18505  +
    impl ConstraintViolation {
       18506  +
        pub(crate) fn as_validation_exception_field(
       18507  +
            self,
       18508  +
            path: ::std::string::String,
       18509  +
        ) -> crate::model::ValidationExceptionField {
       18510  +
            match self {
       18511  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18512  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18513  +
                                                path: path + "/timestamp",
       18514  +
                                            },
       18515  +
        }
       18516  +
        }
       18517  +
    }
       18518  +
    impl ::std::convert::From<ConstraintViolation>
       18519  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18520  +
    {
       18521  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18522  +
            let first_validation_exception_field =
       18523  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18524  +
            let validation_exception = crate::error::ValidationException {
       18525  +
                message: format!(
       18526  +
                    "1 validation error detected. {}",
       18527  +
                    &first_validation_exception_field.message
       18528  +
                ),
       18529  +
                field_list: Some(vec![first_validation_exception_field]),
       18530  +
            };
       18531  +
            Self::ConstraintViolation(
       18532  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18533  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18534  +
                            )
       18535  +
        }
       18536  +
    }
       18537  +
    impl ::std::convert::From<Builder>
       18538  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryDefaultInput>
       18539  +
    {
17197  18540   
        fn from(builder: Builder) -> Self {
       18541  +
            Self::Unconstrained(builder)
       18542  +
        }
       18543  +
    }
       18544  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
       18545  +
        type Error = ConstraintViolation;
       18546  +
       18547  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17198  18548   
            builder.build()
17199  18549   
        }
17200  18550   
    }
17201         -
    /// A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       18551  +
    /// A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
17202  18552   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17203  18553   
    pub(crate) struct Builder {
17204         -
        pub(crate) token: ::std::option::Option<::std::string::String>,
       18554  +
        pub(crate) timestamp:
       18555  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17205  18556   
    }
17206  18557   
    impl Builder {
17207  18558   
        #[allow(missing_docs)] // documentation missing in model
17208         -
        pub(crate) fn set_token(
       18559  +
        pub(crate) fn set_timestamp(
17209  18560   
            mut self,
17210         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       18561  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
17211  18562   
        ) -> Self {
17212         -
            self.token = input.map(|v| v.into());
       18563  +
            self.timestamp = Some(input.into());
17213  18564   
            self
17214  18565   
        }
17215         -
        /// Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
17216         -
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       18566  +
        /// Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       18567  +
        ///
       18568  +
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if a [`ConstraintViolation`] occurs.
       18569  +
        ///
       18570  +
        pub fn build(
       18571  +
            self,
       18572  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
       18573  +
        {
17217  18574   
            self.build_enforcing_all_constraints()
17218  18575   
        }
17219  18576   
        fn build_enforcing_all_constraints(
17220  18577   
            self,
17221         -
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
17222         -
            crate::input::QueryIdempotencyTokenAutoFillInput { token: self.token }
       18578  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
       18579  +
        {
       18580  +
            Ok(crate::input::MalformedTimestampQueryDefaultInput {
       18581  +
                timestamp: self
       18582  +
                    .timestamp
       18583  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18584  +
            })
17223  18585   
        }
17224  18586   
    }
17225  18587   
}
17226         -
/// See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
17227         -
pub mod query_idempotency_token_auto_fill_input {
       18588  +
/// See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       18589  +
pub mod malformed_timestamp_query_default_input {
17228  18590   
17229         -
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
17230         -
        fn from(builder: Builder) -> Self {
       18591  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18592  +
    /// Holds one variant for each of the ways the builder can fail.
       18593  +
    #[allow(clippy::enum_variant_names)]
       18594  +
    pub enum ConstraintViolation {
       18595  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
       18596  +
        MissingTimestamp,
       18597  +
    }
       18598  +
    impl ::std::fmt::Display for ConstraintViolation {
       18599  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18600  +
            match self {
       18601  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
       18602  +
            }
       18603  +
        }
       18604  +
    }
       18605  +
    impl ::std::error::Error for ConstraintViolation {}
       18606  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
       18607  +
        type Error = ConstraintViolation;
       18608  +
       18609  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17231  18610   
            builder.build()
17232  18611   
        }
17233  18612   
    }
17234         -
    /// A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       18613  +
    /// A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
17235  18614   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17236  18615   
    pub struct Builder {
17237         -
        pub(crate) token: ::std::option::Option<::std::string::String>,
       18616  +
        pub(crate) timestamp:
       18617  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17238  18618   
    }
17239  18619   
    impl Builder {
17240         -
        #[allow(missing_docs)] // documentation missing in model
17241         -
        pub fn token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17242         -
            self.token = input;
       18620  +
        #[allow(missing_docs)] // documentation missing in model
       18621  +
        pub fn timestamp(
       18622  +
            mut self,
       18623  +
            input: ::aws_smithy_http_server_python::types::DateTime,
       18624  +
        ) -> Self {
       18625  +
            self.timestamp = Some(input);
17243  18626   
            self
17244  18627   
        }
17245         -
        /// Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
17246         -
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       18628  +
        /// Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
       18629  +
        ///
       18630  +
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if you do not provide a value for all non-`Option`al members.
       18631  +
        ///
       18632  +
        pub fn build(
       18633  +
            self,
       18634  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
       18635  +
        {
17247  18636   
            self.build_enforcing_required_and_enum_traits()
17248  18637   
        }
17249  18638   
        fn build_enforcing_required_and_enum_traits(
17250  18639   
            self,
17251         -
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
17252         -
            crate::input::QueryIdempotencyTokenAutoFillInput { token: self.token }
       18640  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
       18641  +
        {
       18642  +
            Ok(crate::input::MalformedTimestampQueryDefaultInput {
       18643  +
                timestamp: self
       18644  +
                    .timestamp
       18645  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18646  +
            })
17253  18647   
        }
17254  18648   
    }
17255  18649   
}
17256         -
/// See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
17257         -
pub(crate) mod omits_serializing_empty_lists_input_internal {
       18650  +
/// See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       18651  +
pub(crate) mod malformed_timestamp_query_http_date_input_internal {
17258  18652   
17259  18653   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17260  18654   
    /// Holds one variant for each of the ways the builder can fail.
17261  18655   
    #[non_exhaustive]
17262  18656   
    #[allow(clippy::enum_variant_names)]
17263  18657   
    pub(crate) enum ConstraintViolation {
17264         -
        /// Constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`.
17265         -
        #[doc(hidden)]
17266         -
        QueryEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
       18658  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
       18659  +
        MissingTimestamp,
17267  18660   
    }
17268  18661   
    impl ::std::fmt::Display for ConstraintViolation {
17269  18662   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17270  18663   
            match self {
17271         -
                ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`"),
       18664  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
17272  18665   
            }
17273  18666   
        }
17274  18667   
    }
17275  18668   
    impl ::std::error::Error for ConstraintViolation {}
17276  18669   
    impl ConstraintViolation {
17277  18670   
        pub(crate) fn as_validation_exception_field(
17278  18671   
            self,
17279  18672   
            path: ::std::string::String,
17280  18673   
        ) -> crate::model::ValidationExceptionField {
17281  18674   
            match self {
17282         -
                ConstraintViolation::QueryEnumList(inner) => {
17283         -
                    inner.as_validation_exception_field(path + "/queryEnumList")
17284         -
                }
17285         -
            }
       18675  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18676  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18677  +
                                                path: path + "/timestamp",
       18678  +
                                            },
       18679  +
        }
17286  18680   
        }
17287  18681   
    }
17288  18682   
    impl ::std::convert::From<ConstraintViolation>
17289  18683   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17290  18684   
    {
17291  18685   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17292  18686   
            let first_validation_exception_field =
17293  18687   
                constraint_violation.as_validation_exception_field("".to_owned());
17294  18688   
            let validation_exception = crate::error::ValidationException {
17295  18689   
                message: format!(
17296  18690   
                    "1 validation error detected. {}",
17297  18691   
                    &first_validation_exception_field.message
17298  18692   
                ),
17299  18693   
                field_list: Some(vec![first_validation_exception_field]),
17300  18694   
            };
17301  18695   
            Self::ConstraintViolation(
17302  18696   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17303  18697   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17304  18698   
                            )
17305  18699   
        }
17306  18700   
    }
17307  18701   
    impl ::std::convert::From<Builder>
17308         -
        for crate::constrained::MaybeConstrained<crate::input::OmitsSerializingEmptyListsInput>
       18702  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryHttpDateInput>
17309  18703   
    {
17310  18704   
        fn from(builder: Builder) -> Self {
17311  18705   
            Self::Unconstrained(builder)
17312  18706   
        }
17313  18707   
    }
17314         -
    impl ::std::convert::TryFrom<Builder> for crate::input::OmitsSerializingEmptyListsInput {
       18708  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
17315  18709   
        type Error = ConstraintViolation;
17316  18710   
17317  18711   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17318  18712   
            builder.build()
17319  18713   
        }
17320  18714   
    }
17321         -
    /// A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       18715  +
    /// A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
17322  18716   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17323  18717   
    pub(crate) struct Builder {
17324         -
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
17325         -
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
17326         -
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
17327         -
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
17328         -
        pub(crate) query_timestamp_list: ::std::option::Option<
17329         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
17330         -
        >,
17331         -
        pub(crate) query_enum_list: ::std::option::Option<
17332         -
            crate::constrained::MaybeConstrained<
17333         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
17334         -
            >,
17335         -
        >,
17336         -
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       18718  +
        pub(crate) timestamp:
       18719  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17337  18720   
    }
17338  18721   
    impl Builder {
17339  18722   
        #[allow(missing_docs)] // documentation missing in model
17340         -
        pub(crate) fn set_query_string_list(
17341         -
            mut self,
17342         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
17343         -
        ) -> Self {
17344         -
            self.query_string_list = input.map(|v| v.into());
17345         -
            self
17346         -
        }
17347         -
        #[allow(missing_docs)] // documentation missing in model
17348         -
        pub(crate) fn set_query_integer_list(
17349         -
            mut self,
17350         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
17351         -
        ) -> Self {
17352         -
            self.query_integer_list = input.map(|v| v.into());
17353         -
            self
17354         -
        }
17355         -
        #[allow(missing_docs)] // documentation missing in model
17356         -
        pub(crate) fn set_query_double_list(
17357         -
            mut self,
17358         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
17359         -
        ) -> Self {
17360         -
            self.query_double_list = input.map(|v| v.into());
17361         -
            self
17362         -
        }
17363         -
        #[allow(missing_docs)] // documentation missing in model
17364         -
        pub(crate) fn set_query_boolean_list(
17365         -
            mut self,
17366         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
17367         -
        ) -> Self {
17368         -
            self.query_boolean_list = input.map(|v| v.into());
17369         -
            self
17370         -
        }
17371         -
        #[allow(missing_docs)] // documentation missing in model
17372         -
        pub(crate) fn set_query_timestamp_list(
17373         -
            mut self,
17374         -
            input: Option<
17375         -
                impl ::std::convert::Into<
17376         -
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
17377         -
                >,
17378         -
            >,
17379         -
        ) -> Self {
17380         -
            self.query_timestamp_list = input.map(|v| v.into());
17381         -
            self
17382         -
        }
17383         -
        #[allow(missing_docs)] // documentation missing in model
17384         -
        pub(crate) fn set_query_enum_list(
17385         -
            mut self,
17386         -
            input: Option<
17387         -
                impl ::std::convert::Into<
17388         -
                    crate::constrained::MaybeConstrained<
17389         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
17390         -
                    >,
17391         -
                >,
17392         -
            >,
17393         -
        ) -> Self {
17394         -
            self.query_enum_list = input.map(|v| v.into());
17395         -
            self
17396         -
        }
17397         -
        #[allow(missing_docs)] // documentation missing in model
17398         -
        pub(crate) fn set_query_integer_enum_list(
       18723  +
        pub(crate) fn set_timestamp(
17399  18724   
            mut self,
17400         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       18725  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
17401  18726   
        ) -> Self {
17402         -
            self.query_integer_enum_list = input.map(|v| v.into());
       18727  +
            self.timestamp = Some(input.into());
17403  18728   
            self
17404  18729   
        }
17405         -
        /// Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       18730  +
        /// Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
17406  18731   
        ///
17407         -
        /// The builder fails to construct a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput) if a [`ConstraintViolation`] occurs.
       18732  +
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if a [`ConstraintViolation`] occurs.
17408  18733   
        ///
17409  18734   
        pub fn build(
17410  18735   
            self,
17411         -
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
       18736  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
       18737  +
        {
17412  18738   
            self.build_enforcing_all_constraints()
17413  18739   
        }
17414  18740   
        fn build_enforcing_all_constraints(
17415  18741   
            self,
17416         -
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
17417         -
            Ok(crate::input::OmitsSerializingEmptyListsInput {
17418         -
                query_string_list: self.query_string_list,
17419         -
                query_integer_list: self.query_integer_list,
17420         -
                query_double_list: self.query_double_list,
17421         -
                query_boolean_list: self.query_boolean_list,
17422         -
                query_timestamp_list: self.query_timestamp_list,
17423         -
                query_enum_list: self
17424         -
                    .query_enum_list
17425         -
                    .map(|v| match v {
17426         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
17427         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
17428         -
                    })
17429         -
                    .map(|res| {
17430         -
                        res.map(|v| v.into())
17431         -
                            .map_err(ConstraintViolation::QueryEnumList)
17432         -
                    })
17433         -
                    .transpose()?,
17434         -
                query_integer_enum_list: self.query_integer_enum_list,
       18742  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
       18743  +
        {
       18744  +
            Ok(crate::input::MalformedTimestampQueryHttpDateInput {
       18745  +
                timestamp: self
       18746  +
                    .timestamp
       18747  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
17435  18748   
            })
17436  18749   
        }
17437  18750   
    }
17438  18751   
}
17439         -
/// See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
17440         -
pub mod omits_serializing_empty_lists_input {
       18752  +
/// See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       18753  +
pub mod malformed_timestamp_query_http_date_input {
17441  18754   
17442         -
    impl ::std::convert::From<Builder> for crate::input::OmitsSerializingEmptyListsInput {
17443         -
        fn from(builder: Builder) -> Self {
       18755  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18756  +
    /// Holds one variant for each of the ways the builder can fail.
       18757  +
    #[allow(clippy::enum_variant_names)]
       18758  +
    pub enum ConstraintViolation {
       18759  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
       18760  +
        MissingTimestamp,
       18761  +
    }
       18762  +
    impl ::std::fmt::Display for ConstraintViolation {
       18763  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18764  +
            match self {
       18765  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
       18766  +
            }
       18767  +
        }
       18768  +
    }
       18769  +
    impl ::std::error::Error for ConstraintViolation {}
       18770  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
       18771  +
        type Error = ConstraintViolation;
       18772  +
       18773  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17444  18774   
            builder.build()
17445  18775   
        }
17446  18776   
    }
17447         -
    /// A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       18777  +
    /// A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
17448  18778   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17449  18779   
    pub struct Builder {
17450         -
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
17451         -
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
17452         -
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
17453         -
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
17454         -
        pub(crate) query_timestamp_list: ::std::option::Option<
17455         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
17456         -
        >,
17457         -
        pub(crate) query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
17458         -
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       18780  +
        pub(crate) timestamp:
       18781  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17459  18782   
    }
17460  18783   
    impl Builder {
17461  18784   
        #[allow(missing_docs)] // documentation missing in model
17462         -
        pub fn query_string_list(
17463         -
            mut self,
17464         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
17465         -
        ) -> Self {
17466         -
            self.query_string_list = input;
17467         -
            self
17468         -
        }
17469         -
        #[allow(missing_docs)] // documentation missing in model
17470         -
        pub fn query_integer_list(
17471         -
            mut self,
17472         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
17473         -
        ) -> Self {
17474         -
            self.query_integer_list = input;
17475         -
            self
17476         -
        }
17477         -
        #[allow(missing_docs)] // documentation missing in model
17478         -
        pub fn query_double_list(
17479         -
            mut self,
17480         -
            input: ::std::option::Option<::std::vec::Vec<f64>>,
17481         -
        ) -> Self {
17482         -
            self.query_double_list = input;
17483         -
            self
17484         -
        }
17485         -
        #[allow(missing_docs)] // documentation missing in model
17486         -
        pub fn query_boolean_list(
17487         -
            mut self,
17488         -
            input: ::std::option::Option<::std::vec::Vec<bool>>,
17489         -
        ) -> Self {
17490         -
            self.query_boolean_list = input;
17491         -
            self
17492         -
        }
17493         -
        #[allow(missing_docs)] // documentation missing in model
17494         -
        pub fn query_timestamp_list(
17495         -
            mut self,
17496         -
            input: ::std::option::Option<
17497         -
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
17498         -
            >,
17499         -
        ) -> Self {
17500         -
            self.query_timestamp_list = input;
17501         -
            self
17502         -
        }
17503         -
        #[allow(missing_docs)] // documentation missing in model
17504         -
        pub fn query_enum_list(
17505         -
            mut self,
17506         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
17507         -
        ) -> Self {
17508         -
            self.query_enum_list = input;
17509         -
            self
17510         -
        }
17511         -
        #[allow(missing_docs)] // documentation missing in model
17512         -
        pub fn query_integer_enum_list(
       18785  +
        pub fn timestamp(
17513  18786   
            mut self,
17514         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       18787  +
            input: ::aws_smithy_http_server_python::types::DateTime,
17515  18788   
        ) -> Self {
17516         -
            self.query_integer_enum_list = input;
       18789  +
            self.timestamp = Some(input);
17517  18790   
            self
17518  18791   
        }
17519         -
        /// Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
17520         -
        pub fn build(self) -> crate::input::OmitsSerializingEmptyListsInput {
       18792  +
        /// Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
       18793  +
        ///
       18794  +
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if you do not provide a value for all non-`Option`al members.
       18795  +
        ///
       18796  +
        pub fn build(
       18797  +
            self,
       18798  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
       18799  +
        {
17521  18800   
            self.build_enforcing_required_and_enum_traits()
17522  18801   
        }
17523  18802   
        fn build_enforcing_required_and_enum_traits(
17524  18803   
            self,
17525         -
        ) -> crate::input::OmitsSerializingEmptyListsInput {
17526         -
            crate::input::OmitsSerializingEmptyListsInput {
17527         -
                query_string_list: self.query_string_list,
17528         -
                query_integer_list: self.query_integer_list,
17529         -
                query_double_list: self.query_double_list,
17530         -
                query_boolean_list: self.query_boolean_list,
17531         -
                query_timestamp_list: self.query_timestamp_list,
17532         -
                query_enum_list: self.query_enum_list,
17533         -
                query_integer_enum_list: self.query_integer_enum_list,
17534         -
            }
       18804  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
       18805  +
        {
       18806  +
            Ok(crate::input::MalformedTimestampQueryHttpDateInput {
       18807  +
                timestamp: self
       18808  +
                    .timestamp
       18809  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18810  +
            })
17535  18811   
        }
17536  18812   
    }
17537  18813   
}
17538         -
/// See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
17539         -
pub(crate) mod omits_null_serializes_empty_string_input_internal {
       18814  +
/// See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       18815  +
pub(crate) mod malformed_timestamp_query_epoch_input_internal {
17540  18816   
17541         -
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
       18817  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18818  +
    /// Holds one variant for each of the ways the builder can fail.
       18819  +
    #[non_exhaustive]
       18820  +
    #[allow(clippy::enum_variant_names)]
       18821  +
    pub(crate) enum ConstraintViolation {
       18822  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
       18823  +
        MissingTimestamp,
       18824  +
    }
       18825  +
    impl ::std::fmt::Display for ConstraintViolation {
       18826  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18827  +
            match self {
       18828  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
       18829  +
            }
       18830  +
        }
       18831  +
    }
       18832  +
    impl ::std::error::Error for ConstraintViolation {}
       18833  +
    impl ConstraintViolation {
       18834  +
        pub(crate) fn as_validation_exception_field(
       18835  +
            self,
       18836  +
            path: ::std::string::String,
       18837  +
        ) -> crate::model::ValidationExceptionField {
       18838  +
            match self {
       18839  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18840  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18841  +
                                                path: path + "/timestamp",
       18842  +
                                            },
       18843  +
        }
       18844  +
        }
       18845  +
    }
       18846  +
    impl ::std::convert::From<ConstraintViolation>
       18847  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18848  +
    {
       18849  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18850  +
            let first_validation_exception_field =
       18851  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18852  +
            let validation_exception = crate::error::ValidationException {
       18853  +
                message: format!(
       18854  +
                    "1 validation error detected. {}",
       18855  +
                    &first_validation_exception_field.message
       18856  +
                ),
       18857  +
                field_list: Some(vec![first_validation_exception_field]),
       18858  +
            };
       18859  +
            Self::ConstraintViolation(
       18860  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18861  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18862  +
                            )
       18863  +
        }
       18864  +
    }
       18865  +
    impl ::std::convert::From<Builder>
       18866  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryEpochInput>
       18867  +
    {
17542  18868   
        fn from(builder: Builder) -> Self {
       18869  +
            Self::Unconstrained(builder)
       18870  +
        }
       18871  +
    }
       18872  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
       18873  +
        type Error = ConstraintViolation;
       18874  +
       18875  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17543  18876   
            builder.build()
17544  18877   
        }
17545  18878   
    }
17546         -
    /// A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       18879  +
    /// A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
17547  18880   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17548  18881   
    pub(crate) struct Builder {
17549         -
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
17550         -
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
       18882  +
        pub(crate) timestamp:
       18883  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17551  18884   
    }
17552  18885   
    impl Builder {
17553  18886   
        #[allow(missing_docs)] // documentation missing in model
17554         -
        pub(crate) fn set_null_value(
17555         -
            mut self,
17556         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
17557         -
        ) -> Self {
17558         -
            self.null_value = input.map(|v| v.into());
17559         -
            self
17560         -
        }
17561         -
        #[allow(missing_docs)] // documentation missing in model
17562         -
        pub(crate) fn set_empty_string(
       18887  +
        pub(crate) fn set_timestamp(
17563  18888   
            mut self,
17564         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       18889  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
17565  18890   
        ) -> Self {
17566         -
            self.empty_string = input.map(|v| v.into());
       18891  +
            self.timestamp = Some(input.into());
17567  18892   
            self
17568  18893   
        }
17569         -
        /// Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
17570         -
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
       18894  +
        /// Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       18895  +
        ///
       18896  +
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if a [`ConstraintViolation`] occurs.
       18897  +
        ///
       18898  +
        pub fn build(
       18899  +
            self,
       18900  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
17571  18901   
            self.build_enforcing_all_constraints()
17572  18902   
        }
17573  18903   
        fn build_enforcing_all_constraints(
17574  18904   
            self,
17575         -
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
17576         -
            crate::input::OmitsNullSerializesEmptyStringInput {
17577         -
                null_value: self.null_value,
17578         -
                empty_string: self.empty_string,
17579         -
            }
       18905  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
       18906  +
            Ok(crate::input::MalformedTimestampQueryEpochInput {
       18907  +
                timestamp: self
       18908  +
                    .timestamp
       18909  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18910  +
            })
17580  18911   
        }
17581  18912   
    }
17582  18913   
}
17583         -
/// See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
17584         -
pub mod omits_null_serializes_empty_string_input {
       18914  +
/// See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       18915  +
pub mod malformed_timestamp_query_epoch_input {
17585  18916   
17586         -
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
17587         -
        fn from(builder: Builder) -> Self {
       18917  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18918  +
    /// Holds one variant for each of the ways the builder can fail.
       18919  +
    #[allow(clippy::enum_variant_names)]
       18920  +
    pub enum ConstraintViolation {
       18921  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
       18922  +
        MissingTimestamp,
       18923  +
    }
       18924  +
    impl ::std::fmt::Display for ConstraintViolation {
       18925  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18926  +
            match self {
       18927  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
       18928  +
            }
       18929  +
        }
       18930  +
    }
       18931  +
    impl ::std::error::Error for ConstraintViolation {}
       18932  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
       18933  +
        type Error = ConstraintViolation;
       18934  +
       18935  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17588  18936   
            builder.build()
17589  18937   
        }
17590  18938   
    }
17591         -
    /// A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       18939  +
    /// A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
17592  18940   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17593  18941   
    pub struct Builder {
17594         -
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
17595         -
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
       18942  +
        pub(crate) timestamp:
       18943  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17596  18944   
    }
17597  18945   
    impl Builder {
17598  18946   
        #[allow(missing_docs)] // documentation missing in model
17599         -
        pub fn null_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17600         -
            self.null_value = input;
17601         -
            self
17602         -
        }
17603         -
        #[allow(missing_docs)] // documentation missing in model
17604         -
        pub fn empty_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17605         -
            self.empty_string = input;
       18947  +
        pub fn timestamp(
       18948  +
            mut self,
       18949  +
            input: ::aws_smithy_http_server_python::types::DateTime,
       18950  +
        ) -> Self {
       18951  +
            self.timestamp = Some(input);
17606  18952   
            self
17607  18953   
        }
17608         -
        /// Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
17609         -
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
       18954  +
        /// Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
       18955  +
        ///
       18956  +
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if you do not provide a value for all non-`Option`al members.
       18957  +
        ///
       18958  +
        pub fn build(
       18959  +
            self,
       18960  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
17610  18961   
            self.build_enforcing_required_and_enum_traits()
17611  18962   
        }
17612  18963   
        fn build_enforcing_required_and_enum_traits(
17613  18964   
            self,
17614         -
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
17615         -
            crate::input::OmitsNullSerializesEmptyStringInput {
17616         -
                null_value: self.null_value,
17617         -
                empty_string: self.empty_string,
17618         -
            }
       18965  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
       18966  +
            Ok(crate::input::MalformedTimestampQueryEpochInput {
       18967  +
                timestamp: self
       18968  +
                    .timestamp
       18969  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       18970  +
            })
17619  18971   
        }
17620  18972   
    }
17621  18973   
}
17622         -
/// See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
17623         -
pub(crate) mod ignore_query_params_in_response_input_internal {
       18974  +
/// See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       18975  +
pub(crate) mod malformed_timestamp_header_default_input_internal {
17624  18976   
17625         -
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
17626         -
        fn from(builder: Builder) -> Self {
17627         -
            builder.build()
       18977  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18978  +
    /// Holds one variant for each of the ways the builder can fail.
       18979  +
    #[non_exhaustive]
       18980  +
    #[allow(clippy::enum_variant_names)]
       18981  +
    pub(crate) enum ConstraintViolation {
       18982  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
       18983  +
        MissingTimestamp,
       18984  +
    }
       18985  +
    impl ::std::fmt::Display for ConstraintViolation {
       18986  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18987  +
            match self {
       18988  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
       18989  +
            }
17628  18990   
        }
17629  18991   
    }
17630         -
    /// A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
17631         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17632         -
    pub(crate) struct Builder {}
17633         -
    impl Builder {
17634         -
        /// Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
17635         -
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
17636         -
            self.build_enforcing_all_constraints()
       18992  +
    impl ::std::error::Error for ConstraintViolation {}
       18993  +
    impl ConstraintViolation {
       18994  +
        pub(crate) fn as_validation_exception_field(
       18995  +
            self,
       18996  +
            path: ::std::string::String,
       18997  +
        ) -> crate::model::ValidationExceptionField {
       18998  +
            match self {
       18999  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       19000  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       19001  +
                                                path: path + "/timestamp",
       19002  +
                                            },
17637  19003   
        }
17638         -
        fn build_enforcing_all_constraints(self) -> crate::input::IgnoreQueryParamsInResponseInput {
17639         -
            crate::input::IgnoreQueryParamsInResponseInput {}
17640  19004   
        }
17641  19005   
    }
17642         -
}
17643         -
/// See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
17644         -
pub mod ignore_query_params_in_response_input {
17645         -
17646         -
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
17647         -
        fn from(builder: Builder) -> Self {
17648         -
            builder.build()
       19006  +
    impl ::std::convert::From<ConstraintViolation>
       19007  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       19008  +
    {
       19009  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       19010  +
            let first_validation_exception_field =
       19011  +
                constraint_violation.as_validation_exception_field("".to_owned());
       19012  +
            let validation_exception = crate::error::ValidationException {
       19013  +
                message: format!(
       19014  +
                    "1 validation error detected. {}",
       19015  +
                    &first_validation_exception_field.message
       19016  +
                ),
       19017  +
                field_list: Some(vec![first_validation_exception_field]),
       19018  +
            };
       19019  +
            Self::ConstraintViolation(
       19020  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       19021  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       19022  +
                            )
17649  19023   
        }
17650  19024   
    }
17651         -
    /// A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
17652         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17653         -
    pub struct Builder {}
17654         -
    impl Builder {
17655         -
        /// Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
17656         -
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
17657         -
            self.build_enforcing_required_and_enum_traits()
17658         -
        }
17659         -
        fn build_enforcing_required_and_enum_traits(
17660         -
            self,
17661         -
        ) -> crate::input::IgnoreQueryParamsInResponseInput {
17662         -
            crate::input::IgnoreQueryParamsInResponseInput {}
       19025  +
    impl ::std::convert::From<Builder>
       19026  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderDefaultInput>
       19027  +
    {
       19028  +
        fn from(builder: Builder) -> Self {
       19029  +
            Self::Unconstrained(builder)
17663  19030   
        }
17664  19031   
    }
17665         -
}
17666         -
/// See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
17667         -
pub(crate) mod constant_and_variable_query_string_input_internal {
       19032  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
       19033  +
        type Error = ConstraintViolation;
17668  19034   
17669         -
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
17670         -
        fn from(builder: Builder) -> Self {
       19035  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17671  19036   
            builder.build()
17672  19037   
        }
17673  19038   
    }
17674         -
    /// A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       19039  +
    /// A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
17675  19040   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17676  19041   
    pub(crate) struct Builder {
17677         -
        pub(crate) baz: ::std::option::Option<::std::string::String>,
17678         -
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
       19042  +
        pub(crate) timestamp:
       19043  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17679  19044   
    }
17680  19045   
    impl Builder {
17681  19046   
        #[allow(missing_docs)] // documentation missing in model
17682         -
        pub(crate) fn set_baz(
17683         -
            mut self,
17684         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
17685         -
        ) -> Self {
17686         -
            self.baz = input.map(|v| v.into());
17687         -
            self
17688         -
        }
17689         -
        #[allow(missing_docs)] // documentation missing in model
17690         -
        pub(crate) fn set_maybe_set(
       19047  +
        pub(crate) fn set_timestamp(
17691  19048   
            mut self,
17692         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       19049  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
17693  19050   
        ) -> Self {
17694         -
            self.maybe_set = input.map(|v| v.into());
       19051  +
            self.timestamp = Some(input.into());
17695  19052   
            self
17696  19053   
        }
17697         -
        /// Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
17698         -
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
       19054  +
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       19055  +
        ///
       19056  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if a [`ConstraintViolation`] occurs.
       19057  +
        ///
       19058  +
        pub fn build(
       19059  +
            self,
       19060  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       19061  +
        {
17699  19062   
            self.build_enforcing_all_constraints()
17700  19063   
        }
17701  19064   
        fn build_enforcing_all_constraints(
17702  19065   
            self,
17703         -
        ) -> crate::input::ConstantAndVariableQueryStringInput {
17704         -
            crate::input::ConstantAndVariableQueryStringInput {
17705         -
                baz: self.baz,
17706         -
                maybe_set: self.maybe_set,
17707         -
            }
       19066  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       19067  +
        {
       19068  +
            Ok(crate::input::MalformedTimestampHeaderDefaultInput {
       19069  +
                timestamp: self
       19070  +
                    .timestamp
       19071  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19072  +
            })
17708  19073   
        }
17709  19074   
    }
17710  19075   
}
17711         -
/// See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
17712         -
pub mod constant_and_variable_query_string_input {
       19076  +
/// See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       19077  +
pub mod malformed_timestamp_header_default_input {
17713  19078   
17714         -
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
17715         -
        fn from(builder: Builder) -> Self {
       19079  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19080  +
    /// Holds one variant for each of the ways the builder can fail.
       19081  +
    #[allow(clippy::enum_variant_names)]
       19082  +
    pub enum ConstraintViolation {
       19083  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
       19084  +
        MissingTimestamp,
       19085  +
    }
       19086  +
    impl ::std::fmt::Display for ConstraintViolation {
       19087  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19088  +
            match self {
       19089  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
       19090  +
            }
       19091  +
        }
       19092  +
    }
       19093  +
    impl ::std::error::Error for ConstraintViolation {}
       19094  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
       19095  +
        type Error = ConstraintViolation;
       19096  +
       19097  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17716  19098   
            builder.build()
17717  19099   
        }
17718  19100   
    }
17719         -
    /// A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       19101  +
    /// A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
17720  19102   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17721  19103   
    pub struct Builder {
17722         -
        pub(crate) baz: ::std::option::Option<::std::string::String>,
17723         -
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
       19104  +
        pub(crate) timestamp:
       19105  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17724  19106   
    }
17725  19107   
    impl Builder {
17726  19108   
        #[allow(missing_docs)] // documentation missing in model
17727         -
        pub fn baz(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17728         -
            self.baz = input;
17729         -
            self
17730         -
        }
17731         -
        #[allow(missing_docs)] // documentation missing in model
17732         -
        pub fn maybe_set(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
17733         -
            self.maybe_set = input;
       19109  +
        pub fn timestamp(
       19110  +
            mut self,
       19111  +
            input: ::aws_smithy_http_server_python::types::DateTime,
       19112  +
        ) -> Self {
       19113  +
            self.timestamp = Some(input);
17734  19114   
            self
17735  19115   
        }
17736         -
        /// Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
17737         -
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
       19116  +
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
       19117  +
        ///
       19118  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if you do not provide a value for all non-`Option`al members.
       19119  +
        ///
       19120  +
        pub fn build(
       19121  +
            self,
       19122  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       19123  +
        {
17738  19124   
            self.build_enforcing_required_and_enum_traits()
17739  19125   
        }
17740  19126   
        fn build_enforcing_required_and_enum_traits(
17741  19127   
            self,
17742         -
        ) -> crate::input::ConstantAndVariableQueryStringInput {
17743         -
            crate::input::ConstantAndVariableQueryStringInput {
17744         -
                baz: self.baz,
17745         -
                maybe_set: self.maybe_set,
17746         -
            }
       19128  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
       19129  +
        {
       19130  +
            Ok(crate::input::MalformedTimestampHeaderDefaultInput {
       19131  +
                timestamp: self
       19132  +
                    .timestamp
       19133  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19134  +
            })
17747  19135   
        }
17748  19136   
    }
17749  19137   
}
17750         -
/// See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
17751         -
pub(crate) mod constant_query_string_input_internal {
       19138  +
/// See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
       19139  +
pub(crate) mod malformed_timestamp_header_date_time_input_internal {
17752  19140   
17753  19141   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17754  19142   
    /// Holds one variant for each of the ways the builder can fail.
17755  19143   
    #[non_exhaustive]
17756  19144   
    #[allow(clippy::enum_variant_names)]
17757  19145   
    pub(crate) enum ConstraintViolation {
17758         -
        /// `hello` was not provided but it is required when building `ConstantQueryStringInput`.
17759         -
        MissingHello,
       19146  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
       19147  +
        MissingTimestamp,
17760  19148   
    }
17761  19149   
    impl ::std::fmt::Display for ConstraintViolation {
17762  19150   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17763  19151   
            match self {
17764         -
                ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
       19152  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
17765  19153   
            }
17766  19154   
        }
17767  19155   
    }
17768  19156   
    impl ::std::error::Error for ConstraintViolation {}
17769  19157   
    impl ConstraintViolation {
17770  19158   
        pub(crate) fn as_validation_exception_field(
17771  19159   
            self,
17772  19160   
            path: ::std::string::String,
17773  19161   
        ) -> crate::model::ValidationExceptionField {
17774  19162   
            match self {
17775         -
                ConstraintViolation::MissingHello => crate::model::ValidationExceptionField {
17776         -
                    message: format!(
17777         -
                        "Value at '{}/hello' failed to satisfy constraint: Member must not be null",
17778         -
                        path
17779         -
                    ),
17780         -
                    path: path + "/hello",
17781         -
                },
17782         -
            }
       19163  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       19164  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       19165  +
                                                path: path + "/timestamp",
       19166  +
                                            },
       19167  +
        }
17783  19168   
        }
17784  19169   
    }
17785  19170   
    impl ::std::convert::From<ConstraintViolation>
17786  19171   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17787  19172   
    {
17788  19173   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17789  19174   
            let first_validation_exception_field =
17790  19175   
                constraint_violation.as_validation_exception_field("".to_owned());
17791  19176   
            let validation_exception = crate::error::ValidationException {
17792  19177   
                message: format!(
17793  19178   
                    "1 validation error detected. {}",
17794  19179   
                    &first_validation_exception_field.message
17795  19180   
                ),
17796  19181   
                field_list: Some(vec![first_validation_exception_field]),
17797  19182   
            };
17798  19183   
            Self::ConstraintViolation(
17799  19184   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17800  19185   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17801  19186   
                            )
17802  19187   
        }
17803  19188   
    }
17804  19189   
    impl ::std::convert::From<Builder>
17805         -
        for crate::constrained::MaybeConstrained<crate::input::ConstantQueryStringInput>
       19190  +
        for crate::constrained::MaybeConstrained<
       19191  +
            crate::input::MalformedTimestampHeaderDateTimeInput,
       19192  +
        >
17806  19193   
    {
17807  19194   
        fn from(builder: Builder) -> Self {
17808  19195   
            Self::Unconstrained(builder)
17809  19196   
        }
17810  19197   
    }
17811         -
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
       19198  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
17812  19199   
        type Error = ConstraintViolation;
17813  19200   
17814  19201   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17815  19202   
            builder.build()
17816  19203   
        }
17817  19204   
    }
17818         -
    /// A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       19205  +
    /// A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
17819  19206   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17820  19207   
    pub(crate) struct Builder {
17821         -
        pub(crate) hello: ::std::option::Option<::std::string::String>,
       19208  +
        pub(crate) timestamp:
       19209  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17822  19210   
    }
17823  19211   
    impl Builder {
17824  19212   
        #[allow(missing_docs)] // documentation missing in model
17825         -
        pub(crate) fn set_hello(
       19213  +
        pub(crate) fn set_timestamp(
17826  19214   
            mut self,
17827         -
            input: impl ::std::convert::Into<::std::string::String>,
       19215  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
17828  19216   
        ) -> Self {
17829         -
            self.hello = Some(input.into());
       19217  +
            self.timestamp = Some(input.into());
17830  19218   
            self
17831  19219   
        }
17832         -
        /// Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       19220  +
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
17833  19221   
        ///
17834         -
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if a [`ConstraintViolation`] occurs.
       19222  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if a [`ConstraintViolation`] occurs.
17835  19223   
        ///
17836         -
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       19224  +
        pub fn build(
       19225  +
            self,
       19226  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
       19227  +
        {
17837  19228   
            self.build_enforcing_all_constraints()
17838  19229   
        }
17839  19230   
        fn build_enforcing_all_constraints(
17840  19231   
            self,
17841         -
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
17842         -
            Ok(crate::input::ConstantQueryStringInput {
17843         -
                hello: self.hello.ok_or(ConstraintViolation::MissingHello)?,
       19232  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
       19233  +
        {
       19234  +
            Ok(crate::input::MalformedTimestampHeaderDateTimeInput {
       19235  +
                timestamp: self
       19236  +
                    .timestamp
       19237  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
17844  19238   
            })
17845  19239   
        }
17846  19240   
    }
17847  19241   
}
17848         -
/// See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
17849         -
pub mod constant_query_string_input {
       19242  +
/// See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
       19243  +
pub mod malformed_timestamp_header_date_time_input {
17850  19244   
17851  19245   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17852  19246   
    /// Holds one variant for each of the ways the builder can fail.
17853  19247   
    #[allow(clippy::enum_variant_names)]
17854  19248   
    pub enum ConstraintViolation {
17855         -
        /// `hello` was not provided but it is required when building `ConstantQueryStringInput`.
17856         -
        MissingHello,
       19249  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
       19250  +
        MissingTimestamp,
17857  19251   
    }
17858  19252   
    impl ::std::fmt::Display for ConstraintViolation {
17859  19253   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17860  19254   
            match self {
17861         -
                ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
       19255  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
17862  19256   
            }
17863  19257   
        }
17864  19258   
    }
17865  19259   
    impl ::std::error::Error for ConstraintViolation {}
17866         -
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
       19260  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
17867  19261   
        type Error = ConstraintViolation;
17868  19262   
17869  19263   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17870  19264   
            builder.build()
17871  19265   
        }
17872  19266   
    }
17873         -
    /// A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       19267  +
    /// A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
17874  19268   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17875  19269   
    pub struct Builder {
17876         -
        pub(crate) hello: ::std::option::Option<::std::string::String>,
       19270  +
        pub(crate) timestamp:
       19271  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
17877  19272   
    }
17878  19273   
    impl Builder {
17879  19274   
        #[allow(missing_docs)] // documentation missing in model
17880         -
        pub fn hello(mut self, input: ::std::string::String) -> Self {
17881         -
            self.hello = Some(input);
       19275  +
        pub fn timestamp(
       19276  +
            mut self,
       19277  +
            input: ::aws_smithy_http_server_python::types::DateTime,
       19278  +
        ) -> Self {
       19279  +
            self.timestamp = Some(input);
17882  19280   
            self
17883  19281   
        }
17884         -
        /// Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       19282  +
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
17885  19283   
        ///
17886         -
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if you do not provide a value for all non-`Option`al members.
       19284  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if you do not provide a value for all non-`Option`al members.
17887  19285   
        ///
17888         -
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       19286  +
        pub fn build(
       19287  +
            self,
       19288  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
       19289  +
        {
17889  19290   
            self.build_enforcing_required_and_enum_traits()
17890  19291   
        }
17891  19292   
        fn build_enforcing_required_and_enum_traits(
17892  19293   
            self,
17893         -
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
17894         -
            Ok(crate::input::ConstantQueryStringInput {
17895         -
                hello: self.hello.ok_or(ConstraintViolation::MissingHello)?,
       19294  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
       19295  +
        {
       19296  +
            Ok(crate::input::MalformedTimestampHeaderDateTimeInput {
       19297  +
                timestamp: self
       19298  +
                    .timestamp
       19299  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
17896  19300   
            })
17897  19301   
        }
17898  19302   
    }
17899  19303   
}
17900         -
/// See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
17901         -
pub(crate) mod all_query_string_types_input_internal {
       19304  +
/// See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
       19305  +
pub(crate) mod malformed_timestamp_header_epoch_input_internal {
17902  19306   
17903  19307   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17904  19308   
    /// Holds one variant for each of the ways the builder can fail.
17905  19309   
    #[non_exhaustive]
17906  19310   
    #[allow(clippy::enum_variant_names)]
17907  19311   
    pub(crate) enum ConstraintViolation {
17908         -
        /// Constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`.
17909         -
        #[doc(hidden)]
17910         -
        QueryStringSet(crate::model::string_set_internal::ConstraintViolation),
17911         -
        /// Constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`.
17912         -
        #[doc(hidden)]
17913         -
        QueryIntegerSet(crate::model::integer_set_internal::ConstraintViolation),
17914         -
        /// Constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`.
17915         -
        #[doc(hidden)]
17916         -
        QueryEnum(crate::model::foo_enum_internal::ConstraintViolation),
17917         -
        /// Constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`.
17918         -
        #[doc(hidden)]
17919         -
        QueryEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
       19312  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
       19313  +
        MissingTimestamp,
17920  19314   
    }
17921  19315   
    impl ::std::fmt::Display for ConstraintViolation {
17922  19316   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17923         -
            match self {
17924         -
                ConstraintViolation::QueryStringSet(_) => write!(f, "constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`"),
17925         -
                ConstraintViolation::QueryIntegerSet(_) => write!(f, "constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`"),
17926         -
                ConstraintViolation::QueryEnum(_) => write!(f, "constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`"),
17927         -
                ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`"),
       19317  +
            match self {
       19318  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
17928  19319   
            }
17929  19320   
        }
17930  19321   
    }
17931  19322   
    impl ::std::error::Error for ConstraintViolation {}
17932  19323   
    impl ConstraintViolation {
17933  19324   
        pub(crate) fn as_validation_exception_field(
17934  19325   
            self,
17935  19326   
            path: ::std::string::String,
17936  19327   
        ) -> crate::model::ValidationExceptionField {
17937  19328   
            match self {
17938         -
                ConstraintViolation::QueryStringSet(inner) => {
17939         -
                    inner.as_validation_exception_field(path + "/queryStringSet")
17940         -
                }
17941         -
                ConstraintViolation::QueryIntegerSet(inner) => {
17942         -
                    inner.as_validation_exception_field(path + "/queryIntegerSet")
17943         -
                }
17944         -
                ConstraintViolation::QueryEnum(inner) => {
17945         -
                    inner.as_validation_exception_field(path + "/queryEnum")
17946         -
                }
17947         -
                ConstraintViolation::QueryEnumList(inner) => {
17948         -
                    inner.as_validation_exception_field(path + "/queryEnumList")
17949         -
                }
17950         -
            }
       19329  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       19330  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       19331  +
                                                path: path + "/timestamp",
       19332  +
                                            },
       19333  +
        }
17951  19334   
        }
17952  19335   
    }
17953  19336   
    impl ::std::convert::From<ConstraintViolation>
17954  19337   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
17955  19338   
    {
17956  19339   
        fn from(constraint_violation: ConstraintViolation) -> Self {
17957  19340   
            let first_validation_exception_field =
17958  19341   
                constraint_violation.as_validation_exception_field("".to_owned());
17959  19342   
            let validation_exception = crate::error::ValidationException {
17960  19343   
                message: format!(
17961  19344   
                    "1 validation error detected. {}",
17962  19345   
                    &first_validation_exception_field.message
17963  19346   
                ),
17964  19347   
                field_list: Some(vec![first_validation_exception_field]),
17965  19348   
            };
17966  19349   
            Self::ConstraintViolation(
17967  19350   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
17968  19351   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
17969  19352   
                            )
17970  19353   
        }
17971  19354   
    }
17972  19355   
    impl ::std::convert::From<Builder>
17973         -
        for crate::constrained::MaybeConstrained<crate::input::AllQueryStringTypesInput>
       19356  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderEpochInput>
17974  19357   
    {
17975  19358   
        fn from(builder: Builder) -> Self {
17976  19359   
            Self::Unconstrained(builder)
17977  19360   
        }
17978  19361   
    }
17979         -
    impl ::std::convert::TryFrom<Builder> for crate::input::AllQueryStringTypesInput {
       19362  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
17980  19363   
        type Error = ConstraintViolation;
17981  19364   
17982  19365   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
17983  19366   
            builder.build()
17984  19367   
        }
17985  19368   
    }
17986         -
    /// A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       19369  +
    /// A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
17987  19370   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
17988  19371   
    pub(crate) struct Builder {
17989         -
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
17990         -
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
17991         -
        pub(crate) query_string_set:
17992         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
17993         -
        pub(crate) query_byte: ::std::option::Option<i8>,
17994         -
        pub(crate) query_short: ::std::option::Option<i16>,
17995         -
        pub(crate) query_integer: ::std::option::Option<i32>,
17996         -
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
17997         -
        pub(crate) query_integer_set:
17998         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::IntegerSet>>,
17999         -
        pub(crate) query_long: ::std::option::Option<i64>,
18000         -
        pub(crate) query_float: ::std::option::Option<f32>,
18001         -
        pub(crate) query_double: ::std::option::Option<f64>,
18002         -
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
18003         -
        pub(crate) query_boolean: ::std::option::Option<bool>,
18004         -
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
18005         -
        pub(crate) query_timestamp:
18006         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
18007         -
        pub(crate) query_timestamp_list: ::std::option::Option<
18008         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
18009         -
        >,
18010         -
        pub(crate) query_enum:
18011         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
18012         -
        pub(crate) query_enum_list: ::std::option::Option<
18013         -
            crate::constrained::MaybeConstrained<
18014         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
18015         -
            >,
18016         -
        >,
18017         -
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
18018         -
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
18019         -
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
18020         -
            ::std::collections::HashMap<
18021         -
                ::std::string::String,
18022         -
                ::std::vec::Vec<::std::string::String>,
18023         -
            >,
18024         -
        >,
18025         -
    }
18026         -
    impl Builder {
18027         -
        #[allow(missing_docs)] // documentation missing in model
18028         -
        pub(crate) fn set_query_string(
18029         -
            mut self,
18030         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18031         -
        ) -> Self {
18032         -
            self.query_string = input.map(|v| v.into());
18033         -
            self
18034         -
        }
18035         -
        #[allow(missing_docs)] // documentation missing in model
18036         -
        pub(crate) fn set_query_string_list(
18037         -
            mut self,
18038         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
18039         -
        ) -> Self {
18040         -
            self.query_string_list = input.map(|v| v.into());
18041         -
            self
18042         -
        }
18043         -
        #[allow(missing_docs)] // documentation missing in model
18044         -
        pub(crate) fn set_query_string_set(
18045         -
            mut self,
18046         -
            input: Option<
18047         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
18048         -
            >,
18049         -
        ) -> Self {
18050         -
            self.query_string_set = input.map(|v| v.into());
18051         -
            self
18052         -
        }
18053         -
        #[allow(missing_docs)] // documentation missing in model
18054         -
        pub(crate) fn set_query_byte(
18055         -
            mut self,
18056         -
            input: Option<impl ::std::convert::Into<i8>>,
18057         -
        ) -> Self {
18058         -
            self.query_byte = input.map(|v| v.into());
18059         -
            self
18060         -
        }
18061         -
        #[allow(missing_docs)] // documentation missing in model
18062         -
        pub(crate) fn set_query_short(
18063         -
            mut self,
18064         -
            input: Option<impl ::std::convert::Into<i16>>,
18065         -
        ) -> Self {
18066         -
            self.query_short = input.map(|v| v.into());
18067         -
            self
18068         -
        }
18069         -
        #[allow(missing_docs)] // documentation missing in model
18070         -
        pub(crate) fn set_query_integer(
18071         -
            mut self,
18072         -
            input: Option<impl ::std::convert::Into<i32>>,
18073         -
        ) -> Self {
18074         -
            self.query_integer = input.map(|v| v.into());
18075         -
            self
18076         -
        }
18077         -
        #[allow(missing_docs)] // documentation missing in model
18078         -
        pub(crate) fn set_query_integer_list(
18079         -
            mut self,
18080         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
18081         -
        ) -> Self {
18082         -
            self.query_integer_list = input.map(|v| v.into());
18083         -
            self
18084         -
        }
18085         -
        #[allow(missing_docs)] // documentation missing in model
18086         -
        pub(crate) fn set_query_integer_set(
18087         -
            mut self,
18088         -
            input: Option<
18089         -
                impl ::std::convert::Into<
18090         -
                    crate::constrained::MaybeConstrained<crate::model::IntegerSet>,
18091         -
                >,
18092         -
            >,
18093         -
        ) -> Self {
18094         -
            self.query_integer_set = input.map(|v| v.into());
18095         -
            self
18096         -
        }
18097         -
        #[allow(missing_docs)] // documentation missing in model
18098         -
        pub(crate) fn set_query_long(
18099         -
            mut self,
18100         -
            input: Option<impl ::std::convert::Into<i64>>,
18101         -
        ) -> Self {
18102         -
            self.query_long = input.map(|v| v.into());
18103         -
            self
18104         -
        }
18105         -
        #[allow(missing_docs)] // documentation missing in model
18106         -
        pub(crate) fn set_query_float(
18107         -
            mut self,
18108         -
            input: Option<impl ::std::convert::Into<f32>>,
18109         -
        ) -> Self {
18110         -
            self.query_float = input.map(|v| v.into());
18111         -
            self
18112         -
        }
18113         -
        #[allow(missing_docs)] // documentation missing in model
18114         -
        pub(crate) fn set_query_double(
18115         -
            mut self,
18116         -
            input: Option<impl ::std::convert::Into<f64>>,
18117         -
        ) -> Self {
18118         -
            self.query_double = input.map(|v| v.into());
18119         -
            self
18120         -
        }
18121         -
        #[allow(missing_docs)] // documentation missing in model
18122         -
        pub(crate) fn set_query_double_list(
18123         -
            mut self,
18124         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
18125         -
        ) -> Self {
18126         -
            self.query_double_list = input.map(|v| v.into());
18127         -
            self
18128         -
        }
18129         -
        #[allow(missing_docs)] // documentation missing in model
18130         -
        pub(crate) fn set_query_boolean(
18131         -
            mut self,
18132         -
            input: Option<impl ::std::convert::Into<bool>>,
18133         -
        ) -> Self {
18134         -
            self.query_boolean = input.map(|v| v.into());
18135         -
            self
18136         -
        }
18137         -
        #[allow(missing_docs)] // documentation missing in model
18138         -
        pub(crate) fn set_query_boolean_list(
18139         -
            mut self,
18140         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
18141         -
        ) -> Self {
18142         -
            self.query_boolean_list = input.map(|v| v.into());
18143         -
            self
18144         -
        }
18145         -
        #[allow(missing_docs)] // documentation missing in model
18146         -
        pub(crate) fn set_query_timestamp(
18147         -
            mut self,
18148         -
            input: Option<
18149         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
18150         -
            >,
18151         -
        ) -> Self {
18152         -
            self.query_timestamp = input.map(|v| v.into());
18153         -
            self
18154         -
        }
18155         -
        #[allow(missing_docs)] // documentation missing in model
18156         -
        pub(crate) fn set_query_timestamp_list(
18157         -
            mut self,
18158         -
            input: Option<
18159         -
                impl ::std::convert::Into<
18160         -
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
18161         -
                >,
18162         -
            >,
18163         -
        ) -> Self {
18164         -
            self.query_timestamp_list = input.map(|v| v.into());
18165         -
            self
18166         -
        }
18167         -
        #[allow(missing_docs)] // documentation missing in model
18168         -
        pub(crate) fn set_query_enum(
18169         -
            mut self,
18170         -
            input: Option<
18171         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
18172         -
            >,
18173         -
        ) -> Self {
18174         -
            self.query_enum = input.map(|v| v.into());
18175         -
            self
18176         -
        }
18177         -
        #[allow(missing_docs)] // documentation missing in model
18178         -
        pub(crate) fn set_query_enum_list(
18179         -
            mut self,
18180         -
            input: Option<
18181         -
                impl ::std::convert::Into<
18182         -
                    crate::constrained::MaybeConstrained<
18183         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
18184         -
                    >,
18185         -
                >,
18186         -
            >,
18187         -
        ) -> Self {
18188         -
            self.query_enum_list = input.map(|v| v.into());
18189         -
            self
18190         -
        }
18191         -
        #[allow(missing_docs)] // documentation missing in model
18192         -
        pub(crate) fn set_query_integer_enum(
18193         -
            mut self,
18194         -
            input: Option<impl ::std::convert::Into<i32>>,
18195         -
        ) -> Self {
18196         -
            self.query_integer_enum = input.map(|v| v.into());
18197         -
            self
18198         -
        }
18199         -
        #[allow(missing_docs)] // documentation missing in model
18200         -
        pub(crate) fn set_query_integer_enum_list(
18201         -
            mut self,
18202         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
18203         -
        ) -> Self {
18204         -
            self.query_integer_enum_list = input.map(|v| v.into());
18205         -
            self
18206         -
        }
18207         -
        #[allow(missing_docs)] // documentation missing in model
18208         -
        pub(crate) fn set_query_params_map_of_string_list(
18209         -
            mut self,
18210         -
            input: Option<
18211         -
                impl ::std::convert::Into<
18212         -
                    ::std::collections::HashMap<
18213         -
                        ::std::string::String,
18214         -
                        ::std::vec::Vec<::std::string::String>,
18215         -
                    >,
18216         -
                >,
18217         -
            >,
       19372  +
        pub(crate) timestamp:
       19373  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       19374  +
    }
       19375  +
    impl Builder {
       19376  +
        #[allow(missing_docs)] // documentation missing in model
       19377  +
        pub(crate) fn set_timestamp(
       19378  +
            mut self,
       19379  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
18218  19380   
        ) -> Self {
18219         -
            self.query_params_map_of_string_list = input.map(|v| v.into());
       19381  +
            self.timestamp = Some(input.into());
18220  19382   
            self
18221  19383   
        }
18222         -
        /// Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       19384  +
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
18223  19385   
        ///
18224         -
        /// The builder fails to construct a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput) if a [`ConstraintViolation`] occurs.
       19386  +
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if a [`ConstraintViolation`] occurs.
18225  19387   
        ///
18226         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
18227         -
        pub fn build(self) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       19388  +
        pub fn build(
       19389  +
            self,
       19390  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
18228  19391   
            self.build_enforcing_all_constraints()
18229  19392   
        }
18230  19393   
        fn build_enforcing_all_constraints(
18231  19394   
            self,
18232         -
        ) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
18233         -
            Ok(crate::input::AllQueryStringTypesInput {
18234         -
                query_string: self.query_string,
18235         -
                query_string_list: self.query_string_list,
18236         -
                query_string_set: self
18237         -
                    .query_string_set
18238         -
                    .map(|v| match v {
18239         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
18240         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
18241         -
                    })
18242         -
                    .map(|res| res.map_err(ConstraintViolation::QueryStringSet))
18243         -
                    .transpose()?
18244         -
                    .map(|v: crate::model::StringSet| v.into()),
18245         -
                query_byte: self.query_byte,
18246         -
                query_short: self.query_short,
18247         -
                query_integer: self.query_integer,
18248         -
                query_integer_list: self.query_integer_list,
18249         -
                query_integer_set: self
18250         -
                    .query_integer_set
18251         -
                    .map(|v| match v {
18252         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
18253         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
18254         -
                    })
18255         -
                    .map(|res| res.map_err(ConstraintViolation::QueryIntegerSet))
18256         -
                    .transpose()?
18257         -
                    .map(|v: crate::model::IntegerSet| v.into()),
18258         -
                query_long: self.query_long,
18259         -
                query_float: self.query_float,
18260         -
                query_double: self.query_double,
18261         -
                query_double_list: self.query_double_list,
18262         -
                query_boolean: self.query_boolean,
18263         -
                query_boolean_list: self.query_boolean_list,
18264         -
                query_timestamp: self.query_timestamp,
18265         -
                query_timestamp_list: self.query_timestamp_list,
18266         -
                query_enum: self
18267         -
                    .query_enum
18268         -
                    .map(|v| match v {
18269         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
18270         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
18271         -
                    })
18272         -
                    .map(|res| res.map_err(ConstraintViolation::QueryEnum))
18273         -
                    .transpose()?,
18274         -
                query_enum_list: self
18275         -
                    .query_enum_list
18276         -
                    .map(|v| match v {
18277         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
18278         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
18279         -
                    })
18280         -
                    .map(|res| {
18281         -
                        res.map(|v| v.into())
18282         -
                            .map_err(ConstraintViolation::QueryEnumList)
18283         -
                    })
18284         -
                    .transpose()?,
18285         -
                query_integer_enum: self.query_integer_enum,
18286         -
                query_integer_enum_list: self.query_integer_enum_list,
18287         -
                query_params_map_of_string_list: self.query_params_map_of_string_list,
       19395  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
       19396  +
            Ok(crate::input::MalformedTimestampHeaderEpochInput {
       19397  +
                timestamp: self
       19398  +
                    .timestamp
       19399  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
18288  19400   
            })
18289  19401   
        }
18290  19402   
    }
18291  19403   
}
18292         -
/// See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
18293         -
pub mod all_query_string_types_input {
       19404  +
/// See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
       19405  +
pub mod malformed_timestamp_header_epoch_input {
18294  19406   
18295         -
    impl ::std::convert::From<Builder> for crate::input::AllQueryStringTypesInput {
18296         -
        fn from(builder: Builder) -> Self {
       19407  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19408  +
    /// Holds one variant for each of the ways the builder can fail.
       19409  +
    #[allow(clippy::enum_variant_names)]
       19410  +
    pub enum ConstraintViolation {
       19411  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
       19412  +
        MissingTimestamp,
       19413  +
    }
       19414  +
    impl ::std::fmt::Display for ConstraintViolation {
       19415  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19416  +
            match self {
       19417  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
       19418  +
            }
       19419  +
        }
       19420  +
    }
       19421  +
    impl ::std::error::Error for ConstraintViolation {}
       19422  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
       19423  +
        type Error = ConstraintViolation;
       19424  +
       19425  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
18297  19426   
            builder.build()
18298  19427   
        }
18299  19428   
    }
18300         -
    /// A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       19429  +
    /// A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
18301  19430   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18302  19431   
    pub struct Builder {
18303         -
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
18304         -
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
18305         -
        pub(crate) query_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
18306         -
        pub(crate) query_byte: ::std::option::Option<i8>,
18307         -
        pub(crate) query_short: ::std::option::Option<i16>,
18308         -
        pub(crate) query_integer: ::std::option::Option<i32>,
18309         -
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
18310         -
        pub(crate) query_integer_set: ::std::option::Option<::std::vec::Vec<i32>>,
18311         -
        pub(crate) query_long: ::std::option::Option<i64>,
18312         -
        pub(crate) query_float: ::std::option::Option<f32>,
18313         -
        pub(crate) query_double: ::std::option::Option<f64>,
18314         -
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
18315         -
        pub(crate) query_boolean: ::std::option::Option<bool>,
18316         -
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
18317         -
        pub(crate) query_timestamp:
       19432  +
        pub(crate) timestamp:
18318  19433   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
18319         -
        pub(crate) query_timestamp_list: ::std::option::Option<
18320         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
18321         -
        >,
18322         -
        pub(crate) query_enum: ::std::option::Option<crate::model::FooEnum>,
18323         -
        pub(crate) query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
18324         -
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
18325         -
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
18326         -
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
18327         -
            ::std::collections::HashMap<
18328         -
                ::std::string::String,
18329         -
                ::std::vec::Vec<::std::string::String>,
18330         -
            >,
18331         -
        >,
18332  19434   
    }
18333  19435   
    impl Builder {
18334  19436   
        #[allow(missing_docs)] // documentation missing in model
18335         -
        pub fn query_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
18336         -
            self.query_string = input;
18337         -
            self
18338         -
        }
18339         -
        #[allow(missing_docs)] // documentation missing in model
18340         -
        pub fn query_string_list(
       19437  +
        pub fn timestamp(
18341  19438   
            mut self,
18342         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19439  +
            input: ::aws_smithy_http_server_python::types::DateTime,
18343  19440   
        ) -> Self {
18344         -
            self.query_string_list = input;
       19441  +
            self.timestamp = Some(input);
18345  19442   
            self
18346  19443   
        }
18347         -
        #[allow(missing_docs)] // documentation missing in model
18348         -
        pub fn query_string_set(
18349         -
            mut self,
18350         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
18351         -
        ) -> Self {
18352         -
            self.query_string_set = input;
18353         -
            self
       19444  +
        /// Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
       19445  +
        ///
       19446  +
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if you do not provide a value for all non-`Option`al members.
       19447  +
        ///
       19448  +
        pub fn build(
       19449  +
            self,
       19450  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
       19451  +
            self.build_enforcing_required_and_enum_traits()
18354  19452   
        }
18355         -
        #[allow(missing_docs)] // documentation missing in model
18356         -
        pub fn query_byte(mut self, input: ::std::option::Option<i8>) -> Self {
18357         -
            self.query_byte = input;
18358         -
            self
       19453  +
        fn build_enforcing_required_and_enum_traits(
       19454  +
            self,
       19455  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
       19456  +
            Ok(crate::input::MalformedTimestampHeaderEpochInput {
       19457  +
                timestamp: self
       19458  +
                    .timestamp
       19459  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19460  +
            })
18359  19461   
        }
18360         -
        #[allow(missing_docs)] // documentation missing in model
18361         -
        pub fn query_short(mut self, input: ::std::option::Option<i16>) -> Self {
18362         -
            self.query_short = input;
18363         -
            self
       19462  +
    }
       19463  +
}
       19464  +
/// See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       19465  +
pub(crate) mod malformed_timestamp_body_default_input_internal {
       19466  +
       19467  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19468  +
    /// Holds one variant for each of the ways the builder can fail.
       19469  +
    #[non_exhaustive]
       19470  +
    #[allow(clippy::enum_variant_names)]
       19471  +
    pub(crate) enum ConstraintViolation {
       19472  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
       19473  +
        MissingTimestamp,
       19474  +
    }
       19475  +
    impl ::std::fmt::Display for ConstraintViolation {
       19476  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19477  +
            match self {
       19478  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
       19479  +
            }
18364  19480   
        }
18365         -
        #[allow(missing_docs)] // documentation missing in model
18366         -
        pub fn query_integer(mut self, input: ::std::option::Option<i32>) -> Self {
18367         -
            self.query_integer = input;
18368         -
            self
       19481  +
    }
       19482  +
    impl ::std::error::Error for ConstraintViolation {}
       19483  +
    impl ConstraintViolation {
       19484  +
        pub(crate) fn as_validation_exception_field(
       19485  +
            self,
       19486  +
            path: ::std::string::String,
       19487  +
        ) -> crate::model::ValidationExceptionField {
       19488  +
            match self {
       19489  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       19490  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       19491  +
                                                path: path + "/timestamp",
       19492  +
                                            },
18369  19493   
        }
18370         -
        #[allow(missing_docs)] // documentation missing in model
18371         -
        pub fn query_integer_list(
18372         -
            mut self,
18373         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
18374         -
        ) -> Self {
18375         -
            self.query_integer_list = input;
18376         -
            self
18377  19494   
        }
       19495  +
    }
       19496  +
    impl ::std::convert::From<ConstraintViolation>
       19497  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       19498  +
    {
       19499  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       19500  +
            let first_validation_exception_field =
       19501  +
                constraint_violation.as_validation_exception_field("".to_owned());
       19502  +
            let validation_exception = crate::error::ValidationException {
       19503  +
                message: format!(
       19504  +
                    "1 validation error detected. {}",
       19505  +
                    &first_validation_exception_field.message
       19506  +
                ),
       19507  +
                field_list: Some(vec![first_validation_exception_field]),
       19508  +
            };
       19509  +
            Self::ConstraintViolation(
       19510  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       19511  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       19512  +
                            )
       19513  +
        }
       19514  +
    }
       19515  +
    impl ::std::convert::From<Builder>
       19516  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDefaultInput>
       19517  +
    {
       19518  +
        fn from(builder: Builder) -> Self {
       19519  +
            Self::Unconstrained(builder)
       19520  +
        }
       19521  +
    }
       19522  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
       19523  +
        type Error = ConstraintViolation;
       19524  +
       19525  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       19526  +
            builder.build()
       19527  +
        }
       19528  +
    }
       19529  +
    /// A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       19530  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19531  +
    pub(crate) struct Builder {
       19532  +
        pub(crate) timestamp:
       19533  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       19534  +
    }
       19535  +
    impl Builder {
18378  19536   
        #[allow(missing_docs)] // documentation missing in model
18379         -
        pub fn query_integer_set(
       19537  +
        pub(crate) fn set_timestamp(
18380  19538   
            mut self,
18381         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       19539  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
18382  19540   
        ) -> Self {
18383         -
            self.query_integer_set = input;
       19541  +
            self.timestamp = Some(input.into());
18384  19542   
            self
18385  19543   
        }
18386         -
        #[allow(missing_docs)] // documentation missing in model
18387         -
        pub fn query_long(mut self, input: ::std::option::Option<i64>) -> Self {
18388         -
            self.query_long = input;
18389         -
            self
       19544  +
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       19545  +
        ///
       19546  +
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if a [`ConstraintViolation`] occurs.
       19547  +
        ///
       19548  +
        pub fn build(
       19549  +
            self,
       19550  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
       19551  +
            self.build_enforcing_all_constraints()
18390  19552   
        }
18391         -
        #[allow(missing_docs)] // documentation missing in model
18392         -
        pub fn query_float(mut self, input: ::std::option::Option<f32>) -> Self {
18393         -
            self.query_float = input;
18394         -
            self
       19553  +
        fn build_enforcing_all_constraints(
       19554  +
            self,
       19555  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
       19556  +
            Ok(crate::input::MalformedTimestampBodyDefaultInput {
       19557  +
                timestamp: self
       19558  +
                    .timestamp
       19559  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19560  +
            })
18395  19561   
        }
18396         -
        #[allow(missing_docs)] // documentation missing in model
18397         -
        pub fn query_double(mut self, input: ::std::option::Option<f64>) -> Self {
18398         -
            self.query_double = input;
18399         -
            self
       19562  +
    }
       19563  +
}
       19564  +
/// See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       19565  +
pub mod malformed_timestamp_body_default_input {
       19566  +
       19567  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19568  +
    /// Holds one variant for each of the ways the builder can fail.
       19569  +
    #[allow(clippy::enum_variant_names)]
       19570  +
    pub enum ConstraintViolation {
       19571  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
       19572  +
        MissingTimestamp,
       19573  +
    }
       19574  +
    impl ::std::fmt::Display for ConstraintViolation {
       19575  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19576  +
            match self {
       19577  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
       19578  +
            }
       19579  +
        }
       19580  +
    }
       19581  +
    impl ::std::error::Error for ConstraintViolation {}
       19582  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
       19583  +
        type Error = ConstraintViolation;
       19584  +
       19585  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       19586  +
            builder.build()
18400  19587   
        }
       19588  +
    }
       19589  +
    /// A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       19590  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19591  +
    pub struct Builder {
       19592  +
        pub(crate) timestamp:
       19593  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       19594  +
    }
       19595  +
    impl Builder {
18401  19596   
        #[allow(missing_docs)] // documentation missing in model
18402         -
        pub fn query_double_list(
       19597  +
        pub fn timestamp(
18403  19598   
            mut self,
18404         -
            input: ::std::option::Option<::std::vec::Vec<f64>>,
       19599  +
            input: ::aws_smithy_http_server_python::types::DateTime,
18405  19600   
        ) -> Self {
18406         -
            self.query_double_list = input;
       19601  +
            self.timestamp = Some(input);
18407  19602   
            self
18408  19603   
        }
18409         -
        #[allow(missing_docs)] // documentation missing in model
18410         -
        pub fn query_boolean(mut self, input: ::std::option::Option<bool>) -> Self {
18411         -
            self.query_boolean = input;
18412         -
            self
       19604  +
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
       19605  +
        ///
       19606  +
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if you do not provide a value for all non-`Option`al members.
       19607  +
        ///
       19608  +
        pub fn build(
       19609  +
            self,
       19610  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
       19611  +
            self.build_enforcing_required_and_enum_traits()
18413  19612   
        }
18414         -
        #[allow(missing_docs)] // documentation missing in model
18415         -
        pub fn query_boolean_list(
18416         -
            mut self,
18417         -
            input: ::std::option::Option<::std::vec::Vec<bool>>,
18418         -
        ) -> Self {
18419         -
            self.query_boolean_list = input;
18420         -
            self
       19613  +
        fn build_enforcing_required_and_enum_traits(
       19614  +
            self,
       19615  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
       19616  +
            Ok(crate::input::MalformedTimestampBodyDefaultInput {
       19617  +
                timestamp: self
       19618  +
                    .timestamp
       19619  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19620  +
            })
18421  19621   
        }
18422         -
        #[allow(missing_docs)] // documentation missing in model
18423         -
        pub fn query_timestamp(
18424         -
            mut self,
18425         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
18426         -
        ) -> Self {
18427         -
            self.query_timestamp = input;
18428         -
            self
       19622  +
    }
       19623  +
}
       19624  +
/// See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       19625  +
pub(crate) mod malformed_timestamp_body_date_time_input_internal {
       19626  +
       19627  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19628  +
    /// Holds one variant for each of the ways the builder can fail.
       19629  +
    #[non_exhaustive]
       19630  +
    #[allow(clippy::enum_variant_names)]
       19631  +
    pub(crate) enum ConstraintViolation {
       19632  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
       19633  +
        MissingTimestamp,
       19634  +
    }
       19635  +
    impl ::std::fmt::Display for ConstraintViolation {
       19636  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19637  +
            match self {
       19638  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
       19639  +
            }
18429  19640   
        }
18430         -
        #[allow(missing_docs)] // documentation missing in model
18431         -
        pub fn query_timestamp_list(
18432         -
            mut self,
18433         -
            input: ::std::option::Option<
18434         -
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
18435         -
            >,
18436         -
        ) -> Self {
18437         -
            self.query_timestamp_list = input;
18438         -
            self
       19641  +
    }
       19642  +
    impl ::std::error::Error for ConstraintViolation {}
       19643  +
    impl ConstraintViolation {
       19644  +
        pub(crate) fn as_validation_exception_field(
       19645  +
            self,
       19646  +
            path: ::std::string::String,
       19647  +
        ) -> crate::model::ValidationExceptionField {
       19648  +
            match self {
       19649  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       19650  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       19651  +
                                                path: path + "/timestamp",
       19652  +
                                            },
18439  19653   
        }
18440         -
        #[allow(missing_docs)] // documentation missing in model
18441         -
        pub fn query_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
18442         -
            self.query_enum = input;
18443         -
            self
18444  19654   
        }
18445         -
        #[allow(missing_docs)] // documentation missing in model
18446         -
        pub fn query_enum_list(
18447         -
            mut self,
18448         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
18449         -
        ) -> Self {
18450         -
            self.query_enum_list = input;
18451         -
            self
       19655  +
    }
       19656  +
    impl ::std::convert::From<ConstraintViolation>
       19657  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       19658  +
    {
       19659  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       19660  +
            let first_validation_exception_field =
       19661  +
                constraint_violation.as_validation_exception_field("".to_owned());
       19662  +
            let validation_exception = crate::error::ValidationException {
       19663  +
                message: format!(
       19664  +
                    "1 validation error detected. {}",
       19665  +
                    &first_validation_exception_field.message
       19666  +
                ),
       19667  +
                field_list: Some(vec![first_validation_exception_field]),
       19668  +
            };
       19669  +
            Self::ConstraintViolation(
       19670  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       19671  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       19672  +
                            )
18452  19673   
        }
18453         -
        #[allow(missing_docs)] // documentation missing in model
18454         -
        pub fn query_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
18455         -
            self.query_integer_enum = input;
18456         -
            self
       19674  +
    }
       19675  +
    impl ::std::convert::From<Builder>
       19676  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDateTimeInput>
       19677  +
    {
       19678  +
        fn from(builder: Builder) -> Self {
       19679  +
            Self::Unconstrained(builder)
       19680  +
        }
       19681  +
    }
       19682  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
       19683  +
        type Error = ConstraintViolation;
       19684  +
       19685  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       19686  +
            builder.build()
18457  19687   
        }
       19688  +
    }
       19689  +
    /// A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       19690  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19691  +
    pub(crate) struct Builder {
       19692  +
        pub(crate) timestamp:
       19693  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       19694  +
    }
       19695  +
    impl Builder {
18458  19696   
        #[allow(missing_docs)] // documentation missing in model
18459         -
        pub fn query_integer_enum_list(
       19697  +
        pub(crate) fn set_timestamp(
18460  19698   
            mut self,
18461         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       19699  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
18462  19700   
        ) -> Self {
18463         -
            self.query_integer_enum_list = input;
       19701  +
            self.timestamp = Some(input.into());
18464  19702   
            self
18465  19703   
        }
       19704  +
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       19705  +
        ///
       19706  +
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if a [`ConstraintViolation`] occurs.
       19707  +
        ///
       19708  +
        pub fn build(
       19709  +
            self,
       19710  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
       19711  +
        {
       19712  +
            self.build_enforcing_all_constraints()
       19713  +
        }
       19714  +
        fn build_enforcing_all_constraints(
       19715  +
            self,
       19716  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
       19717  +
        {
       19718  +
            Ok(crate::input::MalformedTimestampBodyDateTimeInput {
       19719  +
                timestamp: self
       19720  +
                    .timestamp
       19721  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19722  +
            })
       19723  +
        }
       19724  +
    }
       19725  +
}
       19726  +
/// See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       19727  +
pub mod malformed_timestamp_body_date_time_input {
       19728  +
       19729  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19730  +
    /// Holds one variant for each of the ways the builder can fail.
       19731  +
    #[allow(clippy::enum_variant_names)]
       19732  +
    pub enum ConstraintViolation {
       19733  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
       19734  +
        MissingTimestamp,
       19735  +
    }
       19736  +
    impl ::std::fmt::Display for ConstraintViolation {
       19737  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19738  +
            match self {
       19739  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
       19740  +
            }
       19741  +
        }
       19742  +
    }
       19743  +
    impl ::std::error::Error for ConstraintViolation {}
       19744  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
       19745  +
        type Error = ConstraintViolation;
       19746  +
       19747  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       19748  +
            builder.build()
       19749  +
        }
       19750  +
    }
       19751  +
    /// A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       19752  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19753  +
    pub struct Builder {
       19754  +
        pub(crate) timestamp:
       19755  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       19756  +
    }
       19757  +
    impl Builder {
18466  19758   
        #[allow(missing_docs)] // documentation missing in model
18467         -
        pub fn query_params_map_of_string_list(
       19759  +
        pub fn timestamp(
18468  19760   
            mut self,
18469         -
            input: ::std::option::Option<
18470         -
                ::std::collections::HashMap<
18471         -
                    ::std::string::String,
18472         -
                    ::std::vec::Vec<::std::string::String>,
18473         -
                >,
18474         -
            >,
       19761  +
            input: ::aws_smithy_http_server_python::types::DateTime,
18475  19762   
        ) -> Self {
18476         -
            self.query_params_map_of_string_list = input;
       19763  +
            self.timestamp = Some(input);
18477  19764   
            self
18478  19765   
        }
18479         -
        /// Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
18480         -
        pub fn build(self) -> crate::input::AllQueryStringTypesInput {
       19766  +
        /// Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
       19767  +
        ///
       19768  +
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if you do not provide a value for all non-`Option`al members.
       19769  +
        ///
       19770  +
        pub fn build(
       19771  +
            self,
       19772  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
       19773  +
        {
18481  19774   
            self.build_enforcing_required_and_enum_traits()
18482  19775   
        }
18483  19776   
        fn build_enforcing_required_and_enum_traits(
18484  19777   
            self,
18485         -
        ) -> crate::input::AllQueryStringTypesInput {
18486         -
            crate::input::AllQueryStringTypesInput {
18487         -
                query_string: self.query_string,
18488         -
                query_string_list: self.query_string_list,
18489         -
                query_string_set: self.query_string_set,
18490         -
                query_byte: self.query_byte,
18491         -
                query_short: self.query_short,
18492         -
                query_integer: self.query_integer,
18493         -
                query_integer_list: self.query_integer_list,
18494         -
                query_integer_set: self.query_integer_set,
18495         -
                query_long: self.query_long,
18496         -
                query_float: self.query_float,
18497         -
                query_double: self.query_double,
18498         -
                query_double_list: self.query_double_list,
18499         -
                query_boolean: self.query_boolean,
18500         -
                query_boolean_list: self.query_boolean_list,
18501         -
                query_timestamp: self.query_timestamp,
18502         -
                query_timestamp_list: self.query_timestamp_list,
18503         -
                query_enum: self.query_enum,
18504         -
                query_enum_list: self.query_enum_list,
18505         -
                query_integer_enum: self.query_integer_enum,
18506         -
                query_integer_enum_list: self.query_integer_enum_list,
18507         -
                query_params_map_of_string_list: self.query_params_map_of_string_list,
18508         -
            }
       19778  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
       19779  +
        {
       19780  +
            Ok(crate::input::MalformedTimestampBodyDateTimeInput {
       19781  +
                timestamp: self
       19782  +
                    .timestamp
       19783  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
       19784  +
            })
18509  19785   
        }
18510  19786   
    }
18511  19787   
}
18512         -
/// See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
18513         -
pub(crate) mod http_request_with_regex_literal_input_internal {
       19788  +
/// See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
       19789  +
pub(crate) mod malformed_timestamp_body_http_date_input_internal {
18514  19790   
18515  19791   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18516  19792   
    /// Holds one variant for each of the ways the builder can fail.
18517  19793   
    #[non_exhaustive]
18518  19794   
    #[allow(clippy::enum_variant_names)]
18519  19795   
    pub(crate) enum ConstraintViolation {
18520         -
        /// `str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
18521         -
        MissingStr,
       19796  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
       19797  +
        MissingTimestamp,
18522  19798   
    }
18523  19799   
    impl ::std::fmt::Display for ConstraintViolation {
18524  19800   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18525  19801   
            match self {
18526         -
                ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
       19802  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
18527  19803   
            }
18528  19804   
        }
18529  19805   
    }
18530  19806   
    impl ::std::error::Error for ConstraintViolation {}
18531  19807   
    impl ConstraintViolation {
18532  19808   
        pub(crate) fn as_validation_exception_field(
18533  19809   
            self,
18534  19810   
            path: ::std::string::String,
18535  19811   
        ) -> crate::model::ValidationExceptionField {
18536  19812   
            match self {
18537         -
                ConstraintViolation::MissingStr => crate::model::ValidationExceptionField {
18538         -
                    message: format!(
18539         -
                        "Value at '{}/str' failed to satisfy constraint: Member must not be null",
18540         -
                        path
18541         -
                    ),
18542         -
                    path: path + "/str",
18543         -
                },
18544         -
            }
       19813  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       19814  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       19815  +
                                                path: path + "/timestamp",
       19816  +
                                            },
       19817  +
        }
18545  19818   
        }
18546  19819   
    }
18547  19820   
    impl ::std::convert::From<ConstraintViolation>
18548  19821   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
18549  19822   
    {
18550  19823   
        fn from(constraint_violation: ConstraintViolation) -> Self {
18551  19824   
            let first_validation_exception_field =
18552  19825   
                constraint_violation.as_validation_exception_field("".to_owned());
18553  19826   
            let validation_exception = crate::error::ValidationException {
18554  19827   
                message: format!(
18555  19828   
                    "1 validation error detected. {}",
18556  19829   
                    &first_validation_exception_field.message
18557  19830   
                ),
18558  19831   
                field_list: Some(vec![first_validation_exception_field]),
18559  19832   
            };
18560  19833   
            Self::ConstraintViolation(
18561  19834   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
18562  19835   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
18563  19836   
                            )
18564  19837   
        }
18565  19838   
    }
18566  19839   
    impl ::std::convert::From<Builder>
18567         -
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithRegexLiteralInput>
       19840  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyHttpDateInput>
18568  19841   
    {
18569  19842   
        fn from(builder: Builder) -> Self {
18570  19843   
            Self::Unconstrained(builder)
18571  19844   
        }
18572  19845   
    }
18573         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
       19846  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
18574  19847   
        type Error = ConstraintViolation;
18575  19848   
18576  19849   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
18577  19850   
            builder.build()
18578  19851   
        }
18579  19852   
    }
18580         -
    /// A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       19853  +
    /// A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
18581  19854   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18582  19855   
    pub(crate) struct Builder {
18583         -
        pub(crate) str: ::std::option::Option<::std::string::String>,
       19856  +
        pub(crate) timestamp:
       19857  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
18584  19858   
    }
18585  19859   
    impl Builder {
18586  19860   
        #[allow(missing_docs)] // documentation missing in model
18587         -
        pub(crate) fn set_str(
       19861  +
        pub(crate) fn set_timestamp(
18588  19862   
            mut self,
18589         -
            input: impl ::std::convert::Into<::std::string::String>,
       19863  +
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
18590  19864   
        ) -> Self {
18591         -
            self.str = Some(input.into());
       19865  +
            self.timestamp = Some(input.into());
18592  19866   
            self
18593  19867   
        }
18594         -
        /// Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       19868  +
        /// Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
18595  19869   
        ///
18596         -
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if a [`ConstraintViolation`] occurs.
       19870  +
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if a [`ConstraintViolation`] occurs.
18597  19871   
        ///
18598  19872   
        pub fn build(
18599  19873   
            self,
18600         -
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       19874  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
       19875  +
        {
18601  19876   
            self.build_enforcing_all_constraints()
18602  19877   
        }
18603  19878   
        fn build_enforcing_all_constraints(
18604  19879   
            self,
18605         -
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
18606         -
            Ok(crate::input::HttpRequestWithRegexLiteralInput {
18607         -
                str: self.str.ok_or(ConstraintViolation::MissingStr)?,
       19880  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
       19881  +
        {
       19882  +
            Ok(crate::input::MalformedTimestampBodyHttpDateInput {
       19883  +
                timestamp: self
       19884  +
                    .timestamp
       19885  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
18608  19886   
            })
18609  19887   
        }
18610  19888   
    }
18611  19889   
}
18612         -
/// See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
18613         -
pub mod http_request_with_regex_literal_input {
       19890  +
/// See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
       19891  +
pub mod malformed_timestamp_body_http_date_input {
18614  19892   
18615  19893   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18616  19894   
    /// Holds one variant for each of the ways the builder can fail.
18617  19895   
    #[allow(clippy::enum_variant_names)]
18618  19896   
    pub enum ConstraintViolation {
18619         -
        /// `str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
18620         -
        MissingStr,
       19897  +
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
       19898  +
        MissingTimestamp,
18621  19899   
    }
18622  19900   
    impl ::std::fmt::Display for ConstraintViolation {
18623  19901   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18624  19902   
            match self {
18625         -
                ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
       19903  +
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
18626  19904   
            }
18627  19905   
        }
18628  19906   
    }
18629  19907   
    impl ::std::error::Error for ConstraintViolation {}
18630         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
       19908  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
18631  19909   
        type Error = ConstraintViolation;
18632  19910   
18633  19911   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
18634  19912   
            builder.build()
18635  19913   
        }
18636  19914   
    }
18637         -
    /// A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       19915  +
    /// A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
18638  19916   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18639  19917   
    pub struct Builder {
18640         -
        pub(crate) str: ::std::option::Option<::std::string::String>,
       19918  +
        pub(crate) timestamp:
       19919  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
18641  19920   
    }
18642  19921   
    impl Builder {
18643  19922   
        #[allow(missing_docs)] // documentation missing in model
18644         -
        pub fn str(mut self, input: ::std::string::String) -> Self {
18645         -
            self.str = Some(input);
       19923  +
        pub fn timestamp(
       19924  +
            mut self,
       19925  +
            input: ::aws_smithy_http_server_python::types::DateTime,
       19926  +
        ) -> Self {
       19927  +
            self.timestamp = Some(input);
18646  19928   
            self
18647  19929   
        }
18648         -
        /// Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       19930  +
        /// Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
18649  19931   
        ///
18650         -
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if you do not provide a value for all non-`Option`al members.
       19932  +
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if you do not provide a value for all non-`Option`al members.
18651  19933   
        ///
18652  19934   
        pub fn build(
18653  19935   
            self,
18654         -
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       19936  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
       19937  +
        {
18655  19938   
            self.build_enforcing_required_and_enum_traits()
18656  19939   
        }
18657  19940   
        fn build_enforcing_required_and_enum_traits(
18658  19941   
            self,
18659         -
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
18660         -
            Ok(crate::input::HttpRequestWithRegexLiteralInput {
18661         -
                str: self.str.ok_or(ConstraintViolation::MissingStr)?,
       19942  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
       19943  +
        {
       19944  +
            Ok(crate::input::MalformedTimestampBodyHttpDateInput {
       19945  +
                timestamp: self
       19946  +
                    .timestamp
       19947  +
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
18662  19948   
            })
18663  19949   
        }
18664  19950   
    }
18665  19951   
}
18666         -
/// See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
18667         -
pub(crate) mod http_request_with_float_labels_input_internal {
       19952  +
/// See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       19953  +
pub(crate) mod malformed_content_type_without_body_input_internal {
18668  19954   
18669         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18670         -
    /// Holds one variant for each of the ways the builder can fail.
18671         -
    #[non_exhaustive]
18672         -
    #[allow(clippy::enum_variant_names)]
18673         -
    pub(crate) enum ConstraintViolation {
18674         -
        /// `float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
18675         -
        MissingFloat,
18676         -
        /// `double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
18677         -
        MissingDouble,
18678         -
    }
18679         -
    impl ::std::fmt::Display for ConstraintViolation {
18680         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18681         -
            match self {
18682         -
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
18683         -
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
18684         -
            }
       19955  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
       19956  +
        fn from(builder: Builder) -> Self {
       19957  +
            builder.build()
18685  19958   
        }
18686  19959   
    }
18687         -
    impl ::std::error::Error for ConstraintViolation {}
18688         -
    impl ConstraintViolation {
18689         -
        pub(crate) fn as_validation_exception_field(
       19960  +
    /// A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       19961  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19962  +
    pub(crate) struct Builder {}
       19963  +
    impl Builder {
       19964  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       19965  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
       19966  +
            self.build_enforcing_all_constraints()
       19967  +
        }
       19968  +
        fn build_enforcing_all_constraints(
18690  19969   
            self,
18691         -
            path: ::std::string::String,
18692         -
        ) -> crate::model::ValidationExceptionField {
18693         -
            match self {
18694         -
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
18695         -
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
18696         -
                                                path: path + "/float",
18697         -
                                            },
18698         -
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
18699         -
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
18700         -
                                                path: path + "/double",
18701         -
                                            },
       19970  +
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
       19971  +
            crate::input::MalformedContentTypeWithoutBodyInput {}
18702  19972   
        }
       19973  +
    }
       19974  +
}
       19975  +
/// See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       19976  +
pub mod malformed_content_type_without_body_input {
       19977  +
       19978  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
       19979  +
        fn from(builder: Builder) -> Self {
       19980  +
            builder.build()
18703  19981   
        }
18704  19982   
    }
18705         -
    impl ::std::convert::From<ConstraintViolation>
18706         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       19983  +
    /// A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       19984  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19985  +
    pub struct Builder {}
       19986  +
    impl Builder {
       19987  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
       19988  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
       19989  +
            self.build_enforcing_required_and_enum_traits()
       19990  +
        }
       19991  +
        fn build_enforcing_required_and_enum_traits(
       19992  +
            self,
       19993  +
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
       19994  +
            crate::input::MalformedContentTypeWithoutBodyInput {}
       19995  +
        }
       19996  +
    }
       19997  +
}
       19998  +
/// See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       19999  +
pub(crate) mod malformed_content_type_without_body_empty_input_input_internal {
       20000  +
       20001  +
    impl ::std::convert::From<Builder>
       20002  +
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
18707  20003   
    {
18708         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
18709         -
            let first_validation_exception_field =
18710         -
                constraint_violation.as_validation_exception_field("".to_owned());
18711         -
            let validation_exception = crate::error::ValidationException {
18712         -
                message: format!(
18713         -
                    "1 validation error detected. {}",
18714         -
                    &first_validation_exception_field.message
18715         -
                ),
18716         -
                field_list: Some(vec![first_validation_exception_field]),
18717         -
            };
18718         -
            Self::ConstraintViolation(
18719         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
18720         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
18721         -
                            )
       20004  +
        fn from(builder: Builder) -> Self {
       20005  +
            builder.build()
       20006  +
        }
       20007  +
    }
       20008  +
    /// A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       20009  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20010  +
    pub(crate) struct Builder {
       20011  +
        pub(crate) header: ::std::option::Option<::std::string::String>,
       20012  +
    }
       20013  +
    impl Builder {
       20014  +
        #[allow(missing_docs)] // documentation missing in model
       20015  +
        pub(crate) fn set_header(
       20016  +
            mut self,
       20017  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       20018  +
        ) -> Self {
       20019  +
            self.header = input.map(|v| v.into());
       20020  +
            self
       20021  +
        }
       20022  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       20023  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       20024  +
            self.build_enforcing_all_constraints()
       20025  +
        }
       20026  +
        fn build_enforcing_all_constraints(
       20027  +
            self,
       20028  +
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       20029  +
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       20030  +
                header: self.header,
       20031  +
            }
18722  20032   
        }
18723  20033   
    }
       20034  +
}
       20035  +
/// See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       20036  +
pub mod malformed_content_type_without_body_empty_input_input {
       20037  +
18724  20038   
    impl ::std::convert::From<Builder>
18725         -
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithFloatLabelsInput>
       20039  +
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
18726  20040   
    {
18727  20041   
        fn from(builder: Builder) -> Self {
18728         -
            Self::Unconstrained(builder)
       20042  +
            builder.build()
18729  20043   
        }
18730  20044   
    }
18731         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
18732         -
        type Error = ConstraintViolation;
       20045  +
    /// A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       20046  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20047  +
    pub struct Builder {
       20048  +
        pub(crate) header: ::std::option::Option<::std::string::String>,
       20049  +
    }
       20050  +
    impl Builder {
       20051  +
        #[allow(missing_docs)] // documentation missing in model
       20052  +
        pub fn header(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20053  +
            self.header = input;
       20054  +
            self
       20055  +
        }
       20056  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
       20057  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       20058  +
            self.build_enforcing_required_and_enum_traits()
       20059  +
        }
       20060  +
        fn build_enforcing_required_and_enum_traits(
       20061  +
            self,
       20062  +
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       20063  +
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
       20064  +
                header: self.header,
       20065  +
            }
       20066  +
        }
       20067  +
    }
       20068  +
}
       20069  +
/// See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
       20070  +
pub(crate) mod malformed_content_type_with_body_input_internal {
18733  20071   
18734         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20072  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
       20073  +
        fn from(builder: Builder) -> Self {
18735  20074   
            builder.build()
18736  20075   
        }
18737  20076   
    }
18738         -
    /// A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       20077  +
    /// A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
18739  20078   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18740  20079   
    pub(crate) struct Builder {
18741         -
        pub(crate) float: ::std::option::Option<f32>,
18742         -
        pub(crate) double: ::std::option::Option<f64>,
       20080  +
        pub(crate) hi: ::std::option::Option<::std::string::String>,
18743  20081   
    }
18744  20082   
    impl Builder {
18745  20083   
        #[allow(missing_docs)] // documentation missing in model
18746         -
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
18747         -
            self.float = Some(input.into());
18748         -
            self
18749         -
        }
18750         -
        #[allow(missing_docs)] // documentation missing in model
18751         -
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
18752         -
            self.double = Some(input.into());
       20084  +
        pub(crate) fn set_hi(
       20085  +
            mut self,
       20086  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       20087  +
        ) -> Self {
       20088  +
            self.hi = input.map(|v| v.into());
18753  20089   
            self
18754  20090   
        }
18755         -
        /// Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
18756         -
        ///
18757         -
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if a [`ConstraintViolation`] occurs.
18758         -
        ///
18759         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
18760         -
        pub fn build(
18761         -
            self,
18762         -
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       20091  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
       20092  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
18763  20093   
            self.build_enforcing_all_constraints()
18764  20094   
        }
18765  20095   
        fn build_enforcing_all_constraints(
18766  20096   
            self,
18767         -
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
18768         -
            Ok(crate::input::HttpRequestWithFloatLabelsInput {
18769         -
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
18770         -
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
18771         -
            })
       20097  +
        ) -> crate::input::MalformedContentTypeWithBodyInput {
       20098  +
            crate::input::MalformedContentTypeWithBodyInput { hi: self.hi }
18772  20099   
        }
18773  20100   
    }
18774  20101   
}
18775         -
/// See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
18776         -
pub mod http_request_with_float_labels_input {
18777         -
18778         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18779         -
    /// Holds one variant for each of the ways the builder can fail.
18780         -
    #[allow(clippy::enum_variant_names)]
18781         -
    pub enum ConstraintViolation {
18782         -
        /// `float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
18783         -
        MissingFloat,
18784         -
        /// `double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
18785         -
        MissingDouble,
18786         -
    }
18787         -
    impl ::std::fmt::Display for ConstraintViolation {
18788         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18789         -
            match self {
18790         -
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
18791         -
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
18792         -
            }
18793         -
        }
18794         -
    }
18795         -
    impl ::std::error::Error for ConstraintViolation {}
18796         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
18797         -
        type Error = ConstraintViolation;
       20102  +
/// See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
       20103  +
pub mod malformed_content_type_with_body_input {
18798  20104   
18799         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20105  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
       20106  +
        fn from(builder: Builder) -> Self {
18800  20107   
            builder.build()
18801  20108   
        }
18802  20109   
    }
18803         -
    /// A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       20110  +
    /// A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
18804  20111   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18805  20112   
    pub struct Builder {
18806         -
        pub(crate) float: ::std::option::Option<f32>,
18807         -
        pub(crate) double: ::std::option::Option<f64>,
       20113  +
        pub(crate) hi: ::std::option::Option<::std::string::String>,
18808  20114   
    }
18809  20115   
    impl Builder {
18810  20116   
        #[allow(missing_docs)] // documentation missing in model
18811         -
        pub fn float(mut self, input: f32) -> Self {
18812         -
            self.float = Some(input);
18813         -
            self
18814         -
        }
18815         -
        #[allow(missing_docs)] // documentation missing in model
18816         -
        pub fn double(mut self, input: f64) -> Self {
18817         -
            self.double = Some(input);
       20117  +
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20118  +
            self.hi = input;
18818  20119   
            self
18819  20120   
        }
18820         -
        /// Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
18821         -
        ///
18822         -
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if you do not provide a value for all non-`Option`al members.
18823         -
        ///
18824         -
        pub fn build(
18825         -
            self,
18826         -
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       20121  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
       20122  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
18827  20123   
            self.build_enforcing_required_and_enum_traits()
18828  20124   
        }
18829  20125   
        fn build_enforcing_required_and_enum_traits(
18830  20126   
            self,
18831         -
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
18832         -
            Ok(crate::input::HttpRequestWithFloatLabelsInput {
18833         -
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
18834         -
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
18835         -
            })
       20127  +
        ) -> crate::input::MalformedContentTypeWithBodyInput {
       20128  +
            crate::input::MalformedContentTypeWithBodyInput { hi: self.hi }
18836  20129   
        }
18837  20130   
    }
18838  20131   
}
18839         -
/// See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
18840         -
pub(crate) mod http_request_with_greedy_label_in_path_input_internal {
       20132  +
/// See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       20133  +
pub(crate) mod malformed_content_type_with_payload_input_internal {
18841  20134   
18842         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18843         -
    /// Holds one variant for each of the ways the builder can fail.
18844         -
    #[non_exhaustive]
18845         -
    #[allow(clippy::enum_variant_names)]
18846         -
    pub(crate) enum ConstraintViolation {
18847         -
        /// `foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
18848         -
        MissingFoo,
18849         -
        /// `baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
18850         -
        MissingBaz,
18851         -
    }
18852         -
    impl ::std::fmt::Display for ConstraintViolation {
18853         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18854         -
            match self {
18855         -
                ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
18856         -
                ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
18857         -
            }
       20135  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
       20136  +
        fn from(builder: Builder) -> Self {
       20137  +
            builder.build()
18858  20138   
        }
18859  20139   
    }
18860         -
    impl ::std::error::Error for ConstraintViolation {}
18861         -
    impl ConstraintViolation {
18862         -
        pub(crate) fn as_validation_exception_field(
       20140  +
    /// A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       20141  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20142  +
    pub(crate) struct Builder {
       20143  +
        pub(crate) payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       20144  +
    }
       20145  +
    impl Builder {
       20146  +
        #[allow(missing_docs)] // documentation missing in model
       20147  +
        pub(crate) fn set_payload(
       20148  +
            mut self,
       20149  +
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
       20150  +
        ) -> Self {
       20151  +
            self.payload = input.map(|v| v.into());
       20152  +
            self
       20153  +
        }
       20154  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       20155  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
       20156  +
            self.build_enforcing_all_constraints()
       20157  +
        }
       20158  +
        fn build_enforcing_all_constraints(
18863  20159   
            self,
18864         -
            path: ::std::string::String,
18865         -
        ) -> crate::model::ValidationExceptionField {
18866         -
            match self {
18867         -
                ConstraintViolation::MissingFoo => crate::model::ValidationExceptionField {
18868         -
                    message: format!(
18869         -
                        "Value at '{}/foo' failed to satisfy constraint: Member must not be null",
18870         -
                        path
18871         -
                    ),
18872         -
                    path: path + "/foo",
18873         -
                },
18874         -
                ConstraintViolation::MissingBaz => crate::model::ValidationExceptionField {
18875         -
                    message: format!(
18876         -
                        "Value at '{}/baz' failed to satisfy constraint: Member must not be null",
18877         -
                        path
18878         -
                    ),
18879         -
                    path: path + "/baz",
18880         -
                },
       20160  +
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
       20161  +
            crate::input::MalformedContentTypeWithPayloadInput {
       20162  +
                payload: self.payload,
18881  20163   
            }
18882  20164   
        }
18883  20165   
    }
18884         -
    impl ::std::convert::From<ConstraintViolation>
18885         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
18886         -
    {
18887         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
18888         -
            let first_validation_exception_field =
18889         -
                constraint_violation.as_validation_exception_field("".to_owned());
18890         -
            let validation_exception = crate::error::ValidationException {
18891         -
                message: format!(
18892         -
                    "1 validation error detected. {}",
18893         -
                    &first_validation_exception_field.message
18894         -
                ),
18895         -
                field_list: Some(vec![first_validation_exception_field]),
18896         -
            };
18897         -
            Self::ConstraintViolation(
18898         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
18899         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
18900         -
                            )
       20166  +
}
       20167  +
/// See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       20168  +
pub mod malformed_content_type_with_payload_input {
       20169  +
       20170  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
       20171  +
        fn from(builder: Builder) -> Self {
       20172  +
            builder.build()
18901  20173   
        }
18902  20174   
    }
18903         -
    impl ::std::convert::From<Builder>
18904         -
        for crate::constrained::MaybeConstrained<
18905         -
            crate::input::HttpRequestWithGreedyLabelInPathInput,
18906         -
        >
18907         -
    {
18908         -
        fn from(builder: Builder) -> Self {
18909         -
            Self::Unconstrained(builder)
       20175  +
    /// A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       20176  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20177  +
    pub struct Builder {
       20178  +
        pub(crate) payload: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       20179  +
    }
       20180  +
    impl Builder {
       20181  +
        #[allow(missing_docs)] // documentation missing in model
       20182  +
        pub fn payload(
       20183  +
            mut self,
       20184  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       20185  +
        ) -> Self {
       20186  +
            self.payload = input;
       20187  +
            self
       20188  +
        }
       20189  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
       20190  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
       20191  +
            self.build_enforcing_required_and_enum_traits()
       20192  +
        }
       20193  +
        fn build_enforcing_required_and_enum_traits(
       20194  +
            self,
       20195  +
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
       20196  +
            crate::input::MalformedContentTypeWithPayloadInput {
       20197  +
                payload: self.payload,
       20198  +
            }
18910  20199   
        }
18911  20200   
    }
18912         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
18913         -
        type Error = ConstraintViolation;
       20201  +
}
       20202  +
/// See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       20203  +
pub(crate) mod malformed_content_type_with_generic_string_input_internal {
18914  20204   
18915         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20205  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
       20206  +
        fn from(builder: Builder) -> Self {
18916  20207   
            builder.build()
18917  20208   
        }
18918  20209   
    }
18919         -
    /// A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       20210  +
    /// A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
18920  20211   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18921  20212   
    pub(crate) struct Builder {
18922         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
18923         -
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       20213  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
18924  20214   
    }
18925  20215   
    impl Builder {
18926  20216   
        #[allow(missing_docs)] // documentation missing in model
18927         -
        pub(crate) fn set_foo(
18928         -
            mut self,
18929         -
            input: impl ::std::convert::Into<::std::string::String>,
18930         -
        ) -> Self {
18931         -
            self.foo = Some(input.into());
18932         -
            self
18933         -
        }
18934         -
        #[allow(missing_docs)] // documentation missing in model
18935         -
        pub(crate) fn set_baz(
       20217  +
        pub(crate) fn set_payload(
18936  20218   
            mut self,
18937         -
            input: impl ::std::convert::Into<::std::string::String>,
       20219  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
18938  20220   
        ) -> Self {
18939         -
            self.baz = Some(input.into());
       20221  +
            self.payload = input.map(|v| v.into());
18940  20222   
            self
18941  20223   
        }
18942         -
        /// Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
18943         -
        ///
18944         -
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if a [`ConstraintViolation`] occurs.
18945         -
        ///
18946         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
18947         -
        pub fn build(
18948         -
            self,
18949         -
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
18950         -
        {
       20224  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       20225  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
18951  20226   
            self.build_enforcing_all_constraints()
18952  20227   
        }
18953  20228   
        fn build_enforcing_all_constraints(
18954  20229   
            self,
18955         -
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
18956         -
        {
18957         -
            Ok(crate::input::HttpRequestWithGreedyLabelInPathInput {
18958         -
                foo: self.foo.ok_or(ConstraintViolation::MissingFoo)?,
18959         -
                baz: self.baz.ok_or(ConstraintViolation::MissingBaz)?,
18960         -
            })
18961         -
        }
18962         -
    }
18963         -
}
18964         -
/// See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
18965         -
pub mod http_request_with_greedy_label_in_path_input {
18966         -
18967         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18968         -
    /// Holds one variant for each of the ways the builder can fail.
18969         -
    #[allow(clippy::enum_variant_names)]
18970         -
    pub enum ConstraintViolation {
18971         -
        /// `foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
18972         -
        MissingFoo,
18973         -
        /// `baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
18974         -
        MissingBaz,
18975         -
    }
18976         -
    impl ::std::fmt::Display for ConstraintViolation {
18977         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18978         -
            match self {
18979         -
                ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
18980         -
                ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
       20230  +
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
       20231  +
            crate::input::MalformedContentTypeWithGenericStringInput {
       20232  +
                payload: self.payload,
18981  20233   
            }
18982  20234   
        }
18983  20235   
    }
18984         -
    impl ::std::error::Error for ConstraintViolation {}
18985         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
18986         -
        type Error = ConstraintViolation;
       20236  +
}
       20237  +
/// See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       20238  +
pub mod malformed_content_type_with_generic_string_input {
18987  20239   
18988         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20240  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
       20241  +
        fn from(builder: Builder) -> Self {
18989  20242   
            builder.build()
18990  20243   
        }
18991  20244   
    }
18992         -
    /// A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       20245  +
    /// A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
18993  20246   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
18994  20247   
    pub struct Builder {
18995         -
        pub(crate) foo: ::std::option::Option<::std::string::String>,
18996         -
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       20248  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
18997  20249   
    }
18998  20250   
    impl Builder {
18999  20251   
        #[allow(missing_docs)] // documentation missing in model
19000         -
        pub fn foo(mut self, input: ::std::string::String) -> Self {
19001         -
            self.foo = Some(input);
       20252  +
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20253  +
            self.payload = input;
19002  20254   
            self
19003  20255   
        }
19004         -
        #[allow(missing_docs)] // documentation missing in model
19005         -
        pub fn baz(mut self, input: ::std::string::String) -> Self {
19006         -
            self.baz = Some(input);
19007         -
            self
       20256  +
        /// Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
       20257  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
       20258  +
            self.build_enforcing_required_and_enum_traits()
19008  20259   
        }
19009         -
        /// Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
19010         -
        ///
19011         -
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if you do not provide a value for all non-`Option`al members.
19012         -
        ///
19013         -
        pub fn build(
       20260  +
        fn build_enforcing_required_and_enum_traits(
19014  20261   
            self,
19015         -
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
19016         -
        {
       20262  +
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
       20263  +
            crate::input::MalformedContentTypeWithGenericStringInput {
       20264  +
                payload: self.payload,
       20265  +
            }
       20266  +
        }
       20267  +
    }
       20268  +
}
       20269  +
/// See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       20270  +
pub(crate) mod malformed_accept_with_body_input_internal {
       20271  +
       20272  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
       20273  +
        fn from(builder: Builder) -> Self {
       20274  +
            builder.build()
       20275  +
        }
       20276  +
    }
       20277  +
    /// A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       20278  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20279  +
    pub(crate) struct Builder {}
       20280  +
    impl Builder {
       20281  +
        /// Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       20282  +
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
       20283  +
            self.build_enforcing_all_constraints()
       20284  +
        }
       20285  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithBodyInput {
       20286  +
            crate::input::MalformedAcceptWithBodyInput {}
       20287  +
        }
       20288  +
    }
       20289  +
}
       20290  +
/// See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       20291  +
pub mod malformed_accept_with_body_input {
       20292  +
       20293  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
       20294  +
        fn from(builder: Builder) -> Self {
       20295  +
            builder.build()
       20296  +
        }
       20297  +
    }
       20298  +
    /// A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       20299  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20300  +
    pub struct Builder {}
       20301  +
    impl Builder {
       20302  +
        /// Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
       20303  +
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
19017  20304   
            self.build_enforcing_required_and_enum_traits()
19018  20305   
        }
19019  20306   
        fn build_enforcing_required_and_enum_traits(
19020  20307   
            self,
19021         -
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
19022         -
        {
19023         -
            Ok(crate::input::HttpRequestWithGreedyLabelInPathInput {
19024         -
                foo: self.foo.ok_or(ConstraintViolation::MissingFoo)?,
19025         -
                baz: self.baz.ok_or(ConstraintViolation::MissingBaz)?,
19026         -
            })
       20308  +
        ) -> crate::input::MalformedAcceptWithBodyInput {
       20309  +
            crate::input::MalformedAcceptWithBodyInput {}
19027  20310   
        }
19028  20311   
    }
19029  20312   
}
19030         -
/// See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
19031         -
pub(crate) mod http_request_with_labels_and_timestamp_format_input_internal {
       20313  +
/// See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       20314  +
pub(crate) mod malformed_accept_with_payload_input_internal {
19032  20315   
19033         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
19034         -
    /// Holds one variant for each of the ways the builder can fail.
19035         -
    #[non_exhaustive]
19036         -
    #[allow(clippy::enum_variant_names)]
19037         -
    pub(crate) enum ConstraintViolation {
19038         -
        /// `member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19039         -
        MissingMemberEpochSeconds,
19040         -
        /// `member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19041         -
        MissingMemberHttpDate,
19042         -
        /// `member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19043         -
        MissingMemberDateTime,
19044         -
        /// `default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19045         -
        MissingDefaultFormat,
19046         -
        /// `target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19047         -
        MissingTargetEpochSeconds,
19048         -
        /// `target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19049         -
        MissingTargetHttpDate,
19050         -
        /// `target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19051         -
        MissingTargetDateTime,
       20316  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
       20317  +
        fn from(builder: Builder) -> Self {
       20318  +
            builder.build()
       20319  +
        }
19052  20320   
    }
19053         -
    impl ::std::fmt::Display for ConstraintViolation {
19054         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19055         -
            match self {
19056         -
                ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19057         -
                ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19058         -
                ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19059         -
                ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19060         -
                ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19061         -
                ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19062         -
                ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19063         -
            }
       20321  +
    /// A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       20322  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20323  +
    pub(crate) struct Builder {}
       20324  +
    impl Builder {
       20325  +
        /// Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       20326  +
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
       20327  +
            self.build_enforcing_all_constraints()
       20328  +
        }
       20329  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithPayloadInput {
       20330  +
            crate::input::MalformedAcceptWithPayloadInput {}
19064  20331   
        }
19065  20332   
    }
19066         -
    impl ::std::error::Error for ConstraintViolation {}
19067         -
    impl ConstraintViolation {
19068         -
        pub(crate) fn as_validation_exception_field(
19069         -
            self,
19070         -
            path: ::std::string::String,
19071         -
        ) -> crate::model::ValidationExceptionField {
19072         -
            match self {
19073         -
            ConstraintViolation::MissingMemberEpochSeconds => crate::model::ValidationExceptionField {
19074         -
                                                message: format!("Value at '{}/memberEpochSeconds' failed to satisfy constraint: Member must not be null", path),
19075         -
                                                path: path + "/memberEpochSeconds",
19076         -
                                            },
19077         -
            ConstraintViolation::MissingMemberHttpDate => crate::model::ValidationExceptionField {
19078         -
                                                message: format!("Value at '{}/memberHttpDate' failed to satisfy constraint: Member must not be null", path),
19079         -
                                                path: path + "/memberHttpDate",
19080         -
                                            },
19081         -
            ConstraintViolation::MissingMemberDateTime => crate::model::ValidationExceptionField {
19082         -
                                                message: format!("Value at '{}/memberDateTime' failed to satisfy constraint: Member must not be null", path),
19083         -
                                                path: path + "/memberDateTime",
19084         -
                                            },
19085         -
            ConstraintViolation::MissingDefaultFormat => crate::model::ValidationExceptionField {
19086         -
                                                message: format!("Value at '{}/defaultFormat' failed to satisfy constraint: Member must not be null", path),
19087         -
                                                path: path + "/defaultFormat",
19088         -
                                            },
19089         -
            ConstraintViolation::MissingTargetEpochSeconds => crate::model::ValidationExceptionField {
19090         -
                                                message: format!("Value at '{}/targetEpochSeconds' failed to satisfy constraint: Member must not be null", path),
19091         -
                                                path: path + "/targetEpochSeconds",
19092         -
                                            },
19093         -
            ConstraintViolation::MissingTargetHttpDate => crate::model::ValidationExceptionField {
19094         -
                                                message: format!("Value at '{}/targetHttpDate' failed to satisfy constraint: Member must not be null", path),
19095         -
                                                path: path + "/targetHttpDate",
19096         -
                                            },
19097         -
            ConstraintViolation::MissingTargetDateTime => crate::model::ValidationExceptionField {
19098         -
                                                message: format!("Value at '{}/targetDateTime' failed to satisfy constraint: Member must not be null", path),
19099         -
                                                path: path + "/targetDateTime",
19100         -
                                            },
       20333  +
}
       20334  +
/// See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       20335  +
pub mod malformed_accept_with_payload_input {
       20336  +
       20337  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
       20338  +
        fn from(builder: Builder) -> Self {
       20339  +
            builder.build()
       20340  +
        }
       20341  +
    }
       20342  +
    /// A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       20343  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20344  +
    pub struct Builder {}
       20345  +
    impl Builder {
       20346  +
        /// Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
       20347  +
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
       20348  +
            self.build_enforcing_required_and_enum_traits()
19101  20349   
        }
       20350  +
        fn build_enforcing_required_and_enum_traits(
       20351  +
            self,
       20352  +
        ) -> crate::input::MalformedAcceptWithPayloadInput {
       20353  +
            crate::input::MalformedAcceptWithPayloadInput {}
19102  20354   
        }
19103  20355   
    }
19104         -
    impl ::std::convert::From<ConstraintViolation>
19105         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
19106         -
    {
19107         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
19108         -
            let first_validation_exception_field =
19109         -
                constraint_violation.as_validation_exception_field("".to_owned());
19110         -
            let validation_exception = crate::error::ValidationException {
19111         -
                message: format!(
19112         -
                    "1 validation error detected. {}",
19113         -
                    &first_validation_exception_field.message
19114         -
                ),
19115         -
                field_list: Some(vec![first_validation_exception_field]),
19116         -
            };
19117         -
            Self::ConstraintViolation(
19118         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
19119         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
19120         -
                            )
       20356  +
}
       20357  +
/// See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       20358  +
pub(crate) mod malformed_accept_with_generic_string_input_internal {
       20359  +
       20360  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
       20361  +
        fn from(builder: Builder) -> Self {
       20362  +
            builder.build()
19121  20363   
        }
19122  20364   
    }
19123         -
    impl ::std::convert::From<Builder>
19124         -
        for crate::constrained::MaybeConstrained<
19125         -
            crate::input::HttpRequestWithLabelsAndTimestampFormatInput,
19126         -
        >
19127         -
    {
       20365  +
    /// A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       20366  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20367  +
    pub(crate) struct Builder {}
       20368  +
    impl Builder {
       20369  +
        /// Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       20370  +
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
       20371  +
            self.build_enforcing_all_constraints()
       20372  +
        }
       20373  +
        fn build_enforcing_all_constraints(
       20374  +
            self,
       20375  +
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
       20376  +
            crate::input::MalformedAcceptWithGenericStringInput {}
       20377  +
        }
       20378  +
    }
       20379  +
}
       20380  +
/// See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       20381  +
pub mod malformed_accept_with_generic_string_input {
       20382  +
       20383  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
19128  20384   
        fn from(builder: Builder) -> Self {
19129         -
            Self::Unconstrained(builder)
       20385  +
            builder.build()
19130  20386   
        }
19131  20387   
    }
19132         -
    impl ::std::convert::TryFrom<Builder>
19133         -
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
19134         -
    {
19135         -
        type Error = ConstraintViolation;
       20388  +
    /// A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       20389  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20390  +
    pub struct Builder {}
       20391  +
    impl Builder {
       20392  +
        /// Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
       20393  +
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
       20394  +
            self.build_enforcing_required_and_enum_traits()
       20395  +
        }
       20396  +
        fn build_enforcing_required_and_enum_traits(
       20397  +
            self,
       20398  +
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
       20399  +
            crate::input::MalformedAcceptWithGenericStringInput {}
       20400  +
        }
       20401  +
    }
       20402  +
}
       20403  +
/// See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
       20404  +
pub(crate) mod test_body_structure_input_internal {
19136  20405   
19137         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20406  +
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
       20407  +
        fn from(builder: Builder) -> Self {
19138  20408   
            builder.build()
19139  20409   
        }
19140  20410   
    }
19141         -
    /// A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
       20411  +
    /// A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
19142  20412   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19143  20413   
    pub(crate) struct Builder {
19144         -
        pub(crate) member_epoch_seconds:
19145         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19146         -
        pub(crate) member_http_date:
19147         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19148         -
        pub(crate) member_date_time:
19149         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19150         -
        pub(crate) default_format:
19151         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19152         -
        pub(crate) target_epoch_seconds:
19153         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19154         -
        pub(crate) target_http_date:
19155         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19156         -
        pub(crate) target_date_time:
19157         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       20414  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20415  +
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
19158  20416   
    }
19159  20417   
    impl Builder {
19160  20418   
        #[allow(missing_docs)] // documentation missing in model
19161         -
        pub(crate) fn set_member_epoch_seconds(
       20419  +
        pub(crate) fn set_test_id(
19162  20420   
            mut self,
19163         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       20421  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19164  20422   
        ) -> Self {
19165         -
            self.member_epoch_seconds = Some(input.into());
       20423  +
            self.test_id = input.map(|v| v.into());
19166  20424   
            self
19167  20425   
        }
19168  20426   
        #[allow(missing_docs)] // documentation missing in model
19169         -
        pub(crate) fn set_member_http_date(
       20427  +
        pub(crate) fn set_test_config(
19170  20428   
            mut self,
19171         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       20429  +
            input: Option<impl ::std::convert::Into<crate::model::TestConfig>>,
19172  20430   
        ) -> Self {
19173         -
            self.member_http_date = Some(input.into());
       20431  +
            self.test_config = input.map(|v| v.into());
19174  20432   
            self
19175  20433   
        }
19176         -
        #[allow(missing_docs)] // documentation missing in model
19177         -
        pub(crate) fn set_member_date_time(
19178         -
            mut self,
19179         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19180         -
        ) -> Self {
19181         -
            self.member_date_time = Some(input.into());
19182         -
            self
       20434  +
        /// Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
       20435  +
        pub fn build(self) -> crate::input::TestBodyStructureInput {
       20436  +
            self.build_enforcing_all_constraints()
19183  20437   
        }
19184         -
        #[allow(missing_docs)] // documentation missing in model
19185         -
        pub(crate) fn set_default_format(
19186         -
            mut self,
19187         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19188         -
        ) -> Self {
19189         -
            self.default_format = Some(input.into());
19190         -
            self
       20438  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestBodyStructureInput {
       20439  +
            crate::input::TestBodyStructureInput {
       20440  +
                test_id: self.test_id,
       20441  +
                test_config: self.test_config,
       20442  +
            }
19191  20443   
        }
19192         -
        #[allow(missing_docs)] // documentation missing in model
19193         -
        pub(crate) fn set_target_epoch_seconds(
19194         -
            mut self,
19195         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19196         -
        ) -> Self {
19197         -
            self.target_epoch_seconds = Some(input.into());
19198         -
            self
       20444  +
    }
       20445  +
}
       20446  +
/// See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
       20447  +
pub mod test_body_structure_input {
       20448  +
       20449  +
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
       20450  +
        fn from(builder: Builder) -> Self {
       20451  +
            builder.build()
19199  20452   
        }
       20453  +
    }
       20454  +
    /// A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
       20455  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20456  +
    pub struct Builder {
       20457  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20458  +
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
       20459  +
    }
       20460  +
    impl Builder {
19200  20461   
        #[allow(missing_docs)] // documentation missing in model
19201         -
        pub(crate) fn set_target_http_date(
19202         -
            mut self,
19203         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19204         -
        ) -> Self {
19205         -
            self.target_http_date = Some(input.into());
       20462  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20463  +
            self.test_id = input;
19206  20464   
            self
19207  20465   
        }
19208  20466   
        #[allow(missing_docs)] // documentation missing in model
19209         -
        pub(crate) fn set_target_date_time(
       20467  +
        pub fn test_config(
19210  20468   
            mut self,
19211         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       20469  +
            input: ::std::option::Option<crate::model::TestConfig>,
19212  20470   
        ) -> Self {
19213         -
            self.target_date_time = Some(input.into());
       20471  +
            self.test_config = input;
19214  20472   
            self
19215  20473   
        }
19216         -
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
19217         -
        ///
19218         -
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if a [`ConstraintViolation`] occurs.
19219         -
        ///
19220         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
19221         -
        pub fn build(
19222         -
            self,
19223         -
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
19224         -
        {
19225         -
            self.build_enforcing_all_constraints()
19226         -
        }
19227         -
        fn build_enforcing_all_constraints(
19228         -
            self,
19229         -
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
19230         -
        {
19231         -
            Ok(crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
19232         -
                member_epoch_seconds: self
19233         -
                    .member_epoch_seconds
19234         -
                    .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
19235         -
                member_http_date: self
19236         -
                    .member_http_date
19237         -
                    .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
19238         -
                member_date_time: self
19239         -
                    .member_date_time
19240         -
                    .ok_or(ConstraintViolation::MissingMemberDateTime)?,
19241         -
                default_format: self
19242         -
                    .default_format
19243         -
                    .ok_or(ConstraintViolation::MissingDefaultFormat)?,
19244         -
                target_epoch_seconds: self
19245         -
                    .target_epoch_seconds
19246         -
                    .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
19247         -
                target_http_date: self
19248         -
                    .target_http_date
19249         -
                    .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
19250         -
                target_date_time: self
19251         -
                    .target_date_time
19252         -
                    .ok_or(ConstraintViolation::MissingTargetDateTime)?,
19253         -
            })
       20474  +
        /// Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
       20475  +
        pub fn build(self) -> crate::input::TestBodyStructureInput {
       20476  +
            self.build_enforcing_required_and_enum_traits()
19254  20477   
        }
19255         -
    }
19256         -
}
19257         -
/// See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
19258         -
pub mod http_request_with_labels_and_timestamp_format_input {
19259         -
19260         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
19261         -
    /// Holds one variant for each of the ways the builder can fail.
19262         -
    #[allow(clippy::enum_variant_names)]
19263         -
    pub enum ConstraintViolation {
19264         -
        /// `member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19265         -
        MissingMemberEpochSeconds,
19266         -
        /// `member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19267         -
        MissingMemberHttpDate,
19268         -
        /// `member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19269         -
        MissingMemberDateTime,
19270         -
        /// `default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19271         -
        MissingDefaultFormat,
19272         -
        /// `target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19273         -
        MissingTargetEpochSeconds,
19274         -
        /// `target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19275         -
        MissingTargetHttpDate,
19276         -
        /// `target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
19277         -
        MissingTargetDateTime,
19278         -
    }
19279         -
    impl ::std::fmt::Display for ConstraintViolation {
19280         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19281         -
            match self {
19282         -
                ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19283         -
                ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19284         -
                ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19285         -
                ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19286         -
                ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19287         -
                ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
19288         -
                ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       20478  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestBodyStructureInput {
       20479  +
            crate::input::TestBodyStructureInput {
       20480  +
                test_id: self.test_id,
       20481  +
                test_config: self.test_config,
19289  20482   
            }
19290  20483   
        }
19291         -
    }
19292         -
    impl ::std::error::Error for ConstraintViolation {}
19293         -
    impl ::std::convert::TryFrom<Builder>
19294         -
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
19295         -
    {
19296         -
        type Error = ConstraintViolation;
       20484  +
    }
       20485  +
}
       20486  +
/// See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       20487  +
pub(crate) mod test_payload_structure_input_internal {
19297  20488   
19298         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20489  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
       20490  +
        fn from(builder: Builder) -> Self {
19299  20491   
            builder.build()
19300  20492   
        }
19301  20493   
    }
19302         -
    /// A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
       20494  +
    /// A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
19303  20495   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19304         -
    pub struct Builder {
19305         -
        pub(crate) member_epoch_seconds:
19306         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19307         -
        pub(crate) member_http_date:
19308         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19309         -
        pub(crate) member_date_time:
19310         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19311         -
        pub(crate) default_format:
19312         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19313         -
        pub(crate) target_epoch_seconds:
19314         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19315         -
        pub(crate) target_http_date:
19316         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19317         -
        pub(crate) target_date_time:
19318         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       20496  +
    pub(crate) struct Builder {
       20497  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20498  +
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
19319  20499   
    }
19320  20500   
    impl Builder {
19321  20501   
        #[allow(missing_docs)] // documentation missing in model
19322         -
        pub fn member_epoch_seconds(
       20502  +
        pub(crate) fn set_test_id(
19323  20503   
            mut self,
19324         -
            input: ::aws_smithy_http_server_python::types::DateTime,
       20504  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19325  20505   
        ) -> Self {
19326         -
            self.member_epoch_seconds = Some(input);
       20506  +
            self.test_id = input.map(|v| v.into());
19327  20507   
            self
19328  20508   
        }
19329  20509   
        #[allow(missing_docs)] // documentation missing in model
19330         -
        pub fn member_http_date(
       20510  +
        pub(crate) fn set_payload_config(
19331  20511   
            mut self,
19332         -
            input: ::aws_smithy_http_server_python::types::DateTime,
       20512  +
            input: Option<impl ::std::convert::Into<crate::model::PayloadConfig>>,
19333  20513   
        ) -> Self {
19334         -
            self.member_http_date = Some(input);
       20514  +
            self.payload_config = input.map(|v| v.into());
19335  20515   
            self
19336  20516   
        }
19337         -
        #[allow(missing_docs)] // documentation missing in model
19338         -
        pub fn member_date_time(
19339         -
            mut self,
19340         -
            input: ::aws_smithy_http_server_python::types::DateTime,
19341         -
        ) -> Self {
19342         -
            self.member_date_time = Some(input);
19343         -
            self
       20517  +
        /// Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       20518  +
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
       20519  +
            self.build_enforcing_all_constraints()
19344  20520   
        }
19345         -
        #[allow(missing_docs)] // documentation missing in model
19346         -
        pub fn default_format(
19347         -
            mut self,
19348         -
            input: ::aws_smithy_http_server_python::types::DateTime,
19349         -
        ) -> Self {
19350         -
            self.default_format = Some(input);
19351         -
            self
       20521  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadStructureInput {
       20522  +
            crate::input::TestPayloadStructureInput {
       20523  +
                test_id: self.test_id,
       20524  +
                payload_config: self.payload_config,
       20525  +
            }
19352  20526   
        }
19353         -
        #[allow(missing_docs)] // documentation missing in model
19354         -
        pub fn target_epoch_seconds(
19355         -
            mut self,
19356         -
            input: ::aws_smithy_http_server_python::types::DateTime,
19357         -
        ) -> Self {
19358         -
            self.target_epoch_seconds = Some(input);
19359         -
            self
       20527  +
    }
       20528  +
}
       20529  +
/// See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       20530  +
pub mod test_payload_structure_input {
       20531  +
       20532  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
       20533  +
        fn from(builder: Builder) -> Self {
       20534  +
            builder.build()
19360  20535   
        }
       20536  +
    }
       20537  +
    /// A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       20538  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20539  +
    pub struct Builder {
       20540  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20541  +
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
       20542  +
    }
       20543  +
    impl Builder {
19361  20544   
        #[allow(missing_docs)] // documentation missing in model
19362         -
        pub fn target_http_date(
19363         -
            mut self,
19364         -
            input: ::aws_smithy_http_server_python::types::DateTime,
19365         -
        ) -> Self {
19366         -
            self.target_http_date = Some(input);
       20545  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20546  +
            self.test_id = input;
19367  20547   
            self
19368  20548   
        }
19369  20549   
        #[allow(missing_docs)] // documentation missing in model
19370         -
        pub fn target_date_time(
       20550  +
        pub fn payload_config(
19371  20551   
            mut self,
19372         -
            input: ::aws_smithy_http_server_python::types::DateTime,
       20552  +
            input: ::std::option::Option<crate::model::PayloadConfig>,
19373  20553   
        ) -> Self {
19374         -
            self.target_date_time = Some(input);
       20554  +
            self.payload_config = input;
19375  20555   
            self
19376  20556   
        }
19377         -
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
19378         -
        ///
19379         -
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if you do not provide a value for all non-`Option`al members.
19380         -
        ///
19381         -
        pub fn build(
19382         -
            self,
19383         -
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
19384         -
        {
       20557  +
        /// Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
       20558  +
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
19385  20559   
            self.build_enforcing_required_and_enum_traits()
19386  20560   
        }
19387  20561   
        fn build_enforcing_required_and_enum_traits(
19388  20562   
            self,
19389         -
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
19390         -
        {
19391         -
            Ok(crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
19392         -
                member_epoch_seconds: self
19393         -
                    .member_epoch_seconds
19394         -
                    .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
19395         -
                member_http_date: self
19396         -
                    .member_http_date
19397         -
                    .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
19398         -
                member_date_time: self
19399         -
                    .member_date_time
19400         -
                    .ok_or(ConstraintViolation::MissingMemberDateTime)?,
19401         -
                default_format: self
19402         -
                    .default_format
19403         -
                    .ok_or(ConstraintViolation::MissingDefaultFormat)?,
19404         -
                target_epoch_seconds: self
19405         -
                    .target_epoch_seconds
19406         -
                    .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
19407         -
                target_http_date: self
19408         -
                    .target_http_date
19409         -
                    .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
19410         -
                target_date_time: self
19411         -
                    .target_date_time
19412         -
                    .ok_or(ConstraintViolation::MissingTargetDateTime)?,
19413         -
            })
       20563  +
        ) -> crate::input::TestPayloadStructureInput {
       20564  +
            crate::input::TestPayloadStructureInput {
       20565  +
                test_id: self.test_id,
       20566  +
                payload_config: self.payload_config,
       20567  +
            }
19414  20568   
        }
19415  20569   
    }
19416  20570   
}
19417         -
/// See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
19418         -
pub(crate) mod http_request_with_labels_input_internal {
       20571  +
/// See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       20572  +
pub(crate) mod test_payload_blob_input_internal {
19419  20573   
19420         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
19421         -
    /// Holds one variant for each of the ways the builder can fail.
19422         -
    #[non_exhaustive]
19423         -
    #[allow(clippy::enum_variant_names)]
19424         -
    pub(crate) enum ConstraintViolation {
19425         -
        /// `string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19426         -
        MissingString,
19427         -
        /// `short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19428         -
        MissingShort,
19429         -
        /// `integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19430         -
        MissingInteger,
19431         -
        /// `long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19432         -
        MissingLong,
19433         -
        /// `float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19434         -
        MissingFloat,
19435         -
        /// `double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19436         -
        MissingDouble,
19437         -
        /// `boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19438         -
        MissingBoolean,
19439         -
        /// `timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19440         -
        MissingTimestamp,
19441         -
    }
19442         -
    impl ::std::fmt::Display for ConstraintViolation {
19443         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19444         -
            match self {
19445         -
                ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19446         -
                ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19447         -
                ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19448         -
                ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19449         -
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19450         -
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19451         -
                ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19452         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19453         -
            }
       20574  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
       20575  +
        fn from(builder: Builder) -> Self {
       20576  +
            builder.build()
19454  20577   
        }
19455  20578   
    }
19456         -
    impl ::std::error::Error for ConstraintViolation {}
19457         -
    impl ConstraintViolation {
19458         -
        pub(crate) fn as_validation_exception_field(
19459         -
            self,
19460         -
            path: ::std::string::String,
19461         -
        ) -> crate::model::ValidationExceptionField {
19462         -
            match self {
19463         -
            ConstraintViolation::MissingString => crate::model::ValidationExceptionField {
19464         -
                                                message: format!("Value at '{}/string' failed to satisfy constraint: Member must not be null", path),
19465         -
                                                path: path + "/string",
19466         -
                                            },
19467         -
            ConstraintViolation::MissingShort => crate::model::ValidationExceptionField {
19468         -
                                                message: format!("Value at '{}/short' failed to satisfy constraint: Member must not be null", path),
19469         -
                                                path: path + "/short",
19470         -
                                            },
19471         -
            ConstraintViolation::MissingInteger => crate::model::ValidationExceptionField {
19472         -
                                                message: format!("Value at '{}/integer' failed to satisfy constraint: Member must not be null", path),
19473         -
                                                path: path + "/integer",
19474         -
                                            },
19475         -
            ConstraintViolation::MissingLong => crate::model::ValidationExceptionField {
19476         -
                                                message: format!("Value at '{}/long' failed to satisfy constraint: Member must not be null", path),
19477         -
                                                path: path + "/long",
19478         -
                                            },
19479         -
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
19480         -
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
19481         -
                                                path: path + "/float",
19482         -
                                            },
19483         -
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
19484         -
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
19485         -
                                                path: path + "/double",
19486         -
                                            },
19487         -
            ConstraintViolation::MissingBoolean => crate::model::ValidationExceptionField {
19488         -
                                                message: format!("Value at '{}/boolean' failed to satisfy constraint: Member must not be null", path),
19489         -
                                                path: path + "/boolean",
19490         -
                                            },
19491         -
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
19492         -
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
19493         -
                                                path: path + "/timestamp",
19494         -
                                            },
       20579  +
    /// A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       20580  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20581  +
    pub(crate) struct Builder {
       20582  +
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
       20583  +
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       20584  +
    }
       20585  +
    impl Builder {
       20586  +
        #[allow(missing_docs)] // documentation missing in model
       20587  +
        pub(crate) fn set_content_type(
       20588  +
            mut self,
       20589  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       20590  +
        ) -> Self {
       20591  +
            self.content_type = input.map(|v| v.into());
       20592  +
            self
19495  20593   
        }
       20594  +
        #[allow(missing_docs)] // documentation missing in model
       20595  +
        pub(crate) fn set_data(
       20596  +
            mut self,
       20597  +
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
       20598  +
        ) -> Self {
       20599  +
            self.data = input.map(|v| v.into());
       20600  +
            self
19496  20601   
        }
19497         -
    }
19498         -
    impl ::std::convert::From<ConstraintViolation>
19499         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
19500         -
    {
19501         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
19502         -
            let first_validation_exception_field =
19503         -
                constraint_violation.as_validation_exception_field("".to_owned());
19504         -
            let validation_exception = crate::error::ValidationException {
19505         -
                message: format!(
19506         -
                    "1 validation error detected. {}",
19507         -
                    &first_validation_exception_field.message
19508         -
                ),
19509         -
                field_list: Some(vec![first_validation_exception_field]),
19510         -
            };
19511         -
            Self::ConstraintViolation(
19512         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
19513         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
19514         -
                            )
       20602  +
        /// Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       20603  +
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
       20604  +
            self.build_enforcing_all_constraints()
       20605  +
        }
       20606  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadBlobInput {
       20607  +
            crate::input::TestPayloadBlobInput {
       20608  +
                content_type: self.content_type,
       20609  +
                data: self.data,
       20610  +
            }
19515  20611   
        }
19516  20612   
    }
19517         -
    impl ::std::convert::From<Builder>
19518         -
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithLabelsInput>
19519         -
    {
       20613  +
}
       20614  +
/// See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       20615  +
pub mod test_payload_blob_input {
       20616  +
       20617  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
19520  20618   
        fn from(builder: Builder) -> Self {
19521         -
            Self::Unconstrained(builder)
       20619  +
            builder.build()
19522  20620   
        }
19523  20621   
    }
19524         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
19525         -
        type Error = ConstraintViolation;
       20622  +
    /// A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       20623  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20624  +
    pub struct Builder {
       20625  +
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
       20626  +
        pub(crate) data: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       20627  +
    }
       20628  +
    impl Builder {
       20629  +
        #[allow(missing_docs)] // documentation missing in model
       20630  +
        pub fn content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20631  +
            self.content_type = input;
       20632  +
            self
       20633  +
        }
       20634  +
        #[allow(missing_docs)] // documentation missing in model
       20635  +
        pub fn data(
       20636  +
            mut self,
       20637  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
       20638  +
        ) -> Self {
       20639  +
            self.data = input;
       20640  +
            self
       20641  +
        }
       20642  +
        /// Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
       20643  +
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
       20644  +
            self.build_enforcing_required_and_enum_traits()
       20645  +
        }
       20646  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestPayloadBlobInput {
       20647  +
            crate::input::TestPayloadBlobInput {
       20648  +
                content_type: self.content_type,
       20649  +
                data: self.data,
       20650  +
            }
       20651  +
        }
       20652  +
    }
       20653  +
}
       20654  +
/// See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       20655  +
pub(crate) mod test_get_no_payload_input_internal {
19526  20656   
19527         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20657  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
       20658  +
        fn from(builder: Builder) -> Self {
19528  20659   
            builder.build()
19529  20660   
        }
19530  20661   
    }
19531         -
    /// A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
       20662  +
    /// A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
19532  20663   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19533  20664   
    pub(crate) struct Builder {
19534         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
19535         -
        pub(crate) short: ::std::option::Option<i16>,
19536         -
        pub(crate) integer: ::std::option::Option<i32>,
19537         -
        pub(crate) long: ::std::option::Option<i64>,
19538         -
        pub(crate) float: ::std::option::Option<f32>,
19539         -
        pub(crate) double: ::std::option::Option<f64>,
19540         -
        pub(crate) boolean: ::std::option::Option<bool>,
19541         -
        pub(crate) timestamp:
19542         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       20665  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
19543  20666   
    }
19544  20667   
    impl Builder {
19545  20668   
        #[allow(missing_docs)] // documentation missing in model
19546         -
        pub(crate) fn set_string(
       20669  +
        pub(crate) fn set_test_id(
19547  20670   
            mut self,
19548         -
            input: impl ::std::convert::Into<::std::string::String>,
       20671  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19549  20672   
        ) -> Self {
19550         -
            self.string = Some(input.into());
       20673  +
            self.test_id = input.map(|v| v.into());
19551  20674   
            self
19552  20675   
        }
19553         -
        #[allow(missing_docs)] // documentation missing in model
19554         -
        pub(crate) fn set_short(mut self, input: impl ::std::convert::Into<i16>) -> Self {
19555         -
            self.short = Some(input.into());
19556         -
            self
       20676  +
        /// Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       20677  +
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
       20678  +
            self.build_enforcing_all_constraints()
19557  20679   
        }
19558         -
        #[allow(missing_docs)] // documentation missing in model
19559         -
        pub(crate) fn set_integer(mut self, input: impl ::std::convert::Into<i32>) -> Self {
19560         -
            self.integer = Some(input.into());
19561         -
            self
       20680  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoPayloadInput {
       20681  +
            crate::input::TestGetNoPayloadInput {
       20682  +
                test_id: self.test_id,
       20683  +
            }
19562  20684   
        }
19563         -
        #[allow(missing_docs)] // documentation missing in model
19564         -
        pub(crate) fn set_long(mut self, input: impl ::std::convert::Into<i64>) -> Self {
19565         -
            self.long = Some(input.into());
19566         -
            self
       20685  +
    }
       20686  +
}
       20687  +
/// See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       20688  +
pub mod test_get_no_payload_input {
       20689  +
       20690  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
       20691  +
        fn from(builder: Builder) -> Self {
       20692  +
            builder.build()
19567  20693   
        }
       20694  +
    }
       20695  +
    /// A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       20696  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20697  +
    pub struct Builder {
       20698  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20699  +
    }
       20700  +
    impl Builder {
19568  20701   
        #[allow(missing_docs)] // documentation missing in model
19569         -
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
19570         -
            self.float = Some(input.into());
       20702  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20703  +
            self.test_id = input;
19571  20704   
            self
19572  20705   
        }
19573         -
        #[allow(missing_docs)] // documentation missing in model
19574         -
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
19575         -
            self.double = Some(input.into());
19576         -
            self
       20706  +
        /// Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
       20707  +
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
       20708  +
            self.build_enforcing_required_and_enum_traits()
19577  20709   
        }
19578         -
        /// Serialized in the path as true or false.
19579         -
        pub(crate) fn set_boolean(mut self, input: impl ::std::convert::Into<bool>) -> Self {
19580         -
            self.boolean = Some(input.into());
19581         -
            self
       20710  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestGetNoPayloadInput {
       20711  +
            crate::input::TestGetNoPayloadInput {
       20712  +
                test_id: self.test_id,
       20713  +
            }
19582  20714   
        }
19583         -
        /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
19584         -
        pub(crate) fn set_timestamp(
       20715  +
    }
       20716  +
}
       20717  +
/// See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       20718  +
pub(crate) mod test_post_no_payload_input_internal {
       20719  +
       20720  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
       20721  +
        fn from(builder: Builder) -> Self {
       20722  +
            builder.build()
       20723  +
        }
       20724  +
    }
       20725  +
    /// A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       20726  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20727  +
    pub(crate) struct Builder {
       20728  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20729  +
    }
       20730  +
    impl Builder {
       20731  +
        #[allow(missing_docs)] // documentation missing in model
       20732  +
        pub(crate) fn set_test_id(
19585  20733   
            mut self,
19586         -
            input: impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
       20734  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19587  20735   
        ) -> Self {
19588         -
            self.timestamp = Some(input.into());
       20736  +
            self.test_id = input.map(|v| v.into());
19589  20737   
            self
19590  20738   
        }
19591         -
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
19592         -
        ///
19593         -
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if a [`ConstraintViolation`] occurs.
19594         -
        ///
19595         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
19596         -
        pub fn build(
19597         -
            self,
19598         -
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
       20739  +
        /// Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       20740  +
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
19599  20741   
            self.build_enforcing_all_constraints()
19600  20742   
        }
19601         -
        fn build_enforcing_all_constraints(
19602         -
            self,
19603         -
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
19604         -
            Ok(crate::input::HttpRequestWithLabelsInput {
19605         -
                string: self.string.ok_or(ConstraintViolation::MissingString)?,
19606         -
                short: self.short.ok_or(ConstraintViolation::MissingShort)?,
19607         -
                integer: self.integer.ok_or(ConstraintViolation::MissingInteger)?,
19608         -
                long: self.long.ok_or(ConstraintViolation::MissingLong)?,
19609         -
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
19610         -
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
19611         -
                boolean: self.boolean.ok_or(ConstraintViolation::MissingBoolean)?,
19612         -
                timestamp: self
19613         -
                    .timestamp
19614         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
19615         -
            })
       20743  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoPayloadInput {
       20744  +
            crate::input::TestPostNoPayloadInput {
       20745  +
                test_id: self.test_id,
       20746  +
            }
19616  20747   
        }
19617  20748   
    }
19618  20749   
}
19619         -
/// See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
19620         -
pub mod http_request_with_labels_input {
       20750  +
/// See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       20751  +
pub mod test_post_no_payload_input {
19621  20752   
19622         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
19623         -
    /// Holds one variant for each of the ways the builder can fail.
19624         -
    #[allow(clippy::enum_variant_names)]
19625         -
    pub enum ConstraintViolation {
19626         -
        /// `string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19627         -
        MissingString,
19628         -
        /// `short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19629         -
        MissingShort,
19630         -
        /// `integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19631         -
        MissingInteger,
19632         -
        /// `long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19633         -
        MissingLong,
19634         -
        /// `float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19635         -
        MissingFloat,
19636         -
        /// `double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19637         -
        MissingDouble,
19638         -
        /// `boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19639         -
        MissingBoolean,
19640         -
        /// `timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19641         -
        MissingTimestamp,
       20753  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
       20754  +
        fn from(builder: Builder) -> Self {
       20755  +
            builder.build()
       20756  +
        }
19642  20757   
    }
19643         -
    impl ::std::fmt::Display for ConstraintViolation {
19644         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19645         -
            match self {
19646         -
                ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19647         -
                ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19648         -
                ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19649         -
                ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19650         -
                ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19651         -
                ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19652         -
                ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
19653         -
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       20758  +
    /// A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       20759  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20760  +
    pub struct Builder {
       20761  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
       20762  +
    }
       20763  +
    impl Builder {
       20764  +
        #[allow(missing_docs)] // documentation missing in model
       20765  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       20766  +
            self.test_id = input;
       20767  +
            self
       20768  +
        }
       20769  +
        /// Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
       20770  +
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
       20771  +
            self.build_enforcing_required_and_enum_traits()
       20772  +
        }
       20773  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::TestPostNoPayloadInput {
       20774  +
            crate::input::TestPostNoPayloadInput {
       20775  +
                test_id: self.test_id,
19654  20776   
            }
19655  20777   
        }
19656  20778   
    }
19657         -
    impl ::std::error::Error for ConstraintViolation {}
19658         -
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
19659         -
        type Error = ConstraintViolation;
       20779  +
}
       20780  +
/// See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       20781  +
pub(crate) mod test_get_no_input_no_payload_input_internal {
       20782  +
       20783  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
       20784  +
        fn from(builder: Builder) -> Self {
       20785  +
            builder.build()
       20786  +
        }
       20787  +
    }
       20788  +
    /// A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       20789  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20790  +
    pub(crate) struct Builder {}
       20791  +
    impl Builder {
       20792  +
        /// Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       20793  +
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
       20794  +
            self.build_enforcing_all_constraints()
       20795  +
        }
       20796  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoInputNoPayloadInput {
       20797  +
            crate::input::TestGetNoInputNoPayloadInput {}
       20798  +
        }
       20799  +
    }
       20800  +
}
       20801  +
/// See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       20802  +
pub mod test_get_no_input_no_payload_input {
19660  20803   
19661         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       20804  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
       20805  +
        fn from(builder: Builder) -> Self {
19662  20806   
            builder.build()
19663  20807   
        }
19664  20808   
    }
19665         -
    /// A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
       20809  +
    /// A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
19666  20810   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19667         -
    pub struct Builder {
19668         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
19669         -
        pub(crate) short: ::std::option::Option<i16>,
19670         -
        pub(crate) integer: ::std::option::Option<i32>,
19671         -
        pub(crate) long: ::std::option::Option<i64>,
19672         -
        pub(crate) float: ::std::option::Option<f32>,
19673         -
        pub(crate) double: ::std::option::Option<f64>,
19674         -
        pub(crate) boolean: ::std::option::Option<bool>,
19675         -
        pub(crate) timestamp:
19676         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19677         -
    }
       20811  +
    pub struct Builder {}
19678  20812   
    impl Builder {
19679         -
        #[allow(missing_docs)] // documentation missing in model
19680         -
        pub fn string(mut self, input: ::std::string::String) -> Self {
19681         -
            self.string = Some(input);
19682         -
            self
19683         -
        }
19684         -
        #[allow(missing_docs)] // documentation missing in model
19685         -
        pub fn short(mut self, input: i16) -> Self {
19686         -
            self.short = Some(input);
19687         -
            self
19688         -
        }
19689         -
        #[allow(missing_docs)] // documentation missing in model
19690         -
        pub fn integer(mut self, input: i32) -> Self {
19691         -
            self.integer = Some(input);
19692         -
            self
       20813  +
        /// Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
       20814  +
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
       20815  +
            self.build_enforcing_required_and_enum_traits()
19693  20816   
        }
19694         -
        #[allow(missing_docs)] // documentation missing in model
19695         -
        pub fn long(mut self, input: i64) -> Self {
19696         -
            self.long = Some(input);
19697         -
            self
       20817  +
        fn build_enforcing_required_and_enum_traits(
       20818  +
            self,
       20819  +
        ) -> crate::input::TestGetNoInputNoPayloadInput {
       20820  +
            crate::input::TestGetNoInputNoPayloadInput {}
19698  20821   
        }
19699         -
        #[allow(missing_docs)] // documentation missing in model
19700         -
        pub fn float(mut self, input: f32) -> Self {
19701         -
            self.float = Some(input);
19702         -
            self
       20822  +
    }
       20823  +
}
       20824  +
/// See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       20825  +
pub(crate) mod test_post_no_input_no_payload_input_internal {
       20826  +
       20827  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
       20828  +
        fn from(builder: Builder) -> Self {
       20829  +
            builder.build()
19703  20830   
        }
19704         -
        #[allow(missing_docs)] // documentation missing in model
19705         -
        pub fn double(mut self, input: f64) -> Self {
19706         -
            self.double = Some(input);
19707         -
            self
       20831  +
    }
       20832  +
    /// A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       20833  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20834  +
    pub(crate) struct Builder {}
       20835  +
    impl Builder {
       20836  +
        /// Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       20837  +
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
       20838  +
            self.build_enforcing_all_constraints()
19708  20839   
        }
19709         -
        /// Serialized in the path as true or false.
19710         -
        pub fn boolean(mut self, input: bool) -> Self {
19711         -
            self.boolean = Some(input);
19712         -
            self
       20840  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoInputNoPayloadInput {
       20841  +
            crate::input::TestPostNoInputNoPayloadInput {}
19713  20842   
        }
19714         -
        /// Note that this member has no format, so it's serialized as an RFC 3399 date-time.
19715         -
        pub fn timestamp(
19716         -
            mut self,
19717         -
            input: ::aws_smithy_http_server_python::types::DateTime,
19718         -
        ) -> Self {
19719         -
            self.timestamp = Some(input);
19720         -
            self
       20843  +
    }
       20844  +
}
       20845  +
/// See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       20846  +
pub mod test_post_no_input_no_payload_input {
       20847  +
       20848  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
       20849  +
        fn from(builder: Builder) -> Self {
       20850  +
            builder.build()
19721  20851   
        }
19722         -
        /// Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
19723         -
        ///
19724         -
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if you do not provide a value for all non-`Option`al members.
19725         -
        ///
19726         -
        pub fn build(
19727         -
            self,
19728         -
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
       20852  +
    }
       20853  +
    /// A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       20854  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20855  +
    pub struct Builder {}
       20856  +
    impl Builder {
       20857  +
        /// Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
       20858  +
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
19729  20859   
            self.build_enforcing_required_and_enum_traits()
19730  20860   
        }
19731  20861   
        fn build_enforcing_required_and_enum_traits(
19732  20862   
            self,
19733         -
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
19734         -
            Ok(crate::input::HttpRequestWithLabelsInput {
19735         -
                string: self.string.ok_or(ConstraintViolation::MissingString)?,
19736         -
                short: self.short.ok_or(ConstraintViolation::MissingShort)?,
19737         -
                integer: self.integer.ok_or(ConstraintViolation::MissingInteger)?,
19738         -
                long: self.long.ok_or(ConstraintViolation::MissingLong)?,
19739         -
                float: self.float.ok_or(ConstraintViolation::MissingFloat)?,
19740         -
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
19741         -
                boolean: self.boolean.ok_or(ConstraintViolation::MissingBoolean)?,
19742         -
                timestamp: self
19743         -
                    .timestamp
19744         -
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
19745         -
            })
       20863  +
        ) -> crate::input::TestPostNoInputNoPayloadInput {
       20864  +
            crate::input::TestPostNoInputNoPayloadInput {}
19746  20865   
        }
19747  20866   
    }
19748  20867   
}
19749         -
/// See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
19750         -
pub(crate) mod media_type_header_input_internal {
       20868  +
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       20869  +
pub(crate) mod datetime_offsets_input_internal {
19751  20870   
19752         -
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
       20871  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
19753  20872   
        fn from(builder: Builder) -> Self {
19754  20873   
            builder.build()
19755  20874   
        }
19756  20875   
    }
19757         -
    /// A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       20876  +
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
19758  20877   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19759         -
    pub(crate) struct Builder {
19760         -
        pub(crate) json: ::std::option::Option<::std::string::String>,
19761         -
    }
       20878  +
    pub(crate) struct Builder {}
19762  20879   
    impl Builder {
19763         -
        #[allow(missing_docs)] // documentation missing in model
19764         -
        pub(crate) fn set_json(
19765         -
            mut self,
19766         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19767         -
        ) -> Self {
19768         -
            self.json = input.map(|v| v.into());
19769         -
            self
19770         -
        }
19771         -
        /// Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
19772         -
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
       20880  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       20881  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
19773  20882   
            self.build_enforcing_all_constraints()
19774  20883   
        }
19775         -
        fn build_enforcing_all_constraints(self) -> crate::input::MediaTypeHeaderInput {
19776         -
            crate::input::MediaTypeHeaderInput { json: self.json }
       20884  +
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
       20885  +
            crate::input::DatetimeOffsetsInput {}
19777  20886   
        }
19778  20887   
    }
19779  20888   
}
19780         -
/// See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
19781         -
pub mod media_type_header_input {
       20889  +
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       20890  +
pub mod datetime_offsets_input {
19782  20891   
19783         -
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
       20892  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
19784  20893   
        fn from(builder: Builder) -> Self {
19785  20894   
            builder.build()
19786  20895   
        }
19787  20896   
    }
19788         -
    /// A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       20897  +
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
19789  20898   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19790         -
    pub struct Builder {
19791         -
        pub(crate) json: ::std::option::Option<::std::string::String>,
19792         -
    }
       20899  +
    pub struct Builder {}
19793  20900   
    impl Builder {
19794         -
        #[allow(missing_docs)] // documentation missing in model
19795         -
        pub fn json(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
19796         -
            self.json = input;
19797         -
            self
19798         -
        }
19799         -
        /// Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
19800         -
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
       20901  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
       20902  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
19801  20903   
            self.build_enforcing_required_and_enum_traits()
19802  20904   
        }
19803         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::MediaTypeHeaderInput {
19804         -
            crate::input::MediaTypeHeaderInput { json: self.json }
       20905  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::DatetimeOffsetsInput {
       20906  +
            crate::input::DatetimeOffsetsInput {}
19805  20907   
        }
19806  20908   
    }
19807  20909   
}
19808         -
/// See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
19809         -
pub(crate) mod timestamp_format_headers_input_internal {
       20910  +
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       20911  +
pub(crate) mod fractional_seconds_input_internal {
19810  20912   
19811         -
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
       20913  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
19812  20914   
        fn from(builder: Builder) -> Self {
19813  20915   
            builder.build()
19814  20916   
        }
19815  20917   
    }
19816         -
    /// A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       20918  +
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
19817  20919   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19818         -
    pub(crate) struct Builder {
19819         -
        pub(crate) member_epoch_seconds:
19820         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19821         -
        pub(crate) member_http_date:
19822         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19823         -
        pub(crate) member_date_time:
19824         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19825         -
        pub(crate) default_format:
19826         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19827         -
        pub(crate) target_epoch_seconds:
19828         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19829         -
        pub(crate) target_http_date:
19830         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19831         -
        pub(crate) target_date_time:
19832         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19833         -
    }
       20920  +
    pub(crate) struct Builder {}
19834  20921   
    impl Builder {
19835         -
        #[allow(missing_docs)] // documentation missing in model
19836         -
        pub(crate) fn set_member_epoch_seconds(
19837         -
            mut self,
19838         -
            input: Option<
19839         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19840         -
            >,
19841         -
        ) -> Self {
19842         -
            self.member_epoch_seconds = input.map(|v| v.into());
19843         -
            self
       20922  +
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       20923  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
       20924  +
            self.build_enforcing_all_constraints()
19844  20925   
        }
19845         -
        #[allow(missing_docs)] // documentation missing in model
19846         -
        pub(crate) fn set_member_http_date(
19847         -
            mut self,
19848         -
            input: Option<
19849         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19850         -
            >,
19851         -
        ) -> Self {
19852         -
            self.member_http_date = input.map(|v| v.into());
19853         -
            self
       20926  +
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
       20927  +
            crate::input::FractionalSecondsInput {}
19854  20928   
        }
19855         -
        #[allow(missing_docs)] // documentation missing in model
19856         -
        pub(crate) fn set_member_date_time(
19857         -
            mut self,
19858         -
            input: Option<
19859         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19860         -
            >,
19861         -
        ) -> Self {
19862         -
            self.member_date_time = input.map(|v| v.into());
19863         -
            self
       20929  +
    }
       20930  +
}
       20931  +
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       20932  +
pub mod fractional_seconds_input {
       20933  +
       20934  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
       20935  +
        fn from(builder: Builder) -> Self {
       20936  +
            builder.build()
19864  20937   
        }
19865         -
        #[allow(missing_docs)] // documentation missing in model
19866         -
        pub(crate) fn set_default_format(
19867         -
            mut self,
19868         -
            input: Option<
19869         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19870         -
            >,
19871         -
        ) -> Self {
19872         -
            self.default_format = input.map(|v| v.into());
19873         -
            self
       20938  +
    }
       20939  +
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       20940  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20941  +
    pub struct Builder {}
       20942  +
    impl Builder {
       20943  +
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
       20944  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
       20945  +
            self.build_enforcing_required_and_enum_traits()
19874  20946   
        }
19875         -
        #[allow(missing_docs)] // documentation missing in model
19876         -
        pub(crate) fn set_target_epoch_seconds(
19877         -
            mut self,
19878         -
            input: Option<
19879         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19880         -
            >,
19881         -
        ) -> Self {
19882         -
            self.target_epoch_seconds = input.map(|v| v.into());
19883         -
            self
       20947  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::FractionalSecondsInput {
       20948  +
            crate::input::FractionalSecondsInput {}
19884  20949   
        }
       20950  +
    }
       20951  +
}
       20952  +
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
       20953  +
pub(crate) mod put_with_content_encoding_input_internal {
       20954  +
       20955  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
       20956  +
        fn from(builder: Builder) -> Self {
       20957  +
            builder.build()
       20958  +
        }
       20959  +
    }
       20960  +
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
       20961  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20962  +
    pub(crate) struct Builder {
       20963  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
       20964  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
       20965  +
    }
       20966  +
    impl Builder {
19885  20967   
        #[allow(missing_docs)] // documentation missing in model
19886         -
        pub(crate) fn set_target_http_date(
       20968  +
        pub(crate) fn set_encoding(
19887  20969   
            mut self,
19888         -
            input: Option<
19889         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19890         -
            >,
       20970  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19891  20971   
        ) -> Self {
19892         -
            self.target_http_date = input.map(|v| v.into());
       20972  +
            self.encoding = input.map(|v| v.into());
19893  20973   
            self
19894  20974   
        }
19895  20975   
        #[allow(missing_docs)] // documentation missing in model
19896         -
        pub(crate) fn set_target_date_time(
       20976  +
        pub(crate) fn set_data(
19897  20977   
            mut self,
19898         -
            input: Option<
19899         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
19900         -
            >,
       20978  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
19901  20979   
        ) -> Self {
19902         -
            self.target_date_time = input.map(|v| v.into());
       20980  +
            self.data = input.map(|v| v.into());
19903  20981   
            self
19904  20982   
        }
19905         -
        /// Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
19906         -
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
       20983  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
       20984  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
19907  20985   
            self.build_enforcing_all_constraints()
19908  20986   
        }
19909         -
        fn build_enforcing_all_constraints(self) -> crate::input::TimestampFormatHeadersInput {
19910         -
            crate::input::TimestampFormatHeadersInput {
19911         -
                member_epoch_seconds: self.member_epoch_seconds,
19912         -
                member_http_date: self.member_http_date,
19913         -
                member_date_time: self.member_date_time,
19914         -
                default_format: self.default_format,
19915         -
                target_epoch_seconds: self.target_epoch_seconds,
19916         -
                target_http_date: self.target_http_date,
19917         -
                target_date_time: self.target_date_time,
       20987  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
       20988  +
            crate::input::PutWithContentEncodingInput {
       20989  +
                encoding: self.encoding,
       20990  +
                data: self.data,
19918  20991   
            }
19919  20992   
        }
19920  20993   
    }
19921  20994   
}
19922         -
/// See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
19923         -
pub mod timestamp_format_headers_input {
       20995  +
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
       20996  +
pub mod put_with_content_encoding_input {
19924  20997   
19925         -
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
       20998  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
19926  20999   
        fn from(builder: Builder) -> Self {
19927  21000   
            builder.build()
19928  21001   
        }
19929  21002   
    }
19930         -
    /// A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       21003  +
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
19931  21004   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
19932  21005   
    pub struct Builder {
19933         -
        pub(crate) member_epoch_seconds:
19934         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19935         -
        pub(crate) member_http_date:
19936         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19937         -
        pub(crate) member_date_time:
19938         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19939         -
        pub(crate) default_format:
19940         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19941         -
        pub(crate) target_epoch_seconds:
19942         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19943         -
        pub(crate) target_http_date:
19944         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19945         -
        pub(crate) target_date_time:
19946         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
       21006  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
       21007  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
19947  21008   
    }
19948  21009   
    impl Builder {
19949  21010   
        #[allow(missing_docs)] // documentation missing in model
19950         -
        pub fn member_epoch_seconds(
19951         -
            mut self,
19952         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19953         -
        ) -> Self {
19954         -
            self.member_epoch_seconds = input;
       21011  +
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       21012  +
            self.encoding = input;
19955  21013   
            self
19956  21014   
        }
19957  21015   
        #[allow(missing_docs)] // documentation missing in model
19958         -
        pub fn member_http_date(
19959         -
            mut self,
19960         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19961         -
        ) -> Self {
19962         -
            self.member_http_date = input;
       21016  +
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       21017  +
            self.data = input;
19963  21018   
            self
19964  21019   
        }
19965         -
        #[allow(missing_docs)] // documentation missing in model
19966         -
        pub fn member_date_time(
19967         -
            mut self,
19968         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19969         -
        ) -> Self {
19970         -
            self.member_date_time = input;
19971         -
            self
       21020  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
       21021  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
       21022  +
            self.build_enforcing_required_and_enum_traits()
19972  21023   
        }
19973         -
        #[allow(missing_docs)] // documentation missing in model
19974         -
        pub fn default_format(
19975         -
            mut self,
19976         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19977         -
        ) -> Self {
19978         -
            self.default_format = input;
19979         -
            self
       21024  +
        fn build_enforcing_required_and_enum_traits(
       21025  +
            self,
       21026  +
        ) -> crate::input::PutWithContentEncodingInput {
       21027  +
            crate::input::PutWithContentEncodingInput {
       21028  +
                encoding: self.encoding,
       21029  +
                data: self.data,
       21030  +
            }
19980  21031   
        }
19981         -
        #[allow(missing_docs)] // documentation missing in model
19982         -
        pub fn target_epoch_seconds(
19983         -
            mut self,
19984         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19985         -
        ) -> Self {
19986         -
            self.target_epoch_seconds = input;
19987         -
            self
       21032  +
    }
       21033  +
}
       21034  +
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       21035  +
pub(crate) mod content_type_parameters_input_internal {
       21036  +
       21037  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
       21038  +
        fn from(builder: Builder) -> Self {
       21039  +
            builder.build()
19988  21040   
        }
       21041  +
    }
       21042  +
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       21043  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21044  +
    pub(crate) struct Builder {
       21045  +
        pub(crate) value: ::std::option::Option<i32>,
       21046  +
    }
       21047  +
    impl Builder {
19989  21048   
        #[allow(missing_docs)] // documentation missing in model
19990         -
        pub fn target_http_date(
19991         -
            mut self,
19992         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
19993         -
        ) -> Self {
19994         -
            self.target_http_date = input;
       21049  +
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
       21050  +
            self.value = input.map(|v| v.into());
19995  21051   
            self
19996  21052   
        }
       21053  +
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       21054  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
       21055  +
            self.build_enforcing_all_constraints()
       21056  +
        }
       21057  +
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
       21058  +
            crate::input::ContentTypeParametersInput { value: self.value }
       21059  +
        }
       21060  +
    }
       21061  +
}
       21062  +
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       21063  +
pub mod content_type_parameters_input {
       21064  +
       21065  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
       21066  +
        fn from(builder: Builder) -> Self {
       21067  +
            builder.build()
       21068  +
        }
       21069  +
    }
       21070  +
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       21071  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21072  +
    pub struct Builder {
       21073  +
        pub(crate) value: ::std::option::Option<i32>,
       21074  +
    }
       21075  +
    impl Builder {
19997  21076   
        #[allow(missing_docs)] // documentation missing in model
19998         -
        pub fn target_date_time(
19999         -
            mut self,
20000         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
20001         -
        ) -> Self {
20002         -
            self.target_date_time = input;
       21077  +
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
       21078  +
            self.value = input;
20003  21079   
            self
20004  21080   
        }
20005         -
        /// Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
20006         -
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
       21081  +
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
       21082  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
20007  21083   
            self.build_enforcing_required_and_enum_traits()
20008  21084   
        }
20009  21085   
        fn build_enforcing_required_and_enum_traits(
20010  21086   
            self,
20011         -
        ) -> crate::input::TimestampFormatHeadersInput {
20012         -
            crate::input::TimestampFormatHeadersInput {
20013         -
                member_epoch_seconds: self.member_epoch_seconds,
20014         -
                member_http_date: self.member_http_date,
20015         -
                member_date_time: self.member_date_time,
20016         -
                default_format: self.default_format,
20017         -
                target_epoch_seconds: self.target_epoch_seconds,
20018         -
                target_http_date: self.target_http_date,
20019         -
                target_date_time: self.target_date_time,
       21087  +
        ) -> crate::input::ContentTypeParametersInput {
       21088  +
            crate::input::ContentTypeParametersInput { value: self.value }
       21089  +
        }
       21090  +
    }
       21091  +
}
       21092  +
/// See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
       21093  +
pub(crate) mod operation_with_defaults_input_internal {
       21094  +
       21095  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21096  +
    /// Holds one variant for each of the ways the builder can fail.
       21097  +
    #[non_exhaustive]
       21098  +
    #[allow(clippy::enum_variant_names)]
       21099  +
    pub(crate) enum ConstraintViolation {
       21100  +
        /// Constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`.
       21101  +
        #[doc(hidden)]
       21102  +
        Defaults(crate::model::defaults_internal::ConstraintViolation),
       21103  +
    }
       21104  +
    impl ::std::fmt::Display for ConstraintViolation {
       21105  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21106  +
            match self {
       21107  +
                ConstraintViolation::Defaults(_) => write!(f, "constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`"),
       21108  +
            }
       21109  +
        }
       21110  +
    }
       21111  +
    impl ::std::error::Error for ConstraintViolation {}
       21112  +
    impl ConstraintViolation {
       21113  +
        pub(crate) fn as_validation_exception_field(
       21114  +
            self,
       21115  +
            path: ::std::string::String,
       21116  +
        ) -> crate::model::ValidationExceptionField {
       21117  +
            match self {
       21118  +
                ConstraintViolation::Defaults(inner) => {
       21119  +
                    inner.as_validation_exception_field(path + "/defaults")
       21120  +
                }
20020  21121   
            }
20021  21122   
        }
20022  21123   
    }
20023         -
}
20024         -
/// See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
20025         -
pub(crate) mod null_and_empty_headers_server_input_internal {
       21124  +
    impl ::std::convert::From<ConstraintViolation>
       21125  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       21126  +
    {
       21127  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       21128  +
            let first_validation_exception_field =
       21129  +
                constraint_violation.as_validation_exception_field("".to_owned());
       21130  +
            let validation_exception = crate::error::ValidationException {
       21131  +
                message: format!(
       21132  +
                    "1 validation error detected. {}",
       21133  +
                    &first_validation_exception_field.message
       21134  +
                ),
       21135  +
                field_list: Some(vec![first_validation_exception_field]),
       21136  +
            };
       21137  +
            Self::ConstraintViolation(
       21138  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       21139  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       21140  +
                            )
       21141  +
        }
       21142  +
    }
       21143  +
    impl ::std::convert::From<Builder>
       21144  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithDefaultsInput>
       21145  +
    {
       21146  +
        fn from(builder: Builder) -> Self {
       21147  +
            Self::Unconstrained(builder)
       21148  +
        }
       21149  +
    }
       21150  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithDefaultsInput {
       21151  +
        type Error = ConstraintViolation;
20026  21152   
20027         -
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
20028         -
        fn from(builder: Builder) -> Self {
       21153  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20029  21154   
            builder.build()
20030  21155   
        }
20031  21156   
    }
20032         -
    /// A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       21157  +
    /// A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
20033  21158   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20034  21159   
    pub(crate) struct Builder {
20035         -
        pub(crate) a: ::std::option::Option<::std::string::String>,
20036         -
        pub(crate) b: ::std::option::Option<::std::string::String>,
20037         -
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       21160  +
        pub(crate) defaults:
       21161  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
       21162  +
        pub(crate) client_optional_defaults:
       21163  +
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
       21164  +
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
       21165  +
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
20038  21166   
    }
20039  21167   
    impl Builder {
20040  21168   
        #[allow(missing_docs)] // documentation missing in model
20041         -
        pub(crate) fn set_a(
       21169  +
        pub(crate) fn set_defaults(
20042  21170   
            mut self,
20043         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       21171  +
            input: Option<
       21172  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
       21173  +
            >,
20044  21174   
        ) -> Self {
20045         -
            self.a = input.map(|v| v.into());
       21175  +
            self.defaults = input.map(|v| v.into());
20046  21176   
            self
20047  21177   
        }
20048  21178   
        #[allow(missing_docs)] // documentation missing in model
20049         -
        pub(crate) fn set_b(
       21179  +
        pub(crate) fn set_client_optional_defaults(
20050  21180   
            mut self,
20051         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       21181  +
            input: Option<impl ::std::convert::Into<crate::model::ClientOptionalDefaults>>,
20052  21182   
        ) -> Self {
20053         -
            self.b = input.map(|v| v.into());
       21183  +
            self.client_optional_defaults = input.map(|v| v.into());
20054  21184   
            self
20055  21185   
        }
20056  21186   
        #[allow(missing_docs)] // documentation missing in model
20057         -
        pub(crate) fn set_c(
       21187  +
        pub(crate) fn set_top_level_default(
20058  21188   
            mut self,
20059         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       21189  +
            input: impl ::std::convert::Into<::std::string::String>,
20060  21190   
        ) -> Self {
20061         -
            self.c = input.map(|v| v.into());
       21191  +
            self.top_level_default = Some(input.into());
20062  21192   
            self
20063  21193   
        }
20064         -
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
20065         -
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
       21194  +
        #[allow(missing_docs)] // documentation missing in model
       21195  +
        pub(crate) fn set_other_top_level_default(
       21196  +
            mut self,
       21197  +
            input: impl ::std::convert::Into<i32>,
       21198  +
        ) -> Self {
       21199  +
            self.other_top_level_default = Some(input.into());
       21200  +
            self
       21201  +
        }
       21202  +
        /// Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
       21203  +
        ///
       21204  +
        /// The builder fails to construct a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) if a [`ConstraintViolation`] occurs.
       21205  +
        ///
       21206  +
        pub fn build(
       21207  +
            self,
       21208  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
20066  21209   
            self.build_enforcing_all_constraints()
20067  21210   
        }
20068         -
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersServerInput {
20069         -
            crate::input::NullAndEmptyHeadersServerInput {
20070         -
                a: self.a,
20071         -
                b: self.b,
20072         -
                c: self.c,
20073         -
            }
       21211  +
        fn build_enforcing_all_constraints(
       21212  +
            self,
       21213  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
       21214  +
            Ok(crate::input::OperationWithDefaultsInput {
       21215  +
                defaults: self
       21216  +
                    .defaults
       21217  +
                    .map(|v| match v {
       21218  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       21219  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       21220  +
                    })
       21221  +
                    .map(|res| res.map_err(ConstraintViolation::Defaults))
       21222  +
                    .transpose()?,
       21223  +
                client_optional_defaults: self.client_optional_defaults,
       21224  +
                top_level_default: self.top_level_default.unwrap_or_else(|| String::from("hi")),
       21225  +
                other_top_level_default: self.other_top_level_default.unwrap_or(0i32),
       21226  +
            })
20074  21227   
        }
20075  21228   
    }
20076  21229   
}
20077         -
/// See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
20078         -
pub mod null_and_empty_headers_server_input {
       21230  +
/// See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
       21231  +
pub mod operation_with_defaults_input {
20079  21232   
20080         -
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
       21233  +
    impl ::std::convert::From<Builder> for crate::input::OperationWithDefaultsInput {
20081  21234   
        fn from(builder: Builder) -> Self {
20082  21235   
            builder.build()
20083  21236   
        }
20084  21237   
    }
20085         -
    /// A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       21238  +
    /// A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
20086  21239   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20087  21240   
    pub struct Builder {
20088         -
        pub(crate) a: ::std::option::Option<::std::string::String>,
20089         -
        pub(crate) b: ::std::option::Option<::std::string::String>,
20090         -
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       21241  +
        pub(crate) defaults: ::std::option::Option<crate::model::Defaults>,
       21242  +
        pub(crate) client_optional_defaults:
       21243  +
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
       21244  +
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
       21245  +
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
20091  21246   
    }
20092  21247   
    impl Builder {
20093  21248   
        #[allow(missing_docs)] // documentation missing in model
20094         -
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
20095         -
            self.a = input;
       21249  +
        pub fn defaults(mut self, input: ::std::option::Option<crate::model::Defaults>) -> Self {
       21250  +
            self.defaults = input;
20096  21251   
            self
20097  21252   
        }
20098  21253   
        #[allow(missing_docs)] // documentation missing in model
20099         -
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
20100         -
            self.b = input;
       21254  +
        pub fn client_optional_defaults(
       21255  +
            mut self,
       21256  +
            input: ::std::option::Option<crate::model::ClientOptionalDefaults>,
       21257  +
        ) -> Self {
       21258  +
            self.client_optional_defaults = input;
20101  21259   
            self
20102  21260   
        }
20103  21261   
        #[allow(missing_docs)] // documentation missing in model
20104         -
        pub fn c(
20105         -
            mut self,
20106         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20107         -
        ) -> Self {
20108         -
            self.c = input;
       21262  +
        pub fn top_level_default(mut self, input: ::std::string::String) -> Self {
       21263  +
            self.top_level_default = Some(input);
20109  21264   
            self
20110  21265   
        }
20111         -
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
20112         -
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
       21266  +
        #[allow(missing_docs)] // documentation missing in model
       21267  +
        pub fn other_top_level_default(mut self, input: i32) -> Self {
       21268  +
            self.other_top_level_default = Some(input);
       21269  +
            self
       21270  +
        }
       21271  +
        /// Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
       21272  +
        pub fn build(self) -> crate::input::OperationWithDefaultsInput {
20113  21273   
            self.build_enforcing_required_and_enum_traits()
20114  21274   
        }
20115  21275   
        fn build_enforcing_required_and_enum_traits(
20116  21276   
            self,
20117         -
        ) -> crate::input::NullAndEmptyHeadersServerInput {
20118         -
            crate::input::NullAndEmptyHeadersServerInput {
20119         -
                a: self.a,
20120         -
                b: self.b,
20121         -
                c: self.c,
       21277  +
        ) -> crate::input::OperationWithDefaultsInput {
       21278  +
            crate::input::OperationWithDefaultsInput {
       21279  +
                defaults: self.defaults,
       21280  +
                client_optional_defaults: self.client_optional_defaults,
       21281  +
                top_level_default: self.top_level_default.unwrap_or_else(|| String::from("hi")),
       21282  +
                other_top_level_default: self.other_top_level_default.unwrap_or(0i32),
20122  21283   
            }
20123  21284   
        }
20124  21285   
    }
20125  21286   
}
20126         -
/// See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
20127         -
pub(crate) mod null_and_empty_headers_client_input_internal {
       21287  +
/// See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       21288  +
pub(crate) mod operation_with_nested_structure_input_internal {
20128  21289   
20129         -
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
       21290  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21291  +
    /// Holds one variant for each of the ways the builder can fail.
       21292  +
    #[non_exhaustive]
       21293  +
    #[allow(clippy::enum_variant_names)]
       21294  +
    pub(crate) enum ConstraintViolation {
       21295  +
        /// `top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
       21296  +
        MissingTopLevel,
       21297  +
        /// Constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`.
       21298  +
        #[doc(hidden)]
       21299  +
        TopLevel(crate::model::top_level_internal::ConstraintViolation),
       21300  +
    }
       21301  +
    impl ::std::fmt::Display for ConstraintViolation {
       21302  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21303  +
            match self {
       21304  +
                ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
       21305  +
                ConstraintViolation::TopLevel(_) => write!(f, "constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`"),
       21306  +
            }
       21307  +
        }
       21308  +
    }
       21309  +
    impl ::std::error::Error for ConstraintViolation {}
       21310  +
    impl ConstraintViolation {
       21311  +
        pub(crate) fn as_validation_exception_field(
       21312  +
            self,
       21313  +
            path: ::std::string::String,
       21314  +
        ) -> crate::model::ValidationExceptionField {
       21315  +
            match self {
       21316  +
            ConstraintViolation::MissingTopLevel => crate::model::ValidationExceptionField {
       21317  +
                                                message: format!("Value at '{}/topLevel' failed to satisfy constraint: Member must not be null", path),
       21318  +
                                                path: path + "/topLevel",
       21319  +
                                            },
       21320  +
            ConstraintViolation::TopLevel(inner) => inner.as_validation_exception_field(path + "/topLevel"),
       21321  +
        }
       21322  +
        }
       21323  +
    }
       21324  +
    impl ::std::convert::From<ConstraintViolation>
       21325  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       21326  +
    {
       21327  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       21328  +
            let first_validation_exception_field =
       21329  +
                constraint_violation.as_validation_exception_field("".to_owned());
       21330  +
            let validation_exception = crate::error::ValidationException {
       21331  +
                message: format!(
       21332  +
                    "1 validation error detected. {}",
       21333  +
                    &first_validation_exception_field.message
       21334  +
                ),
       21335  +
                field_list: Some(vec![first_validation_exception_field]),
       21336  +
            };
       21337  +
            Self::ConstraintViolation(
       21338  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       21339  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       21340  +
                            )
       21341  +
        }
       21342  +
    }
       21343  +
    impl ::std::convert::From<Builder>
       21344  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithNestedStructureInput>
       21345  +
    {
20130  21346   
        fn from(builder: Builder) -> Self {
       21347  +
            Self::Unconstrained(builder)
       21348  +
        }
       21349  +
    }
       21350  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
       21351  +
        type Error = ConstraintViolation;
       21352  +
       21353  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20131  21354   
            builder.build()
20132  21355   
        }
20133  21356   
    }
20134         -
    /// A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       21357  +
    /// A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
20135  21358   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20136  21359   
    pub(crate) struct Builder {
20137         -
        pub(crate) a: ::std::option::Option<::std::string::String>,
20138         -
        pub(crate) b: ::std::option::Option<::std::string::String>,
20139         -
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       21360  +
        pub(crate) top_level:
       21361  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::TopLevel>>,
20140  21362   
    }
20141  21363   
    impl Builder {
20142  21364   
        #[allow(missing_docs)] // documentation missing in model
20143         -
        pub(crate) fn set_a(
20144         -
            mut self,
20145         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
20146         -
        ) -> Self {
20147         -
            self.a = input.map(|v| v.into());
20148         -
            self
20149         -
        }
20150         -
        #[allow(missing_docs)] // documentation missing in model
20151         -
        pub(crate) fn set_b(
20152         -
            mut self,
20153         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
20154         -
        ) -> Self {
20155         -
            self.b = input.map(|v| v.into());
20156         -
            self
20157         -
        }
20158         -
        #[allow(missing_docs)] // documentation missing in model
20159         -
        pub(crate) fn set_c(
       21365  +
        pub(crate) fn set_top_level(
20160  21366   
            mut self,
20161         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       21367  +
            input: impl ::std::convert::Into<
       21368  +
                crate::constrained::MaybeConstrained<crate::model::TopLevel>,
       21369  +
            >,
20162  21370   
        ) -> Self {
20163         -
            self.c = input.map(|v| v.into());
       21371  +
            self.top_level = Some(input.into());
20164  21372   
            self
20165  21373   
        }
20166         -
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
20167         -
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
       21374  +
        /// Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       21375  +
        ///
       21376  +
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if a [`ConstraintViolation`] occurs.
       21377  +
        ///
       21378  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       21379  +
        pub fn build(
       21380  +
            self,
       21381  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
20168  21382   
            self.build_enforcing_all_constraints()
20169  21383   
        }
20170         -
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersClientInput {
20171         -
            crate::input::NullAndEmptyHeadersClientInput {
20172         -
                a: self.a,
20173         -
                b: self.b,
20174         -
                c: self.c,
       21384  +
        fn build_enforcing_all_constraints(
       21385  +
            self,
       21386  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
       21387  +
            Ok(crate::input::OperationWithNestedStructureInput {
       21388  +
                top_level: self
       21389  +
                    .top_level
       21390  +
                    .map(|v| match v {
       21391  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       21392  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       21393  +
                    })
       21394  +
                    .map(|res| res.map_err(ConstraintViolation::TopLevel))
       21395  +
                    .transpose()?
       21396  +
                    .ok_or(ConstraintViolation::MissingTopLevel)?,
       21397  +
            })
       21398  +
        }
       21399  +
    }
       21400  +
}
       21401  +
/// See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       21402  +
pub mod operation_with_nested_structure_input {
       21403  +
       21404  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21405  +
    /// Holds one variant for each of the ways the builder can fail.
       21406  +
    #[allow(clippy::enum_variant_names)]
       21407  +
    pub enum ConstraintViolation {
       21408  +
        /// `top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
       21409  +
        MissingTopLevel,
       21410  +
    }
       21411  +
    impl ::std::fmt::Display for ConstraintViolation {
       21412  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21413  +
            match self {
       21414  +
                ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
20175  21415   
            }
20176  21416   
        }
20177  21417   
    }
20178         -
}
20179         -
/// See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
20180         -
pub mod null_and_empty_headers_client_input {
       21418  +
    impl ::std::error::Error for ConstraintViolation {}
       21419  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
       21420  +
        type Error = ConstraintViolation;
20181  21421   
20182         -
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
20183         -
        fn from(builder: Builder) -> Self {
       21422  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20184  21423   
            builder.build()
20185  21424   
        }
20186  21425   
    }
20187         -
    /// A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       21426  +
    /// A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
20188  21427   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20189  21428   
    pub struct Builder {
20190         -
        pub(crate) a: ::std::option::Option<::std::string::String>,
20191         -
        pub(crate) b: ::std::option::Option<::std::string::String>,
20192         -
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       21429  +
        pub(crate) top_level: ::std::option::Option<crate::model::TopLevel>,
20193  21430   
    }
20194  21431   
    impl Builder {
20195  21432   
        #[allow(missing_docs)] // documentation missing in model
20196         -
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
20197         -
            self.a = input;
20198         -
            self
20199         -
        }
20200         -
        #[allow(missing_docs)] // documentation missing in model
20201         -
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
20202         -
            self.b = input;
20203         -
            self
20204         -
        }
20205         -
        #[allow(missing_docs)] // documentation missing in model
20206         -
        pub fn c(
20207         -
            mut self,
20208         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20209         -
        ) -> Self {
20210         -
            self.c = input;
       21433  +
        pub fn top_level(mut self, input: crate::model::TopLevel) -> Self {
       21434  +
            self.top_level = Some(input);
20211  21435   
            self
20212  21436   
        }
20213         -
        /// Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
20214         -
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
       21437  +
        /// Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
       21438  +
        ///
       21439  +
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if you do not provide a value for all non-`Option`al members.
       21440  +
        ///
       21441  +
        pub fn build(
       21442  +
            self,
       21443  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
20215  21444   
            self.build_enforcing_required_and_enum_traits()
20216  21445   
        }
20217  21446   
        fn build_enforcing_required_and_enum_traits(
20218  21447   
            self,
20219         -
        ) -> crate::input::NullAndEmptyHeadersClientInput {
20220         -
            crate::input::NullAndEmptyHeadersClientInput {
20221         -
                a: self.a,
20222         -
                b: self.b,
20223         -
                c: self.c,
20224         -
            }
       21448  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
       21449  +
            Ok(crate::input::OperationWithNestedStructureInput {
       21450  +
                top_level: self.top_level.ok_or(ConstraintViolation::MissingTopLevel)?,
       21451  +
            })
20225  21452   
        }
20226  21453   
    }
20227  21454   
}
20228         -
/// See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
20229         -
pub(crate) mod input_and_output_with_headers_input_internal {
       21455  +
/// See [`InputStreamInput`](crate::input::InputStreamInput).
       21456  +
pub(crate) mod input_stream_input_internal {
20230  21457   
20231  21458   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
20232  21459   
    /// Holds one variant for each of the ways the builder can fail.
20233  21460   
    #[non_exhaustive]
20234  21461   
    #[allow(clippy::enum_variant_names)]
20235  21462   
    pub(crate) enum ConstraintViolation {
20236         -
        /// Constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`.
20237         -
        #[doc(hidden)]
20238         -
        HeaderStringSet(crate::model::string_set_internal::ConstraintViolation),
20239         -
        /// Constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`.
20240         -
        #[doc(hidden)]
20241         -
        HeaderEnum(crate::model::foo_enum_internal::ConstraintViolation),
20242         -
        /// Constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`.
20243         -
        #[doc(hidden)]
20244         -
        HeaderEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
       21463  +
        /// `stream` was not provided but it is required when building `InputStreamInput`.
       21464  +
        MissingStream,
20245  21465   
    }
20246  21466   
    impl ::std::fmt::Display for ConstraintViolation {
20247  21467   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
20248  21468   
            match self {
20249         -
                ConstraintViolation::HeaderStringSet(_) => write!(f, "constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`"),
20250         -
                ConstraintViolation::HeaderEnum(_) => write!(f, "constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`"),
20251         -
                ConstraintViolation::HeaderEnumList(_) => write!(f, "constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`"),
       21469  +
                ConstraintViolation::MissingStream => write!(
       21470  +
                    f,
       21471  +
                    "`stream` was not provided but it is required when building `InputStreamInput`"
       21472  +
                ),
20252  21473   
            }
20253  21474   
        }
20254  21475   
    }
20255  21476   
    impl ::std::error::Error for ConstraintViolation {}
20256  21477   
    impl ConstraintViolation {
20257  21478   
        pub(crate) fn as_validation_exception_field(
20258  21479   
            self,
20259  21480   
            path: ::std::string::String,
20260  21481   
        ) -> crate::model::ValidationExceptionField {
20261  21482   
            match self {
20262         -
                ConstraintViolation::HeaderStringSet(inner) => {
20263         -
                    inner.as_validation_exception_field(path + "/headerStringSet")
20264         -
                }
20265         -
                ConstraintViolation::HeaderEnum(inner) => {
20266         -
                    inner.as_validation_exception_field(path + "/headerEnum")
20267         -
                }
20268         -
                ConstraintViolation::HeaderEnumList(inner) => {
20269         -
                    inner.as_validation_exception_field(path + "/headerEnumList")
20270         -
                }
20271         -
            }
       21483  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       21484  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       21485  +
                                                path: path + "/stream",
       21486  +
                                            },
       21487  +
        }
20272  21488   
        }
20273  21489   
    }
20274  21490   
    impl ::std::convert::From<ConstraintViolation>
20275  21491   
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
20276  21492   
    {
20277  21493   
        fn from(constraint_violation: ConstraintViolation) -> Self {
20278  21494   
            let first_validation_exception_field =
20279  21495   
                constraint_violation.as_validation_exception_field("".to_owned());
20280  21496   
            let validation_exception = crate::error::ValidationException {
20281  21497   
                message: format!(
20282  21498   
                    "1 validation error detected. {}",
20283  21499   
                    &first_validation_exception_field.message
20284  21500   
                ),
20285  21501   
                field_list: Some(vec![first_validation_exception_field]),
20286  21502   
            };
20287  21503   
            Self::ConstraintViolation(
20288  21504   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
20289  21505   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
20290  21506   
                            )
20291  21507   
        }
20292  21508   
    }
20293  21509   
    impl ::std::convert::From<Builder>
20294         -
        for crate::constrained::MaybeConstrained<crate::input::InputAndOutputWithHeadersInput>
       21510  +
        for crate::constrained::MaybeConstrained<crate::input::InputStreamInput>
20295  21511   
    {
20296  21512   
        fn from(builder: Builder) -> Self {
20297  21513   
            Self::Unconstrained(builder)
20298  21514   
        }
20299  21515   
    }
20300         -
    impl ::std::convert::TryFrom<Builder> for crate::input::InputAndOutputWithHeadersInput {
       21516  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputStreamInput {
20301  21517   
        type Error = ConstraintViolation;
20302  21518   
20303  21519   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20304  21520   
            builder.build()
20305  21521   
        }
20306  21522   
    }
20307         -
    /// A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       21523  +
    /// A builder for [`InputStreamInput`](crate::input::InputStreamInput).
20308  21524   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20309  21525   
    pub(crate) struct Builder {
20310         -
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
20311         -
        pub(crate) header_byte: ::std::option::Option<i8>,
20312         -
        pub(crate) header_short: ::std::option::Option<i16>,
20313         -
        pub(crate) header_integer: ::std::option::Option<i32>,
20314         -
        pub(crate) header_long: ::std::option::Option<i64>,
20315         -
        pub(crate) header_float: ::std::option::Option<f32>,
20316         -
        pub(crate) header_double: ::std::option::Option<f64>,
20317         -
        pub(crate) header_true_bool: ::std::option::Option<bool>,
20318         -
        pub(crate) header_false_bool: ::std::option::Option<bool>,
20319         -
        pub(crate) header_string_list:
20320         -
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20321         -
        pub(crate) header_string_set:
20322         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
20323         -
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
20324         -
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
20325         -
        pub(crate) header_timestamp_list: ::std::option::Option<
20326         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
20327         -
        >,
20328         -
        pub(crate) header_enum:
20329         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
20330         -
        pub(crate) header_enum_list: ::std::option::Option<
20331         -
            crate::constrained::MaybeConstrained<
20332         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
20333         -
            >,
20334         -
        >,
20335         -
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
20336         -
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       21526  +
        pub(crate) stream:
       21527  +
            ::std::option::Option<crate::python_event_stream::InputStreamInputStreamReceiver>,
20337  21528   
    }
20338  21529   
    impl Builder {
20339  21530   
        #[allow(missing_docs)] // documentation missing in model
20340         -
        pub(crate) fn set_header_string(
       21531  +
        pub(crate) fn set_stream(
20341  21532   
            mut self,
20342         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       21533  +
            input: impl ::std::convert::Into<crate::python_event_stream::InputStreamInputStreamReceiver>,
20343  21534   
        ) -> Self {
20344         -
            self.header_string = input.map(|v| v.into());
       21535  +
            self.stream = Some(input.into());
20345  21536   
            self
20346  21537   
        }
20347         -
        #[allow(missing_docs)] // documentation missing in model
20348         -
        pub(crate) fn set_header_byte(
20349         -
            mut self,
20350         -
            input: Option<impl ::std::convert::Into<i8>>,
20351         -
        ) -> Self {
20352         -
            self.header_byte = input.map(|v| v.into());
20353         -
            self
       21538  +
        /// Consumes the builder and constructs a [`InputStreamInput`](crate::input::InputStreamInput).
       21539  +
        ///
       21540  +
        /// The builder fails to construct a [`InputStreamInput`](crate::input::InputStreamInput) if a [`ConstraintViolation`] occurs.
       21541  +
        ///
       21542  +
        pub fn build(self) -> Result<crate::input::InputStreamInput, ConstraintViolation> {
       21543  +
            self.build_enforcing_all_constraints()
20354  21544   
        }
20355         -
        #[allow(missing_docs)] // documentation missing in model
20356         -
        pub(crate) fn set_header_short(
20357         -
            mut self,
20358         -
            input: Option<impl ::std::convert::Into<i16>>,
20359         -
        ) -> Self {
20360         -
            self.header_short = input.map(|v| v.into());
20361         -
            self
       21545  +
        fn build_enforcing_all_constraints(
       21546  +
            self,
       21547  +
        ) -> Result<crate::input::InputStreamInput, ConstraintViolation> {
       21548  +
            Ok(crate::input::InputStreamInput {
       21549  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       21550  +
            })
20362  21551   
        }
20363         -
        #[allow(missing_docs)] // documentation missing in model
20364         -
        pub(crate) fn set_header_integer(
20365         -
            mut self,
20366         -
            input: Option<impl ::std::convert::Into<i32>>,
20367         -
        ) -> Self {
20368         -
            self.header_integer = input.map(|v| v.into());
20369         -
            self
       21552  +
    }
       21553  +
}
       21554  +
/// See [`InputStreamInput`](crate::input::InputStreamInput).
       21555  +
pub mod input_stream_input {
       21556  +
       21557  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21558  +
    /// Holds one variant for each of the ways the builder can fail.
       21559  +
    #[allow(clippy::enum_variant_names)]
       21560  +
    pub enum ConstraintViolation {
       21561  +
        /// `stream` was not provided but it is required when building `InputStreamInput`.
       21562  +
        MissingStream,
       21563  +
    }
       21564  +
    impl ::std::fmt::Display for ConstraintViolation {
       21565  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21566  +
            match self {
       21567  +
                ConstraintViolation::MissingStream => write!(
       21568  +
                    f,
       21569  +
                    "`stream` was not provided but it is required when building `InputStreamInput`"
       21570  +
                ),
       21571  +
            }
20370  21572   
        }
20371         -
        #[allow(missing_docs)] // documentation missing in model
20372         -
        pub(crate) fn set_header_long(
20373         -
            mut self,
20374         -
            input: Option<impl ::std::convert::Into<i64>>,
20375         -
        ) -> Self {
20376         -
            self.header_long = input.map(|v| v.into());
20377         -
            self
       21573  +
    }
       21574  +
    impl ::std::error::Error for ConstraintViolation {}
       21575  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputStreamInput {
       21576  +
        type Error = ConstraintViolation;
       21577  +
       21578  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       21579  +
            builder.build()
20378  21580   
        }
       21581  +
    }
       21582  +
    /// A builder for [`InputStreamInput`](crate::input::InputStreamInput).
       21583  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21584  +
    pub struct Builder {
       21585  +
        pub(crate) stream:
       21586  +
            ::std::option::Option<crate::python_event_stream::InputStreamInputStreamReceiver>,
       21587  +
    }
       21588  +
    impl Builder {
20379  21589   
        #[allow(missing_docs)] // documentation missing in model
20380         -
        pub(crate) fn set_header_float(
       21590  +
        pub fn stream(
20381  21591   
            mut self,
20382         -
            input: Option<impl ::std::convert::Into<f32>>,
       21592  +
            input: crate::python_event_stream::InputStreamInputStreamReceiver,
20383  21593   
        ) -> Self {
20384         -
            self.header_float = input.map(|v| v.into());
       21594  +
            self.stream = Some(input);
20385  21595   
            self
20386  21596   
        }
20387         -
        #[allow(missing_docs)] // documentation missing in model
20388         -
        pub(crate) fn set_header_double(
20389         -
            mut self,
20390         -
            input: Option<impl ::std::convert::Into<f64>>,
20391         -
        ) -> Self {
20392         -
            self.header_double = input.map(|v| v.into());
20393         -
            self
       21597  +
        /// Consumes the builder and constructs a [`InputStreamInput`](crate::input::InputStreamInput).
       21598  +
        ///
       21599  +
        /// The builder fails to construct a [`InputStreamInput`](crate::input::InputStreamInput) if you do not provide a value for all non-`Option`al members.
       21600  +
        ///
       21601  +
        pub fn build(self) -> Result<crate::input::InputStreamInput, ConstraintViolation> {
       21602  +
            self.build_enforcing_required_and_enum_traits()
20394  21603   
        }
20395         -
        #[allow(missing_docs)] // documentation missing in model
20396         -
        pub(crate) fn set_header_true_bool(
20397         -
            mut self,
20398         -
            input: Option<impl ::std::convert::Into<bool>>,
20399         -
        ) -> Self {
20400         -
            self.header_true_bool = input.map(|v| v.into());
20401         -
            self
       21604  +
        fn build_enforcing_required_and_enum_traits(
       21605  +
            self,
       21606  +
        ) -> Result<crate::input::InputStreamInput, ConstraintViolation> {
       21607  +
            Ok(crate::input::InputStreamInput {
       21608  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       21609  +
            })
       21610  +
        }
       21611  +
    }
       21612  +
}
       21613  +
/// See [`OutputStreamInput`](crate::input::OutputStreamInput).
       21614  +
pub(crate) mod output_stream_input_internal {
       21615  +
       21616  +
    impl ::std::convert::From<Builder> for crate::input::OutputStreamInput {
       21617  +
        fn from(builder: Builder) -> Self {
       21618  +
            builder.build()
       21619  +
        }
       21620  +
    }
       21621  +
    /// A builder for [`OutputStreamInput`](crate::input::OutputStreamInput).
       21622  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21623  +
    pub(crate) struct Builder {}
       21624  +
    impl Builder {
       21625  +
        /// Consumes the builder and constructs a [`OutputStreamInput`](crate::input::OutputStreamInput).
       21626  +
        pub fn build(self) -> crate::input::OutputStreamInput {
       21627  +
            self.build_enforcing_all_constraints()
       21628  +
        }
       21629  +
        fn build_enforcing_all_constraints(self) -> crate::input::OutputStreamInput {
       21630  +
            crate::input::OutputStreamInput {}
       21631  +
        }
       21632  +
    }
       21633  +
}
       21634  +
/// See [`OutputStreamInput`](crate::input::OutputStreamInput).
       21635  +
pub mod output_stream_input {
       21636  +
       21637  +
    impl ::std::convert::From<Builder> for crate::input::OutputStreamInput {
       21638  +
        fn from(builder: Builder) -> Self {
       21639  +
            builder.build()
       21640  +
        }
       21641  +
    }
       21642  +
    /// A builder for [`OutputStreamInput`](crate::input::OutputStreamInput).
       21643  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21644  +
    pub struct Builder {}
       21645  +
    impl Builder {
       21646  +
        /// Consumes the builder and constructs a [`OutputStreamInput`](crate::input::OutputStreamInput).
       21647  +
        pub fn build(self) -> crate::input::OutputStreamInput {
       21648  +
            self.build_enforcing_required_and_enum_traits()
       21649  +
        }
       21650  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::OutputStreamInput {
       21651  +
            crate::input::OutputStreamInput {}
       21652  +
        }
       21653  +
    }
       21654  +
}
       21655  +
/// See [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       21656  +
pub(crate) mod duplex_stream_input_internal {
       21657  +
       21658  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21659  +
    /// Holds one variant for each of the ways the builder can fail.
       21660  +
    #[non_exhaustive]
       21661  +
    #[allow(clippy::enum_variant_names)]
       21662  +
    pub(crate) enum ConstraintViolation {
       21663  +
        /// `stream` was not provided but it is required when building `DuplexStreamInput`.
       21664  +
        MissingStream,
       21665  +
    }
       21666  +
    impl ::std::fmt::Display for ConstraintViolation {
       21667  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21668  +
            match self {
       21669  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamInput`"),
       21670  +
            }
20402  21671   
        }
20403         -
        #[allow(missing_docs)] // documentation missing in model
20404         -
        pub(crate) fn set_header_false_bool(
20405         -
            mut self,
20406         -
            input: Option<impl ::std::convert::Into<bool>>,
20407         -
        ) -> Self {
20408         -
            self.header_false_bool = input.map(|v| v.into());
20409         -
            self
       21672  +
    }
       21673  +
    impl ::std::error::Error for ConstraintViolation {}
       21674  +
    impl ConstraintViolation {
       21675  +
        pub(crate) fn as_validation_exception_field(
       21676  +
            self,
       21677  +
            path: ::std::string::String,
       21678  +
        ) -> crate::model::ValidationExceptionField {
       21679  +
            match self {
       21680  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       21681  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       21682  +
                                                path: path + "/stream",
       21683  +
                                            },
20410  21684   
        }
20411         -
        #[allow(missing_docs)] // documentation missing in model
20412         -
        pub(crate) fn set_header_string_list(
20413         -
            mut self,
20414         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
20415         -
        ) -> Self {
20416         -
            self.header_string_list = input.map(|v| v.into());
20417         -
            self
20418  21685   
        }
20419         -
        #[allow(missing_docs)] // documentation missing in model
20420         -
        pub(crate) fn set_header_string_set(
20421         -
            mut self,
20422         -
            input: Option<
20423         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
20424         -
            >,
20425         -
        ) -> Self {
20426         -
            self.header_string_set = input.map(|v| v.into());
20427         -
            self
       21686  +
    }
       21687  +
    impl ::std::convert::From<ConstraintViolation>
       21688  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       21689  +
    {
       21690  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       21691  +
            let first_validation_exception_field =
       21692  +
                constraint_violation.as_validation_exception_field("".to_owned());
       21693  +
            let validation_exception = crate::error::ValidationException {
       21694  +
                message: format!(
       21695  +
                    "1 validation error detected. {}",
       21696  +
                    &first_validation_exception_field.message
       21697  +
                ),
       21698  +
                field_list: Some(vec![first_validation_exception_field]),
       21699  +
            };
       21700  +
            Self::ConstraintViolation(
       21701  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       21702  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       21703  +
                            )
20428  21704   
        }
20429         -
        #[allow(missing_docs)] // documentation missing in model
20430         -
        pub(crate) fn set_header_integer_list(
20431         -
            mut self,
20432         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
20433         -
        ) -> Self {
20434         -
            self.header_integer_list = input.map(|v| v.into());
20435         -
            self
       21705  +
    }
       21706  +
    impl ::std::convert::From<Builder>
       21707  +
        for crate::constrained::MaybeConstrained<crate::input::DuplexStreamInput>
       21708  +
    {
       21709  +
        fn from(builder: Builder) -> Self {
       21710  +
            Self::Unconstrained(builder)
20436  21711   
        }
20437         -
        #[allow(missing_docs)] // documentation missing in model
20438         -
        pub(crate) fn set_header_boolean_list(
20439         -
            mut self,
20440         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
20441         -
        ) -> Self {
20442         -
            self.header_boolean_list = input.map(|v| v.into());
20443         -
            self
       21712  +
    }
       21713  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamInput {
       21714  +
        type Error = ConstraintViolation;
       21715  +
       21716  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       21717  +
            builder.build()
20444  21718   
        }
       21719  +
    }
       21720  +
    /// A builder for [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       21721  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21722  +
    pub(crate) struct Builder {
       21723  +
        pub(crate) stream:
       21724  +
            ::std::option::Option<crate::python_event_stream::DuplexStreamInputStreamReceiver>,
       21725  +
    }
       21726  +
    impl Builder {
20445  21727   
        #[allow(missing_docs)] // documentation missing in model
20446         -
        pub(crate) fn set_header_timestamp_list(
       21728  +
        pub(crate) fn set_stream(
20447  21729   
            mut self,
20448         -
            input: Option<
20449         -
                impl ::std::convert::Into<
20450         -
                    ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
20451         -
                >,
       21730  +
            input: impl ::std::convert::Into<
       21731  +
                crate::python_event_stream::DuplexStreamInputStreamReceiver,
20452  21732   
            >,
20453  21733   
        ) -> Self {
20454         -
            self.header_timestamp_list = input.map(|v| v.into());
       21734  +
            self.stream = Some(input.into());
20455  21735   
            self
20456  21736   
        }
20457         -
        #[allow(missing_docs)] // documentation missing in model
20458         -
        pub(crate) fn set_header_enum(
20459         -
            mut self,
20460         -
            input: Option<
20461         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
20462         -
            >,
20463         -
        ) -> Self {
20464         -
            self.header_enum = input.map(|v| v.into());
20465         -
            self
       21737  +
        /// Consumes the builder and constructs a [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       21738  +
        ///
       21739  +
        /// The builder fails to construct a [`DuplexStreamInput`](crate::input::DuplexStreamInput) if a [`ConstraintViolation`] occurs.
       21740  +
        ///
       21741  +
        pub fn build(self) -> Result<crate::input::DuplexStreamInput, ConstraintViolation> {
       21742  +
            self.build_enforcing_all_constraints()
20466  21743   
        }
20467         -
        #[allow(missing_docs)] // documentation missing in model
20468         -
        pub(crate) fn set_header_enum_list(
20469         -
            mut self,
20470         -
            input: Option<
20471         -
                impl ::std::convert::Into<
20472         -
                    crate::constrained::MaybeConstrained<
20473         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
20474         -
                    >,
20475         -
                >,
20476         -
            >,
20477         -
        ) -> Self {
20478         -
            self.header_enum_list = input.map(|v| v.into());
20479         -
            self
       21744  +
        fn build_enforcing_all_constraints(
       21745  +
            self,
       21746  +
        ) -> Result<crate::input::DuplexStreamInput, ConstraintViolation> {
       21747  +
            Ok(crate::input::DuplexStreamInput {
       21748  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       21749  +
            })
20480  21750   
        }
20481         -
        #[allow(missing_docs)] // documentation missing in model
20482         -
        pub(crate) fn set_header_integer_enum(
20483         -
            mut self,
20484         -
            input: Option<impl ::std::convert::Into<i32>>,
20485         -
        ) -> Self {
20486         -
            self.header_integer_enum = input.map(|v| v.into());
20487         -
            self
       21751  +
    }
       21752  +
}
       21753  +
/// See [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       21754  +
pub mod duplex_stream_input {
       21755  +
       21756  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21757  +
    /// Holds one variant for each of the ways the builder can fail.
       21758  +
    #[allow(clippy::enum_variant_names)]
       21759  +
    pub enum ConstraintViolation {
       21760  +
        /// `stream` was not provided but it is required when building `DuplexStreamInput`.
       21761  +
        MissingStream,
       21762  +
    }
       21763  +
    impl ::std::fmt::Display for ConstraintViolation {
       21764  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21765  +
            match self {
       21766  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamInput`"),
       21767  +
            }
       21768  +
        }
       21769  +
    }
       21770  +
    impl ::std::error::Error for ConstraintViolation {}
       21771  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamInput {
       21772  +
        type Error = ConstraintViolation;
       21773  +
       21774  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       21775  +
            builder.build()
20488  21776   
        }
       21777  +
    }
       21778  +
    /// A builder for [`DuplexStreamInput`](crate::input::DuplexStreamInput).
       21779  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21780  +
    pub struct Builder {
       21781  +
        pub(crate) stream:
       21782  +
            ::std::option::Option<crate::python_event_stream::DuplexStreamInputStreamReceiver>,
       21783  +
    }
       21784  +
    impl Builder {
20489  21785   
        #[allow(missing_docs)] // documentation missing in model
20490         -
        pub(crate) fn set_header_integer_enum_list(
       21786  +
        pub fn stream(
20491  21787   
            mut self,
20492         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       21788  +
            input: crate::python_event_stream::DuplexStreamInputStreamReceiver,
20493  21789   
        ) -> Self {
20494         -
            self.header_integer_enum_list = input.map(|v| v.into());
       21790  +
            self.stream = Some(input);
20495  21791   
            self
20496  21792   
        }
20497         -
        /// Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       21793  +
        /// Consumes the builder and constructs a [`DuplexStreamInput`](crate::input::DuplexStreamInput).
20498  21794   
        ///
20499         -
        /// The builder fails to construct a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput) if a [`ConstraintViolation`] occurs.
       21795  +
        /// The builder fails to construct a [`DuplexStreamInput`](crate::input::DuplexStreamInput) if you do not provide a value for all non-`Option`al members.
20500  21796   
        ///
20501         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
20502         -
        pub fn build(
20503         -
            self,
20504         -
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
20505         -
            self.build_enforcing_all_constraints()
       21797  +
        pub fn build(self) -> Result<crate::input::DuplexStreamInput, ConstraintViolation> {
       21798  +
            self.build_enforcing_required_and_enum_traits()
20506  21799   
        }
20507         -
        fn build_enforcing_all_constraints(
       21800  +
        fn build_enforcing_required_and_enum_traits(
20508  21801   
            self,
20509         -
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
20510         -
            Ok(crate::input::InputAndOutputWithHeadersInput {
20511         -
                header_string: self.header_string,
20512         -
                header_byte: self.header_byte,
20513         -
                header_short: self.header_short,
20514         -
                header_integer: self.header_integer,
20515         -
                header_long: self.header_long,
20516         -
                header_float: self.header_float,
20517         -
                header_double: self.header_double,
20518         -
                header_true_bool: self.header_true_bool,
20519         -
                header_false_bool: self.header_false_bool,
20520         -
                header_string_list: self.header_string_list,
20521         -
                header_string_set: self
20522         -
                    .header_string_set
20523         -
                    .map(|v| match v {
20524         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
20525         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
20526         -
                    })
20527         -
                    .map(|res| res.map_err(ConstraintViolation::HeaderStringSet))
20528         -
                    .transpose()?
20529         -
                    .map(|v: crate::model::StringSet| v.into()),
20530         -
                header_integer_list: self.header_integer_list,
20531         -
                header_boolean_list: self.header_boolean_list,
20532         -
                header_timestamp_list: self.header_timestamp_list,
20533         -
                header_enum: self
20534         -
                    .header_enum
20535         -
                    .map(|v| match v {
20536         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
20537         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
20538         -
                    })
20539         -
                    .map(|res| res.map_err(ConstraintViolation::HeaderEnum))
20540         -
                    .transpose()?,
20541         -
                header_enum_list: self
20542         -
                    .header_enum_list
20543         -
                    .map(|v| match v {
20544         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
20545         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
20546         -
                    })
20547         -
                    .map(|res| {
20548         -
                        res.map(|v| v.into())
20549         -
                            .map_err(ConstraintViolation::HeaderEnumList)
20550         -
                    })
20551         -
                    .transpose()?,
20552         -
                header_integer_enum: self.header_integer_enum,
20553         -
                header_integer_enum_list: self.header_integer_enum_list,
       21802  +
        ) -> Result<crate::input::DuplexStreamInput, ConstraintViolation> {
       21803  +
            Ok(crate::input::DuplexStreamInput {
       21804  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
20554  21805   
            })
20555  21806   
        }
20556  21807   
    }
20557  21808   
}
20558         -
/// See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
20559         -
pub mod input_and_output_with_headers_input {
       21809  +
/// See [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       21810  +
pub(crate) mod input_stream_with_initial_request_input_internal {
       21811  +
       21812  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21813  +
    /// Holds one variant for each of the ways the builder can fail.
       21814  +
    #[non_exhaustive]
       21815  +
    #[allow(clippy::enum_variant_names)]
       21816  +
    pub(crate) enum ConstraintViolation {
       21817  +
        /// `initial_request_member` was not provided but it is required when building `InputStreamWithInitialRequestInput`.
       21818  +
        MissingInitialRequestMember,
       21819  +
        /// `stream` was not provided but it is required when building `InputStreamWithInitialRequestInput`.
       21820  +
        MissingStream,
       21821  +
    }
       21822  +
    impl ::std::fmt::Display for ConstraintViolation {
       21823  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21824  +
            match self {
       21825  +
                ConstraintViolation::MissingInitialRequestMember => write!(f, "`initial_request_member` was not provided but it is required when building `InputStreamWithInitialRequestInput`"),
       21826  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `InputStreamWithInitialRequestInput`"),
       21827  +
            }
       21828  +
        }
       21829  +
    }
       21830  +
    impl ::std::error::Error for ConstraintViolation {}
       21831  +
    impl ConstraintViolation {
       21832  +
        pub(crate) fn as_validation_exception_field(
       21833  +
            self,
       21834  +
            path: ::std::string::String,
       21835  +
        ) -> crate::model::ValidationExceptionField {
       21836  +
            match self {
       21837  +
            ConstraintViolation::MissingInitialRequestMember => crate::model::ValidationExceptionField {
       21838  +
                                                message: format!("Value at '{}/initialRequestMember' failed to satisfy constraint: Member must not be null", path),
       21839  +
                                                path: path + "/initialRequestMember",
       21840  +
                                            },
       21841  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       21842  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       21843  +
                                                path: path + "/stream",
       21844  +
                                            },
       21845  +
        }
       21846  +
        }
       21847  +
    }
       21848  +
    impl ::std::convert::From<ConstraintViolation>
       21849  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       21850  +
    {
       21851  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       21852  +
            let first_validation_exception_field =
       21853  +
                constraint_violation.as_validation_exception_field("".to_owned());
       21854  +
            let validation_exception = crate::error::ValidationException {
       21855  +
                message: format!(
       21856  +
                    "1 validation error detected. {}",
       21857  +
                    &first_validation_exception_field.message
       21858  +
                ),
       21859  +
                field_list: Some(vec![first_validation_exception_field]),
       21860  +
            };
       21861  +
            Self::ConstraintViolation(
       21862  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       21863  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       21864  +
                            )
       21865  +
        }
       21866  +
    }
       21867  +
    impl ::std::convert::From<Builder>
       21868  +
        for crate::constrained::MaybeConstrained<crate::input::InputStreamWithInitialRequestInput>
       21869  +
    {
       21870  +
        fn from(builder: Builder) -> Self {
       21871  +
            Self::Unconstrained(builder)
       21872  +
        }
       21873  +
    }
       21874  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputStreamWithInitialRequestInput {
       21875  +
        type Error = ConstraintViolation;
20560  21876   
20561         -
    impl ::std::convert::From<Builder> for crate::input::InputAndOutputWithHeadersInput {
20562         -
        fn from(builder: Builder) -> Self {
       21877  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20563  21878   
            builder.build()
20564  21879   
        }
20565  21880   
    }
20566         -
    /// A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       21881  +
    /// A builder for [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
20567  21882   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20568         -
    pub struct Builder {
20569         -
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
20570         -
        pub(crate) header_byte: ::std::option::Option<i8>,
20571         -
        pub(crate) header_short: ::std::option::Option<i16>,
20572         -
        pub(crate) header_integer: ::std::option::Option<i32>,
20573         -
        pub(crate) header_long: ::std::option::Option<i64>,
20574         -
        pub(crate) header_float: ::std::option::Option<f32>,
20575         -
        pub(crate) header_double: ::std::option::Option<f64>,
20576         -
        pub(crate) header_true_bool: ::std::option::Option<bool>,
20577         -
        pub(crate) header_false_bool: ::std::option::Option<bool>,
20578         -
        pub(crate) header_string_list:
20579         -
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20580         -
        pub(crate) header_string_set: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20581         -
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
20582         -
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
20583         -
        pub(crate) header_timestamp_list: ::std::option::Option<
20584         -
            ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
       21883  +
    pub(crate) struct Builder {
       21884  +
        pub(crate) initial_request_member: ::std::option::Option<::std::string::String>,
       21885  +
        pub(crate) stream: ::std::option::Option<
       21886  +
            crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver,
20585  21887   
        >,
20586         -
        pub(crate) header_enum: ::std::option::Option<crate::model::FooEnum>,
20587         -
        pub(crate) header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
20588         -
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
20589         -
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
20590  21888   
    }
20591  21889   
    impl Builder {
20592  21890   
        #[allow(missing_docs)] // documentation missing in model
20593         -
        pub fn header_string(
       21891  +
        pub(crate) fn set_initial_request_member(
20594  21892   
            mut self,
20595         -
            input: ::std::option::Option<::std::string::String>,
       21893  +
            input: impl ::std::convert::Into<::std::string::String>,
20596  21894   
        ) -> Self {
20597         -
            self.header_string = input;
20598         -
            self
20599         -
        }
20600         -
        #[allow(missing_docs)] // documentation missing in model
20601         -
        pub fn header_byte(mut self, input: ::std::option::Option<i8>) -> Self {
20602         -
            self.header_byte = input;
20603         -
            self
20604         -
        }
20605         -
        #[allow(missing_docs)] // documentation missing in model
20606         -
        pub fn header_short(mut self, input: ::std::option::Option<i16>) -> Self {
20607         -
            self.header_short = input;
20608         -
            self
20609         -
        }
20610         -
        #[allow(missing_docs)] // documentation missing in model
20611         -
        pub fn header_integer(mut self, input: ::std::option::Option<i32>) -> Self {
20612         -
            self.header_integer = input;
20613         -
            self
20614         -
        }
20615         -
        #[allow(missing_docs)] // documentation missing in model
20616         -
        pub fn header_long(mut self, input: ::std::option::Option<i64>) -> Self {
20617         -
            self.header_long = input;
       21895  +
            self.initial_request_member = Some(input.into());
20618  21896   
            self
20619  21897   
        }
20620  21898   
        #[allow(missing_docs)] // documentation missing in model
20621         -
        pub fn header_float(mut self, input: ::std::option::Option<f32>) -> Self {
20622         -
            self.header_float = input;
       21899  +
        pub(crate) fn set_stream(
       21900  +
            mut self,
       21901  +
            input: impl ::std::convert::Into<
       21902  +
                crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver,
       21903  +
            >,
       21904  +
        ) -> Self {
       21905  +
            self.stream = Some(input.into());
20623  21906   
            self
20624  21907   
        }
20625         -
        #[allow(missing_docs)] // documentation missing in model
20626         -
        pub fn header_double(mut self, input: ::std::option::Option<f64>) -> Self {
20627         -
            self.header_double = input;
20628         -
            self
       21908  +
        /// Consumes the builder and constructs a [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       21909  +
        ///
       21910  +
        /// The builder fails to construct a [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput) if a [`ConstraintViolation`] occurs.
       21911  +
        ///
       21912  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       21913  +
        pub fn build(
       21914  +
            self,
       21915  +
        ) -> Result<crate::input::InputStreamWithInitialRequestInput, ConstraintViolation> {
       21916  +
            self.build_enforcing_all_constraints()
20629  21917   
        }
20630         -
        #[allow(missing_docs)] // documentation missing in model
20631         -
        pub fn header_true_bool(mut self, input: ::std::option::Option<bool>) -> Self {
20632         -
            self.header_true_bool = input;
20633         -
            self
       21918  +
        fn build_enforcing_all_constraints(
       21919  +
            self,
       21920  +
        ) -> Result<crate::input::InputStreamWithInitialRequestInput, ConstraintViolation> {
       21921  +
            Ok(crate::input::InputStreamWithInitialRequestInput {
       21922  +
                initial_request_member: self
       21923  +
                    .initial_request_member
       21924  +
                    .ok_or(ConstraintViolation::MissingInitialRequestMember)?,
       21925  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       21926  +
            })
20634  21927   
        }
20635         -
        #[allow(missing_docs)] // documentation missing in model
20636         -
        pub fn header_false_bool(mut self, input: ::std::option::Option<bool>) -> Self {
20637         -
            self.header_false_bool = input;
20638         -
            self
       21928  +
    }
       21929  +
}
       21930  +
/// See [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       21931  +
pub mod input_stream_with_initial_request_input {
       21932  +
       21933  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       21934  +
    /// Holds one variant for each of the ways the builder can fail.
       21935  +
    #[allow(clippy::enum_variant_names)]
       21936  +
    pub enum ConstraintViolation {
       21937  +
        /// `initial_request_member` was not provided but it is required when building `InputStreamWithInitialRequestInput`.
       21938  +
        MissingInitialRequestMember,
       21939  +
        /// `stream` was not provided but it is required when building `InputStreamWithInitialRequestInput`.
       21940  +
        MissingStream,
       21941  +
    }
       21942  +
    impl ::std::fmt::Display for ConstraintViolation {
       21943  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       21944  +
            match self {
       21945  +
                ConstraintViolation::MissingInitialRequestMember => write!(f, "`initial_request_member` was not provided but it is required when building `InputStreamWithInitialRequestInput`"),
       21946  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `InputStreamWithInitialRequestInput`"),
       21947  +
            }
20639  21948   
        }
20640         -
        #[allow(missing_docs)] // documentation missing in model
20641         -
        pub fn header_string_list(
20642         -
            mut self,
20643         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20644         -
        ) -> Self {
20645         -
            self.header_string_list = input;
20646         -
            self
       21949  +
    }
       21950  +
    impl ::std::error::Error for ConstraintViolation {}
       21951  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputStreamWithInitialRequestInput {
       21952  +
        type Error = ConstraintViolation;
       21953  +
       21954  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       21955  +
            builder.build()
20647  21956   
        }
       21957  +
    }
       21958  +
    /// A builder for [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       21959  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       21960  +
    pub struct Builder {
       21961  +
        pub(crate) initial_request_member: ::std::option::Option<::std::string::String>,
       21962  +
        pub(crate) stream: ::std::option::Option<
       21963  +
            crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver,
       21964  +
        >,
       21965  +
    }
       21966  +
    impl Builder {
20648  21967   
        #[allow(missing_docs)] // documentation missing in model
20649         -
        pub fn header_string_set(
20650         -
            mut self,
20651         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20652         -
        ) -> Self {
20653         -
            self.header_string_set = input;
       21968  +
        pub fn initial_request_member(mut self, input: ::std::string::String) -> Self {
       21969  +
            self.initial_request_member = Some(input);
20654  21970   
            self
20655  21971   
        }
20656  21972   
        #[allow(missing_docs)] // documentation missing in model
20657         -
        pub fn header_integer_list(
       21973  +
        pub fn stream(
20658  21974   
            mut self,
20659         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       21975  +
            input: crate::python_event_stream::InputStreamWithInitialRequestInputStreamReceiver,
20660  21976   
        ) -> Self {
20661         -
            self.header_integer_list = input;
       21977  +
            self.stream = Some(input);
20662  21978   
            self
20663  21979   
        }
20664         -
        #[allow(missing_docs)] // documentation missing in model
20665         -
        pub fn header_boolean_list(
20666         -
            mut self,
20667         -
            input: ::std::option::Option<::std::vec::Vec<bool>>,
20668         -
        ) -> Self {
20669         -
            self.header_boolean_list = input;
20670         -
            self
       21980  +
        /// Consumes the builder and constructs a [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput).
       21981  +
        ///
       21982  +
        /// The builder fails to construct a [`InputStreamWithInitialRequestInput`](crate::input::InputStreamWithInitialRequestInput) if you do not provide a value for all non-`Option`al members.
       21983  +
        ///
       21984  +
        pub fn build(
       21985  +
            self,
       21986  +
        ) -> Result<crate::input::InputStreamWithInitialRequestInput, ConstraintViolation> {
       21987  +
            self.build_enforcing_required_and_enum_traits()
20671  21988   
        }
20672         -
        #[allow(missing_docs)] // documentation missing in model
20673         -
        pub fn header_timestamp_list(
20674         -
            mut self,
20675         -
            input: ::std::option::Option<
20676         -
                ::std::vec::Vec<::aws_smithy_http_server_python::types::DateTime>,
20677         -
            >,
20678         -
        ) -> Self {
20679         -
            self.header_timestamp_list = input;
20680         -
            self
       21989  +
        fn build_enforcing_required_and_enum_traits(
       21990  +
            self,
       21991  +
        ) -> Result<crate::input::InputStreamWithInitialRequestInput, ConstraintViolation> {
       21992  +
            Ok(crate::input::InputStreamWithInitialRequestInput {
       21993  +
                initial_request_member: self
       21994  +
                    .initial_request_member
       21995  +
                    .ok_or(ConstraintViolation::MissingInitialRequestMember)?,
       21996  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       21997  +
            })
20681  21998   
        }
20682         -
        #[allow(missing_docs)] // documentation missing in model
20683         -
        pub fn header_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
20684         -
            self.header_enum = input;
20685         -
            self
       21999  +
    }
       22000  +
}
       22001  +
/// See [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       22002  +
pub(crate) mod output_stream_with_initial_response_input_internal {
       22003  +
       22004  +
    impl ::std::convert::From<Builder> for crate::input::OutputStreamWithInitialResponseInput {
       22005  +
        fn from(builder: Builder) -> Self {
       22006  +
            builder.build()
20686  22007   
        }
20687         -
        #[allow(missing_docs)] // documentation missing in model
20688         -
        pub fn header_enum_list(
20689         -
            mut self,
20690         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
20691         -
        ) -> Self {
20692         -
            self.header_enum_list = input;
20693         -
            self
       22008  +
    }
       22009  +
    /// A builder for [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       22010  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       22011  +
    pub(crate) struct Builder {}
       22012  +
    impl Builder {
       22013  +
        /// Consumes the builder and constructs a [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       22014  +
        pub fn build(self) -> crate::input::OutputStreamWithInitialResponseInput {
       22015  +
            self.build_enforcing_all_constraints()
20694  22016   
        }
20695         -
        #[allow(missing_docs)] // documentation missing in model
20696         -
        pub fn header_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
20697         -
            self.header_integer_enum = input;
20698         -
            self
       22017  +
        fn build_enforcing_all_constraints(
       22018  +
            self,
       22019  +
        ) -> crate::input::OutputStreamWithInitialResponseInput {
       22020  +
            crate::input::OutputStreamWithInitialResponseInput {}
20699  22021   
        }
20700         -
        #[allow(missing_docs)] // documentation missing in model
20701         -
        pub fn header_integer_enum_list(
20702         -
            mut self,
20703         -
            input: ::std::option::Option<::std::vec::Vec<i32>>,
20704         -
        ) -> Self {
20705         -
            self.header_integer_enum_list = input;
20706         -
            self
       22022  +
    }
       22023  +
}
       22024  +
/// See [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       22025  +
pub mod output_stream_with_initial_response_input {
       22026  +
       22027  +
    impl ::std::convert::From<Builder> for crate::input::OutputStreamWithInitialResponseInput {
       22028  +
        fn from(builder: Builder) -> Self {
       22029  +
            builder.build()
20707  22030   
        }
20708         -
        /// Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
20709         -
        pub fn build(self) -> crate::input::InputAndOutputWithHeadersInput {
       22031  +
    }
       22032  +
    /// A builder for [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       22033  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       22034  +
    pub struct Builder {}
       22035  +
    impl Builder {
       22036  +
        /// Consumes the builder and constructs a [`OutputStreamWithInitialResponseInput`](crate::input::OutputStreamWithInitialResponseInput).
       22037  +
        pub fn build(self) -> crate::input::OutputStreamWithInitialResponseInput {
20710  22038   
            self.build_enforcing_required_and_enum_traits()
20711  22039   
        }
20712  22040   
        fn build_enforcing_required_and_enum_traits(
20713  22041   
            self,
20714         -
        ) -> crate::input::InputAndOutputWithHeadersInput {
20715         -
            crate::input::InputAndOutputWithHeadersInput {
20716         -
                header_string: self.header_string,
20717         -
                header_byte: self.header_byte,
20718         -
                header_short: self.header_short,
20719         -
                header_integer: self.header_integer,
20720         -
                header_long: self.header_long,
20721         -
                header_float: self.header_float,
20722         -
                header_double: self.header_double,
20723         -
                header_true_bool: self.header_true_bool,
20724         -
                header_false_bool: self.header_false_bool,
20725         -
                header_string_list: self.header_string_list,
20726         -
                header_string_set: self.header_string_set,
20727         -
                header_integer_list: self.header_integer_list,
20728         -
                header_boolean_list: self.header_boolean_list,
20729         -
                header_timestamp_list: self.header_timestamp_list,
20730         -
                header_enum: self.header_enum,
20731         -
                header_enum_list: self.header_enum_list,
20732         -
                header_integer_enum: self.header_integer_enum,
20733         -
                header_integer_enum_list: self.header_integer_enum_list,
       22042  +
        ) -> crate::input::OutputStreamWithInitialResponseInput {
       22043  +
            crate::input::OutputStreamWithInitialResponseInput {}
       22044  +
        }
       22045  +
    }
       22046  +
}
       22047  +
/// See [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
       22048  +
pub(crate) mod duplex_stream_with_initial_messages_input_internal {
       22049  +
       22050  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       22051  +
    /// Holds one variant for each of the ways the builder can fail.
       22052  +
    #[non_exhaustive]
       22053  +
    #[allow(clippy::enum_variant_names)]
       22054  +
    pub(crate) enum ConstraintViolation {
       22055  +
        /// `initial_request_member` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`.
       22056  +
        MissingInitialRequestMember,
       22057  +
        /// `stream` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`.
       22058  +
        MissingStream,
       22059  +
    }
       22060  +
    impl ::std::fmt::Display for ConstraintViolation {
       22061  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       22062  +
            match self {
       22063  +
                ConstraintViolation::MissingInitialRequestMember => write!(f, "`initial_request_member` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`"),
       22064  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`"),
20734  22065   
            }
20735  22066   
        }
20736  22067   
    }
20737         -
}
20738         -
/// See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
20739         -
pub(crate) mod unit_input_and_output_input_internal {
       22068  +
    impl ::std::error::Error for ConstraintViolation {}
       22069  +
    impl ConstraintViolation {
       22070  +
        pub(crate) fn as_validation_exception_field(
       22071  +
            self,
       22072  +
            path: ::std::string::String,
       22073  +
        ) -> crate::model::ValidationExceptionField {
       22074  +
            match self {
       22075  +
            ConstraintViolation::MissingInitialRequestMember => crate::model::ValidationExceptionField {
       22076  +
                                                message: format!("Value at '{}/initialRequestMember' failed to satisfy constraint: Member must not be null", path),
       22077  +
                                                path: path + "/initialRequestMember",
       22078  +
                                            },
       22079  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       22080  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       22081  +
                                                path: path + "/stream",
       22082  +
                                            },
       22083  +
        }
       22084  +
        }
       22085  +
    }
       22086  +
    impl ::std::convert::From<ConstraintViolation>
       22087  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       22088  +
    {
       22089  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       22090  +
            let first_validation_exception_field =
       22091  +
                constraint_violation.as_validation_exception_field("".to_owned());
       22092  +
            let validation_exception = crate::error::ValidationException {
       22093  +
                message: format!(
       22094  +
                    "1 validation error detected. {}",
       22095  +
                    &first_validation_exception_field.message
       22096  +
                ),
       22097  +
                field_list: Some(vec![first_validation_exception_field]),
       22098  +
            };
       22099  +
            Self::ConstraintViolation(
       22100  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       22101  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       22102  +
                            )
       22103  +
        }
       22104  +
    }
       22105  +
    impl ::std::convert::From<Builder>
       22106  +
        for crate::constrained::MaybeConstrained<crate::input::DuplexStreamWithInitialMessagesInput>
       22107  +
    {
       22108  +
        fn from(builder: Builder) -> Self {
       22109  +
            Self::Unconstrained(builder)
       22110  +
        }
       22111  +
    }
       22112  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamWithInitialMessagesInput {
       22113  +
        type Error = ConstraintViolation;
20740  22114   
20741         -
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
20742         -
        fn from(builder: Builder) -> Self {
       22115  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20743  22116   
            builder.build()
20744  22117   
        }
20745  22118   
    }
20746         -
    /// A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
       22119  +
    /// A builder for [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
20747  22120   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20748         -
    pub(crate) struct Builder {}
       22121  +
    pub(crate) struct Builder {
       22122  +
        pub(crate) initial_request_member: ::std::option::Option<::std::string::String>,
       22123  +
        pub(crate) stream: ::std::option::Option<
       22124  +
            crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver,
       22125  +
        >,
       22126  +
    }
20749  22127   
    impl Builder {
20750         -
        /// Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
20751         -
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
       22128  +
        #[allow(missing_docs)] // documentation missing in model
       22129  +
        pub(crate) fn set_initial_request_member(
       22130  +
            mut self,
       22131  +
            input: impl ::std::convert::Into<::std::string::String>,
       22132  +
        ) -> Self {
       22133  +
            self.initial_request_member = Some(input.into());
       22134  +
            self
       22135  +
        }
       22136  +
        #[allow(missing_docs)] // documentation missing in model
       22137  +
        pub(crate) fn set_stream(
       22138  +
            mut self,
       22139  +
            input: impl ::std::convert::Into<
       22140  +
                crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver,
       22141  +
            >,
       22142  +
        ) -> Self {
       22143  +
            self.stream = Some(input.into());
       22144  +
            self
       22145  +
        }
       22146  +
        /// Consumes the builder and constructs a [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
       22147  +
        ///
       22148  +
        /// The builder fails to construct a [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput) if a [`ConstraintViolation`] occurs.
       22149  +
        ///
       22150  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       22151  +
        pub fn build(
       22152  +
            self,
       22153  +
        ) -> Result<crate::input::DuplexStreamWithInitialMessagesInput, ConstraintViolation>
       22154  +
        {
20752  22155   
            self.build_enforcing_all_constraints()
20753  22156   
        }
20754         -
        fn build_enforcing_all_constraints(self) -> crate::input::UnitInputAndOutputInput {
20755         -
            crate::input::UnitInputAndOutputInput {}
       22157  +
        fn build_enforcing_all_constraints(
       22158  +
            self,
       22159  +
        ) -> Result<crate::input::DuplexStreamWithInitialMessagesInput, ConstraintViolation>
       22160  +
        {
       22161  +
            Ok(crate::input::DuplexStreamWithInitialMessagesInput {
       22162  +
                initial_request_member: self
       22163  +
                    .initial_request_member
       22164  +
                    .ok_or(ConstraintViolation::MissingInitialRequestMember)?,
       22165  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       22166  +
            })
20756  22167   
        }
20757  22168   
    }
20758  22169   
}
20759         -
/// See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
20760         -
pub mod unit_input_and_output_input {
       22170  +
/// See [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
       22171  +
pub mod duplex_stream_with_initial_messages_input {
20761  22172   
20762         -
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
20763         -
        fn from(builder: Builder) -> Self {
20764         -
            builder.build()
20765         -
        }
       22173  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       22174  +
    /// Holds one variant for each of the ways the builder can fail.
       22175  +
    #[allow(clippy::enum_variant_names)]
       22176  +
    pub enum ConstraintViolation {
       22177  +
        /// `initial_request_member` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`.
       22178  +
        MissingInitialRequestMember,
       22179  +
        /// `stream` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`.
       22180  +
        MissingStream,
20766  22181   
    }
20767         -
    /// A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
20768         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20769         -
    pub struct Builder {}
20770         -
    impl Builder {
20771         -
        /// Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
20772         -
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
20773         -
            self.build_enforcing_required_and_enum_traits()
20774         -
        }
20775         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::UnitInputAndOutputInput {
20776         -
            crate::input::UnitInputAndOutputInput {}
       22182  +
    impl ::std::fmt::Display for ConstraintViolation {
       22183  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       22184  +
            match self {
       22185  +
                ConstraintViolation::MissingInitialRequestMember => write!(f, "`initial_request_member` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`"),
       22186  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamWithInitialMessagesInput`"),
       22187  +
            }
20777  22188   
        }
20778  22189   
    }
20779         -
}
20780         -
/// See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
20781         -
pub(crate) mod empty_input_and_empty_output_input_internal {
       22190  +
    impl ::std::error::Error for ConstraintViolation {}
       22191  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamWithInitialMessagesInput {
       22192  +
        type Error = ConstraintViolation;
20782  22193   
20783         -
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
20784         -
        fn from(builder: Builder) -> Self {
       22194  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20785  22195   
            builder.build()
20786  22196   
        }
20787  22197   
    }
20788         -
    /// A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
       22198  +
    /// A builder for [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
20789  22199   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20790         -
    pub(crate) struct Builder {}
       22200  +
    pub struct Builder {
       22201  +
        pub(crate) initial_request_member: ::std::option::Option<::std::string::String>,
       22202  +
        pub(crate) stream: ::std::option::Option<
       22203  +
            crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver,
       22204  +
        >,
       22205  +
    }
20791  22206   
    impl Builder {
20792         -
        /// Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
20793         -
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
20794         -
            self.build_enforcing_all_constraints()
20795         -
        }
20796         -
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyInputAndEmptyOutputInput {
20797         -
            crate::input::EmptyInputAndEmptyOutputInput {}
       22207  +
        #[allow(missing_docs)] // documentation missing in model
       22208  +
        pub fn initial_request_member(mut self, input: ::std::string::String) -> Self {
       22209  +
            self.initial_request_member = Some(input);
       22210  +
            self
20798  22211   
        }
20799         -
    }
20800         -
}
20801         -
/// See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
20802         -
pub mod empty_input_and_empty_output_input {
20803         -
20804         -
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
20805         -
        fn from(builder: Builder) -> Self {
20806         -
            builder.build()
       22212  +
        #[allow(missing_docs)] // documentation missing in model
       22213  +
        pub fn stream(
       22214  +
            mut self,
       22215  +
            input: crate::python_event_stream::DuplexStreamWithInitialMessagesInputStreamReceiver,
       22216  +
        ) -> Self {
       22217  +
            self.stream = Some(input);
       22218  +
            self
20807  22219   
        }
20808         -
    }
20809         -
    /// A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
20810         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20811         -
    pub struct Builder {}
20812         -
    impl Builder {
20813         -
        /// Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
20814         -
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
       22220  +
        /// Consumes the builder and constructs a [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput).
       22221  +
        ///
       22222  +
        /// The builder fails to construct a [`DuplexStreamWithInitialMessagesInput`](crate::input::DuplexStreamWithInitialMessagesInput) if you do not provide a value for all non-`Option`al members.
       22223  +
        ///
       22224  +
        pub fn build(
       22225  +
            self,
       22226  +
        ) -> Result<crate::input::DuplexStreamWithInitialMessagesInput, ConstraintViolation>
       22227  +
        {
20815  22228   
            self.build_enforcing_required_and_enum_traits()
20816  22229   
        }
20817  22230   
        fn build_enforcing_required_and_enum_traits(
20818  22231   
            self,
20819         -
        ) -> crate::input::EmptyInputAndEmptyOutputInput {
20820         -
            crate::input::EmptyInputAndEmptyOutputInput {}
       22232  +
        ) -> Result<crate::input::DuplexStreamWithInitialMessagesInput, ConstraintViolation>
       22233  +
        {
       22234  +
            Ok(crate::input::DuplexStreamWithInitialMessagesInput {
       22235  +
                initial_request_member: self
       22236  +
                    .initial_request_member
       22237  +
                    .ok_or(ConstraintViolation::MissingInitialRequestMember)?,
       22238  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       22239  +
            })
20821  22240   
        }
20822  22241   
    }
20823  22242   
}
20824         -
/// See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
20825         -
pub(crate) mod no_input_and_output_input_internal {
       22243  +
/// See [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
       22244  +
pub(crate) mod duplex_stream_with_distinct_streams_input_internal {
20826  22245   
20827         -
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
20828         -
        fn from(builder: Builder) -> Self {
20829         -
            builder.build()
       22246  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       22247  +
    /// Holds one variant for each of the ways the builder can fail.
       22248  +
    #[non_exhaustive]
       22249  +
    #[allow(clippy::enum_variant_names)]
       22250  +
    pub(crate) enum ConstraintViolation {
       22251  +
        /// `stream` was not provided but it is required when building `DuplexStreamWithDistinctStreamsInput`.
       22252  +
        MissingStream,
       22253  +
    }
       22254  +
    impl ::std::fmt::Display for ConstraintViolation {
       22255  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       22256  +
            match self {
       22257  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamWithDistinctStreamsInput`"),
       22258  +
            }
20830  22259   
        }
20831  22260   
    }
20832         -
    /// A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
20833         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20834         -
    pub(crate) struct Builder {}
20835         -
    impl Builder {
20836         -
        /// Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
20837         -
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
20838         -
            self.build_enforcing_all_constraints()
       22261  +
    impl ::std::error::Error for ConstraintViolation {}
       22262  +
    impl ConstraintViolation {
       22263  +
        pub(crate) fn as_validation_exception_field(
       22264  +
            self,
       22265  +
            path: ::std::string::String,
       22266  +
        ) -> crate::model::ValidationExceptionField {
       22267  +
            match self {
       22268  +
            ConstraintViolation::MissingStream => crate::model::ValidationExceptionField {
       22269  +
                                                message: format!("Value at '{}/stream' failed to satisfy constraint: Member must not be null", path),
       22270  +
                                                path: path + "/stream",
       22271  +
                                            },
20839  22272   
        }
20840         -
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndOutputInput {
20841         -
            crate::input::NoInputAndOutputInput {}
20842  22273   
        }
20843  22274   
    }
20844         -
}
20845         -
/// See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
20846         -
pub mod no_input_and_output_input {
20847         -
20848         -
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
20849         -
        fn from(builder: Builder) -> Self {
20850         -
            builder.build()
       22275  +
    impl ::std::convert::From<ConstraintViolation>
       22276  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       22277  +
    {
       22278  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       22279  +
            let first_validation_exception_field =
       22280  +
                constraint_violation.as_validation_exception_field("".to_owned());
       22281  +
            let validation_exception = crate::error::ValidationException {
       22282  +
                message: format!(
       22283  +
                    "1 validation error detected. {}",
       22284  +
                    &first_validation_exception_field.message
       22285  +
                ),
       22286  +
                field_list: Some(vec![first_validation_exception_field]),
       22287  +
            };
       22288  +
            Self::ConstraintViolation(
       22289  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       22290  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       22291  +
                            )
20851  22292   
        }
20852  22293   
    }
20853         -
    /// A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
20854         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20855         -
    pub struct Builder {}
20856         -
    impl Builder {
20857         -
        /// Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
20858         -
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
20859         -
            self.build_enforcing_required_and_enum_traits()
20860         -
        }
20861         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::NoInputAndOutputInput {
20862         -
            crate::input::NoInputAndOutputInput {}
       22294  +
    impl ::std::convert::From<Builder>
       22295  +
        for crate::constrained::MaybeConstrained<crate::input::DuplexStreamWithDistinctStreamsInput>
       22296  +
    {
       22297  +
        fn from(builder: Builder) -> Self {
       22298  +
            Self::Unconstrained(builder)
20863  22299   
        }
20864  22300   
    }
20865         -
}
20866         -
/// See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
20867         -
pub(crate) mod no_input_and_no_output_input_internal {
       22301  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamWithDistinctStreamsInput {
       22302  +
        type Error = ConstraintViolation;
20868  22303   
20869         -
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
20870         -
        fn from(builder: Builder) -> Self {
       22304  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20871  22305   
            builder.build()
20872  22306   
        }
20873  22307   
    }
20874         -
    /// A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       22308  +
    /// A builder for [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
20875  22309   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20876         -
    pub(crate) struct Builder {}
       22310  +
    pub(crate) struct Builder {
       22311  +
        pub(crate) stream: ::std::option::Option<
       22312  +
            crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver,
       22313  +
        >,
       22314  +
    }
20877  22315   
    impl Builder {
20878         -
        /// Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
20879         -
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
       22316  +
        #[allow(missing_docs)] // documentation missing in model
       22317  +
        pub(crate) fn set_stream(
       22318  +
            mut self,
       22319  +
            input: impl ::std::convert::Into<
       22320  +
                crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver,
       22321  +
            >,
       22322  +
        ) -> Self {
       22323  +
            self.stream = Some(input.into());
       22324  +
            self
       22325  +
        }
       22326  +
        /// Consumes the builder and constructs a [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
       22327  +
        ///
       22328  +
        /// The builder fails to construct a [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput) if a [`ConstraintViolation`] occurs.
       22329  +
        ///
       22330  +
        pub fn build(
       22331  +
            self,
       22332  +
        ) -> Result<crate::input::DuplexStreamWithDistinctStreamsInput, ConstraintViolation>
       22333  +
        {
20880  22334   
            self.build_enforcing_all_constraints()
20881  22335   
        }
20882         -
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndNoOutputInput {
20883         -
            crate::input::NoInputAndNoOutputInput {}
       22336  +
        fn build_enforcing_all_constraints(
       22337  +
            self,
       22338  +
        ) -> Result<crate::input::DuplexStreamWithDistinctStreamsInput, ConstraintViolation>
       22339  +
        {
       22340  +
            Ok(crate::input::DuplexStreamWithDistinctStreamsInput {
       22341  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       22342  +
            })
20884  22343   
        }
20885  22344   
    }
20886  22345   
}
20887         -
/// See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
20888         -
pub mod no_input_and_no_output_input {
       22346  +
/// See [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
       22347  +
pub mod duplex_stream_with_distinct_streams_input {
20889  22348   
20890         -
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
20891         -
        fn from(builder: Builder) -> Self {
       22349  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       22350  +
    /// Holds one variant for each of the ways the builder can fail.
       22351  +
    #[allow(clippy::enum_variant_names)]
       22352  +
    pub enum ConstraintViolation {
       22353  +
        /// `stream` was not provided but it is required when building `DuplexStreamWithDistinctStreamsInput`.
       22354  +
        MissingStream,
       22355  +
    }
       22356  +
    impl ::std::fmt::Display for ConstraintViolation {
       22357  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       22358  +
            match self {
       22359  +
                ConstraintViolation::MissingStream => write!(f, "`stream` was not provided but it is required when building `DuplexStreamWithDistinctStreamsInput`"),
       22360  +
            }
       22361  +
        }
       22362  +
    }
       22363  +
    impl ::std::error::Error for ConstraintViolation {}
       22364  +
    impl ::std::convert::TryFrom<Builder> for crate::input::DuplexStreamWithDistinctStreamsInput {
       22365  +
        type Error = ConstraintViolation;
       22366  +
       22367  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
20892  22368   
            builder.build()
20893  22369   
        }
20894  22370   
    }
20895         -
    /// A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       22371  +
    /// A builder for [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
20896  22372   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
20897         -
    pub struct Builder {}
       22373  +
    pub struct Builder {
       22374  +
        pub(crate) stream: ::std::option::Option<
       22375  +
            crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver,
       22376  +
        >,
       22377  +
    }
20898  22378   
    impl Builder {
20899         -
        /// Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
20900         -
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
       22379  +
        #[allow(missing_docs)] // documentation missing in model
       22380  +
        pub fn stream(
       22381  +
            mut self,
       22382  +
            input: crate::python_event_stream::DuplexStreamWithDistinctStreamsInputStreamReceiver,
       22383  +
        ) -> Self {
       22384  +
            self.stream = Some(input);
       22385  +
            self
       22386  +
        }
       22387  +
        /// Consumes the builder and constructs a [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput).
       22388  +
        ///
       22389  +
        /// The builder fails to construct a [`DuplexStreamWithDistinctStreamsInput`](crate::input::DuplexStreamWithDistinctStreamsInput) if you do not provide a value for all non-`Option`al members.
       22390  +
        ///
       22391  +
        pub fn build(
       22392  +
            self,
       22393  +
        ) -> Result<crate::input::DuplexStreamWithDistinctStreamsInput, ConstraintViolation>
       22394  +
        {
20901  22395   
            self.build_enforcing_required_and_enum_traits()
20902  22396   
        }
20903         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::NoInputAndNoOutputInput {
20904         -
            crate::input::NoInputAndNoOutputInput {}
       22397  +
        fn build_enforcing_required_and_enum_traits(
       22398  +
            self,
       22399  +
        ) -> Result<crate::input::DuplexStreamWithDistinctStreamsInput, ConstraintViolation>
       22400  +
        {
       22401  +
            Ok(crate::input::DuplexStreamWithDistinctStreamsInput {
       22402  +
                stream: self.stream.ok_or(ConstraintViolation::MissingStream)?,
       22403  +
            })
20905  22404   
        }
20906  22405   
    }
20907  22406   
}