Server Test

Server Test

rev. 3c756f73b1f83a0eed4275d9d1e22df0b10b66fb (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,158 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[non_exhaustive]
           3  +
#[derive(Debug)]
           4  +
pub struct EventErrorMarshaller;
           5  +
           6  +
impl EventErrorMarshaller {
           7  +
    pub fn new() -> Self {
           8  +
        EventErrorMarshaller
           9  +
    }
          10  +
}
          11  +
impl ::aws_smithy_eventstream::frame::MarshallMessage for EventErrorMarshaller {
          12  +
    type Input = crate::error::EventError;
          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::EventError::EventStreamErrorMessage(inner) => {
          27  +
                headers.push(::aws_smithy_types::event_stream::Header::new(
          28  +
                    ":exception-type",
          29  +
                    ::aws_smithy_types::event_stream::HeaderValue::String("errorMessage".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_event_stream_error_message::ser_event_stream_error_message_error(&inner)
          38  +
                                            .map_err(|err| ::aws_smithy_eventstream::error::Error::marshalling(format!("{err}")))?
          39  +
            }
          40  +
        };
          41  +
        Ok(::aws_smithy_types::event_stream::Message::new_from_parts(
          42  +
            headers, payload,
          43  +
        ))
          44  +
    }
          45  +
}
          46  +
          47  +
#[non_exhaustive]
          48  +
#[derive(Debug)]
          49  +
pub struct EventMarshaller;
          50  +
          51  +
impl EventMarshaller {
          52  +
    pub fn new() -> Self {
          53  +
        EventMarshaller
          54  +
    }
          55  +
}
          56  +
impl ::aws_smithy_eventstream::frame::MarshallMessage for EventMarshaller {
          57  +
    type Input = crate::model::Event;
          58  +
    fn marshall(
          59  +
        &self,
          60  +
        input: Self::Input,
          61  +
    ) -> std::result::Result<
          62  +
        ::aws_smithy_types::event_stream::Message,
          63  +
        ::aws_smithy_eventstream::error::Error,
          64  +
    > {
          65  +
        let mut headers = Vec::new();
          66  +
        headers.push(::aws_smithy_types::event_stream::Header::new(
          67  +
            ":message-type",
          68  +
            ::aws_smithy_types::event_stream::HeaderValue::String("event".into()),
          69  +
        ));
          70  +
        let payload = match input {
          71  +
            Self::Input::RegularMessage(inner) => {
          72  +
                headers.push(::aws_smithy_types::event_stream::Header::new(
          73  +
                    ":event-type",
          74  +
                    ::aws_smithy_types::event_stream::HeaderValue::String("regularMessage".into()),
          75  +
                ));
          76  +
                headers.push(::aws_smithy_types::event_stream::Header::new(
          77  +
                    ":content-type",
          78  +
                    ::aws_smithy_types::event_stream::HeaderValue::String(
          79  +
                        "application/json".into(),
          80  +
                    ),
          81  +
                ));
          82  +
                crate::protocol_serde::shape_event::ser_regular_message_payload(&inner).map_err(
          83  +
                    |err| ::aws_smithy_eventstream::error::Error::marshalling(format!("{err}")),
          84  +
                )?
          85  +
            }
          86  +
        };
          87  +
        Ok(::aws_smithy_types::event_stream::Message::new_from_parts(
          88  +
            headers, payload,
          89  +
        ))
          90  +
    }
          91  +
}
          92  +
          93  +
#[non_exhaustive]
          94  +
#[derive(Debug)]
          95  +
pub struct EventUnmarshaller;
          96  +
          97  +
impl EventUnmarshaller {
          98  +
    pub fn new() -> Self {
          99  +
        EventUnmarshaller
         100  +
    }
         101  +
}
         102  +
impl ::aws_smithy_eventstream::frame::UnmarshallMessage for EventUnmarshaller {
         103  +
    type Output = crate::model::Event;
         104  +
    type Error = crate::error::EventError;
         105  +
    fn unmarshall(
         106  +
        &self,
         107  +
        message: &::aws_smithy_types::event_stream::Message,
         108  +
    ) -> std::result::Result<
         109  +
        ::aws_smithy_eventstream::frame::UnmarshalledMessage<Self::Output, Self::Error>,
         110  +
        ::aws_smithy_eventstream::error::Error,
         111  +
    > {
         112  +
        let response_headers = ::aws_smithy_eventstream::smithy::parse_response_headers(message)?;
         113  +
        match response_headers.message_type.as_str() {
         114  +
            "event" => match response_headers.smithy_type.as_str() {
         115  +
                "regularMessage" => {
         116  +
                    let parsed =
         117  +
                            crate::protocol_serde::shape_event_stream_regular_message::de_event_stream_regular_message_payload(&message.payload()[..])
         118  +
                                            .map_err(|err| {
         119  +
                                                ::aws_smithy_eventstream::error::Error::unmarshalling(format!("failed to unmarshall RegularMessage: {err}"))
         120  +
                                            })?
         121  +
                        ;
         122  +
                    Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Event(
         123  +
                        crate::model::Event::RegularMessage(parsed),
         124  +
                    ))
         125  +
                }
         126  +
                _unknown_variant => {
         127  +
                    return Err(::aws_smithy_eventstream::error::Error::unmarshalling(
         128  +
                        format!("unrecognized :event-type: {_unknown_variant}"),
         129  +
                    ));
         130  +
                }
         131  +
            },
         132  +
            "exception" => {
         133  +
                if response_headers.smithy_type.as_str() == "errorMessage" {
         134  +
                    let mut builder =
         135  +
                        crate::error::event_stream_error_message_internal::Builder::default();
         136  +
                    builder = crate::protocol_serde::shape_event_stream_error_message::de_event_stream_error_message_json_err(&message.payload()[..], builder)
         137  +
                                                            .map_err(|err| {
         138  +
                                                                ::aws_smithy_eventstream::error::Error::unmarshalling(format!("failed to unmarshall errorMessage: {err}"))
         139  +
                                                            })?;
         140  +
                    return Ok(::aws_smithy_eventstream::frame::UnmarshalledMessage::Error(
         141  +
                        crate::error::EventError::EventStreamErrorMessage(builder.build()),
         142  +
                    ));
         143  +
                }
         144  +
                return Err(aws_smithy_eventstream::error::Error::unmarshalling(
         145  +
                    format!(
         146  +
                        "unrecognized exception: {}",
         147  +
                        response_headers.smithy_type.as_str()
         148  +
                    ),
         149  +
                ));
         150  +
            }
         151  +
            value => {
         152  +
                return Err(::aws_smithy_eventstream::error::Error::unmarshalling(
         153  +
                    format!("unrecognized :message-type: {value}"),
         154  +
                ));
         155  +
            }
         156  +
        }
         157  +
    }
         158  +
}

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

@@ -0,1 +0,5429 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[derive(::std::fmt::Debug)]
           4  +
pub struct EventStreamsOperationInput {
           5  +
    #[allow(missing_docs)] // documentation missing in model
           6  +
    pub events: ::aws_smithy_legacy_http::event_stream::Receiver<
           7  +
        crate::model::Event,
           8  +
        crate::error::EventError,
           9  +
    >,
          10  +
}
          11  +
impl EventStreamsOperationInput {
          12  +
    #[allow(missing_docs)] // documentation missing in model
          13  +
    pub fn events(
          14  +
        &self,
          15  +
    ) -> &::aws_smithy_legacy_http::event_stream::Receiver<
          16  +
        crate::model::Event,
          17  +
        crate::error::EventError,
          18  +
    > {
          19  +
        &self.events
          20  +
    }
          21  +
}
          22  +
impl crate::constrained::Constrained for crate::input::EventStreamsOperationInput {
          23  +
    type Unconstrained = crate::input::event_streams_operation_input_internal::Builder;
          24  +
}
          25  +
impl EventStreamsOperationInput {
          26  +
    /// Creates a new builder-style object to manufacture [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
          27  +
    pub fn builder() -> crate::input::event_streams_operation_input::Builder {
          28  +
        crate::input::event_streams_operation_input::Builder::default()
          29  +
    }
          30  +
}
          31  +
          32  +
#[allow(missing_docs)] // documentation missing in model
          33  +
#[derive(::std::fmt::Debug)]
          34  +
pub struct StreamingBlobOperationInput {
          35  +
    #[allow(missing_docs)] // documentation missing in model
          36  +
    pub streaming_blob: ::aws_smithy_types::byte_stream::ByteStream,
          37  +
}
          38  +
impl StreamingBlobOperationInput {
          39  +
    #[allow(missing_docs)] // documentation missing in model
          40  +
    pub fn streaming_blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
          41  +
        &self.streaming_blob
          42  +
    }
          43  +
}
          44  +
impl crate::constrained::Constrained for crate::input::StreamingBlobOperationInput {
          45  +
    type Unconstrained = crate::input::streaming_blob_operation_input_internal::Builder;
          46  +
}
          47  +
impl StreamingBlobOperationInput {
          48  +
    /// Creates a new builder-style object to manufacture [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
          49  +
    pub fn builder() -> crate::input::streaming_blob_operation_input::Builder {
          50  +
        crate::input::streaming_blob_operation_input::Builder::default()
          51  +
    }
          52  +
}
          53  +
          54  +
#[allow(missing_docs)] // documentation missing in model
          55  +
#[derive(
          56  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          57  +
)]
          58  +
pub struct NonStreamingBlobOperationInput {
          59  +
    #[allow(missing_docs)] // documentation missing in model
          60  +
    pub non_streaming_blob: ::std::option::Option<::aws_smithy_types::Blob>,
          61  +
}
          62  +
impl NonStreamingBlobOperationInput {
          63  +
    #[allow(missing_docs)] // documentation missing in model
          64  +
    pub fn non_streaming_blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
          65  +
        self.non_streaming_blob.as_ref()
          66  +
    }
          67  +
}
          68  +
impl crate::constrained::Constrained for crate::input::NonStreamingBlobOperationInput {
          69  +
    type Unconstrained = crate::input::non_streaming_blob_operation_input_internal::Builder;
          70  +
}
          71  +
impl NonStreamingBlobOperationInput {
          72  +
    /// Creates a new builder-style object to manufacture [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
          73  +
    pub fn builder() -> crate::input::non_streaming_blob_operation_input::Builder {
          74  +
        crate::input::non_streaming_blob_operation_input::Builder::default()
          75  +
    }
          76  +
}
          77  +
          78  +
#[allow(missing_docs)] // documentation missing in model
          79  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          80  +
pub struct QueryParamsTargetingMapOfEnumStringOperationInput {
          81  +
    #[allow(missing_docs)] // documentation missing in model
          82  +
    pub map_of_enum_string: ::std::option::Option<
          83  +
        ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
          84  +
    >,
          85  +
}
          86  +
impl QueryParamsTargetingMapOfEnumStringOperationInput {
          87  +
    #[allow(missing_docs)] // documentation missing in model
          88  +
    pub fn map_of_enum_string(
          89  +
        &self,
          90  +
    ) -> ::std::option::Option<
          91  +
        &::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
          92  +
    > {
          93  +
        self.map_of_enum_string.as_ref()
          94  +
    }
          95  +
}
          96  +
impl crate::constrained::Constrained
          97  +
    for crate::input::QueryParamsTargetingMapOfEnumStringOperationInput
          98  +
{
          99  +
    type Unconstrained =
         100  +
        crate::input::query_params_targeting_map_of_enum_string_operation_input_internal::Builder;
         101  +
}
         102  +
impl QueryParamsTargetingMapOfEnumStringOperationInput {
         103  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
         104  +
    pub fn builder(
         105  +
    ) -> crate::input::query_params_targeting_map_of_enum_string_operation_input::Builder {
         106  +
        crate::input::query_params_targeting_map_of_enum_string_operation_input::Builder::default()
         107  +
    }
         108  +
}
         109  +
         110  +
#[allow(missing_docs)] // documentation missing in model
         111  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         112  +
pub struct HttpPrefixHeadersTargetingLengthMapOperationInput {
         113  +
    #[allow(missing_docs)] // documentation missing in model
         114  +
    pub length_map: ::std::option::Option<
         115  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         116  +
    >,
         117  +
}
         118  +
impl HttpPrefixHeadersTargetingLengthMapOperationInput {
         119  +
    #[allow(missing_docs)] // documentation missing in model
         120  +
    pub fn length_map(
         121  +
        &self,
         122  +
    ) -> ::std::option::Option<
         123  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         124  +
    > {
         125  +
        self.length_map.as_ref()
         126  +
    }
         127  +
}
         128  +
impl crate::constrained::Constrained
         129  +
    for crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput
         130  +
{
         131  +
    type Unconstrained =
         132  +
        crate::input::http_prefix_headers_targeting_length_map_operation_input_internal::Builder;
         133  +
}
         134  +
impl HttpPrefixHeadersTargetingLengthMapOperationInput {
         135  +
    /// Creates a new builder-style object to manufacture [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
         136  +
    pub fn builder(
         137  +
    ) -> crate::input::http_prefix_headers_targeting_length_map_operation_input::Builder {
         138  +
        crate::input::http_prefix_headers_targeting_length_map_operation_input::Builder::default()
         139  +
    }
         140  +
}
         141  +
         142  +
#[allow(missing_docs)] // documentation missing in model
         143  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         144  +
pub struct QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput {
         145  +
    #[allow(missing_docs)] // documentation missing in model
         146  +
    pub map_of_length_pattern_string: ::std::option::Option<
         147  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         148  +
    >,
         149  +
}
         150  +
impl QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput {
         151  +
    #[allow(missing_docs)] // documentation missing in model
         152  +
    pub fn map_of_length_pattern_string(
         153  +
        &self,
         154  +
    ) -> ::std::option::Option<
         155  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         156  +
    > {
         157  +
        self.map_of_length_pattern_string.as_ref()
         158  +
    }
         159  +
}
         160  +
impl crate::constrained::Constrained
         161  +
    for crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput
         162  +
{
         163  +
    type Unconstrained = crate::input::query_params_targeting_map_of_list_of_length_pattern_string_operation_input_internal::Builder;
         164  +
}
         165  +
impl QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput {
         166  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
         167  +
    pub fn builder() -> crate::input::query_params_targeting_map_of_list_of_length_pattern_string_operation_input::Builder{
         168  +
        crate::input::query_params_targeting_map_of_list_of_length_pattern_string_operation_input::Builder::default()
         169  +
    }
         170  +
}
         171  +
         172  +
#[allow(missing_docs)] // documentation missing in model
         173  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         174  +
pub struct QueryParamsTargetingMapOfLengthPatternStringOperationInput {
         175  +
    #[allow(missing_docs)] // documentation missing in model
         176  +
    pub map_of_length_pattern_string: ::std::option::Option<
         177  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         178  +
    >,
         179  +
}
         180  +
impl QueryParamsTargetingMapOfLengthPatternStringOperationInput {
         181  +
    #[allow(missing_docs)] // documentation missing in model
         182  +
    pub fn map_of_length_pattern_string(
         183  +
        &self,
         184  +
    ) -> ::std::option::Option<
         185  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         186  +
    > {
         187  +
        self.map_of_length_pattern_string.as_ref()
         188  +
    }
         189  +
}
         190  +
impl crate::constrained::Constrained
         191  +
    for crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput
         192  +
{
         193  +
    type Unconstrained = crate::input::query_params_targeting_map_of_length_pattern_string_operation_input_internal::Builder;
         194  +
}
         195  +
impl QueryParamsTargetingMapOfLengthPatternStringOperationInput {
         196  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
         197  +
    pub fn builder(
         198  +
    ) -> crate::input::query_params_targeting_map_of_length_pattern_string_operation_input::Builder
         199  +
    {
         200  +
        crate::input::query_params_targeting_map_of_length_pattern_string_operation_input::Builder::default()
         201  +
    }
         202  +
}
         203  +
         204  +
#[allow(missing_docs)] // documentation missing in model
         205  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         206  +
pub struct QueryParamsTargetingMapOfListOfPatternStringOperationInput {
         207  +
    #[allow(missing_docs)] // documentation missing in model
         208  +
    pub map_of_list_of_pattern_string: ::std::option::Option<
         209  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         210  +
    >,
         211  +
}
         212  +
impl QueryParamsTargetingMapOfListOfPatternStringOperationInput {
         213  +
    #[allow(missing_docs)] // documentation missing in model
         214  +
    pub fn map_of_list_of_pattern_string(
         215  +
        &self,
         216  +
    ) -> ::std::option::Option<
         217  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         218  +
    > {
         219  +
        self.map_of_list_of_pattern_string.as_ref()
         220  +
    }
         221  +
}
         222  +
impl crate::constrained::Constrained
         223  +
    for crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput
         224  +
{
         225  +
    type Unconstrained = crate::input::query_params_targeting_map_of_list_of_pattern_string_operation_input_internal::Builder;
         226  +
}
         227  +
impl QueryParamsTargetingMapOfListOfPatternStringOperationInput {
         228  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
         229  +
    pub fn builder(
         230  +
    ) -> crate::input::query_params_targeting_map_of_list_of_pattern_string_operation_input::Builder
         231  +
    {
         232  +
        crate::input::query_params_targeting_map_of_list_of_pattern_string_operation_input::Builder::default()
         233  +
    }
         234  +
}
         235  +
         236  +
#[allow(missing_docs)] // documentation missing in model
         237  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         238  +
pub struct QueryParamsTargetingMapOfPatternStringOperationInput {
         239  +
    #[allow(missing_docs)] // documentation missing in model
         240  +
    pub map_of_pattern_string: ::std::option::Option<
         241  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         242  +
    >,
         243  +
}
         244  +
impl QueryParamsTargetingMapOfPatternStringOperationInput {
         245  +
    #[allow(missing_docs)] // documentation missing in model
         246  +
    pub fn map_of_pattern_string(
         247  +
        &self,
         248  +
    ) -> ::std::option::Option<
         249  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         250  +
    > {
         251  +
        self.map_of_pattern_string.as_ref()
         252  +
    }
         253  +
}
         254  +
impl crate::constrained::Constrained
         255  +
    for crate::input::QueryParamsTargetingMapOfPatternStringOperationInput
         256  +
{
         257  +
    type Unconstrained = crate::input::query_params_targeting_map_of_pattern_string_operation_input_internal::Builder;
         258  +
}
         259  +
impl QueryParamsTargetingMapOfPatternStringOperationInput {
         260  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
         261  +
    pub fn builder(
         262  +
    ) -> crate::input::query_params_targeting_map_of_pattern_string_operation_input::Builder {
         263  +
        crate::input::query_params_targeting_map_of_pattern_string_operation_input::Builder::default(
         264  +
        )
         265  +
    }
         266  +
}
         267  +
         268  +
#[allow(missing_docs)] // documentation missing in model
         269  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         270  +
pub struct QueryParamsTargetingMapOfListOfEnumStringOperationInput {
         271  +
    #[allow(missing_docs)] // documentation missing in model
         272  +
    pub map_of_list_of_enum_string: ::std::option::Option<
         273  +
        ::std::collections::HashMap<
         274  +
            crate::model::EnumString,
         275  +
            ::std::vec::Vec<crate::model::EnumString>,
         276  +
        >,
         277  +
    >,
         278  +
}
         279  +
impl QueryParamsTargetingMapOfListOfEnumStringOperationInput {
         280  +
    #[allow(missing_docs)] // documentation missing in model
         281  +
    pub fn map_of_list_of_enum_string(
         282  +
        &self,
         283  +
    ) -> ::std::option::Option<
         284  +
        &::std::collections::HashMap<
         285  +
            crate::model::EnumString,
         286  +
            ::std::vec::Vec<crate::model::EnumString>,
         287  +
        >,
         288  +
    > {
         289  +
        self.map_of_list_of_enum_string.as_ref()
         290  +
    }
         291  +
}
         292  +
impl crate::constrained::Constrained
         293  +
    for crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput
         294  +
{
         295  +
    type Unconstrained = crate::input::query_params_targeting_map_of_list_of_enum_string_operation_input_internal::Builder;
         296  +
}
         297  +
impl QueryParamsTargetingMapOfListOfEnumStringOperationInput {
         298  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
         299  +
    pub fn builder(
         300  +
    ) -> crate::input::query_params_targeting_map_of_list_of_enum_string_operation_input::Builder
         301  +
    {
         302  +
        crate::input::query_params_targeting_map_of_list_of_enum_string_operation_input::Builder::default()
         303  +
    }
         304  +
}
         305  +
         306  +
#[allow(missing_docs)] // documentation missing in model
         307  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         308  +
pub struct QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput {
         309  +
    #[allow(missing_docs)] // documentation missing in model
         310  +
    pub map_of_length_list_of_pattern_string: ::std::option::Option<
         311  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         312  +
    >,
         313  +
}
         314  +
impl QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput {
         315  +
    #[allow(missing_docs)] // documentation missing in model
         316  +
    pub fn map_of_length_list_of_pattern_string(
         317  +
        &self,
         318  +
    ) -> ::std::option::Option<
         319  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         320  +
    > {
         321  +
        self.map_of_length_list_of_pattern_string.as_ref()
         322  +
    }
         323  +
}
         324  +
impl crate::constrained::Constrained
         325  +
    for crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput
         326  +
{
         327  +
    type Unconstrained = crate::input::query_params_targeting_map_of_length_list_of_pattern_string_operation_input_internal::Builder;
         328  +
}
         329  +
impl QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput {
         330  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
         331  +
    pub fn builder() -> crate::input::query_params_targeting_map_of_length_list_of_pattern_string_operation_input::Builder{
         332  +
        crate::input::query_params_targeting_map_of_length_list_of_pattern_string_operation_input::Builder::default()
         333  +
    }
         334  +
}
         335  +
         336  +
#[allow(missing_docs)] // documentation missing in model
         337  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         338  +
pub struct QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
         339  +
    #[allow(missing_docs)] // documentation missing in model
         340  +
    pub map_of_set_of_length_string: ::std::option::Option<
         341  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         342  +
    >,
         343  +
}
         344  +
impl QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
         345  +
    #[allow(missing_docs)] // documentation missing in model
         346  +
    pub fn map_of_set_of_length_string(
         347  +
        &self,
         348  +
    ) -> ::std::option::Option<
         349  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         350  +
    > {
         351  +
        self.map_of_set_of_length_string.as_ref()
         352  +
    }
         353  +
}
         354  +
impl crate::constrained::Constrained
         355  +
    for crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput
         356  +
{
         357  +
    type Unconstrained = crate::input::query_params_targeting_map_of_set_of_length_string_operation_input_internal::Builder;
         358  +
}
         359  +
impl QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
         360  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
         361  +
    pub fn builder(
         362  +
    ) -> crate::input::query_params_targeting_map_of_set_of_length_string_operation_input::Builder
         363  +
    {
         364  +
        crate::input::query_params_targeting_map_of_set_of_length_string_operation_input::Builder::default()
         365  +
    }
         366  +
}
         367  +
         368  +
#[allow(missing_docs)] // documentation missing in model
         369  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         370  +
pub struct QueryParamsTargetingMapOfListOfLengthStringOperationInput {
         371  +
    #[allow(missing_docs)] // documentation missing in model
         372  +
    pub map_of_list_of_length_string: ::std::option::Option<
         373  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         374  +
    >,
         375  +
}
         376  +
impl QueryParamsTargetingMapOfListOfLengthStringOperationInput {
         377  +
    #[allow(missing_docs)] // documentation missing in model
         378  +
    pub fn map_of_list_of_length_string(
         379  +
        &self,
         380  +
    ) -> ::std::option::Option<
         381  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         382  +
    > {
         383  +
        self.map_of_list_of_length_string.as_ref()
         384  +
    }
         385  +
}
         386  +
impl crate::constrained::Constrained
         387  +
    for crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput
         388  +
{
         389  +
    type Unconstrained = crate::input::query_params_targeting_map_of_list_of_length_string_operation_input_internal::Builder;
         390  +
}
         391  +
impl QueryParamsTargetingMapOfListOfLengthStringOperationInput {
         392  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
         393  +
    pub fn builder(
         394  +
    ) -> crate::input::query_params_targeting_map_of_list_of_length_string_operation_input::Builder
         395  +
    {
         396  +
        crate::input::query_params_targeting_map_of_list_of_length_string_operation_input::Builder::default()
         397  +
    }
         398  +
}
         399  +
         400  +
#[allow(missing_docs)] // documentation missing in model
         401  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         402  +
pub struct QueryParamsTargetingMapOfLengthStringOperationInput {
         403  +
    #[allow(missing_docs)] // documentation missing in model
         404  +
    pub map_of_length_string: ::std::option::Option<
         405  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         406  +
    >,
         407  +
}
         408  +
impl QueryParamsTargetingMapOfLengthStringOperationInput {
         409  +
    #[allow(missing_docs)] // documentation missing in model
         410  +
    pub fn map_of_length_string(
         411  +
        &self,
         412  +
    ) -> ::std::option::Option<
         413  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         414  +
    > {
         415  +
        self.map_of_length_string.as_ref()
         416  +
    }
         417  +
}
         418  +
impl crate::constrained::Constrained
         419  +
    for crate::input::QueryParamsTargetingMapOfLengthStringOperationInput
         420  +
{
         421  +
    type Unconstrained =
         422  +
        crate::input::query_params_targeting_map_of_length_string_operation_input_internal::Builder;
         423  +
}
         424  +
impl QueryParamsTargetingMapOfLengthStringOperationInput {
         425  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
         426  +
    pub fn builder(
         427  +
    ) -> crate::input::query_params_targeting_map_of_length_string_operation_input::Builder {
         428  +
        crate::input::query_params_targeting_map_of_length_string_operation_input::Builder::default(
         429  +
        )
         430  +
    }
         431  +
}
         432  +
         433  +
#[allow(missing_docs)] // documentation missing in model
         434  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         435  +
pub struct QueryParamsTargetingLengthMapOperationInput {
         436  +
    #[allow(missing_docs)] // documentation missing in model
         437  +
    pub length_map: ::std::option::Option<
         438  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         439  +
    >,
         440  +
}
         441  +
impl QueryParamsTargetingLengthMapOperationInput {
         442  +
    #[allow(missing_docs)] // documentation missing in model
         443  +
    pub fn length_map(
         444  +
        &self,
         445  +
    ) -> ::std::option::Option<
         446  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         447  +
    > {
         448  +
        self.length_map.as_ref()
         449  +
    }
         450  +
}
         451  +
impl crate::constrained::Constrained for crate::input::QueryParamsTargetingLengthMapOperationInput {
         452  +
    type Unconstrained =
         453  +
        crate::input::query_params_targeting_length_map_operation_input_internal::Builder;
         454  +
}
         455  +
impl QueryParamsTargetingLengthMapOperationInput {
         456  +
    /// Creates a new builder-style object to manufacture [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
         457  +
    pub fn builder() -> crate::input::query_params_targeting_length_map_operation_input::Builder {
         458  +
        crate::input::query_params_targeting_length_map_operation_input::Builder::default()
         459  +
    }
         460  +
}
         461  +
         462  +
#[allow(missing_docs)] // documentation missing in model
         463  +
#[derive(
         464  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         465  +
)]
         466  +
pub struct ConstrainedRecursiveShapesOperationInput {
         467  +
    #[allow(missing_docs)] // documentation missing in model
         468  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         469  +
    #[allow(missing_docs)] // documentation missing in model
         470  +
    pub recursive_list: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
         471  +
}
         472  +
impl ConstrainedRecursiveShapesOperationInput {
         473  +
    #[allow(missing_docs)] // documentation missing in model
         474  +
    pub fn nested(
         475  +
        &self,
         476  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
         477  +
        self.nested.as_ref()
         478  +
    }
         479  +
    #[allow(missing_docs)] // documentation missing in model
         480  +
    pub fn recursive_list(&self) -> &[crate::model::RecursiveShapesInputOutputNested1] {
         481  +
        use std::ops::Deref;
         482  +
        self.recursive_list.deref()
         483  +
    }
         484  +
}
         485  +
impl crate::constrained::Constrained for crate::input::ConstrainedRecursiveShapesOperationInput {
         486  +
    type Unconstrained =
         487  +
        crate::input::constrained_recursive_shapes_operation_input_internal::Builder;
         488  +
}
         489  +
impl ConstrainedRecursiveShapesOperationInput {
         490  +
    /// Creates a new builder-style object to manufacture [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
         491  +
    pub fn builder() -> crate::input::constrained_recursive_shapes_operation_input::Builder {
         492  +
        crate::input::constrained_recursive_shapes_operation_input::Builder::default()
         493  +
    }
         494  +
}
         495  +
         496  +
#[allow(missing_docs)] // documentation missing in model
         497  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         498  +
pub struct ConstrainedHttpPayloadBoundShapeOperationInput {
         499  +
    #[allow(missing_docs)] // documentation missing in model
         500  +
    pub http_payload_bound_constrained_shape: crate::model::ConA,
         501  +
}
         502  +
impl ConstrainedHttpPayloadBoundShapeOperationInput {
         503  +
    #[allow(missing_docs)] // documentation missing in model
         504  +
    pub fn http_payload_bound_constrained_shape(&self) -> &crate::model::ConA {
         505  +
        &self.http_payload_bound_constrained_shape
         506  +
    }
         507  +
}
         508  +
impl crate::constrained::Constrained
         509  +
    for crate::input::ConstrainedHttpPayloadBoundShapeOperationInput
         510  +
{
         511  +
    type Unconstrained =
         512  +
        crate::input::constrained_http_payload_bound_shape_operation_input_internal::Builder;
         513  +
}
         514  +
impl ConstrainedHttpPayloadBoundShapeOperationInput {
         515  +
    /// Creates a new builder-style object to manufacture [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
         516  +
    pub fn builder() -> crate::input::constrained_http_payload_bound_shape_operation_input::Builder
         517  +
    {
         518  +
        crate::input::constrained_http_payload_bound_shape_operation_input::Builder::default()
         519  +
    }
         520  +
}
         521  +
         522  +
#[allow(missing_docs)] // documentation missing in model
         523  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         524  +
pub struct ConstrainedHttpBoundShapesOperationInput {
         525  +
    #[allow(missing_docs)] // documentation missing in model
         526  +
    pub length_string_label: ::std::string::String,
         527  +
    #[allow(missing_docs)] // documentation missing in model
         528  +
    pub range_integer_label: i32,
         529  +
    #[allow(missing_docs)] // documentation missing in model
         530  +
    pub range_short_label: i16,
         531  +
    #[allow(missing_docs)] // documentation missing in model
         532  +
    pub range_long_label: i64,
         533  +
    #[allow(missing_docs)] // documentation missing in model
         534  +
    pub range_byte_label: i8,
         535  +
    #[allow(missing_docs)] // documentation missing in model
         536  +
    pub enum_string_label: crate::model::EnumString,
         537  +
    #[allow(missing_docs)] // documentation missing in model
         538  +
    pub length_string_header_map:
         539  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         540  +
    #[allow(missing_docs)] // documentation missing in model
         541  +
    pub length_string_header: ::std::option::Option<::std::string::String>,
         542  +
    #[allow(missing_docs)] // documentation missing in model
         543  +
    pub range_integer_header: i32,
         544  +
    #[allow(missing_docs)] // documentation missing in model
         545  +
    pub range_short_header: i16,
         546  +
    #[allow(missing_docs)] // documentation missing in model
         547  +
    pub range_long_header: i64,
         548  +
    #[allow(missing_docs)] // documentation missing in model
         549  +
    pub range_byte_header: i8,
         550  +
    #[allow(missing_docs)] // documentation missing in model
         551  +
    pub length_string_set_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         552  +
    #[allow(missing_docs)] // documentation missing in model
         553  +
    pub list_length_string_header: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         554  +
    #[allow(missing_docs)] // documentation missing in model
         555  +
    pub length_list_pattern_string_header:
         556  +
        ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         557  +
    #[allow(missing_docs)] // documentation missing in model
         558  +
    pub length_set_pattern_string_header:
         559  +
        ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         560  +
    #[allow(missing_docs)] // documentation missing in model
         561  +
    pub range_byte_set_header: ::std::option::Option<::std::vec::Vec<i8>>,
         562  +
    #[allow(missing_docs)] // documentation missing in model
         563  +
    pub range_short_set_header: ::std::option::Option<::std::vec::Vec<i16>>,
         564  +
    #[allow(missing_docs)] // documentation missing in model
         565  +
    pub range_integer_set_header: ::std::option::Option<::std::vec::Vec<i32>>,
         566  +
    #[allow(missing_docs)] // documentation missing in model
         567  +
    pub range_long_set_header: ::std::option::Option<::std::vec::Vec<i64>>,
         568  +
    #[allow(missing_docs)] // documentation missing in model
         569  +
    pub range_byte_list_header: ::std::option::Option<::std::vec::Vec<i8>>,
         570  +
    #[allow(missing_docs)] // documentation missing in model
         571  +
    pub range_short_list_header: ::std::option::Option<::std::vec::Vec<i16>>,
         572  +
    #[allow(missing_docs)] // documentation missing in model
         573  +
    pub range_integer_list_header: ::std::option::Option<::std::vec::Vec<i32>>,
         574  +
    #[allow(missing_docs)] // documentation missing in model
         575  +
    pub range_long_list_header: ::std::option::Option<::std::vec::Vec<i64>>,
         576  +
    #[allow(missing_docs)] // documentation missing in model
         577  +
    pub length_string_query: ::std::option::Option<::std::string::String>,
         578  +
    #[allow(missing_docs)] // documentation missing in model
         579  +
    pub range_byte_query: i8,
         580  +
    #[allow(missing_docs)] // documentation missing in model
         581  +
    pub range_short_query: i16,
         582  +
    #[allow(missing_docs)] // documentation missing in model
         583  +
    pub range_integer_query: i32,
         584  +
    #[allow(missing_docs)] // documentation missing in model
         585  +
    pub range_long_query: i64,
         586  +
    #[allow(missing_docs)] // documentation missing in model
         587  +
    pub enum_string_query: ::std::option::Option<crate::model::EnumString>,
         588  +
    #[allow(missing_docs)] // documentation missing in model
         589  +
    pub length_string_list_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         590  +
    #[allow(missing_docs)] // documentation missing in model
         591  +
    pub length_list_pattern_string_query:
         592  +
        ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         593  +
    #[allow(missing_docs)] // documentation missing in model
         594  +
    pub length_string_set_query: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         595  +
    #[allow(missing_docs)] // documentation missing in model
         596  +
    pub range_byte_list_query: ::std::option::Option<::std::vec::Vec<i8>>,
         597  +
    #[allow(missing_docs)] // documentation missing in model
         598  +
    pub range_short_list_query: ::std::option::Option<::std::vec::Vec<i16>>,
         599  +
    #[allow(missing_docs)] // documentation missing in model
         600  +
    pub range_integer_list_query: ::std::option::Option<::std::vec::Vec<i32>>,
         601  +
    #[allow(missing_docs)] // documentation missing in model
         602  +
    pub range_long_list_query: ::std::option::Option<::std::vec::Vec<i64>>,
         603  +
    #[allow(missing_docs)] // documentation missing in model
         604  +
    pub range_byte_set_query: ::std::option::Option<::std::vec::Vec<i8>>,
         605  +
    #[allow(missing_docs)] // documentation missing in model
         606  +
    pub range_short_set_query: ::std::option::Option<::std::vec::Vec<i16>>,
         607  +
    #[allow(missing_docs)] // documentation missing in model
         608  +
    pub range_integer_set_query: ::std::option::Option<::std::vec::Vec<i32>>,
         609  +
    #[allow(missing_docs)] // documentation missing in model
         610  +
    pub range_long_set_query: ::std::option::Option<::std::vec::Vec<i64>>,
         611  +
    #[allow(missing_docs)] // documentation missing in model
         612  +
    pub enum_string_list_query: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
         613  +
}
         614  +
impl ConstrainedHttpBoundShapesOperationInput {
         615  +
    #[allow(missing_docs)] // documentation missing in model
         616  +
    pub fn length_string_label(&self) -> &str {
         617  +
        use std::ops::Deref;
         618  +
        self.length_string_label.deref()
         619  +
    }
         620  +
    #[allow(missing_docs)] // documentation missing in model
         621  +
    pub fn range_integer_label(&self) -> i32 {
         622  +
        self.range_integer_label
         623  +
    }
         624  +
    #[allow(missing_docs)] // documentation missing in model
         625  +
    pub fn range_short_label(&self) -> i16 {
         626  +
        self.range_short_label
         627  +
    }
         628  +
    #[allow(missing_docs)] // documentation missing in model
         629  +
    pub fn range_long_label(&self) -> i64 {
         630  +
        self.range_long_label
         631  +
    }
         632  +
    #[allow(missing_docs)] // documentation missing in model
         633  +
    pub fn range_byte_label(&self) -> i8 {
         634  +
        self.range_byte_label
         635  +
    }
         636  +
    #[allow(missing_docs)] // documentation missing in model
         637  +
    pub fn enum_string_label(&self) -> &crate::model::EnumString {
         638  +
        &self.enum_string_label
         639  +
    }
         640  +
    #[allow(missing_docs)] // documentation missing in model
         641  +
    pub fn length_string_header_map(
         642  +
        &self,
         643  +
    ) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
         644  +
        &self.length_string_header_map
         645  +
    }
         646  +
    #[allow(missing_docs)] // documentation missing in model
         647  +
    pub fn length_string_header(&self) -> ::std::option::Option<&str> {
         648  +
        self.length_string_header.as_deref()
         649  +
    }
         650  +
    #[allow(missing_docs)] // documentation missing in model
         651  +
    pub fn range_integer_header(&self) -> i32 {
         652  +
        self.range_integer_header
         653  +
    }
         654  +
    #[allow(missing_docs)] // documentation missing in model
         655  +
    pub fn range_short_header(&self) -> i16 {
         656  +
        self.range_short_header
         657  +
    }
         658  +
    #[allow(missing_docs)] // documentation missing in model
         659  +
    pub fn range_long_header(&self) -> i64 {
         660  +
        self.range_long_header
         661  +
    }
         662  +
    #[allow(missing_docs)] // documentation missing in model
         663  +
    pub fn range_byte_header(&self) -> i8 {
         664  +
        self.range_byte_header
         665  +
    }
         666  +
    #[allow(missing_docs)] // documentation missing in model
         667  +
    pub fn length_string_set_header(
         668  +
        &self,
         669  +
    ) -> ::std::option::Option<&::std::vec::Vec<::std::string::String>> {
         670  +
        self.length_string_set_header.as_ref()
         671  +
    }
         672  +
    #[allow(missing_docs)] // documentation missing in model
         673  +
    pub fn list_length_string_header(&self) -> ::std::option::Option<&[::std::string::String]> {
         674  +
        self.list_length_string_header.as_deref()
         675  +
    }
         676  +
    #[allow(missing_docs)] // documentation missing in model
         677  +
    pub fn length_list_pattern_string_header(
         678  +
        &self,
         679  +
    ) -> ::std::option::Option<&[::std::string::String]> {
         680  +
        self.length_list_pattern_string_header.as_deref()
         681  +
    }
         682  +
    #[allow(missing_docs)] // documentation missing in model
         683  +
    pub fn length_set_pattern_string_header(
         684  +
        &self,
         685  +
    ) -> ::std::option::Option<&::std::vec::Vec<::std::string::String>> {
         686  +
        self.length_set_pattern_string_header.as_ref()
         687  +
    }
         688  +
    #[allow(missing_docs)] // documentation missing in model
         689  +
    pub fn range_byte_set_header(&self) -> ::std::option::Option<&[i8]> {
         690  +
        self.range_byte_set_header.as_deref()
         691  +
    }
         692  +
    #[allow(missing_docs)] // documentation missing in model
         693  +
    pub fn range_short_set_header(&self) -> ::std::option::Option<&[i16]> {
         694  +
        self.range_short_set_header.as_deref()
         695  +
    }
         696  +
    #[allow(missing_docs)] // documentation missing in model
         697  +
    pub fn range_integer_set_header(&self) -> ::std::option::Option<&[i32]> {
         698  +
        self.range_integer_set_header.as_deref()
         699  +
    }
         700  +
    #[allow(missing_docs)] // documentation missing in model
         701  +
    pub fn range_long_set_header(&self) -> ::std::option::Option<&[i64]> {
         702  +
        self.range_long_set_header.as_deref()
         703  +
    }
         704  +
    #[allow(missing_docs)] // documentation missing in model
         705  +
    pub fn range_byte_list_header(&self) -> ::std::option::Option<&[i8]> {
         706  +
        self.range_byte_list_header.as_deref()
         707  +
    }
         708  +
    #[allow(missing_docs)] // documentation missing in model
         709  +
    pub fn range_short_list_header(&self) -> ::std::option::Option<&[i16]> {
         710  +
        self.range_short_list_header.as_deref()
         711  +
    }
         712  +
    #[allow(missing_docs)] // documentation missing in model
         713  +
    pub fn range_integer_list_header(&self) -> ::std::option::Option<&[i32]> {
         714  +
        self.range_integer_list_header.as_deref()
         715  +
    }
         716  +
    #[allow(missing_docs)] // documentation missing in model
         717  +
    pub fn range_long_list_header(&self) -> ::std::option::Option<&[i64]> {
         718  +
        self.range_long_list_header.as_deref()
         719  +
    }
         720  +
    #[allow(missing_docs)] // documentation missing in model
         721  +
    pub fn length_string_query(&self) -> ::std::option::Option<&str> {
         722  +
        self.length_string_query.as_deref()
         723  +
    }
         724  +
    #[allow(missing_docs)] // documentation missing in model
         725  +
    pub fn range_byte_query(&self) -> i8 {
         726  +
        self.range_byte_query
         727  +
    }
         728  +
    #[allow(missing_docs)] // documentation missing in model
         729  +
    pub fn range_short_query(&self) -> i16 {
         730  +
        self.range_short_query
         731  +
    }
         732  +
    #[allow(missing_docs)] // documentation missing in model
         733  +
    pub fn range_integer_query(&self) -> i32 {
         734  +
        self.range_integer_query
         735  +
    }
         736  +
    #[allow(missing_docs)] // documentation missing in model
         737  +
    pub fn range_long_query(&self) -> i64 {
         738  +
        self.range_long_query
         739  +
    }
         740  +
    #[allow(missing_docs)] // documentation missing in model
         741  +
    pub fn enum_string_query(&self) -> ::std::option::Option<&crate::model::EnumString> {
         742  +
        self.enum_string_query.as_ref()
         743  +
    }
         744  +
    #[allow(missing_docs)] // documentation missing in model
         745  +
    pub fn length_string_list_query(&self) -> ::std::option::Option<&[::std::string::String]> {
         746  +
        self.length_string_list_query.as_deref()
         747  +
    }
         748  +
    #[allow(missing_docs)] // documentation missing in model
         749  +
    pub fn length_list_pattern_string_query(
         750  +
        &self,
         751  +
    ) -> ::std::option::Option<&[::std::string::String]> {
         752  +
        self.length_list_pattern_string_query.as_deref()
         753  +
    }
         754  +
    #[allow(missing_docs)] // documentation missing in model
         755  +
    pub fn length_string_set_query(
         756  +
        &self,
         757  +
    ) -> ::std::option::Option<&::std::vec::Vec<::std::string::String>> {
         758  +
        self.length_string_set_query.as_ref()
         759  +
    }
         760  +
    #[allow(missing_docs)] // documentation missing in model
         761  +
    pub fn range_byte_list_query(&self) -> ::std::option::Option<&[i8]> {
         762  +
        self.range_byte_list_query.as_deref()
         763  +
    }
         764  +
    #[allow(missing_docs)] // documentation missing in model
         765  +
    pub fn range_short_list_query(&self) -> ::std::option::Option<&[i16]> {
         766  +
        self.range_short_list_query.as_deref()
         767  +
    }
         768  +
    #[allow(missing_docs)] // documentation missing in model
         769  +
    pub fn range_integer_list_query(&self) -> ::std::option::Option<&[i32]> {
         770  +
        self.range_integer_list_query.as_deref()
         771  +
    }
         772  +
    #[allow(missing_docs)] // documentation missing in model
         773  +
    pub fn range_long_list_query(&self) -> ::std::option::Option<&[i64]> {
         774  +
        self.range_long_list_query.as_deref()
         775  +
    }
         776  +
    #[allow(missing_docs)] // documentation missing in model
         777  +
    pub fn range_byte_set_query(&self) -> ::std::option::Option<&[i8]> {
         778  +
        self.range_byte_set_query.as_deref()
         779  +
    }
         780  +
    #[allow(missing_docs)] // documentation missing in model
         781  +
    pub fn range_short_set_query(&self) -> ::std::option::Option<&[i16]> {
         782  +
        self.range_short_set_query.as_deref()
         783  +
    }
         784  +
    #[allow(missing_docs)] // documentation missing in model
         785  +
    pub fn range_integer_set_query(&self) -> ::std::option::Option<&[i32]> {
         786  +
        self.range_integer_set_query.as_deref()
         787  +
    }
         788  +
    #[allow(missing_docs)] // documentation missing in model
         789  +
    pub fn range_long_set_query(&self) -> ::std::option::Option<&[i64]> {
         790  +
        self.range_long_set_query.as_deref()
         791  +
    }
         792  +
    #[allow(missing_docs)] // documentation missing in model
         793  +
    pub fn enum_string_list_query(&self) -> ::std::option::Option<&[crate::model::EnumString]> {
         794  +
        self.enum_string_list_query.as_deref()
         795  +
    }
         796  +
}
         797  +
impl crate::constrained::Constrained for crate::input::ConstrainedHttpBoundShapesOperationInput {
         798  +
    type Unconstrained =
         799  +
        crate::input::constrained_http_bound_shapes_operation_input_internal::Builder;
         800  +
}
         801  +
impl ConstrainedHttpBoundShapesOperationInput {
         802  +
    /// Creates a new builder-style object to manufacture [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
         803  +
    pub fn builder() -> crate::input::constrained_http_bound_shapes_operation_input::Builder {
         804  +
        crate::input::constrained_http_bound_shapes_operation_input::Builder::default()
         805  +
    }
         806  +
}
         807  +
         808  +
#[allow(missing_docs)] // documentation missing in model
         809  +
#[derive(
         810  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         811  +
)]
         812  +
pub struct ConstrainedShapesOnlyInOutputOperationInput {}
         813  +
impl crate::constrained::Constrained for crate::input::ConstrainedShapesOnlyInOutputOperationInput {
         814  +
    type Unconstrained =
         815  +
        crate::input::constrained_shapes_only_in_output_operation_input_internal::Builder;
         816  +
}
         817  +
impl ConstrainedShapesOnlyInOutputOperationInput {
         818  +
    /// Creates a new builder-style object to manufacture [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
         819  +
    pub fn builder() -> crate::input::constrained_shapes_only_in_output_operation_input::Builder {
         820  +
        crate::input::constrained_shapes_only_in_output_operation_input::Builder::default()
         821  +
    }
         822  +
}
         823  +
         824  +
#[allow(missing_docs)] // documentation missing in model
         825  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         826  +
pub struct ConstrainedShapesOperationInput {
         827  +
    #[allow(missing_docs)] // documentation missing in model
         828  +
    pub con_a: crate::model::ConA,
         829  +
}
         830  +
impl ConstrainedShapesOperationInput {
         831  +
    #[allow(missing_docs)] // documentation missing in model
         832  +
    pub fn con_a(&self) -> &crate::model::ConA {
         833  +
        &self.con_a
         834  +
    }
         835  +
}
         836  +
impl crate::constrained::Constrained for crate::input::ConstrainedShapesOperationInput {
         837  +
    type Unconstrained = crate::input::constrained_shapes_operation_input_internal::Builder;
         838  +
}
         839  +
impl ConstrainedShapesOperationInput {
         840  +
    /// Creates a new builder-style object to manufacture [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
         841  +
    pub fn builder() -> crate::input::constrained_shapes_operation_input::Builder {
         842  +
        crate::input::constrained_shapes_operation_input::Builder::default()
         843  +
    }
         844  +
}
         845  +
/// See [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
         846  +
pub(crate) mod event_streams_operation_input_internal {
         847  +
         848  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         849  +
    /// Holds one variant for each of the ways the builder can fail.
         850  +
    #[non_exhaustive]
         851  +
    #[allow(clippy::enum_variant_names)]
         852  +
    pub(crate) enum ConstraintViolation {
         853  +
        /// `events` was not provided but it is required when building `EventStreamsOperationInput`.
         854  +
        MissingEvents,
         855  +
    }
         856  +
    impl ::std::fmt::Display for ConstraintViolation {
         857  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         858  +
            match self {
         859  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `EventStreamsOperationInput`"),
         860  +
            }
         861  +
        }
         862  +
    }
         863  +
    impl ::std::error::Error for ConstraintViolation {}
         864  +
    impl ConstraintViolation {
         865  +
        pub(crate) fn as_validation_exception_field(
         866  +
            self,
         867  +
            path: ::std::string::String,
         868  +
        ) -> crate::model::ValidationExceptionField {
         869  +
            match self {
         870  +
            ConstraintViolation::MissingEvents => crate::model::ValidationExceptionField {
         871  +
                                                message: format!("Value at '{}/events' failed to satisfy constraint: Member must not be null", path),
         872  +
                                                path: path + "/events",
         873  +
                                            },
         874  +
        }
         875  +
        }
         876  +
    }
         877  +
    impl ::std::convert::From<ConstraintViolation>
         878  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
         879  +
    {
         880  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
         881  +
            let first_validation_exception_field =
         882  +
                constraint_violation.as_validation_exception_field("".to_owned());
         883  +
            let validation_exception = crate::error::ValidationException {
         884  +
                message: format!(
         885  +
                    "1 validation error detected. {}",
         886  +
                    &first_validation_exception_field.message
         887  +
                ),
         888  +
                field_list: Some(vec![first_validation_exception_field]),
         889  +
            };
         890  +
            Self::ConstraintViolation(
         891  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
         892  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
         893  +
                            )
         894  +
        }
         895  +
    }
         896  +
    impl ::std::convert::From<Builder>
         897  +
        for crate::constrained::MaybeConstrained<crate::input::EventStreamsOperationInput>
         898  +
    {
         899  +
        fn from(builder: Builder) -> Self {
         900  +
            Self::Unconstrained(builder)
         901  +
        }
         902  +
    }
         903  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EventStreamsOperationInput {
         904  +
        type Error = ConstraintViolation;
         905  +
         906  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         907  +
            builder.build()
         908  +
        }
         909  +
    }
         910  +
    /// A builder for [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
         911  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         912  +
    pub(crate) struct Builder {
         913  +
        pub(crate) events: ::std::option::Option<
         914  +
            ::aws_smithy_legacy_http::event_stream::Receiver<
         915  +
                crate::model::Event,
         916  +
                crate::error::EventError,
         917  +
            >,
         918  +
        >,
         919  +
    }
         920  +
    impl Builder {
         921  +
        #[allow(missing_docs)] // documentation missing in model
         922  +
        pub(crate) fn set_events(
         923  +
            mut self,
         924  +
            input: impl ::std::convert::Into<
         925  +
                ::aws_smithy_legacy_http::event_stream::Receiver<
         926  +
                    crate::model::Event,
         927  +
                    crate::error::EventError,
         928  +
                >,
         929  +
            >,
         930  +
        ) -> Self {
         931  +
            self.events = Some(input.into());
         932  +
            self
         933  +
        }
         934  +
        /// Consumes the builder and constructs a [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
         935  +
        ///
         936  +
        /// The builder fails to construct a [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput) if a [`ConstraintViolation`] occurs.
         937  +
        ///
         938  +
        pub fn build(
         939  +
            self,
         940  +
        ) -> Result<crate::input::EventStreamsOperationInput, ConstraintViolation> {
         941  +
            self.build_enforcing_all_constraints()
         942  +
        }
         943  +
        fn build_enforcing_all_constraints(
         944  +
            self,
         945  +
        ) -> Result<crate::input::EventStreamsOperationInput, ConstraintViolation> {
         946  +
            Ok(crate::input::EventStreamsOperationInput {
         947  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
         948  +
            })
         949  +
        }
         950  +
    }
         951  +
}
         952  +
/// See [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
         953  +
pub mod event_streams_operation_input {
         954  +
         955  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         956  +
    /// Holds one variant for each of the ways the builder can fail.
         957  +
    #[allow(clippy::enum_variant_names)]
         958  +
    pub enum ConstraintViolation {
         959  +
        /// `events` was not provided but it is required when building `EventStreamsOperationInput`.
         960  +
        MissingEvents,
         961  +
    }
         962  +
    impl ::std::fmt::Display for ConstraintViolation {
         963  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         964  +
            match self {
         965  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `EventStreamsOperationInput`"),
         966  +
            }
         967  +
        }
         968  +
    }
         969  +
    impl ::std::error::Error for ConstraintViolation {}
         970  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EventStreamsOperationInput {
         971  +
        type Error = ConstraintViolation;
         972  +
         973  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         974  +
            builder.build()
         975  +
        }
         976  +
    }
         977  +
    /// A builder for [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
         978  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         979  +
    pub struct Builder {
         980  +
        pub(crate) events: ::std::option::Option<
         981  +
            ::aws_smithy_legacy_http::event_stream::Receiver<
         982  +
                crate::model::Event,
         983  +
                crate::error::EventError,
         984  +
            >,
         985  +
        >,
         986  +
    }
         987  +
    impl Builder {
         988  +
        #[allow(missing_docs)] // documentation missing in model
         989  +
        pub fn events(
         990  +
            mut self,
         991  +
            input: ::aws_smithy_legacy_http::event_stream::Receiver<
         992  +
                crate::model::Event,
         993  +
                crate::error::EventError,
         994  +
            >,
         995  +
        ) -> Self {
         996  +
            self.events = Some(input);
         997  +
            self
         998  +
        }
         999  +
        /// Consumes the builder and constructs a [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput).
        1000  +
        ///
        1001  +
        /// The builder fails to construct a [`EventStreamsOperationInput`](crate::input::EventStreamsOperationInput) if you do not provide a value for all non-`Option`al members.
        1002  +
        ///
        1003  +
        pub fn build(
        1004  +
            self,
        1005  +
        ) -> Result<crate::input::EventStreamsOperationInput, ConstraintViolation> {
        1006  +
            self.build_enforcing_required_and_enum_traits()
        1007  +
        }
        1008  +
        fn build_enforcing_required_and_enum_traits(
        1009  +
            self,
        1010  +
        ) -> Result<crate::input::EventStreamsOperationInput, ConstraintViolation> {
        1011  +
            Ok(crate::input::EventStreamsOperationInput {
        1012  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
        1013  +
            })
        1014  +
        }
        1015  +
    }
        1016  +
}
        1017  +
/// See [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
        1018  +
pub(crate) mod streaming_blob_operation_input_internal {
        1019  +
        1020  +
    impl ::std::convert::From<Builder> for crate::input::StreamingBlobOperationInput {
        1021  +
        fn from(builder: Builder) -> Self {
        1022  +
            builder.build()
        1023  +
        }
        1024  +
    }
        1025  +
    /// A builder for [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
        1026  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
        1027  +
    pub(crate) struct Builder {
        1028  +
        pub(crate) streaming_blob:
        1029  +
            ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
        1030  +
    }
        1031  +
    impl Builder {
        1032  +
        #[allow(missing_docs)] // documentation missing in model
        1033  +
        pub(crate) fn set_streaming_blob(
        1034  +
            mut self,
        1035  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
        1036  +
        ) -> Self {
        1037  +
            self.streaming_blob = Some(input.into());
        1038  +
            self
        1039  +
        }
        1040  +
        /// Consumes the builder and constructs a [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
        1041  +
        pub fn build(self) -> crate::input::StreamingBlobOperationInput {
        1042  +
            self.build_enforcing_all_constraints()
        1043  +
        }
        1044  +
        fn build_enforcing_all_constraints(self) -> crate::input::StreamingBlobOperationInput {
        1045  +
            crate::input::StreamingBlobOperationInput {
        1046  +
                streaming_blob: self.streaming_blob.unwrap_or_default(),
        1047  +
            }
        1048  +
        }
        1049  +
    }
        1050  +
}
        1051  +
/// See [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
        1052  +
pub mod streaming_blob_operation_input {
        1053  +
        1054  +
    impl ::std::convert::From<Builder> for crate::input::StreamingBlobOperationInput {
        1055  +
        fn from(builder: Builder) -> Self {
        1056  +
            builder.build()
        1057  +
        }
        1058  +
    }
        1059  +
    /// A builder for [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
        1060  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
        1061  +
    pub struct Builder {
        1062  +
        pub(crate) streaming_blob:
        1063  +
            ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
        1064  +
    }
        1065  +
    impl Builder {
        1066  +
        #[allow(missing_docs)] // documentation missing in model
        1067  +
        pub fn streaming_blob(
        1068  +
            mut self,
        1069  +
            input: ::aws_smithy_types::byte_stream::ByteStream,
        1070  +
        ) -> Self {
        1071  +
            self.streaming_blob = Some(input);
        1072  +
            self
        1073  +
        }
        1074  +
        /// Consumes the builder and constructs a [`StreamingBlobOperationInput`](crate::input::StreamingBlobOperationInput).
        1075  +
        pub fn build(self) -> crate::input::StreamingBlobOperationInput {
        1076  +
            self.build_enforcing_required_and_enum_traits()
        1077  +
        }
        1078  +
        fn build_enforcing_required_and_enum_traits(
        1079  +
            self,
        1080  +
        ) -> crate::input::StreamingBlobOperationInput {
        1081  +
            crate::input::StreamingBlobOperationInput {
        1082  +
                streaming_blob: self.streaming_blob.unwrap_or_default(),
        1083  +
            }
        1084  +
        }
        1085  +
    }
        1086  +
}
        1087  +
/// See [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
        1088  +
pub(crate) mod non_streaming_blob_operation_input_internal {
        1089  +
        1090  +
    impl ::std::convert::From<Builder> for crate::input::NonStreamingBlobOperationInput {
        1091  +
        fn from(builder: Builder) -> Self {
        1092  +
            builder.build()
        1093  +
        }
        1094  +
    }
        1095  +
    /// A builder for [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
        1096  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1097  +
    pub(crate) struct Builder {
        1098  +
        pub(crate) non_streaming_blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1099  +
    }
        1100  +
    impl Builder {
        1101  +
        #[allow(missing_docs)] // documentation missing in model
        1102  +
        pub(crate) fn set_non_streaming_blob(
        1103  +
            mut self,
        1104  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
        1105  +
        ) -> Self {
        1106  +
            self.non_streaming_blob = input.map(|v| v.into());
        1107  +
            self
        1108  +
        }
        1109  +
        /// Consumes the builder and constructs a [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
        1110  +
        pub fn build(self) -> crate::input::NonStreamingBlobOperationInput {
        1111  +
            self.build_enforcing_all_constraints()
        1112  +
        }
        1113  +
        fn build_enforcing_all_constraints(self) -> crate::input::NonStreamingBlobOperationInput {
        1114  +
            crate::input::NonStreamingBlobOperationInput {
        1115  +
                non_streaming_blob: self.non_streaming_blob,
        1116  +
            }
        1117  +
        }
        1118  +
    }
        1119  +
}
        1120  +
/// See [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
        1121  +
pub mod non_streaming_blob_operation_input {
        1122  +
        1123  +
    impl ::std::convert::From<Builder> for crate::input::NonStreamingBlobOperationInput {
        1124  +
        fn from(builder: Builder) -> Self {
        1125  +
            builder.build()
        1126  +
        }
        1127  +
    }
        1128  +
    /// A builder for [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
        1129  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1130  +
    pub struct Builder {
        1131  +
        pub(crate) non_streaming_blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1132  +
    }
        1133  +
    impl Builder {
        1134  +
        #[allow(missing_docs)] // documentation missing in model
        1135  +
        pub fn non_streaming_blob(
        1136  +
            mut self,
        1137  +
            input: ::std::option::Option<::aws_smithy_types::Blob>,
        1138  +
        ) -> Self {
        1139  +
            self.non_streaming_blob = input;
        1140  +
            self
        1141  +
        }
        1142  +
        /// Consumes the builder and constructs a [`NonStreamingBlobOperationInput`](crate::input::NonStreamingBlobOperationInput).
        1143  +
        pub fn build(self) -> crate::input::NonStreamingBlobOperationInput {
        1144  +
            self.build_enforcing_required_and_enum_traits()
        1145  +
        }
        1146  +
        fn build_enforcing_required_and_enum_traits(
        1147  +
            self,
        1148  +
        ) -> crate::input::NonStreamingBlobOperationInput {
        1149  +
            crate::input::NonStreamingBlobOperationInput {
        1150  +
                non_streaming_blob: self.non_streaming_blob,
        1151  +
            }
        1152  +
        }
        1153  +
    }
        1154  +
}
        1155  +
/// See [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
        1156  +
pub(crate) mod query_params_targeting_map_of_enum_string_operation_input_internal {
        1157  +
        1158  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1159  +
    /// Holds one variant for each of the ways the builder can fail.
        1160  +
    #[non_exhaustive]
        1161  +
    #[allow(clippy::enum_variant_names)]
        1162  +
    pub(crate) enum ConstraintViolation {
        1163  +
        /// Constraint violation occurred building member `map_of_enum_string` when building `QueryParamsTargetingMapOfEnumStringOperationInput`.
        1164  +
        #[doc(hidden)]
        1165  +
        MapOfEnumString(crate::model::map_of_enum_string_internal::ConstraintViolation),
        1166  +
    }
        1167  +
    impl ::std::fmt::Display for ConstraintViolation {
        1168  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1169  +
            match self {
        1170  +
                ConstraintViolation::MapOfEnumString(_) => write!(f, "constraint violation occurred building member `map_of_enum_string` when building `QueryParamsTargetingMapOfEnumStringOperationInput`"),
        1171  +
            }
        1172  +
        }
        1173  +
    }
        1174  +
    impl ::std::error::Error for ConstraintViolation {}
        1175  +
    impl ConstraintViolation {
        1176  +
        pub(crate) fn as_validation_exception_field(
        1177  +
            self,
        1178  +
            path: ::std::string::String,
        1179  +
        ) -> crate::model::ValidationExceptionField {
        1180  +
            match self {
        1181  +
                ConstraintViolation::MapOfEnumString(inner) => {
        1182  +
                    inner.as_validation_exception_field(path + "/mapOfEnumString")
        1183  +
                }
        1184  +
            }
        1185  +
        }
        1186  +
    }
        1187  +
    impl ::std::convert::From<ConstraintViolation>
        1188  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        1189  +
    {
        1190  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1191  +
            let first_validation_exception_field =
        1192  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1193  +
            let validation_exception = crate::error::ValidationException {
        1194  +
                message: format!(
        1195  +
                    "1 validation error detected. {}",
        1196  +
                    &first_validation_exception_field.message
        1197  +
                ),
        1198  +
                field_list: Some(vec![first_validation_exception_field]),
        1199  +
            };
        1200  +
            Self::ConstraintViolation(
        1201  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1202  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1203  +
                            )
        1204  +
        }
        1205  +
    }
        1206  +
    impl ::std::convert::From<Builder>
        1207  +
        for crate::constrained::MaybeConstrained<
        1208  +
            crate::input::QueryParamsTargetingMapOfEnumStringOperationInput,
        1209  +
        >
        1210  +
    {
        1211  +
        fn from(builder: Builder) -> Self {
        1212  +
            Self::Unconstrained(builder)
        1213  +
        }
        1214  +
    }
        1215  +
    impl ::std::convert::TryFrom<Builder>
        1216  +
        for crate::input::QueryParamsTargetingMapOfEnumStringOperationInput
        1217  +
    {
        1218  +
        type Error = ConstraintViolation;
        1219  +
        1220  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1221  +
            builder.build()
        1222  +
        }
        1223  +
    }
        1224  +
    /// A builder for [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
        1225  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1226  +
    pub(crate) struct Builder {
        1227  +
        pub(crate) map_of_enum_string: ::std::option::Option<
        1228  +
            crate::constrained::MaybeConstrained<
        1229  +
                crate::constrained::map_of_enum_string_constrained::MapOfEnumStringConstrained,
        1230  +
            >,
        1231  +
        >,
        1232  +
    }
        1233  +
    impl Builder {
        1234  +
        #[allow(missing_docs)] // documentation missing in model
        1235  +
        pub(crate) fn set_map_of_enum_string(
        1236  +
            mut self,
        1237  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_enum_string_constrained::MapOfEnumStringConstrained>>>,
        1238  +
        ) -> Self {
        1239  +
            self.map_of_enum_string = input.map(|v| v.into());
        1240  +
            self
        1241  +
        }
        1242  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
        1243  +
        ///
        1244  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput) if a [`ConstraintViolation`] occurs.
        1245  +
        ///
        1246  +
        pub fn build(
        1247  +
            self,
        1248  +
        ) -> Result<
        1249  +
            crate::input::QueryParamsTargetingMapOfEnumStringOperationInput,
        1250  +
            ConstraintViolation,
        1251  +
        > {
        1252  +
            self.build_enforcing_all_constraints()
        1253  +
        }
        1254  +
        fn build_enforcing_all_constraints(
        1255  +
            self,
        1256  +
        ) -> Result<
        1257  +
            crate::input::QueryParamsTargetingMapOfEnumStringOperationInput,
        1258  +
            ConstraintViolation,
        1259  +
        > {
        1260  +
            Ok(
        1261  +
                crate::input::QueryParamsTargetingMapOfEnumStringOperationInput {
        1262  +
                    map_of_enum_string: self
        1263  +
                        .map_of_enum_string
        1264  +
                        .map(|v| match v {
        1265  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1266  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1267  +
                        })
        1268  +
                        .map(|res| {
        1269  +
                            res.map(|v| v.into())
        1270  +
                                .map_err(ConstraintViolation::MapOfEnumString)
        1271  +
                        })
        1272  +
                        .transpose()?,
        1273  +
                },
        1274  +
            )
        1275  +
        }
        1276  +
    }
        1277  +
}
        1278  +
/// See [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
        1279  +
pub mod query_params_targeting_map_of_enum_string_operation_input {
        1280  +
        1281  +
    impl ::std::convert::From<Builder>
        1282  +
        for crate::input::QueryParamsTargetingMapOfEnumStringOperationInput
        1283  +
    {
        1284  +
        fn from(builder: Builder) -> Self {
        1285  +
            builder.build()
        1286  +
        }
        1287  +
    }
        1288  +
    /// A builder for [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
        1289  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1290  +
    pub struct Builder {
        1291  +
        pub(crate) map_of_enum_string: ::std::option::Option<
        1292  +
            ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
        1293  +
        >,
        1294  +
    }
        1295  +
    impl Builder {
        1296  +
        #[allow(missing_docs)] // documentation missing in model
        1297  +
        pub fn map_of_enum_string(
        1298  +
            mut self,
        1299  +
            input: ::std::option::Option<
        1300  +
                ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
        1301  +
            >,
        1302  +
        ) -> Self {
        1303  +
            self.map_of_enum_string = input;
        1304  +
            self
        1305  +
        }
        1306  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfEnumStringOperationInput).
        1307  +
        pub fn build(self) -> crate::input::QueryParamsTargetingMapOfEnumStringOperationInput {
        1308  +
            self.build_enforcing_required_and_enum_traits()
        1309  +
        }
        1310  +
        fn build_enforcing_required_and_enum_traits(
        1311  +
            self,
        1312  +
        ) -> crate::input::QueryParamsTargetingMapOfEnumStringOperationInput {
        1313  +
            crate::input::QueryParamsTargetingMapOfEnumStringOperationInput {
        1314  +
                map_of_enum_string: self.map_of_enum_string,
        1315  +
            }
        1316  +
        }
        1317  +
    }
        1318  +
}
        1319  +
/// See [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
        1320  +
pub(crate) mod http_prefix_headers_targeting_length_map_operation_input_internal {
        1321  +
        1322  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1323  +
    /// Holds one variant for each of the ways the builder can fail.
        1324  +
    #[non_exhaustive]
        1325  +
    #[allow(clippy::enum_variant_names)]
        1326  +
    pub(crate) enum ConstraintViolation {
        1327  +
        /// Constraint violation occurred building member `length_map` when building `HttpPrefixHeadersTargetingLengthMapOperationInput`.
        1328  +
        #[doc(hidden)]
        1329  +
        LengthMap(crate::model::con_b_map_internal::ConstraintViolation),
        1330  +
    }
        1331  +
    impl ::std::fmt::Display for ConstraintViolation {
        1332  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1333  +
            match self {
        1334  +
                ConstraintViolation::LengthMap(_) => write!(f, "constraint violation occurred building member `length_map` when building `HttpPrefixHeadersTargetingLengthMapOperationInput`"),
        1335  +
            }
        1336  +
        }
        1337  +
    }
        1338  +
    impl ::std::error::Error for ConstraintViolation {}
        1339  +
    impl ConstraintViolation {
        1340  +
        pub(crate) fn as_validation_exception_field(
        1341  +
            self,
        1342  +
            path: ::std::string::String,
        1343  +
        ) -> crate::model::ValidationExceptionField {
        1344  +
            match self {
        1345  +
                ConstraintViolation::LengthMap(inner) => {
        1346  +
                    inner.as_validation_exception_field(path + "/lengthMap")
        1347  +
                }
        1348  +
            }
        1349  +
        }
        1350  +
    }
        1351  +
    impl ::std::convert::From<ConstraintViolation>
        1352  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        1353  +
    {
        1354  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1355  +
            let first_validation_exception_field =
        1356  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1357  +
            let validation_exception = crate::error::ValidationException {
        1358  +
                message: format!(
        1359  +
                    "1 validation error detected. {}",
        1360  +
                    &first_validation_exception_field.message
        1361  +
                ),
        1362  +
                field_list: Some(vec![first_validation_exception_field]),
        1363  +
            };
        1364  +
            Self::ConstraintViolation(
        1365  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1366  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1367  +
                            )
        1368  +
        }
        1369  +
    }
        1370  +
    impl ::std::convert::From<Builder>
        1371  +
        for crate::constrained::MaybeConstrained<
        1372  +
            crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput,
        1373  +
        >
        1374  +
    {
        1375  +
        fn from(builder: Builder) -> Self {
        1376  +
            Self::Unconstrained(builder)
        1377  +
        }
        1378  +
    }
        1379  +
    impl ::std::convert::TryFrom<Builder>
        1380  +
        for crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput
        1381  +
    {
        1382  +
        type Error = ConstraintViolation;
        1383  +
        1384  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1385  +
            builder.build()
        1386  +
        }
        1387  +
    }
        1388  +
    /// A builder for [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
        1389  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1390  +
    pub(crate) struct Builder {
        1391  +
        pub(crate) length_map:
        1392  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::ConBMap>>,
        1393  +
    }
        1394  +
    impl Builder {
        1395  +
        #[allow(missing_docs)] // documentation missing in model
        1396  +
        pub(crate) fn set_length_map(
        1397  +
            mut self,
        1398  +
            input: Option<
        1399  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::ConBMap>>,
        1400  +
            >,
        1401  +
        ) -> Self {
        1402  +
            self.length_map = input.map(|v| v.into());
        1403  +
            self
        1404  +
        }
        1405  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
        1406  +
        ///
        1407  +
        /// The builder fails to construct a [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput) if a [`ConstraintViolation`] occurs.
        1408  +
        ///
        1409  +
        pub fn build(
        1410  +
            self,
        1411  +
        ) -> Result<
        1412  +
            crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput,
        1413  +
            ConstraintViolation,
        1414  +
        > {
        1415  +
            self.build_enforcing_all_constraints()
        1416  +
        }
        1417  +
        fn build_enforcing_all_constraints(
        1418  +
            self,
        1419  +
        ) -> Result<
        1420  +
            crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput,
        1421  +
            ConstraintViolation,
        1422  +
        > {
        1423  +
            Ok(
        1424  +
                crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput {
        1425  +
                    length_map: self
        1426  +
                        .length_map
        1427  +
                        .map(|v| match v {
        1428  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1429  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1430  +
                        })
        1431  +
                        .map(|res| res.map_err(ConstraintViolation::LengthMap))
        1432  +
                        .transpose()?
        1433  +
                        .map(|v: crate::model::ConBMap| v.into()),
        1434  +
                },
        1435  +
            )
        1436  +
        }
        1437  +
    }
        1438  +
}
        1439  +
/// See [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
        1440  +
pub mod http_prefix_headers_targeting_length_map_operation_input {
        1441  +
        1442  +
    impl ::std::convert::From<Builder>
        1443  +
        for crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput
        1444  +
    {
        1445  +
        fn from(builder: Builder) -> Self {
        1446  +
            builder.build()
        1447  +
        }
        1448  +
    }
        1449  +
    /// A builder for [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
        1450  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1451  +
    pub struct Builder {
        1452  +
        pub(crate) length_map: ::std::option::Option<
        1453  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1454  +
        >,
        1455  +
    }
        1456  +
    impl Builder {
        1457  +
        #[allow(missing_docs)] // documentation missing in model
        1458  +
        pub fn length_map(
        1459  +
            mut self,
        1460  +
            input: ::std::option::Option<
        1461  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1462  +
            >,
        1463  +
        ) -> Self {
        1464  +
            self.length_map = input;
        1465  +
            self
        1466  +
        }
        1467  +
        /// Consumes the builder and constructs a [`HttpPrefixHeadersTargetingLengthMapOperationInput`](crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput).
        1468  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput {
        1469  +
            self.build_enforcing_required_and_enum_traits()
        1470  +
        }
        1471  +
        fn build_enforcing_required_and_enum_traits(
        1472  +
            self,
        1473  +
        ) -> crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput {
        1474  +
            crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput {
        1475  +
                length_map: self.length_map,
        1476  +
            }
        1477  +
        }
        1478  +
    }
        1479  +
}
        1480  +
/// See [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
        1481  +
pub(crate) mod query_params_targeting_map_of_list_of_length_pattern_string_operation_input_internal {
        1482  +
        1483  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1484  +
    /// Holds one variant for each of the ways the builder can fail.
        1485  +
    #[non_exhaustive]
        1486  +
    #[allow(clippy::enum_variant_names)]
        1487  +
    pub(crate) enum ConstraintViolation {
        1488  +
        /// Constraint violation occurred building member `map_of_length_pattern_string` when building `QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`.
        1489  +
        #[doc(hidden)]
        1490  +
        MapOfLengthPatternString(
        1491  +
            crate::model::map_of_list_of_length_pattern_string_internal::ConstraintViolation,
        1492  +
        ),
        1493  +
    }
        1494  +
    impl ::std::fmt::Display for ConstraintViolation {
        1495  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1496  +
            match self {
        1497  +
                ConstraintViolation::MapOfLengthPatternString(_) => write!(f, "constraint violation occurred building member `map_of_length_pattern_string` when building `QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`"),
        1498  +
            }
        1499  +
        }
        1500  +
    }
        1501  +
    impl ::std::error::Error for ConstraintViolation {}
        1502  +
    impl ConstraintViolation {
        1503  +
        pub(crate) fn as_validation_exception_field(
        1504  +
            self,
        1505  +
            path: ::std::string::String,
        1506  +
        ) -> crate::model::ValidationExceptionField {
        1507  +
            match self {
        1508  +
                ConstraintViolation::MapOfLengthPatternString(inner) => {
        1509  +
                    inner.as_validation_exception_field(path + "/mapOfLengthPatternString")
        1510  +
                }
        1511  +
            }
        1512  +
        }
        1513  +
    }
        1514  +
    impl ::std::convert::From<ConstraintViolation>
        1515  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        1516  +
    {
        1517  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1518  +
            let first_validation_exception_field =
        1519  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1520  +
            let validation_exception = crate::error::ValidationException {
        1521  +
                message: format!(
        1522  +
                    "1 validation error detected. {}",
        1523  +
                    &first_validation_exception_field.message
        1524  +
                ),
        1525  +
                field_list: Some(vec![first_validation_exception_field]),
        1526  +
            };
        1527  +
            Self::ConstraintViolation(
        1528  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1529  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1530  +
                            )
        1531  +
        }
        1532  +
    }
        1533  +
    impl ::std::convert::From<Builder>
        1534  +
        for crate::constrained::MaybeConstrained<
        1535  +
            crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput,
        1536  +
        >
        1537  +
    {
        1538  +
        fn from(builder: Builder) -> Self {
        1539  +
            Self::Unconstrained(builder)
        1540  +
        }
        1541  +
    }
        1542  +
    impl ::std::convert::TryFrom<Builder>
        1543  +
        for crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput
        1544  +
    {
        1545  +
        type Error = ConstraintViolation;
        1546  +
        1547  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1548  +
            builder.build()
        1549  +
        }
        1550  +
    }
        1551  +
    /// A builder for [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
        1552  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1553  +
    pub(crate) struct Builder {
        1554  +
        pub(crate) map_of_length_pattern_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_length_pattern_string_constrained::MapOfListOfLengthPatternStringConstrained>>,
        1555  +
    }
        1556  +
    impl Builder {
        1557  +
        #[allow(missing_docs)] // documentation missing in model
        1558  +
        pub(crate) fn set_map_of_length_pattern_string(
        1559  +
            mut self,
        1560  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_length_pattern_string_constrained::MapOfListOfLengthPatternStringConstrained>>>,
        1561  +
        ) -> Self {
        1562  +
            self.map_of_length_pattern_string = input.map(|v| v.into());
        1563  +
            self
        1564  +
        }
        1565  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
        1566  +
        ///
        1567  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput) if a [`ConstraintViolation`] occurs.
        1568  +
        ///
        1569  +
        pub fn build(
        1570  +
            self,
        1571  +
        ) -> Result<
        1572  +
            crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput,
        1573  +
            ConstraintViolation,
        1574  +
        > {
        1575  +
            self.build_enforcing_all_constraints()
        1576  +
        }
        1577  +
        fn build_enforcing_all_constraints(
        1578  +
            self,
        1579  +
        ) -> Result<
        1580  +
            crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput,
        1581  +
            ConstraintViolation,
        1582  +
        > {
        1583  +
            Ok(
        1584  +
                crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput {
        1585  +
                    map_of_length_pattern_string: self
        1586  +
                        .map_of_length_pattern_string
        1587  +
                        .map(|v| match v {
        1588  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1589  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1590  +
                        })
        1591  +
                        .map(|res| {
        1592  +
                            res.map(|v| v.into())
        1593  +
                                .map_err(ConstraintViolation::MapOfLengthPatternString)
        1594  +
                        })
        1595  +
                        .transpose()?,
        1596  +
                },
        1597  +
            )
        1598  +
        }
        1599  +
    }
        1600  +
}
        1601  +
/// See [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
        1602  +
pub mod query_params_targeting_map_of_list_of_length_pattern_string_operation_input {
        1603  +
        1604  +
    impl ::std::convert::From<Builder>
        1605  +
        for crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput
        1606  +
    {
        1607  +
        fn from(builder: Builder) -> Self {
        1608  +
            builder.build()
        1609  +
        }
        1610  +
    }
        1611  +
    /// A builder for [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
        1612  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1613  +
    pub struct Builder {
        1614  +
        pub(crate) map_of_length_pattern_string: ::std::option::Option<
        1615  +
            ::std::collections::HashMap<
        1616  +
                ::std::string::String,
        1617  +
                ::std::vec::Vec<::std::string::String>,
        1618  +
            >,
        1619  +
        >,
        1620  +
    }
        1621  +
    impl Builder {
        1622  +
        #[allow(missing_docs)] // documentation missing in model
        1623  +
        pub fn map_of_length_pattern_string(
        1624  +
            mut self,
        1625  +
            input: ::std::option::Option<
        1626  +
                ::std::collections::HashMap<
        1627  +
                    ::std::string::String,
        1628  +
                    ::std::vec::Vec<::std::string::String>,
        1629  +
                >,
        1630  +
            >,
        1631  +
        ) -> Self {
        1632  +
            self.map_of_length_pattern_string = input;
        1633  +
            self
        1634  +
        }
        1635  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput).
        1636  +
        pub fn build(
        1637  +
            self,
        1638  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput
        1639  +
        {
        1640  +
            self.build_enforcing_required_and_enum_traits()
        1641  +
        }
        1642  +
        fn build_enforcing_required_and_enum_traits(
        1643  +
            self,
        1644  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput
        1645  +
        {
        1646  +
            crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput {
        1647  +
                map_of_length_pattern_string: self.map_of_length_pattern_string,
        1648  +
            }
        1649  +
        }
        1650  +
    }
        1651  +
}
        1652  +
/// See [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
        1653  +
pub(crate) mod query_params_targeting_map_of_length_pattern_string_operation_input_internal {
        1654  +
        1655  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1656  +
    /// Holds one variant for each of the ways the builder can fail.
        1657  +
    #[non_exhaustive]
        1658  +
    #[allow(clippy::enum_variant_names)]
        1659  +
    pub(crate) enum ConstraintViolation {
        1660  +
        /// Constraint violation occurred building member `map_of_length_pattern_string` when building `QueryParamsTargetingMapOfLengthPatternStringOperationInput`.
        1661  +
        #[doc(hidden)]
        1662  +
        MapOfLengthPatternString(
        1663  +
            crate::model::map_of_length_pattern_string_internal::ConstraintViolation,
        1664  +
        ),
        1665  +
    }
        1666  +
    impl ::std::fmt::Display for ConstraintViolation {
        1667  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1668  +
            match self {
        1669  +
                ConstraintViolation::MapOfLengthPatternString(_) => write!(f, "constraint violation occurred building member `map_of_length_pattern_string` when building `QueryParamsTargetingMapOfLengthPatternStringOperationInput`"),
        1670  +
            }
        1671  +
        }
        1672  +
    }
        1673  +
    impl ::std::error::Error for ConstraintViolation {}
        1674  +
    impl ConstraintViolation {
        1675  +
        pub(crate) fn as_validation_exception_field(
        1676  +
            self,
        1677  +
            path: ::std::string::String,
        1678  +
        ) -> crate::model::ValidationExceptionField {
        1679  +
            match self {
        1680  +
                ConstraintViolation::MapOfLengthPatternString(inner) => {
        1681  +
                    inner.as_validation_exception_field(path + "/mapOfLengthPatternString")
        1682  +
                }
        1683  +
            }
        1684  +
        }
        1685  +
    }
        1686  +
    impl ::std::convert::From<ConstraintViolation>
        1687  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        1688  +
    {
        1689  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1690  +
            let first_validation_exception_field =
        1691  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1692  +
            let validation_exception = crate::error::ValidationException {
        1693  +
                message: format!(
        1694  +
                    "1 validation error detected. {}",
        1695  +
                    &first_validation_exception_field.message
        1696  +
                ),
        1697  +
                field_list: Some(vec![first_validation_exception_field]),
        1698  +
            };
        1699  +
            Self::ConstraintViolation(
        1700  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1701  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1702  +
                            )
        1703  +
        }
        1704  +
    }
        1705  +
    impl ::std::convert::From<Builder>
        1706  +
        for crate::constrained::MaybeConstrained<
        1707  +
            crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput,
        1708  +
        >
        1709  +
    {
        1710  +
        fn from(builder: Builder) -> Self {
        1711  +
            Self::Unconstrained(builder)
        1712  +
        }
        1713  +
    }
        1714  +
    impl ::std::convert::TryFrom<Builder>
        1715  +
        for crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput
        1716  +
    {
        1717  +
        type Error = ConstraintViolation;
        1718  +
        1719  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1720  +
            builder.build()
        1721  +
        }
        1722  +
    }
        1723  +
    /// A builder for [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
        1724  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1725  +
    pub(crate) struct Builder {
        1726  +
        pub(crate) map_of_length_pattern_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_pattern_string_constrained::MapOfLengthPatternStringConstrained>>,
        1727  +
    }
        1728  +
    impl Builder {
        1729  +
        #[allow(missing_docs)] // documentation missing in model
        1730  +
        pub(crate) fn set_map_of_length_pattern_string(
        1731  +
            mut self,
        1732  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_pattern_string_constrained::MapOfLengthPatternStringConstrained>>>,
        1733  +
        ) -> Self {
        1734  +
            self.map_of_length_pattern_string = input.map(|v| v.into());
        1735  +
            self
        1736  +
        }
        1737  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
        1738  +
        ///
        1739  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput) if a [`ConstraintViolation`] occurs.
        1740  +
        ///
        1741  +
        pub fn build(
        1742  +
            self,
        1743  +
        ) -> Result<
        1744  +
            crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput,
        1745  +
            ConstraintViolation,
        1746  +
        > {
        1747  +
            self.build_enforcing_all_constraints()
        1748  +
        }
        1749  +
        fn build_enforcing_all_constraints(
        1750  +
            self,
        1751  +
        ) -> Result<
        1752  +
            crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput,
        1753  +
            ConstraintViolation,
        1754  +
        > {
        1755  +
            Ok(
        1756  +
                crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput {
        1757  +
                    map_of_length_pattern_string: self
        1758  +
                        .map_of_length_pattern_string
        1759  +
                        .map(|v| match v {
        1760  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1761  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1762  +
                        })
        1763  +
                        .map(|res| {
        1764  +
                            res.map(|v| v.into())
        1765  +
                                .map_err(ConstraintViolation::MapOfLengthPatternString)
        1766  +
                        })
        1767  +
                        .transpose()?,
        1768  +
                },
        1769  +
            )
        1770  +
        }
        1771  +
    }
        1772  +
}
        1773  +
/// See [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
        1774  +
pub mod query_params_targeting_map_of_length_pattern_string_operation_input {
        1775  +
        1776  +
    impl ::std::convert::From<Builder>
        1777  +
        for crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput
        1778  +
    {
        1779  +
        fn from(builder: Builder) -> Self {
        1780  +
            builder.build()
        1781  +
        }
        1782  +
    }
        1783  +
    /// A builder for [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
        1784  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1785  +
    pub struct Builder {
        1786  +
        pub(crate) map_of_length_pattern_string: ::std::option::Option<
        1787  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1788  +
        >,
        1789  +
    }
        1790  +
    impl Builder {
        1791  +
        #[allow(missing_docs)] // documentation missing in model
        1792  +
        pub fn map_of_length_pattern_string(
        1793  +
            mut self,
        1794  +
            input: ::std::option::Option<
        1795  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1796  +
            >,
        1797  +
        ) -> Self {
        1798  +
            self.map_of_length_pattern_string = input;
        1799  +
            self
        1800  +
        }
        1801  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput).
        1802  +
        pub fn build(
        1803  +
            self,
        1804  +
        ) -> crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput {
        1805  +
            self.build_enforcing_required_and_enum_traits()
        1806  +
        }
        1807  +
        fn build_enforcing_required_and_enum_traits(
        1808  +
            self,
        1809  +
        ) -> crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput {
        1810  +
            crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput {
        1811  +
                map_of_length_pattern_string: self.map_of_length_pattern_string,
        1812  +
            }
        1813  +
        }
        1814  +
    }
        1815  +
}
        1816  +
/// See [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
        1817  +
pub(crate) mod query_params_targeting_map_of_list_of_pattern_string_operation_input_internal {
        1818  +
        1819  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1820  +
    /// Holds one variant for each of the ways the builder can fail.
        1821  +
    #[non_exhaustive]
        1822  +
    #[allow(clippy::enum_variant_names)]
        1823  +
    pub(crate) enum ConstraintViolation {
        1824  +
        /// Constraint violation occurred building member `map_of_list_of_pattern_string` when building `QueryParamsTargetingMapOfListOfPatternStringOperationInput`.
        1825  +
        #[doc(hidden)]
        1826  +
        MapOfListOfPatternString(
        1827  +
            crate::model::map_of_list_of_pattern_string_internal::ConstraintViolation,
        1828  +
        ),
        1829  +
    }
        1830  +
    impl ::std::fmt::Display for ConstraintViolation {
        1831  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1832  +
            match self {
        1833  +
                ConstraintViolation::MapOfListOfPatternString(_) => write!(f, "constraint violation occurred building member `map_of_list_of_pattern_string` when building `QueryParamsTargetingMapOfListOfPatternStringOperationInput`"),
        1834  +
            }
        1835  +
        }
        1836  +
    }
        1837  +
    impl ::std::error::Error for ConstraintViolation {}
        1838  +
    impl ConstraintViolation {
        1839  +
        pub(crate) fn as_validation_exception_field(
        1840  +
            self,
        1841  +
            path: ::std::string::String,
        1842  +
        ) -> crate::model::ValidationExceptionField {
        1843  +
            match self {
        1844  +
                ConstraintViolation::MapOfListOfPatternString(inner) => {
        1845  +
                    inner.as_validation_exception_field(path + "/mapOfListOfPatternString")
        1846  +
                }
        1847  +
            }
        1848  +
        }
        1849  +
    }
        1850  +
    impl ::std::convert::From<ConstraintViolation>
        1851  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        1852  +
    {
        1853  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1854  +
            let first_validation_exception_field =
        1855  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1856  +
            let validation_exception = crate::error::ValidationException {
        1857  +
                message: format!(
        1858  +
                    "1 validation error detected. {}",
        1859  +
                    &first_validation_exception_field.message
        1860  +
                ),
        1861  +
                field_list: Some(vec![first_validation_exception_field]),
        1862  +
            };
        1863  +
            Self::ConstraintViolation(
        1864  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1865  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1866  +
                            )
        1867  +
        }
        1868  +
    }
        1869  +
    impl ::std::convert::From<Builder>
        1870  +
        for crate::constrained::MaybeConstrained<
        1871  +
            crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput,
        1872  +
        >
        1873  +
    {
        1874  +
        fn from(builder: Builder) -> Self {
        1875  +
            Self::Unconstrained(builder)
        1876  +
        }
        1877  +
    }
        1878  +
    impl ::std::convert::TryFrom<Builder>
        1879  +
        for crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput
        1880  +
    {
        1881  +
        type Error = ConstraintViolation;
        1882  +
        1883  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1884  +
            builder.build()
        1885  +
        }
        1886  +
    }
        1887  +
    /// A builder for [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
        1888  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1889  +
    pub(crate) struct Builder {
        1890  +
        pub(crate) map_of_list_of_pattern_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_pattern_string_constrained::MapOfListOfPatternStringConstrained>>,
        1891  +
    }
        1892  +
    impl Builder {
        1893  +
        #[allow(missing_docs)] // documentation missing in model
        1894  +
        pub(crate) fn set_map_of_list_of_pattern_string(
        1895  +
            mut self,
        1896  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_pattern_string_constrained::MapOfListOfPatternStringConstrained>>>,
        1897  +
        ) -> Self {
        1898  +
            self.map_of_list_of_pattern_string = input.map(|v| v.into());
        1899  +
            self
        1900  +
        }
        1901  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
        1902  +
        ///
        1903  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput) if a [`ConstraintViolation`] occurs.
        1904  +
        ///
        1905  +
        pub fn build(
        1906  +
            self,
        1907  +
        ) -> Result<
        1908  +
            crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput,
        1909  +
            ConstraintViolation,
        1910  +
        > {
        1911  +
            self.build_enforcing_all_constraints()
        1912  +
        }
        1913  +
        fn build_enforcing_all_constraints(
        1914  +
            self,
        1915  +
        ) -> Result<
        1916  +
            crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput,
        1917  +
            ConstraintViolation,
        1918  +
        > {
        1919  +
            Ok(
        1920  +
                crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput {
        1921  +
                    map_of_list_of_pattern_string: self
        1922  +
                        .map_of_list_of_pattern_string
        1923  +
                        .map(|v| match v {
        1924  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1925  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1926  +
                        })
        1927  +
                        .map(|res| {
        1928  +
                            res.map(|v| v.into())
        1929  +
                                .map_err(ConstraintViolation::MapOfListOfPatternString)
        1930  +
                        })
        1931  +
                        .transpose()?,
        1932  +
                },
        1933  +
            )
        1934  +
        }
        1935  +
    }
        1936  +
}
        1937  +
/// See [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
        1938  +
pub mod query_params_targeting_map_of_list_of_pattern_string_operation_input {
        1939  +
        1940  +
    impl ::std::convert::From<Builder>
        1941  +
        for crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput
        1942  +
    {
        1943  +
        fn from(builder: Builder) -> Self {
        1944  +
            builder.build()
        1945  +
        }
        1946  +
    }
        1947  +
    /// A builder for [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
        1948  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1949  +
    pub struct Builder {
        1950  +
        pub(crate) map_of_list_of_pattern_string: ::std::option::Option<
        1951  +
            ::std::collections::HashMap<
        1952  +
                ::std::string::String,
        1953  +
                ::std::vec::Vec<::std::string::String>,
        1954  +
            >,
        1955  +
        >,
        1956  +
    }
        1957  +
    impl Builder {
        1958  +
        #[allow(missing_docs)] // documentation missing in model
        1959  +
        pub fn map_of_list_of_pattern_string(
        1960  +
            mut self,
        1961  +
            input: ::std::option::Option<
        1962  +
                ::std::collections::HashMap<
        1963  +
                    ::std::string::String,
        1964  +
                    ::std::vec::Vec<::std::string::String>,
        1965  +
                >,
        1966  +
            >,
        1967  +
        ) -> Self {
        1968  +
            self.map_of_list_of_pattern_string = input;
        1969  +
            self
        1970  +
        }
        1971  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput).
        1972  +
        pub fn build(
        1973  +
            self,
        1974  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput {
        1975  +
            self.build_enforcing_required_and_enum_traits()
        1976  +
        }
        1977  +
        fn build_enforcing_required_and_enum_traits(
        1978  +
            self,
        1979  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput {
        1980  +
            crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput {
        1981  +
                map_of_list_of_pattern_string: self.map_of_list_of_pattern_string,
        1982  +
            }
        1983  +
        }
        1984  +
    }
        1985  +
}
        1986  +
/// See [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
        1987  +
pub(crate) mod query_params_targeting_map_of_pattern_string_operation_input_internal {
        1988  +
        1989  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1990  +
    /// Holds one variant for each of the ways the builder can fail.
        1991  +
    #[non_exhaustive]
        1992  +
    #[allow(clippy::enum_variant_names)]
        1993  +
    pub(crate) enum ConstraintViolation {
        1994  +
        /// Constraint violation occurred building member `map_of_pattern_string` when building `QueryParamsTargetingMapOfPatternStringOperationInput`.
        1995  +
        #[doc(hidden)]
        1996  +
        MapOfPatternString(crate::model::map_of_pattern_string_internal::ConstraintViolation),
        1997  +
    }
        1998  +
    impl ::std::fmt::Display for ConstraintViolation {
        1999  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2000  +
            match self {
        2001  +
                ConstraintViolation::MapOfPatternString(_) => write!(f, "constraint violation occurred building member `map_of_pattern_string` when building `QueryParamsTargetingMapOfPatternStringOperationInput`"),
        2002  +
            }
        2003  +
        }
        2004  +
    }
        2005  +
    impl ::std::error::Error for ConstraintViolation {}
        2006  +
    impl ConstraintViolation {
        2007  +
        pub(crate) fn as_validation_exception_field(
        2008  +
            self,
        2009  +
            path: ::std::string::String,
        2010  +
        ) -> crate::model::ValidationExceptionField {
        2011  +
            match self {
        2012  +
                ConstraintViolation::MapOfPatternString(inner) => {
        2013  +
                    inner.as_validation_exception_field(path + "/mapOfPatternString")
        2014  +
                }
        2015  +
            }
        2016  +
        }
        2017  +
    }
        2018  +
    impl ::std::convert::From<ConstraintViolation>
        2019  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        2020  +
    {
        2021  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        2022  +
            let first_validation_exception_field =
        2023  +
                constraint_violation.as_validation_exception_field("".to_owned());
        2024  +
            let validation_exception = crate::error::ValidationException {
        2025  +
                message: format!(
        2026  +
                    "1 validation error detected. {}",
        2027  +
                    &first_validation_exception_field.message
        2028  +
                ),
        2029  +
                field_list: Some(vec![first_validation_exception_field]),
        2030  +
            };
        2031  +
            Self::ConstraintViolation(
        2032  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        2033  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2034  +
                            )
        2035  +
        }
        2036  +
    }
        2037  +
    impl ::std::convert::From<Builder>
        2038  +
        for crate::constrained::MaybeConstrained<
        2039  +
            crate::input::QueryParamsTargetingMapOfPatternStringOperationInput,
        2040  +
        >
        2041  +
    {
        2042  +
        fn from(builder: Builder) -> Self {
        2043  +
            Self::Unconstrained(builder)
        2044  +
        }
        2045  +
    }
        2046  +
    impl ::std::convert::TryFrom<Builder>
        2047  +
        for crate::input::QueryParamsTargetingMapOfPatternStringOperationInput
        2048  +
    {
        2049  +
        type Error = ConstraintViolation;
        2050  +
        2051  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2052  +
            builder.build()
        2053  +
        }
        2054  +
    }
        2055  +
    /// A builder for [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
        2056  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2057  +
    pub(crate) struct Builder {
        2058  +
        pub(crate) map_of_pattern_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_pattern_string_constrained::MapOfPatternStringConstrained>>,
        2059  +
    }
        2060  +
    impl Builder {
        2061  +
        #[allow(missing_docs)] // documentation missing in model
        2062  +
        pub(crate) fn set_map_of_pattern_string(
        2063  +
            mut self,
        2064  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_pattern_string_constrained::MapOfPatternStringConstrained>>>,
        2065  +
        ) -> Self {
        2066  +
            self.map_of_pattern_string = input.map(|v| v.into());
        2067  +
            self
        2068  +
        }
        2069  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
        2070  +
        ///
        2071  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput) if a [`ConstraintViolation`] occurs.
        2072  +
        ///
        2073  +
        pub fn build(
        2074  +
            self,
        2075  +
        ) -> Result<
        2076  +
            crate::input::QueryParamsTargetingMapOfPatternStringOperationInput,
        2077  +
            ConstraintViolation,
        2078  +
        > {
        2079  +
            self.build_enforcing_all_constraints()
        2080  +
        }
        2081  +
        fn build_enforcing_all_constraints(
        2082  +
            self,
        2083  +
        ) -> Result<
        2084  +
            crate::input::QueryParamsTargetingMapOfPatternStringOperationInput,
        2085  +
            ConstraintViolation,
        2086  +
        > {
        2087  +
            Ok(
        2088  +
                crate::input::QueryParamsTargetingMapOfPatternStringOperationInput {
        2089  +
                    map_of_pattern_string: self
        2090  +
                        .map_of_pattern_string
        2091  +
                        .map(|v| match v {
        2092  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2093  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2094  +
                        })
        2095  +
                        .map(|res| {
        2096  +
                            res.map(|v| v.into())
        2097  +
                                .map_err(ConstraintViolation::MapOfPatternString)
        2098  +
                        })
        2099  +
                        .transpose()?,
        2100  +
                },
        2101  +
            )
        2102  +
        }
        2103  +
    }
        2104  +
}
        2105  +
/// See [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
        2106  +
pub mod query_params_targeting_map_of_pattern_string_operation_input {
        2107  +
        2108  +
    impl ::std::convert::From<Builder>
        2109  +
        for crate::input::QueryParamsTargetingMapOfPatternStringOperationInput
        2110  +
    {
        2111  +
        fn from(builder: Builder) -> Self {
        2112  +
            builder.build()
        2113  +
        }
        2114  +
    }
        2115  +
    /// A builder for [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
        2116  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2117  +
    pub struct Builder {
        2118  +
        pub(crate) map_of_pattern_string: ::std::option::Option<
        2119  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2120  +
        >,
        2121  +
    }
        2122  +
    impl Builder {
        2123  +
        #[allow(missing_docs)] // documentation missing in model
        2124  +
        pub fn map_of_pattern_string(
        2125  +
            mut self,
        2126  +
            input: ::std::option::Option<
        2127  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2128  +
            >,
        2129  +
        ) -> Self {
        2130  +
            self.map_of_pattern_string = input;
        2131  +
            self
        2132  +
        }
        2133  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfPatternStringOperationInput).
        2134  +
        pub fn build(self) -> crate::input::QueryParamsTargetingMapOfPatternStringOperationInput {
        2135  +
            self.build_enforcing_required_and_enum_traits()
        2136  +
        }
        2137  +
        fn build_enforcing_required_and_enum_traits(
        2138  +
            self,
        2139  +
        ) -> crate::input::QueryParamsTargetingMapOfPatternStringOperationInput {
        2140  +
            crate::input::QueryParamsTargetingMapOfPatternStringOperationInput {
        2141  +
                map_of_pattern_string: self.map_of_pattern_string,
        2142  +
            }
        2143  +
        }
        2144  +
    }
        2145  +
}
        2146  +
/// See [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
        2147  +
pub(crate) mod query_params_targeting_map_of_list_of_enum_string_operation_input_internal {
        2148  +
        2149  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2150  +
    /// Holds one variant for each of the ways the builder can fail.
        2151  +
    #[non_exhaustive]
        2152  +
    #[allow(clippy::enum_variant_names)]
        2153  +
    pub(crate) enum ConstraintViolation {
        2154  +
        /// Constraint violation occurred building member `map_of_list_of_enum_string` when building `QueryParamsTargetingMapOfListOfEnumStringOperationInput`.
        2155  +
        #[doc(hidden)]
        2156  +
        MapOfListOfEnumString(
        2157  +
            crate::model::map_of_list_of_enum_string_internal::ConstraintViolation,
        2158  +
        ),
        2159  +
    }
        2160  +
    impl ::std::fmt::Display for ConstraintViolation {
        2161  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2162  +
            match self {
        2163  +
                ConstraintViolation::MapOfListOfEnumString(_) => write!(f, "constraint violation occurred building member `map_of_list_of_enum_string` when building `QueryParamsTargetingMapOfListOfEnumStringOperationInput`"),
        2164  +
            }
        2165  +
        }
        2166  +
    }
        2167  +
    impl ::std::error::Error for ConstraintViolation {}
        2168  +
    impl ConstraintViolation {
        2169  +
        pub(crate) fn as_validation_exception_field(
        2170  +
            self,
        2171  +
            path: ::std::string::String,
        2172  +
        ) -> crate::model::ValidationExceptionField {
        2173  +
            match self {
        2174  +
                ConstraintViolation::MapOfListOfEnumString(inner) => {
        2175  +
                    inner.as_validation_exception_field(path + "/mapOfListOfEnumString")
        2176  +
                }
        2177  +
            }
        2178  +
        }
        2179  +
    }
        2180  +
    impl ::std::convert::From<ConstraintViolation>
        2181  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        2182  +
    {
        2183  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        2184  +
            let first_validation_exception_field =
        2185  +
                constraint_violation.as_validation_exception_field("".to_owned());
        2186  +
            let validation_exception = crate::error::ValidationException {
        2187  +
                message: format!(
        2188  +
                    "1 validation error detected. {}",
        2189  +
                    &first_validation_exception_field.message
        2190  +
                ),
        2191  +
                field_list: Some(vec![first_validation_exception_field]),
        2192  +
            };
        2193  +
            Self::ConstraintViolation(
        2194  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        2195  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2196  +
                            )
        2197  +
        }
        2198  +
    }
        2199  +
    impl ::std::convert::From<Builder>
        2200  +
        for crate::constrained::MaybeConstrained<
        2201  +
            crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput,
        2202  +
        >
        2203  +
    {
        2204  +
        fn from(builder: Builder) -> Self {
        2205  +
            Self::Unconstrained(builder)
        2206  +
        }
        2207  +
    }
        2208  +
    impl ::std::convert::TryFrom<Builder>
        2209  +
        for crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput
        2210  +
    {
        2211  +
        type Error = ConstraintViolation;
        2212  +
        2213  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2214  +
            builder.build()
        2215  +
        }
        2216  +
    }
        2217  +
    /// A builder for [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
        2218  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2219  +
    pub(crate) struct Builder {
        2220  +
        pub(crate) map_of_list_of_enum_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_enum_string_constrained::MapOfListOfEnumStringConstrained>>,
        2221  +
    }
        2222  +
    impl Builder {
        2223  +
        #[allow(missing_docs)] // documentation missing in model
        2224  +
        pub(crate) fn set_map_of_list_of_enum_string(
        2225  +
            mut self,
        2226  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_enum_string_constrained::MapOfListOfEnumStringConstrained>>>,
        2227  +
        ) -> Self {
        2228  +
            self.map_of_list_of_enum_string = input.map(|v| v.into());
        2229  +
            self
        2230  +
        }
        2231  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
        2232  +
        ///
        2233  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput) if a [`ConstraintViolation`] occurs.
        2234  +
        ///
        2235  +
        pub fn build(
        2236  +
            self,
        2237  +
        ) -> Result<
        2238  +
            crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput,
        2239  +
            ConstraintViolation,
        2240  +
        > {
        2241  +
            self.build_enforcing_all_constraints()
        2242  +
        }
        2243  +
        fn build_enforcing_all_constraints(
        2244  +
            self,
        2245  +
        ) -> Result<
        2246  +
            crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput,
        2247  +
            ConstraintViolation,
        2248  +
        > {
        2249  +
            Ok(
        2250  +
                crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput {
        2251  +
                    map_of_list_of_enum_string: self
        2252  +
                        .map_of_list_of_enum_string
        2253  +
                        .map(|v| match v {
        2254  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2255  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2256  +
                        })
        2257  +
                        .map(|res| {
        2258  +
                            res.map(|v| v.into())
        2259  +
                                .map_err(ConstraintViolation::MapOfListOfEnumString)
        2260  +
                        })
        2261  +
                        .transpose()?,
        2262  +
                },
        2263  +
            )
        2264  +
        }
        2265  +
    }
        2266  +
}
        2267  +
/// See [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
        2268  +
pub mod query_params_targeting_map_of_list_of_enum_string_operation_input {
        2269  +
        2270  +
    impl ::std::convert::From<Builder>
        2271  +
        for crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput
        2272  +
    {
        2273  +
        fn from(builder: Builder) -> Self {
        2274  +
            builder.build()
        2275  +
        }
        2276  +
    }
        2277  +
    /// A builder for [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
        2278  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2279  +
    pub struct Builder {
        2280  +
        pub(crate) map_of_list_of_enum_string: ::std::option::Option<
        2281  +
            ::std::collections::HashMap<
        2282  +
                crate::model::EnumString,
        2283  +
                ::std::vec::Vec<crate::model::EnumString>,
        2284  +
            >,
        2285  +
        >,
        2286  +
    }
        2287  +
    impl Builder {
        2288  +
        #[allow(missing_docs)] // documentation missing in model
        2289  +
        pub fn map_of_list_of_enum_string(
        2290  +
            mut self,
        2291  +
            input: ::std::option::Option<
        2292  +
                ::std::collections::HashMap<
        2293  +
                    crate::model::EnumString,
        2294  +
                    ::std::vec::Vec<crate::model::EnumString>,
        2295  +
                >,
        2296  +
            >,
        2297  +
        ) -> Self {
        2298  +
            self.map_of_list_of_enum_string = input;
        2299  +
            self
        2300  +
        }
        2301  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfEnumStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput).
        2302  +
        pub fn build(
        2303  +
            self,
        2304  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput {
        2305  +
            self.build_enforcing_required_and_enum_traits()
        2306  +
        }
        2307  +
        fn build_enforcing_required_and_enum_traits(
        2308  +
            self,
        2309  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput {
        2310  +
            crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput {
        2311  +
                map_of_list_of_enum_string: self.map_of_list_of_enum_string,
        2312  +
            }
        2313  +
        }
        2314  +
    }
        2315  +
}
        2316  +
/// See [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
        2317  +
pub(crate) mod query_params_targeting_map_of_length_list_of_pattern_string_operation_input_internal {
        2318  +
        2319  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2320  +
    /// Holds one variant for each of the ways the builder can fail.
        2321  +
    #[non_exhaustive]
        2322  +
    #[allow(clippy::enum_variant_names)]
        2323  +
    pub(crate) enum ConstraintViolation {
        2324  +
        /// Constraint violation occurred building member `map_of_length_list_of_pattern_string` when building `QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`.
        2325  +
        #[doc(hidden)]
        2326  +
        MapOfLengthListOfPatternString(
        2327  +
            crate::model::map_of_length_list_of_pattern_string_internal::ConstraintViolation,
        2328  +
        ),
        2329  +
    }
        2330  +
    impl ::std::fmt::Display for ConstraintViolation {
        2331  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2332  +
            match self {
        2333  +
                ConstraintViolation::MapOfLengthListOfPatternString(_) => write!(f, "constraint violation occurred building member `map_of_length_list_of_pattern_string` when building `QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`"),
        2334  +
            }
        2335  +
        }
        2336  +
    }
        2337  +
    impl ::std::error::Error for ConstraintViolation {}
        2338  +
    impl ConstraintViolation {
        2339  +
        pub(crate) fn as_validation_exception_field(
        2340  +
            self,
        2341  +
            path: ::std::string::String,
        2342  +
        ) -> crate::model::ValidationExceptionField {
        2343  +
            match self {
        2344  +
                ConstraintViolation::MapOfLengthListOfPatternString(inner) => {
        2345  +
                    inner.as_validation_exception_field(path + "/mapOfLengthListOfPatternString")
        2346  +
                }
        2347  +
            }
        2348  +
        }
        2349  +
    }
        2350  +
    impl ::std::convert::From<ConstraintViolation>
        2351  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        2352  +
    {
        2353  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        2354  +
            let first_validation_exception_field =
        2355  +
                constraint_violation.as_validation_exception_field("".to_owned());
        2356  +
            let validation_exception = crate::error::ValidationException {
        2357  +
                message: format!(
        2358  +
                    "1 validation error detected. {}",
        2359  +
                    &first_validation_exception_field.message
        2360  +
                ),
        2361  +
                field_list: Some(vec![first_validation_exception_field]),
        2362  +
            };
        2363  +
            Self::ConstraintViolation(
        2364  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        2365  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2366  +
                            )
        2367  +
        }
        2368  +
    }
        2369  +
    impl ::std::convert::From<Builder>
        2370  +
        for crate::constrained::MaybeConstrained<
        2371  +
            crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput,
        2372  +
        >
        2373  +
    {
        2374  +
        fn from(builder: Builder) -> Self {
        2375  +
            Self::Unconstrained(builder)
        2376  +
        }
        2377  +
    }
        2378  +
    impl ::std::convert::TryFrom<Builder>
        2379  +
        for crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput
        2380  +
    {
        2381  +
        type Error = ConstraintViolation;
        2382  +
        2383  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2384  +
            builder.build()
        2385  +
        }
        2386  +
    }
        2387  +
    /// A builder for [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
        2388  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2389  +
    pub(crate) struct Builder {
        2390  +
        pub(crate) map_of_length_list_of_pattern_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_list_of_pattern_string_constrained::MapOfLengthListOfPatternStringConstrained>>,
        2391  +
    }
        2392  +
    impl Builder {
        2393  +
        #[allow(missing_docs)] // documentation missing in model
        2394  +
        pub(crate) fn set_map_of_length_list_of_pattern_string(
        2395  +
            mut self,
        2396  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_list_of_pattern_string_constrained::MapOfLengthListOfPatternStringConstrained>>>,
        2397  +
        ) -> Self {
        2398  +
            self.map_of_length_list_of_pattern_string = input.map(|v| v.into());
        2399  +
            self
        2400  +
        }
        2401  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
        2402  +
        ///
        2403  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput) if a [`ConstraintViolation`] occurs.
        2404  +
        ///
        2405  +
        pub fn build(
        2406  +
            self,
        2407  +
        ) -> Result<
        2408  +
            crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput,
        2409  +
            ConstraintViolation,
        2410  +
        > {
        2411  +
            self.build_enforcing_all_constraints()
        2412  +
        }
        2413  +
        fn build_enforcing_all_constraints(
        2414  +
            self,
        2415  +
        ) -> Result<
        2416  +
            crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput,
        2417  +
            ConstraintViolation,
        2418  +
        > {
        2419  +
            Ok(
        2420  +
                crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput {
        2421  +
                    map_of_length_list_of_pattern_string: self
        2422  +
                        .map_of_length_list_of_pattern_string
        2423  +
                        .map(|v| match v {
        2424  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2425  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2426  +
                        })
        2427  +
                        .map(|res| {
        2428  +
                            res.map(|v| v.into())
        2429  +
                                .map_err(ConstraintViolation::MapOfLengthListOfPatternString)
        2430  +
                        })
        2431  +
                        .transpose()?,
        2432  +
                },
        2433  +
            )
        2434  +
        }
        2435  +
    }
        2436  +
}
        2437  +
/// See [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
        2438  +
pub mod query_params_targeting_map_of_length_list_of_pattern_string_operation_input {
        2439  +
        2440  +
    impl ::std::convert::From<Builder>
        2441  +
        for crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput
        2442  +
    {
        2443  +
        fn from(builder: Builder) -> Self {
        2444  +
            builder.build()
        2445  +
        }
        2446  +
    }
        2447  +
    /// A builder for [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
        2448  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2449  +
    pub struct Builder {
        2450  +
        pub(crate) map_of_length_list_of_pattern_string: ::std::option::Option<
        2451  +
            ::std::collections::HashMap<
        2452  +
                ::std::string::String,
        2453  +
                ::std::vec::Vec<::std::string::String>,
        2454  +
            >,
        2455  +
        >,
        2456  +
    }
        2457  +
    impl Builder {
        2458  +
        #[allow(missing_docs)] // documentation missing in model
        2459  +
        pub fn map_of_length_list_of_pattern_string(
        2460  +
            mut self,
        2461  +
            input: ::std::option::Option<
        2462  +
                ::std::collections::HashMap<
        2463  +
                    ::std::string::String,
        2464  +
                    ::std::vec::Vec<::std::string::String>,
        2465  +
                >,
        2466  +
            >,
        2467  +
        ) -> Self {
        2468  +
            self.map_of_length_list_of_pattern_string = input;
        2469  +
            self
        2470  +
        }
        2471  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput).
        2472  +
        pub fn build(
        2473  +
            self,
        2474  +
        ) -> crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput
        2475  +
        {
        2476  +
            self.build_enforcing_required_and_enum_traits()
        2477  +
        }
        2478  +
        fn build_enforcing_required_and_enum_traits(
        2479  +
            self,
        2480  +
        ) -> crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput
        2481  +
        {
        2482  +
            crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput {
        2483  +
                map_of_length_list_of_pattern_string: self.map_of_length_list_of_pattern_string,
        2484  +
            }
        2485  +
        }
        2486  +
    }
        2487  +
}
        2488  +
/// See [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
        2489  +
pub(crate) mod query_params_targeting_map_of_set_of_length_string_operation_input_internal {
        2490  +
        2491  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2492  +
    /// Holds one variant for each of the ways the builder can fail.
        2493  +
    #[non_exhaustive]
        2494  +
    #[allow(clippy::enum_variant_names)]
        2495  +
    pub(crate) enum ConstraintViolation {
        2496  +
        /// Constraint violation occurred building member `map_of_set_of_length_string` when building `QueryParamsTargetingMapOfSetOfLengthStringOperationInput`.
        2497  +
        #[doc(hidden)]
        2498  +
        MapOfSetOfLengthString(
        2499  +
            crate::model::map_of_set_of_length_string_internal::ConstraintViolation,
        2500  +
        ),
        2501  +
    }
        2502  +
    impl ::std::fmt::Display for ConstraintViolation {
        2503  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2504  +
            match self {
        2505  +
                ConstraintViolation::MapOfSetOfLengthString(_) => write!(f, "constraint violation occurred building member `map_of_set_of_length_string` when building `QueryParamsTargetingMapOfSetOfLengthStringOperationInput`"),
        2506  +
            }
        2507  +
        }
        2508  +
    }
        2509  +
    impl ::std::error::Error for ConstraintViolation {}
        2510  +
    impl ConstraintViolation {
        2511  +
        pub(crate) fn as_validation_exception_field(
        2512  +
            self,
        2513  +
            path: ::std::string::String,
        2514  +
        ) -> crate::model::ValidationExceptionField {
        2515  +
            match self {
        2516  +
                ConstraintViolation::MapOfSetOfLengthString(inner) => {
        2517  +
                    inner.as_validation_exception_field(path + "/mapOfSetOfLengthString")
        2518  +
                }
        2519  +
            }
        2520  +
        }
        2521  +
    }
        2522  +
    impl ::std::convert::From<ConstraintViolation>
        2523  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        2524  +
    {
        2525  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        2526  +
            let first_validation_exception_field =
        2527  +
                constraint_violation.as_validation_exception_field("".to_owned());
        2528  +
            let validation_exception = crate::error::ValidationException {
        2529  +
                message: format!(
        2530  +
                    "1 validation error detected. {}",
        2531  +
                    &first_validation_exception_field.message
        2532  +
                ),
        2533  +
                field_list: Some(vec![first_validation_exception_field]),
        2534  +
            };
        2535  +
            Self::ConstraintViolation(
        2536  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        2537  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2538  +
                            )
        2539  +
        }
        2540  +
    }
        2541  +
    impl ::std::convert::From<Builder>
        2542  +
        for crate::constrained::MaybeConstrained<
        2543  +
            crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput,
        2544  +
        >
        2545  +
    {
        2546  +
        fn from(builder: Builder) -> Self {
        2547  +
            Self::Unconstrained(builder)
        2548  +
        }
        2549  +
    }
        2550  +
    impl ::std::convert::TryFrom<Builder>
        2551  +
        for crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput
        2552  +
    {
        2553  +
        type Error = ConstraintViolation;
        2554  +
        2555  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2556  +
            builder.build()
        2557  +
        }
        2558  +
    }
        2559  +
    /// A builder for [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
        2560  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2561  +
    pub(crate) struct Builder {
        2562  +
        pub(crate) map_of_set_of_length_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_set_of_length_string_constrained::MapOfSetOfLengthStringConstrained>>,
        2563  +
    }
        2564  +
    impl Builder {
        2565  +
        #[allow(missing_docs)] // documentation missing in model
        2566  +
        pub(crate) fn set_map_of_set_of_length_string(
        2567  +
            mut self,
        2568  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_set_of_length_string_constrained::MapOfSetOfLengthStringConstrained>>>,
        2569  +
        ) -> Self {
        2570  +
            self.map_of_set_of_length_string = input.map(|v| v.into());
        2571  +
            self
        2572  +
        }
        2573  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
        2574  +
        ///
        2575  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput) if a [`ConstraintViolation`] occurs.
        2576  +
        ///
        2577  +
        pub fn build(
        2578  +
            self,
        2579  +
        ) -> Result<
        2580  +
            crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput,
        2581  +
            ConstraintViolation,
        2582  +
        > {
        2583  +
            self.build_enforcing_all_constraints()
        2584  +
        }
        2585  +
        fn build_enforcing_all_constraints(
        2586  +
            self,
        2587  +
        ) -> Result<
        2588  +
            crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput,
        2589  +
            ConstraintViolation,
        2590  +
        > {
        2591  +
            Ok(
        2592  +
                crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
        2593  +
                    map_of_set_of_length_string: self
        2594  +
                        .map_of_set_of_length_string
        2595  +
                        .map(|v| match v {
        2596  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2597  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2598  +
                        })
        2599  +
                        .map(|res| {
        2600  +
                            res.map(|v| v.into())
        2601  +
                                .map_err(ConstraintViolation::MapOfSetOfLengthString)
        2602  +
                        })
        2603  +
                        .transpose()?,
        2604  +
                },
        2605  +
            )
        2606  +
        }
        2607  +
    }
        2608  +
}
        2609  +
/// See [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
        2610  +
pub mod query_params_targeting_map_of_set_of_length_string_operation_input {
        2611  +
        2612  +
    impl ::std::convert::From<Builder>
        2613  +
        for crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput
        2614  +
    {
        2615  +
        fn from(builder: Builder) -> Self {
        2616  +
            builder.build()
        2617  +
        }
        2618  +
    }
        2619  +
    /// A builder for [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
        2620  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2621  +
    pub struct Builder {
        2622  +
        pub(crate) map_of_set_of_length_string: ::std::option::Option<
        2623  +
            ::std::collections::HashMap<
        2624  +
                ::std::string::String,
        2625  +
                ::std::vec::Vec<::std::string::String>,
        2626  +
            >,
        2627  +
        >,
        2628  +
    }
        2629  +
    impl Builder {
        2630  +
        #[allow(missing_docs)] // documentation missing in model
        2631  +
        pub fn map_of_set_of_length_string(
        2632  +
            mut self,
        2633  +
            input: ::std::option::Option<
        2634  +
                ::std::collections::HashMap<
        2635  +
                    ::std::string::String,
        2636  +
                    ::std::vec::Vec<::std::string::String>,
        2637  +
                >,
        2638  +
            >,
        2639  +
        ) -> Self {
        2640  +
            self.map_of_set_of_length_string = input;
        2641  +
            self
        2642  +
        }
        2643  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfSetOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput).
        2644  +
        pub fn build(
        2645  +
            self,
        2646  +
        ) -> crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
        2647  +
            self.build_enforcing_required_and_enum_traits()
        2648  +
        }
        2649  +
        fn build_enforcing_required_and_enum_traits(
        2650  +
            self,
        2651  +
        ) -> crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
        2652  +
            crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput {
        2653  +
                map_of_set_of_length_string: self.map_of_set_of_length_string,
        2654  +
            }
        2655  +
        }
        2656  +
    }
        2657  +
}
        2658  +
/// See [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
        2659  +
pub(crate) mod query_params_targeting_map_of_list_of_length_string_operation_input_internal {
        2660  +
        2661  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2662  +
    /// Holds one variant for each of the ways the builder can fail.
        2663  +
    #[non_exhaustive]
        2664  +
    #[allow(clippy::enum_variant_names)]
        2665  +
    pub(crate) enum ConstraintViolation {
        2666  +
        /// Constraint violation occurred building member `map_of_list_of_length_string` when building `QueryParamsTargetingMapOfListOfLengthStringOperationInput`.
        2667  +
        #[doc(hidden)]
        2668  +
        MapOfListOfLengthString(
        2669  +
            crate::model::map_of_list_of_length_string_internal::ConstraintViolation,
        2670  +
        ),
        2671  +
    }
        2672  +
    impl ::std::fmt::Display for ConstraintViolation {
        2673  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2674  +
            match self {
        2675  +
                ConstraintViolation::MapOfListOfLengthString(_) => write!(f, "constraint violation occurred building member `map_of_list_of_length_string` when building `QueryParamsTargetingMapOfListOfLengthStringOperationInput`"),
        2676  +
            }
        2677  +
        }
        2678  +
    }
        2679  +
    impl ::std::error::Error for ConstraintViolation {}
        2680  +
    impl ConstraintViolation {
        2681  +
        pub(crate) fn as_validation_exception_field(
        2682  +
            self,
        2683  +
            path: ::std::string::String,
        2684  +
        ) -> crate::model::ValidationExceptionField {
        2685  +
            match self {
        2686  +
                ConstraintViolation::MapOfListOfLengthString(inner) => {
        2687  +
                    inner.as_validation_exception_field(path + "/mapOfListOfLengthString")
        2688  +
                }
        2689  +
            }
        2690  +
        }
        2691  +
    }
        2692  +
    impl ::std::convert::From<ConstraintViolation>
        2693  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        2694  +
    {
        2695  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        2696  +
            let first_validation_exception_field =
        2697  +
                constraint_violation.as_validation_exception_field("".to_owned());
        2698  +
            let validation_exception = crate::error::ValidationException {
        2699  +
                message: format!(
        2700  +
                    "1 validation error detected. {}",
        2701  +
                    &first_validation_exception_field.message
        2702  +
                ),
        2703  +
                field_list: Some(vec![first_validation_exception_field]),
        2704  +
            };
        2705  +
            Self::ConstraintViolation(
        2706  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        2707  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2708  +
                            )
        2709  +
        }
        2710  +
    }
        2711  +
    impl ::std::convert::From<Builder>
        2712  +
        for crate::constrained::MaybeConstrained<
        2713  +
            crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput,
        2714  +
        >
        2715  +
    {
        2716  +
        fn from(builder: Builder) -> Self {
        2717  +
            Self::Unconstrained(builder)
        2718  +
        }
        2719  +
    }
        2720  +
    impl ::std::convert::TryFrom<Builder>
        2721  +
        for crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput
        2722  +
    {
        2723  +
        type Error = ConstraintViolation;
        2724  +
        2725  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2726  +
            builder.build()
        2727  +
        }
        2728  +
    }
        2729  +
    /// A builder for [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
        2730  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2731  +
    pub(crate) struct Builder {
        2732  +
        pub(crate) map_of_list_of_length_string: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_length_string_constrained::MapOfListOfLengthStringConstrained>>,
        2733  +
    }
        2734  +
    impl Builder {
        2735  +
        #[allow(missing_docs)] // documentation missing in model
        2736  +
        pub(crate) fn set_map_of_list_of_length_string(
        2737  +
            mut self,
        2738  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_list_of_length_string_constrained::MapOfListOfLengthStringConstrained>>>,
        2739  +
        ) -> Self {
        2740  +
            self.map_of_list_of_length_string = input.map(|v| v.into());
        2741  +
            self
        2742  +
        }
        2743  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
        2744  +
        ///
        2745  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput) if a [`ConstraintViolation`] occurs.
        2746  +
        ///
        2747  +
        pub fn build(
        2748  +
            self,
        2749  +
        ) -> Result<
        2750  +
            crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput,
        2751  +
            ConstraintViolation,
        2752  +
        > {
        2753  +
            self.build_enforcing_all_constraints()
        2754  +
        }
        2755  +
        fn build_enforcing_all_constraints(
        2756  +
            self,
        2757  +
        ) -> Result<
        2758  +
            crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput,
        2759  +
            ConstraintViolation,
        2760  +
        > {
        2761  +
            Ok(
        2762  +
                crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput {
        2763  +
                    map_of_list_of_length_string: self
        2764  +
                        .map_of_list_of_length_string
        2765  +
                        .map(|v| match v {
        2766  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2767  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2768  +
                        })
        2769  +
                        .map(|res| {
        2770  +
                            res.map(|v| v.into())
        2771  +
                                .map_err(ConstraintViolation::MapOfListOfLengthString)
        2772  +
                        })
        2773  +
                        .transpose()?,
        2774  +
                },
        2775  +
            )
        2776  +
        }
        2777  +
    }
        2778  +
}
        2779  +
/// See [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
        2780  +
pub mod query_params_targeting_map_of_list_of_length_string_operation_input {
        2781  +
        2782  +
    impl ::std::convert::From<Builder>
        2783  +
        for crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput
        2784  +
    {
        2785  +
        fn from(builder: Builder) -> Self {
        2786  +
            builder.build()
        2787  +
        }
        2788  +
    }
        2789  +
    /// A builder for [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
        2790  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2791  +
    pub struct Builder {
        2792  +
        pub(crate) map_of_list_of_length_string: ::std::option::Option<
        2793  +
            ::std::collections::HashMap<
        2794  +
                ::std::string::String,
        2795  +
                ::std::vec::Vec<::std::string::String>,
        2796  +
            >,
        2797  +
        >,
        2798  +
    }
        2799  +
    impl Builder {
        2800  +
        #[allow(missing_docs)] // documentation missing in model
        2801  +
        pub fn map_of_list_of_length_string(
        2802  +
            mut self,
        2803  +
            input: ::std::option::Option<
        2804  +
                ::std::collections::HashMap<
        2805  +
                    ::std::string::String,
        2806  +
                    ::std::vec::Vec<::std::string::String>,
        2807  +
                >,
        2808  +
            >,
        2809  +
        ) -> Self {
        2810  +
            self.map_of_list_of_length_string = input;
        2811  +
            self
        2812  +
        }
        2813  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfListOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput).
        2814  +
        pub fn build(
        2815  +
            self,
        2816  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput {
        2817  +
            self.build_enforcing_required_and_enum_traits()
        2818  +
        }
        2819  +
        fn build_enforcing_required_and_enum_traits(
        2820  +
            self,
        2821  +
        ) -> crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput {
        2822  +
            crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput {
        2823  +
                map_of_list_of_length_string: self.map_of_list_of_length_string,
        2824  +
            }
        2825  +
        }
        2826  +
    }
        2827  +
}
        2828  +
/// See [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
        2829  +
pub(crate) mod query_params_targeting_map_of_length_string_operation_input_internal {
        2830  +
        2831  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2832  +
    /// Holds one variant for each of the ways the builder can fail.
        2833  +
    #[non_exhaustive]
        2834  +
    #[allow(clippy::enum_variant_names)]
        2835  +
    pub(crate) enum ConstraintViolation {
        2836  +
        /// Constraint violation occurred building member `map_of_length_string` when building `QueryParamsTargetingMapOfLengthStringOperationInput`.
        2837  +
        #[doc(hidden)]
        2838  +
        MapOfLengthString(crate::model::map_of_length_string_internal::ConstraintViolation),
        2839  +
    }
        2840  +
    impl ::std::fmt::Display for ConstraintViolation {
        2841  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        2842  +
            match self {
        2843  +
                ConstraintViolation::MapOfLengthString(_) => write!(f, "constraint violation occurred building member `map_of_length_string` when building `QueryParamsTargetingMapOfLengthStringOperationInput`"),
        2844  +
            }
        2845  +
        }
        2846  +
    }
        2847  +
    impl ::std::error::Error for ConstraintViolation {}
        2848  +
    impl ConstraintViolation {
        2849  +
        pub(crate) fn as_validation_exception_field(
        2850  +
            self,
        2851  +
            path: ::std::string::String,
        2852  +
        ) -> crate::model::ValidationExceptionField {
        2853  +
            match self {
        2854  +
                ConstraintViolation::MapOfLengthString(inner) => {
        2855  +
                    inner.as_validation_exception_field(path + "/mapOfLengthString")
        2856  +
                }
        2857  +
            }
        2858  +
        }
        2859  +
    }
        2860  +
    impl ::std::convert::From<ConstraintViolation>
        2861  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        2862  +
    {
        2863  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        2864  +
            let first_validation_exception_field =
        2865  +
                constraint_violation.as_validation_exception_field("".to_owned());
        2866  +
            let validation_exception = crate::error::ValidationException {
        2867  +
                message: format!(
        2868  +
                    "1 validation error detected. {}",
        2869  +
                    &first_validation_exception_field.message
        2870  +
                ),
        2871  +
                field_list: Some(vec![first_validation_exception_field]),
        2872  +
            };
        2873  +
            Self::ConstraintViolation(
        2874  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        2875  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        2876  +
                            )
        2877  +
        }
        2878  +
    }
        2879  +
    impl ::std::convert::From<Builder>
        2880  +
        for crate::constrained::MaybeConstrained<
        2881  +
            crate::input::QueryParamsTargetingMapOfLengthStringOperationInput,
        2882  +
        >
        2883  +
    {
        2884  +
        fn from(builder: Builder) -> Self {
        2885  +
            Self::Unconstrained(builder)
        2886  +
        }
        2887  +
    }
        2888  +
    impl ::std::convert::TryFrom<Builder>
        2889  +
        for crate::input::QueryParamsTargetingMapOfLengthStringOperationInput
        2890  +
    {
        2891  +
        type Error = ConstraintViolation;
        2892  +
        2893  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        2894  +
            builder.build()
        2895  +
        }
        2896  +
    }
        2897  +
    /// A builder for [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
        2898  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2899  +
    pub(crate) struct Builder {
        2900  +
        pub(crate) map_of_length_string: ::std::option::Option<
        2901  +
            crate::constrained::MaybeConstrained<
        2902  +
                crate::constrained::map_of_length_string_constrained::MapOfLengthStringConstrained,
        2903  +
            >,
        2904  +
        >,
        2905  +
    }
        2906  +
    impl Builder {
        2907  +
        #[allow(missing_docs)] // documentation missing in model
        2908  +
        pub(crate) fn set_map_of_length_string(
        2909  +
            mut self,
        2910  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_string_constrained::MapOfLengthStringConstrained>>>,
        2911  +
        ) -> Self {
        2912  +
            self.map_of_length_string = input.map(|v| v.into());
        2913  +
            self
        2914  +
        }
        2915  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
        2916  +
        ///
        2917  +
        /// The builder fails to construct a [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput) if a [`ConstraintViolation`] occurs.
        2918  +
        ///
        2919  +
        pub fn build(
        2920  +
            self,
        2921  +
        ) -> Result<
        2922  +
            crate::input::QueryParamsTargetingMapOfLengthStringOperationInput,
        2923  +
            ConstraintViolation,
        2924  +
        > {
        2925  +
            self.build_enforcing_all_constraints()
        2926  +
        }
        2927  +
        fn build_enforcing_all_constraints(
        2928  +
            self,
        2929  +
        ) -> Result<
        2930  +
            crate::input::QueryParamsTargetingMapOfLengthStringOperationInput,
        2931  +
            ConstraintViolation,
        2932  +
        > {
        2933  +
            Ok(
        2934  +
                crate::input::QueryParamsTargetingMapOfLengthStringOperationInput {
        2935  +
                    map_of_length_string: self
        2936  +
                        .map_of_length_string
        2937  +
                        .map(|v| match v {
        2938  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2939  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2940  +
                        })
        2941  +
                        .map(|res| {
        2942  +
                            res.map(|v| v.into())
        2943  +
                                .map_err(ConstraintViolation::MapOfLengthString)
        2944  +
                        })
        2945  +
                        .transpose()?,
        2946  +
                },
        2947  +
            )
        2948  +
        }
        2949  +
    }
        2950  +
}
        2951  +
/// See [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
        2952  +
pub mod query_params_targeting_map_of_length_string_operation_input {
        2953  +
        2954  +
    impl ::std::convert::From<Builder>
        2955  +
        for crate::input::QueryParamsTargetingMapOfLengthStringOperationInput
        2956  +
    {
        2957  +
        fn from(builder: Builder) -> Self {
        2958  +
            builder.build()
        2959  +
        }
        2960  +
    }
        2961  +
    /// A builder for [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
        2962  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2963  +
    pub struct Builder {
        2964  +
        pub(crate) map_of_length_string: ::std::option::Option<
        2965  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2966  +
        >,
        2967  +
    }
        2968  +
    impl Builder {
        2969  +
        #[allow(missing_docs)] // documentation missing in model
        2970  +
        pub fn map_of_length_string(
        2971  +
            mut self,
        2972  +
            input: ::std::option::Option<
        2973  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2974  +
            >,
        2975  +
        ) -> Self {
        2976  +
            self.map_of_length_string = input;
        2977  +
            self
        2978  +
        }
        2979  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingMapOfLengthStringOperationInput`](crate::input::QueryParamsTargetingMapOfLengthStringOperationInput).
        2980  +
        pub fn build(self) -> crate::input::QueryParamsTargetingMapOfLengthStringOperationInput {
        2981  +
            self.build_enforcing_required_and_enum_traits()
        2982  +
        }
        2983  +
        fn build_enforcing_required_and_enum_traits(
        2984  +
            self,
        2985  +
        ) -> crate::input::QueryParamsTargetingMapOfLengthStringOperationInput {
        2986  +
            crate::input::QueryParamsTargetingMapOfLengthStringOperationInput {
        2987  +
                map_of_length_string: self.map_of_length_string,
        2988  +
            }
        2989  +
        }
        2990  +
    }
        2991  +
}
        2992  +
/// See [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
        2993  +
pub(crate) mod query_params_targeting_length_map_operation_input_internal {
        2994  +
        2995  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2996  +
    /// Holds one variant for each of the ways the builder can fail.
        2997  +
    #[non_exhaustive]
        2998  +
    #[allow(clippy::enum_variant_names)]
        2999  +
    pub(crate) enum ConstraintViolation {
        3000  +
        /// Constraint violation occurred building member `length_map` when building `QueryParamsTargetingLengthMapOperationInput`.
        3001  +
        #[doc(hidden)]
        3002  +
        LengthMap(crate::model::con_b_map_internal::ConstraintViolation),
        3003  +
    }
        3004  +
    impl ::std::fmt::Display for ConstraintViolation {
        3005  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3006  +
            match self {
        3007  +
                ConstraintViolation::LengthMap(_) => write!(f, "constraint violation occurred building member `length_map` when building `QueryParamsTargetingLengthMapOperationInput`"),
        3008  +
            }
        3009  +
        }
        3010  +
    }
        3011  +
    impl ::std::error::Error for ConstraintViolation {}
        3012  +
    impl ConstraintViolation {
        3013  +
        pub(crate) fn as_validation_exception_field(
        3014  +
            self,
        3015  +
            path: ::std::string::String,
        3016  +
        ) -> crate::model::ValidationExceptionField {
        3017  +
            match self {
        3018  +
                ConstraintViolation::LengthMap(inner) => {
        3019  +
                    inner.as_validation_exception_field(path + "/lengthMap")
        3020  +
                }
        3021  +
            }
        3022  +
        }
        3023  +
    }
        3024  +
    impl ::std::convert::From<ConstraintViolation>
        3025  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        3026  +
    {
        3027  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        3028  +
            let first_validation_exception_field =
        3029  +
                constraint_violation.as_validation_exception_field("".to_owned());
        3030  +
            let validation_exception = crate::error::ValidationException {
        3031  +
                message: format!(
        3032  +
                    "1 validation error detected. {}",
        3033  +
                    &first_validation_exception_field.message
        3034  +
                ),
        3035  +
                field_list: Some(vec![first_validation_exception_field]),
        3036  +
            };
        3037  +
            Self::ConstraintViolation(
        3038  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        3039  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        3040  +
                            )
        3041  +
        }
        3042  +
    }
        3043  +
    impl ::std::convert::From<Builder>
        3044  +
        for crate::constrained::MaybeConstrained<
        3045  +
            crate::input::QueryParamsTargetingLengthMapOperationInput,
        3046  +
        >
        3047  +
    {
        3048  +
        fn from(builder: Builder) -> Self {
        3049  +
            Self::Unconstrained(builder)
        3050  +
        }
        3051  +
    }
        3052  +
    impl ::std::convert::TryFrom<Builder>
        3053  +
        for crate::input::QueryParamsTargetingLengthMapOperationInput
        3054  +
    {
        3055  +
        type Error = ConstraintViolation;
        3056  +
        3057  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3058  +
            builder.build()
        3059  +
        }
        3060  +
    }
        3061  +
    /// A builder for [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
        3062  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3063  +
    pub(crate) struct Builder {
        3064  +
        pub(crate) length_map:
        3065  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::ConBMap>>,
        3066  +
    }
        3067  +
    impl Builder {
        3068  +
        #[allow(missing_docs)] // documentation missing in model
        3069  +
        pub(crate) fn set_length_map(
        3070  +
            mut self,
        3071  +
            input: Option<
        3072  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::ConBMap>>,
        3073  +
            >,
        3074  +
        ) -> Self {
        3075  +
            self.length_map = input.map(|v| v.into());
        3076  +
            self
        3077  +
        }
        3078  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
        3079  +
        ///
        3080  +
        /// The builder fails to construct a [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput) if a [`ConstraintViolation`] occurs.
        3081  +
        ///
        3082  +
        pub fn build(
        3083  +
            self,
        3084  +
        ) -> Result<crate::input::QueryParamsTargetingLengthMapOperationInput, ConstraintViolation>
        3085  +
        {
        3086  +
            self.build_enforcing_all_constraints()
        3087  +
        }
        3088  +
        fn build_enforcing_all_constraints(
        3089  +
            self,
        3090  +
        ) -> Result<crate::input::QueryParamsTargetingLengthMapOperationInput, ConstraintViolation>
        3091  +
        {
        3092  +
            Ok(crate::input::QueryParamsTargetingLengthMapOperationInput {
        3093  +
                length_map: self
        3094  +
                    .length_map
        3095  +
                    .map(|v| match v {
        3096  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        3097  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        3098  +
                    })
        3099  +
                    .map(|res| res.map_err(ConstraintViolation::LengthMap))
        3100  +
                    .transpose()?
        3101  +
                    .map(|v: crate::model::ConBMap| v.into()),
        3102  +
            })
        3103  +
        }
        3104  +
    }
        3105  +
}
        3106  +
/// See [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
        3107  +
pub mod query_params_targeting_length_map_operation_input {
        3108  +
        3109  +
    impl ::std::convert::From<Builder> for crate::input::QueryParamsTargetingLengthMapOperationInput {
        3110  +
        fn from(builder: Builder) -> Self {
        3111  +
            builder.build()
        3112  +
        }
        3113  +
    }
        3114  +
    /// A builder for [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
        3115  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3116  +
    pub struct Builder {
        3117  +
        pub(crate) length_map: ::std::option::Option<
        3118  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3119  +
        >,
        3120  +
    }
        3121  +
    impl Builder {
        3122  +
        #[allow(missing_docs)] // documentation missing in model
        3123  +
        pub fn length_map(
        3124  +
            mut self,
        3125  +
            input: ::std::option::Option<
        3126  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3127  +
            >,
        3128  +
        ) -> Self {
        3129  +
            self.length_map = input;
        3130  +
            self
        3131  +
        }
        3132  +
        /// Consumes the builder and constructs a [`QueryParamsTargetingLengthMapOperationInput`](crate::input::QueryParamsTargetingLengthMapOperationInput).
        3133  +
        pub fn build(self) -> crate::input::QueryParamsTargetingLengthMapOperationInput {
        3134  +
            self.build_enforcing_required_and_enum_traits()
        3135  +
        }
        3136  +
        fn build_enforcing_required_and_enum_traits(
        3137  +
            self,
        3138  +
        ) -> crate::input::QueryParamsTargetingLengthMapOperationInput {
        3139  +
            crate::input::QueryParamsTargetingLengthMapOperationInput {
        3140  +
                length_map: self.length_map,
        3141  +
            }
        3142  +
        }
        3143  +
    }
        3144  +
}
        3145  +
/// See [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
        3146  +
pub(crate) mod constrained_recursive_shapes_operation_input_internal {
        3147  +
        3148  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3149  +
    /// Holds one variant for each of the ways the builder can fail.
        3150  +
    #[non_exhaustive]
        3151  +
    #[allow(clippy::enum_variant_names)]
        3152  +
    pub(crate) enum ConstraintViolation {
        3153  +
        /// Constraint violation occurred building member `nested` when building `ConstrainedRecursiveShapesOperationInput`.
        3154  +
        #[doc(hidden)]
        3155  +
        Nested(crate::model::recursive_shapes_input_output_nested1_internal::ConstraintViolation),
        3156  +
        /// `recursive_list` was not provided but it is required when building `ConstrainedRecursiveShapesOperationInput`.
        3157  +
        MissingRecursiveList,
        3158  +
        /// Constraint violation occurred building member `recursive_list` when building `ConstrainedRecursiveShapesOperationInput`.
        3159  +
        #[doc(hidden)]
        3160  +
        RecursiveList(crate::model::recursive_list_internal::ConstraintViolation),
        3161  +
    }
        3162  +
    impl ::std::fmt::Display for ConstraintViolation {
        3163  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3164  +
            match self {
        3165  +
                ConstraintViolation::Nested(_) => write!(f, "constraint violation occurred building member `nested` when building `ConstrainedRecursiveShapesOperationInput`"),
        3166  +
                ConstraintViolation::MissingRecursiveList => write!(f, "`recursive_list` was not provided but it is required when building `ConstrainedRecursiveShapesOperationInput`"),
        3167  +
                ConstraintViolation::RecursiveList(_) => write!(f, "constraint violation occurred building member `recursive_list` when building `ConstrainedRecursiveShapesOperationInput`"),
        3168  +
            }
        3169  +
        }
        3170  +
    }
        3171  +
    impl ::std::error::Error for ConstraintViolation {}
        3172  +
    impl ConstraintViolation {
        3173  +
        pub(crate) fn as_validation_exception_field(
        3174  +
            self,
        3175  +
            path: ::std::string::String,
        3176  +
        ) -> crate::model::ValidationExceptionField {
        3177  +
            match self {
        3178  +
            ConstraintViolation::Nested(inner) => inner.as_validation_exception_field(path + "/nested"),
        3179  +
            ConstraintViolation::MissingRecursiveList => crate::model::ValidationExceptionField {
        3180  +
                                                message: format!("Value at '{}/recursiveList' failed to satisfy constraint: Member must not be null", path),
        3181  +
                                                path: path + "/recursiveList",
        3182  +
                                            },
        3183  +
            ConstraintViolation::RecursiveList(inner) => inner.as_validation_exception_field(path + "/recursiveList"),
        3184  +
        }
        3185  +
        }
        3186  +
    }
        3187  +
    impl ::std::convert::From<ConstraintViolation>
        3188  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        3189  +
    {
        3190  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        3191  +
            let first_validation_exception_field =
        3192  +
                constraint_violation.as_validation_exception_field("".to_owned());
        3193  +
            let validation_exception = crate::error::ValidationException {
        3194  +
                message: format!(
        3195  +
                    "1 validation error detected. {}",
        3196  +
                    &first_validation_exception_field.message
        3197  +
                ),
        3198  +
                field_list: Some(vec![first_validation_exception_field]),
        3199  +
            };
        3200  +
            Self::ConstraintViolation(
        3201  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        3202  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        3203  +
                            )
        3204  +
        }
        3205  +
    }
        3206  +
    impl ::std::convert::From<Builder>
        3207  +
        for crate::constrained::MaybeConstrained<
        3208  +
            crate::input::ConstrainedRecursiveShapesOperationInput,
        3209  +
        >
        3210  +
    {
        3211  +
        fn from(builder: Builder) -> Self {
        3212  +
            Self::Unconstrained(builder)
        3213  +
        }
        3214  +
    }
        3215  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstrainedRecursiveShapesOperationInput {
        3216  +
        type Error = ConstraintViolation;
        3217  +
        3218  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3219  +
            builder.build()
        3220  +
        }
        3221  +
    }
        3222  +
    /// A builder for [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
        3223  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3224  +
    pub(crate) struct Builder {
        3225  +
        pub(crate) nested: ::std::option::Option<
        3226  +
            crate::constrained::MaybeConstrained<crate::model::RecursiveShapesInputOutputNested1>,
        3227  +
        >,
        3228  +
        pub(crate) recursive_list: ::std::option::Option<
        3229  +
            crate::constrained::MaybeConstrained<
        3230  +
                crate::constrained::recursive_list_constrained::RecursiveListConstrained,
        3231  +
            >,
        3232  +
        >,
        3233  +
    }
        3234  +
    impl Builder {
        3235  +
        #[allow(missing_docs)] // documentation missing in model
        3236  +
        pub(crate) fn set_nested(
        3237  +
            mut self,
        3238  +
            input: Option<
        3239  +
                impl ::std::convert::Into<
        3240  +
                    crate::constrained::MaybeConstrained<
        3241  +
                        crate::model::RecursiveShapesInputOutputNested1,
        3242  +
                    >,
        3243  +
                >,
        3244  +
            >,
        3245  +
        ) -> Self {
        3246  +
            self.nested = input.map(|v| v.into());
        3247  +
            self
        3248  +
        }
        3249  +
        #[allow(missing_docs)] // documentation missing in model
        3250  +
        pub(crate) fn set_recursive_list(
        3251  +
            mut self,
        3252  +
            input: impl ::std::convert::Into<
        3253  +
                crate::constrained::MaybeConstrained<
        3254  +
                    crate::constrained::recursive_list_constrained::RecursiveListConstrained,
        3255  +
                >,
        3256  +
            >,
        3257  +
        ) -> Self {
        3258  +
            self.recursive_list = Some(input.into());
        3259  +
            self
        3260  +
        }
        3261  +
        /// Consumes the builder and constructs a [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
        3262  +
        ///
        3263  +
        /// The builder fails to construct a [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput) if a [`ConstraintViolation`] occurs.
        3264  +
        ///
        3265  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        3266  +
        pub fn build(
        3267  +
            self,
        3268  +
        ) -> Result<crate::input::ConstrainedRecursiveShapesOperationInput, ConstraintViolation>
        3269  +
        {
        3270  +
            self.build_enforcing_all_constraints()
        3271  +
        }
        3272  +
        fn build_enforcing_all_constraints(
        3273  +
            self,
        3274  +
        ) -> Result<crate::input::ConstrainedRecursiveShapesOperationInput, ConstraintViolation>
        3275  +
        {
        3276  +
            Ok(crate::input::ConstrainedRecursiveShapesOperationInput {
        3277  +
                nested: self
        3278  +
                    .nested
        3279  +
                    .map(|v| match v {
        3280  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        3281  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        3282  +
                    })
        3283  +
                    .map(|res| res.map_err(ConstraintViolation::Nested))
        3284  +
                    .transpose()?,
        3285  +
                recursive_list: self
        3286  +
                    .recursive_list
        3287  +
                    .map(|v| match v {
        3288  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        3289  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        3290  +
                    })
        3291  +
                    .map(|res| {
        3292  +
                        res.map(|v| v.into())
        3293  +
                            .map_err(ConstraintViolation::RecursiveList)
        3294  +
                    })
        3295  +
                    .transpose()?
        3296  +
                    .ok_or(ConstraintViolation::MissingRecursiveList)?,
        3297  +
            })
        3298  +
        }
        3299  +
    }
        3300  +
}
        3301  +
/// See [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
        3302  +
pub mod constrained_recursive_shapes_operation_input {
        3303  +
        3304  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3305  +
    /// Holds one variant for each of the ways the builder can fail.
        3306  +
    #[allow(clippy::enum_variant_names)]
        3307  +
    pub enum ConstraintViolation {
        3308  +
        /// `recursive_list` was not provided but it is required when building `ConstrainedRecursiveShapesOperationInput`.
        3309  +
        MissingRecursiveList,
        3310  +
    }
        3311  +
    impl ::std::fmt::Display for ConstraintViolation {
        3312  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3313  +
            match self {
        3314  +
                ConstraintViolation::MissingRecursiveList => write!(f, "`recursive_list` was not provided but it is required when building `ConstrainedRecursiveShapesOperationInput`"),
        3315  +
            }
        3316  +
        }
        3317  +
    }
        3318  +
    impl ::std::error::Error for ConstraintViolation {}
        3319  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstrainedRecursiveShapesOperationInput {
        3320  +
        type Error = ConstraintViolation;
        3321  +
        3322  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3323  +
            builder.build()
        3324  +
        }
        3325  +
    }
        3326  +
    /// A builder for [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
        3327  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3328  +
    pub struct Builder {
        3329  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        3330  +
        pub(crate) recursive_list:
        3331  +
            ::std::option::Option<::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>>,
        3332  +
    }
        3333  +
    impl Builder {
        3334  +
        #[allow(missing_docs)] // documentation missing in model
        3335  +
        pub fn nested(
        3336  +
            mut self,
        3337  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        3338  +
        ) -> Self {
        3339  +
            self.nested = input;
        3340  +
            self
        3341  +
        }
        3342  +
        #[allow(missing_docs)] // documentation missing in model
        3343  +
        pub fn recursive_list(
        3344  +
            mut self,
        3345  +
            input: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
        3346  +
        ) -> Self {
        3347  +
            self.recursive_list = Some(input);
        3348  +
            self
        3349  +
        }
        3350  +
        /// Consumes the builder and constructs a [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput).
        3351  +
        ///
        3352  +
        /// The builder fails to construct a [`ConstrainedRecursiveShapesOperationInput`](crate::input::ConstrainedRecursiveShapesOperationInput) if you do not provide a value for all non-`Option`al members.
        3353  +
        ///
        3354  +
        pub fn build(
        3355  +
            self,
        3356  +
        ) -> Result<crate::input::ConstrainedRecursiveShapesOperationInput, ConstraintViolation>
        3357  +
        {
        3358  +
            self.build_enforcing_required_and_enum_traits()
        3359  +
        }
        3360  +
        fn build_enforcing_required_and_enum_traits(
        3361  +
            self,
        3362  +
        ) -> Result<crate::input::ConstrainedRecursiveShapesOperationInput, ConstraintViolation>
        3363  +
        {
        3364  +
            Ok(crate::input::ConstrainedRecursiveShapesOperationInput {
        3365  +
                nested: self.nested,
        3366  +
                recursive_list: self
        3367  +
                    .recursive_list
        3368  +
                    .ok_or(ConstraintViolation::MissingRecursiveList)?,
        3369  +
            })
        3370  +
        }
        3371  +
    }
        3372  +
}
        3373  +
/// See [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
        3374  +
pub(crate) mod constrained_http_payload_bound_shape_operation_input_internal {
        3375  +
        3376  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3377  +
    /// Holds one variant for each of the ways the builder can fail.
        3378  +
    #[non_exhaustive]
        3379  +
    #[allow(clippy::enum_variant_names)]
        3380  +
    pub(crate) enum ConstraintViolation {
        3381  +
        /// `http_payload_bound_constrained_shape` was not provided but it is required when building `ConstrainedHttpPayloadBoundShapeOperationInput`.
        3382  +
        MissingHttpPayloadBoundConstrainedShape,
        3383  +
        /// Constraint violation occurred building member `http_payload_bound_constrained_shape` when building `ConstrainedHttpPayloadBoundShapeOperationInput`.
        3384  +
        #[doc(hidden)]
        3385  +
        HttpPayloadBoundConstrainedShape(crate::model::con_a_internal::ConstraintViolation),
        3386  +
    }
        3387  +
    impl ::std::fmt::Display for ConstraintViolation {
        3388  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3389  +
            match self {
        3390  +
                ConstraintViolation::MissingHttpPayloadBoundConstrainedShape => write!(f, "`http_payload_bound_constrained_shape` was not provided but it is required when building `ConstrainedHttpPayloadBoundShapeOperationInput`"),
        3391  +
                ConstraintViolation::HttpPayloadBoundConstrainedShape(_) => write!(f, "constraint violation occurred building member `http_payload_bound_constrained_shape` when building `ConstrainedHttpPayloadBoundShapeOperationInput`"),
        3392  +
            }
        3393  +
        }
        3394  +
    }
        3395  +
    impl ::std::error::Error for ConstraintViolation {}
        3396  +
    impl ConstraintViolation {
        3397  +
        pub(crate) fn as_validation_exception_field(
        3398  +
            self,
        3399  +
            path: ::std::string::String,
        3400  +
        ) -> crate::model::ValidationExceptionField {
        3401  +
            match self {
        3402  +
            ConstraintViolation::MissingHttpPayloadBoundConstrainedShape => crate::model::ValidationExceptionField {
        3403  +
                                                message: format!("Value at '{}/httpPayloadBoundConstrainedShape' failed to satisfy constraint: Member must not be null", path),
        3404  +
                                                path: path + "/httpPayloadBoundConstrainedShape",
        3405  +
                                            },
        3406  +
            ConstraintViolation::HttpPayloadBoundConstrainedShape(inner) => inner.as_validation_exception_field(path + "/httpPayloadBoundConstrainedShape"),
        3407  +
        }
        3408  +
        }
        3409  +
    }
        3410  +
    impl ::std::convert::From<ConstraintViolation>
        3411  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        3412  +
    {
        3413  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        3414  +
            let first_validation_exception_field =
        3415  +
                constraint_violation.as_validation_exception_field("".to_owned());
        3416  +
            let validation_exception = crate::error::ValidationException {
        3417  +
                message: format!(
        3418  +
                    "1 validation error detected. {}",
        3419  +
                    &first_validation_exception_field.message
        3420  +
                ),
        3421  +
                field_list: Some(vec![first_validation_exception_field]),
        3422  +
            };
        3423  +
            Self::ConstraintViolation(
        3424  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        3425  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        3426  +
                            )
        3427  +
        }
        3428  +
    }
        3429  +
    impl ::std::convert::From<Builder>
        3430  +
        for crate::constrained::MaybeConstrained<
        3431  +
            crate::input::ConstrainedHttpPayloadBoundShapeOperationInput,
        3432  +
        >
        3433  +
    {
        3434  +
        fn from(builder: Builder) -> Self {
        3435  +
            Self::Unconstrained(builder)
        3436  +
        }
        3437  +
    }
        3438  +
    impl ::std::convert::TryFrom<Builder>
        3439  +
        for crate::input::ConstrainedHttpPayloadBoundShapeOperationInput
        3440  +
    {
        3441  +
        type Error = ConstraintViolation;
        3442  +
        3443  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3444  +
            builder.build()
        3445  +
        }
        3446  +
    }
        3447  +
    /// A builder for [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
        3448  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3449  +
    pub(crate) struct Builder {
        3450  +
        pub(crate) http_payload_bound_constrained_shape:
        3451  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::ConA>>,
        3452  +
    }
        3453  +
    impl Builder {
        3454  +
        #[allow(missing_docs)] // documentation missing in model
        3455  +
        pub(crate) fn set_http_payload_bound_constrained_shape(
        3456  +
            mut self,
        3457  +
            input: impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::ConA>>,
        3458  +
        ) -> Self {
        3459  +
            self.http_payload_bound_constrained_shape = Some(input.into());
        3460  +
            self
        3461  +
        }
        3462  +
        /// Consumes the builder and constructs a [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
        3463  +
        ///
        3464  +
        /// The builder fails to construct a [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput) if a [`ConstraintViolation`] occurs.
        3465  +
        ///
        3466  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        3467  +
        pub fn build(
        3468  +
            self,
        3469  +
        ) -> Result<crate::input::ConstrainedHttpPayloadBoundShapeOperationInput, ConstraintViolation>
        3470  +
        {
        3471  +
            self.build_enforcing_all_constraints()
        3472  +
        }
        3473  +
        fn build_enforcing_all_constraints(
        3474  +
            self,
        3475  +
        ) -> Result<crate::input::ConstrainedHttpPayloadBoundShapeOperationInput, ConstraintViolation>
        3476  +
        {
        3477  +
            Ok(
        3478  +
                crate::input::ConstrainedHttpPayloadBoundShapeOperationInput {
        3479  +
                    http_payload_bound_constrained_shape: self
        3480  +
                        .http_payload_bound_constrained_shape
        3481  +
                        .map(|v| match v {
        3482  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        3483  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        3484  +
                        })
        3485  +
                        .map(|res| {
        3486  +
                            res.map_err(ConstraintViolation::HttpPayloadBoundConstrainedShape)
        3487  +
                        })
        3488  +
                        .transpose()?
        3489  +
                        .ok_or(ConstraintViolation::MissingHttpPayloadBoundConstrainedShape)?,
        3490  +
                },
        3491  +
            )
        3492  +
        }
        3493  +
    }
        3494  +
}
        3495  +
/// See [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
        3496  +
pub mod constrained_http_payload_bound_shape_operation_input {
        3497  +
        3498  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3499  +
    /// Holds one variant for each of the ways the builder can fail.
        3500  +
    #[allow(clippy::enum_variant_names)]
        3501  +
    pub enum ConstraintViolation {
        3502  +
        /// `http_payload_bound_constrained_shape` was not provided but it is required when building `ConstrainedHttpPayloadBoundShapeOperationInput`.
        3503  +
        MissingHttpPayloadBoundConstrainedShape,
        3504  +
    }
        3505  +
    impl ::std::fmt::Display for ConstraintViolation {
        3506  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3507  +
            match self {
        3508  +
                ConstraintViolation::MissingHttpPayloadBoundConstrainedShape => write!(f, "`http_payload_bound_constrained_shape` was not provided but it is required when building `ConstrainedHttpPayloadBoundShapeOperationInput`"),
        3509  +
            }
        3510  +
        }
        3511  +
    }
        3512  +
    impl ::std::error::Error for ConstraintViolation {}
        3513  +
    impl ::std::convert::TryFrom<Builder>
        3514  +
        for crate::input::ConstrainedHttpPayloadBoundShapeOperationInput
        3515  +
    {
        3516  +
        type Error = ConstraintViolation;
        3517  +
        3518  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3519  +
            builder.build()
        3520  +
        }
        3521  +
    }
        3522  +
    /// A builder for [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
        3523  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3524  +
    pub struct Builder {
        3525  +
        pub(crate) http_payload_bound_constrained_shape: ::std::option::Option<crate::model::ConA>,
        3526  +
    }
        3527  +
    impl Builder {
        3528  +
        #[allow(missing_docs)] // documentation missing in model
        3529  +
        pub fn http_payload_bound_constrained_shape(mut self, input: crate::model::ConA) -> Self {
        3530  +
            self.http_payload_bound_constrained_shape = Some(input);
        3531  +
            self
        3532  +
        }
        3533  +
        /// Consumes the builder and constructs a [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput).
        3534  +
        ///
        3535  +
        /// The builder fails to construct a [`ConstrainedHttpPayloadBoundShapeOperationInput`](crate::input::ConstrainedHttpPayloadBoundShapeOperationInput) if you do not provide a value for all non-`Option`al members.
        3536  +
        ///
        3537  +
        pub fn build(
        3538  +
            self,
        3539  +
        ) -> Result<crate::input::ConstrainedHttpPayloadBoundShapeOperationInput, ConstraintViolation>
        3540  +
        {
        3541  +
            self.build_enforcing_required_and_enum_traits()
        3542  +
        }
        3543  +
        fn build_enforcing_required_and_enum_traits(
        3544  +
            self,
        3545  +
        ) -> Result<crate::input::ConstrainedHttpPayloadBoundShapeOperationInput, ConstraintViolation>
        3546  +
        {
        3547  +
            Ok(
        3548  +
                crate::input::ConstrainedHttpPayloadBoundShapeOperationInput {
        3549  +
                    http_payload_bound_constrained_shape: self
        3550  +
                        .http_payload_bound_constrained_shape
        3551  +
                        .ok_or(ConstraintViolation::MissingHttpPayloadBoundConstrainedShape)?,
        3552  +
                },
        3553  +
            )
        3554  +
        }
        3555  +
    }
        3556  +
}
        3557  +
/// See [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
        3558  +
pub(crate) mod constrained_http_bound_shapes_operation_input_internal {
        3559  +
        3560  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3561  +
    /// Holds one variant for each of the ways the builder can fail.
        3562  +
    #[non_exhaustive]
        3563  +
    #[allow(clippy::enum_variant_names)]
        3564  +
    pub(crate) enum ConstraintViolation {
        3565  +
        /// `length_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`.
        3566  +
        MissingLengthStringLabel,
        3567  +
        /// Constraint violation occurred building member `length_string_label` when building `ConstrainedHttpBoundShapesOperationInput`.
        3568  +
        #[doc(hidden)]
        3569  +
        LengthStringLabel(crate::model::length_string_internal::ConstraintViolation),
        3570  +
        /// Constraint violation occurred building member `range_integer_label` when building `ConstrainedHttpBoundShapesOperationInput`.
        3571  +
        #[doc(hidden)]
        3572  +
        RangeIntegerLabel(crate::model::range_integer_internal::ConstraintViolation),
        3573  +
        /// Constraint violation occurred building member `range_short_label` when building `ConstrainedHttpBoundShapesOperationInput`.
        3574  +
        #[doc(hidden)]
        3575  +
        RangeShortLabel(crate::model::range_short_internal::ConstraintViolation),
        3576  +
        /// Constraint violation occurred building member `range_long_label` when building `ConstrainedHttpBoundShapesOperationInput`.
        3577  +
        #[doc(hidden)]
        3578  +
        RangeLongLabel(crate::model::range_long_internal::ConstraintViolation),
        3579  +
        /// Constraint violation occurred building member `range_byte_label` when building `ConstrainedHttpBoundShapesOperationInput`.
        3580  +
        #[doc(hidden)]
        3581  +
        RangeByteLabel(crate::model::range_byte_internal::ConstraintViolation),
        3582  +
        /// `enum_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`.
        3583  +
        MissingEnumStringLabel,
        3584  +
        /// Constraint violation occurred building member `enum_string_label` when building `ConstrainedHttpBoundShapesOperationInput`.
        3585  +
        #[doc(hidden)]
        3586  +
        EnumStringLabel(crate::model::enum_string_internal::ConstraintViolation),
        3587  +
        /// `length_string_header_map` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`.
        3588  +
        MissingLengthStringHeaderMap,
        3589  +
        /// Constraint violation occurred building member `length_string_header_map` when building `ConstrainedHttpBoundShapesOperationInput`.
        3590  +
        #[doc(hidden)]
        3591  +
        LengthStringHeaderMap(crate::model::map_of_length_string_internal::ConstraintViolation),
        3592  +
        /// Constraint violation occurred building member `length_string_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3593  +
        #[doc(hidden)]
        3594  +
        LengthStringHeader(crate::model::length_string_internal::ConstraintViolation),
        3595  +
        /// Constraint violation occurred building member `range_integer_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3596  +
        #[doc(hidden)]
        3597  +
        RangeIntegerHeader(crate::model::range_integer_internal::ConstraintViolation),
        3598  +
        /// Constraint violation occurred building member `range_short_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3599  +
        #[doc(hidden)]
        3600  +
        RangeShortHeader(crate::model::range_short_internal::ConstraintViolation),
        3601  +
        /// Constraint violation occurred building member `range_long_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3602  +
        #[doc(hidden)]
        3603  +
        RangeLongHeader(crate::model::range_long_internal::ConstraintViolation),
        3604  +
        /// Constraint violation occurred building member `range_byte_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3605  +
        #[doc(hidden)]
        3606  +
        RangeByteHeader(crate::model::range_byte_internal::ConstraintViolation),
        3607  +
        /// Constraint violation occurred building member `length_string_set_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3608  +
        #[doc(hidden)]
        3609  +
        LengthStringSetHeader(crate::model::set_of_length_string_internal::ConstraintViolation),
        3610  +
        /// Constraint violation occurred building member `list_length_string_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3611  +
        #[doc(hidden)]
        3612  +
        ListLengthStringHeader(crate::model::list_of_length_string_internal::ConstraintViolation),
        3613  +
        /// Constraint violation occurred building member `length_list_pattern_string_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3614  +
        #[doc(hidden)]
        3615  +
        LengthListPatternStringHeader(
        3616  +
            crate::model::length_list_of_pattern_string_internal::ConstraintViolation,
        3617  +
        ),
        3618  +
        /// Constraint violation occurred building member `length_set_pattern_string_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3619  +
        #[doc(hidden)]
        3620  +
        LengthSetPatternStringHeader(
        3621  +
            crate::model::length_set_of_pattern_string_internal::ConstraintViolation,
        3622  +
        ),
        3623  +
        /// Constraint violation occurred building member `range_byte_set_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3624  +
        #[doc(hidden)]
        3625  +
        RangeByteSetHeader(crate::model::set_of_range_byte_internal::ConstraintViolation),
        3626  +
        /// Constraint violation occurred building member `range_short_set_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3627  +
        #[doc(hidden)]
        3628  +
        RangeShortSetHeader(crate::model::set_of_range_short_internal::ConstraintViolation),
        3629  +
        /// Constraint violation occurred building member `range_integer_set_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3630  +
        #[doc(hidden)]
        3631  +
        RangeIntegerSetHeader(crate::model::set_of_range_integer_internal::ConstraintViolation),
        3632  +
        /// Constraint violation occurred building member `range_long_set_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3633  +
        #[doc(hidden)]
        3634  +
        RangeLongSetHeader(crate::model::set_of_range_long_internal::ConstraintViolation),
        3635  +
        /// Constraint violation occurred building member `range_byte_list_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3636  +
        #[doc(hidden)]
        3637  +
        RangeByteListHeader(crate::model::list_of_range_byte_internal::ConstraintViolation),
        3638  +
        /// Constraint violation occurred building member `range_short_list_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3639  +
        #[doc(hidden)]
        3640  +
        RangeShortListHeader(crate::model::list_of_range_short_internal::ConstraintViolation),
        3641  +
        /// Constraint violation occurred building member `range_integer_list_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3642  +
        #[doc(hidden)]
        3643  +
        RangeIntegerListHeader(crate::model::list_of_range_integer_internal::ConstraintViolation),
        3644  +
        /// Constraint violation occurred building member `range_long_list_header` when building `ConstrainedHttpBoundShapesOperationInput`.
        3645  +
        #[doc(hidden)]
        3646  +
        RangeLongListHeader(crate::model::list_of_range_long_internal::ConstraintViolation),
        3647  +
        /// Constraint violation occurred building member `length_string_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3648  +
        #[doc(hidden)]
        3649  +
        LengthStringQuery(crate::model::length_string_internal::ConstraintViolation),
        3650  +
        /// Constraint violation occurred building member `range_byte_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3651  +
        #[doc(hidden)]
        3652  +
        RangeByteQuery(crate::model::range_byte_internal::ConstraintViolation),
        3653  +
        /// Constraint violation occurred building member `range_short_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3654  +
        #[doc(hidden)]
        3655  +
        RangeShortQuery(crate::model::range_short_internal::ConstraintViolation),
        3656  +
        /// Constraint violation occurred building member `range_integer_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3657  +
        #[doc(hidden)]
        3658  +
        RangeIntegerQuery(crate::model::range_integer_internal::ConstraintViolation),
        3659  +
        /// Constraint violation occurred building member `range_long_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3660  +
        #[doc(hidden)]
        3661  +
        RangeLongQuery(crate::model::range_long_internal::ConstraintViolation),
        3662  +
        /// Constraint violation occurred building member `enum_string_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3663  +
        #[doc(hidden)]
        3664  +
        EnumStringQuery(crate::model::enum_string_internal::ConstraintViolation),
        3665  +
        /// Constraint violation occurred building member `length_string_list_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3666  +
        #[doc(hidden)]
        3667  +
        LengthStringListQuery(crate::model::list_of_length_string_internal::ConstraintViolation),
        3668  +
        /// Constraint violation occurred building member `length_list_pattern_string_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3669  +
        #[doc(hidden)]
        3670  +
        LengthListPatternStringQuery(
        3671  +
            crate::model::length_list_of_pattern_string_internal::ConstraintViolation,
        3672  +
        ),
        3673  +
        /// Constraint violation occurred building member `length_string_set_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3674  +
        #[doc(hidden)]
        3675  +
        LengthStringSetQuery(crate::model::set_of_length_string_internal::ConstraintViolation),
        3676  +
        /// Constraint violation occurred building member `range_byte_list_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3677  +
        #[doc(hidden)]
        3678  +
        RangeByteListQuery(crate::model::list_of_range_byte_internal::ConstraintViolation),
        3679  +
        /// Constraint violation occurred building member `range_short_list_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3680  +
        #[doc(hidden)]
        3681  +
        RangeShortListQuery(crate::model::list_of_range_short_internal::ConstraintViolation),
        3682  +
        /// Constraint violation occurred building member `range_integer_list_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3683  +
        #[doc(hidden)]
        3684  +
        RangeIntegerListQuery(crate::model::list_of_range_integer_internal::ConstraintViolation),
        3685  +
        /// Constraint violation occurred building member `range_long_list_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3686  +
        #[doc(hidden)]
        3687  +
        RangeLongListQuery(crate::model::list_of_range_long_internal::ConstraintViolation),
        3688  +
        /// Constraint violation occurred building member `range_byte_set_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3689  +
        #[doc(hidden)]
        3690  +
        RangeByteSetQuery(crate::model::set_of_range_byte_internal::ConstraintViolation),
        3691  +
        /// Constraint violation occurred building member `range_short_set_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3692  +
        #[doc(hidden)]
        3693  +
        RangeShortSetQuery(crate::model::set_of_range_short_internal::ConstraintViolation),
        3694  +
        /// Constraint violation occurred building member `range_integer_set_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3695  +
        #[doc(hidden)]
        3696  +
        RangeIntegerSetQuery(crate::model::set_of_range_integer_internal::ConstraintViolation),
        3697  +
        /// Constraint violation occurred building member `range_long_set_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3698  +
        #[doc(hidden)]
        3699  +
        RangeLongSetQuery(crate::model::set_of_range_long_internal::ConstraintViolation),
        3700  +
        /// Constraint violation occurred building member `enum_string_list_query` when building `ConstrainedHttpBoundShapesOperationInput`.
        3701  +
        #[doc(hidden)]
        3702  +
        EnumStringListQuery(crate::model::list_of_enum_string_internal::ConstraintViolation),
        3703  +
    }
        3704  +
    impl ::std::fmt::Display for ConstraintViolation {
        3705  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3706  +
            match self {
        3707  +
                ConstraintViolation::MissingLengthStringLabel => write!(f, "`length_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`"),
        3708  +
                ConstraintViolation::LengthStringLabel(_) => write!(f, "constraint violation occurred building member `length_string_label` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3709  +
                ConstraintViolation::RangeIntegerLabel(_) => write!(f, "constraint violation occurred building member `range_integer_label` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3710  +
                ConstraintViolation::RangeShortLabel(_) => write!(f, "constraint violation occurred building member `range_short_label` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3711  +
                ConstraintViolation::RangeLongLabel(_) => write!(f, "constraint violation occurred building member `range_long_label` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3712  +
                ConstraintViolation::RangeByteLabel(_) => write!(f, "constraint violation occurred building member `range_byte_label` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3713  +
                ConstraintViolation::MissingEnumStringLabel => write!(f, "`enum_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`"),
        3714  +
                ConstraintViolation::EnumStringLabel(_) => write!(f, "constraint violation occurred building member `enum_string_label` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3715  +
                ConstraintViolation::MissingLengthStringHeaderMap => write!(f, "`length_string_header_map` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`"),
        3716  +
                ConstraintViolation::LengthStringHeaderMap(_) => write!(f, "constraint violation occurred building member `length_string_header_map` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3717  +
                ConstraintViolation::LengthStringHeader(_) => write!(f, "constraint violation occurred building member `length_string_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3718  +
                ConstraintViolation::RangeIntegerHeader(_) => write!(f, "constraint violation occurred building member `range_integer_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3719  +
                ConstraintViolation::RangeShortHeader(_) => write!(f, "constraint violation occurred building member `range_short_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3720  +
                ConstraintViolation::RangeLongHeader(_) => write!(f, "constraint violation occurred building member `range_long_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3721  +
                ConstraintViolation::RangeByteHeader(_) => write!(f, "constraint violation occurred building member `range_byte_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3722  +
                ConstraintViolation::LengthStringSetHeader(_) => write!(f, "constraint violation occurred building member `length_string_set_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3723  +
                ConstraintViolation::ListLengthStringHeader(_) => write!(f, "constraint violation occurred building member `list_length_string_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3724  +
                ConstraintViolation::LengthListPatternStringHeader(_) => write!(f, "constraint violation occurred building member `length_list_pattern_string_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3725  +
                ConstraintViolation::LengthSetPatternStringHeader(_) => write!(f, "constraint violation occurred building member `length_set_pattern_string_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3726  +
                ConstraintViolation::RangeByteSetHeader(_) => write!(f, "constraint violation occurred building member `range_byte_set_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3727  +
                ConstraintViolation::RangeShortSetHeader(_) => write!(f, "constraint violation occurred building member `range_short_set_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3728  +
                ConstraintViolation::RangeIntegerSetHeader(_) => write!(f, "constraint violation occurred building member `range_integer_set_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3729  +
                ConstraintViolation::RangeLongSetHeader(_) => write!(f, "constraint violation occurred building member `range_long_set_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3730  +
                ConstraintViolation::RangeByteListHeader(_) => write!(f, "constraint violation occurred building member `range_byte_list_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3731  +
                ConstraintViolation::RangeShortListHeader(_) => write!(f, "constraint violation occurred building member `range_short_list_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3732  +
                ConstraintViolation::RangeIntegerListHeader(_) => write!(f, "constraint violation occurred building member `range_integer_list_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3733  +
                ConstraintViolation::RangeLongListHeader(_) => write!(f, "constraint violation occurred building member `range_long_list_header` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3734  +
                ConstraintViolation::LengthStringQuery(_) => write!(f, "constraint violation occurred building member `length_string_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3735  +
                ConstraintViolation::RangeByteQuery(_) => write!(f, "constraint violation occurred building member `range_byte_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3736  +
                ConstraintViolation::RangeShortQuery(_) => write!(f, "constraint violation occurred building member `range_short_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3737  +
                ConstraintViolation::RangeIntegerQuery(_) => write!(f, "constraint violation occurred building member `range_integer_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3738  +
                ConstraintViolation::RangeLongQuery(_) => write!(f, "constraint violation occurred building member `range_long_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3739  +
                ConstraintViolation::EnumStringQuery(_) => write!(f, "constraint violation occurred building member `enum_string_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3740  +
                ConstraintViolation::LengthStringListQuery(_) => write!(f, "constraint violation occurred building member `length_string_list_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3741  +
                ConstraintViolation::LengthListPatternStringQuery(_) => write!(f, "constraint violation occurred building member `length_list_pattern_string_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3742  +
                ConstraintViolation::LengthStringSetQuery(_) => write!(f, "constraint violation occurred building member `length_string_set_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3743  +
                ConstraintViolation::RangeByteListQuery(_) => write!(f, "constraint violation occurred building member `range_byte_list_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3744  +
                ConstraintViolation::RangeShortListQuery(_) => write!(f, "constraint violation occurred building member `range_short_list_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3745  +
                ConstraintViolation::RangeIntegerListQuery(_) => write!(f, "constraint violation occurred building member `range_integer_list_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3746  +
                ConstraintViolation::RangeLongListQuery(_) => write!(f, "constraint violation occurred building member `range_long_list_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3747  +
                ConstraintViolation::RangeByteSetQuery(_) => write!(f, "constraint violation occurred building member `range_byte_set_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3748  +
                ConstraintViolation::RangeShortSetQuery(_) => write!(f, "constraint violation occurred building member `range_short_set_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3749  +
                ConstraintViolation::RangeIntegerSetQuery(_) => write!(f, "constraint violation occurred building member `range_integer_set_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3750  +
                ConstraintViolation::RangeLongSetQuery(_) => write!(f, "constraint violation occurred building member `range_long_set_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3751  +
                ConstraintViolation::EnumStringListQuery(_) => write!(f, "constraint violation occurred building member `enum_string_list_query` when building `ConstrainedHttpBoundShapesOperationInput`"),
        3752  +
            }
        3753  +
        }
        3754  +
    }
        3755  +
    impl ::std::error::Error for ConstraintViolation {}
        3756  +
    impl ConstraintViolation {
        3757  +
        pub(crate) fn as_validation_exception_field(
        3758  +
            self,
        3759  +
            path: ::std::string::String,
        3760  +
        ) -> crate::model::ValidationExceptionField {
        3761  +
            match self {
        3762  +
            ConstraintViolation::MissingLengthStringLabel => crate::model::ValidationExceptionField {
        3763  +
                                                message: format!("Value at '{}/lengthStringLabel' failed to satisfy constraint: Member must not be null", path),
        3764  +
                                                path: path + "/lengthStringLabel",
        3765  +
                                            },
        3766  +
            ConstraintViolation::LengthStringLabel(inner) => inner.as_validation_exception_field(path + "/lengthStringLabel"),
        3767  +
            ConstraintViolation::RangeIntegerLabel(inner) => inner.as_validation_exception_field(path + "/rangeIntegerLabel"),
        3768  +
            ConstraintViolation::RangeShortLabel(inner) => inner.as_validation_exception_field(path + "/rangeShortLabel"),
        3769  +
            ConstraintViolation::RangeLongLabel(inner) => inner.as_validation_exception_field(path + "/rangeLongLabel"),
        3770  +
            ConstraintViolation::RangeByteLabel(inner) => inner.as_validation_exception_field(path + "/rangeByteLabel"),
        3771  +
            ConstraintViolation::MissingEnumStringLabel => crate::model::ValidationExceptionField {
        3772  +
                                                message: format!("Value at '{}/enumStringLabel' failed to satisfy constraint: Member must not be null", path),
        3773  +
                                                path: path + "/enumStringLabel",
        3774  +
                                            },
        3775  +
            ConstraintViolation::EnumStringLabel(inner) => inner.as_validation_exception_field(path + "/enumStringLabel"),
        3776  +
            ConstraintViolation::MissingLengthStringHeaderMap => crate::model::ValidationExceptionField {
        3777  +
                                                message: format!("Value at '{}/lengthStringHeaderMap' failed to satisfy constraint: Member must not be null", path),
        3778  +
                                                path: path + "/lengthStringHeaderMap",
        3779  +
                                            },
        3780  +
            ConstraintViolation::LengthStringHeaderMap(inner) => inner.as_validation_exception_field(path + "/lengthStringHeaderMap"),
        3781  +
            ConstraintViolation::LengthStringHeader(inner) => inner.as_validation_exception_field(path + "/lengthStringHeader"),
        3782  +
            ConstraintViolation::RangeIntegerHeader(inner) => inner.as_validation_exception_field(path + "/rangeIntegerHeader"),
        3783  +
            ConstraintViolation::RangeShortHeader(inner) => inner.as_validation_exception_field(path + "/rangeShortHeader"),
        3784  +
            ConstraintViolation::RangeLongHeader(inner) => inner.as_validation_exception_field(path + "/rangeLongHeader"),
        3785  +
            ConstraintViolation::RangeByteHeader(inner) => inner.as_validation_exception_field(path + "/rangeByteHeader"),
        3786  +
            ConstraintViolation::LengthStringSetHeader(inner) => inner.as_validation_exception_field(path + "/lengthStringSetHeader"),
        3787  +
            ConstraintViolation::ListLengthStringHeader(inner) => inner.as_validation_exception_field(path + "/listLengthStringHeader"),
        3788  +
            ConstraintViolation::LengthListPatternStringHeader(inner) => inner.as_validation_exception_field(path + "/lengthListPatternStringHeader"),
        3789  +
            ConstraintViolation::LengthSetPatternStringHeader(inner) => inner.as_validation_exception_field(path + "/lengthSetPatternStringHeader"),
        3790  +
            ConstraintViolation::RangeByteSetHeader(inner) => inner.as_validation_exception_field(path + "/rangeByteSetHeader"),
        3791  +
            ConstraintViolation::RangeShortSetHeader(inner) => inner.as_validation_exception_field(path + "/rangeShortSetHeader"),
        3792  +
            ConstraintViolation::RangeIntegerSetHeader(inner) => inner.as_validation_exception_field(path + "/rangeIntegerSetHeader"),
        3793  +
            ConstraintViolation::RangeLongSetHeader(inner) => inner.as_validation_exception_field(path + "/rangeLongSetHeader"),
        3794  +
            ConstraintViolation::RangeByteListHeader(inner) => inner.as_validation_exception_field(path + "/rangeByteListHeader"),
        3795  +
            ConstraintViolation::RangeShortListHeader(inner) => inner.as_validation_exception_field(path + "/rangeShortListHeader"),
        3796  +
            ConstraintViolation::RangeIntegerListHeader(inner) => inner.as_validation_exception_field(path + "/rangeIntegerListHeader"),
        3797  +
            ConstraintViolation::RangeLongListHeader(inner) => inner.as_validation_exception_field(path + "/rangeLongListHeader"),
        3798  +
            ConstraintViolation::LengthStringQuery(inner) => inner.as_validation_exception_field(path + "/lengthStringQuery"),
        3799  +
            ConstraintViolation::RangeByteQuery(inner) => inner.as_validation_exception_field(path + "/rangeByteQuery"),
        3800  +
            ConstraintViolation::RangeShortQuery(inner) => inner.as_validation_exception_field(path + "/rangeShortQuery"),
        3801  +
            ConstraintViolation::RangeIntegerQuery(inner) => inner.as_validation_exception_field(path + "/rangeIntegerQuery"),
        3802  +
            ConstraintViolation::RangeLongQuery(inner) => inner.as_validation_exception_field(path + "/rangeLongQuery"),
        3803  +
            ConstraintViolation::EnumStringQuery(inner) => inner.as_validation_exception_field(path + "/enumStringQuery"),
        3804  +
            ConstraintViolation::LengthStringListQuery(inner) => inner.as_validation_exception_field(path + "/lengthStringListQuery"),
        3805  +
            ConstraintViolation::LengthListPatternStringQuery(inner) => inner.as_validation_exception_field(path + "/lengthListPatternStringQuery"),
        3806  +
            ConstraintViolation::LengthStringSetQuery(inner) => inner.as_validation_exception_field(path + "/lengthStringSetQuery"),
        3807  +
            ConstraintViolation::RangeByteListQuery(inner) => inner.as_validation_exception_field(path + "/rangeByteListQuery"),
        3808  +
            ConstraintViolation::RangeShortListQuery(inner) => inner.as_validation_exception_field(path + "/rangeShortListQuery"),
        3809  +
            ConstraintViolation::RangeIntegerListQuery(inner) => inner.as_validation_exception_field(path + "/rangeIntegerListQuery"),
        3810  +
            ConstraintViolation::RangeLongListQuery(inner) => inner.as_validation_exception_field(path + "/rangeLongListQuery"),
        3811  +
            ConstraintViolation::RangeByteSetQuery(inner) => inner.as_validation_exception_field(path + "/rangeByteSetQuery"),
        3812  +
            ConstraintViolation::RangeShortSetQuery(inner) => inner.as_validation_exception_field(path + "/rangeShortSetQuery"),
        3813  +
            ConstraintViolation::RangeIntegerSetQuery(inner) => inner.as_validation_exception_field(path + "/rangeIntegerSetQuery"),
        3814  +
            ConstraintViolation::RangeLongSetQuery(inner) => inner.as_validation_exception_field(path + "/rangeLongSetQuery"),
        3815  +
            ConstraintViolation::EnumStringListQuery(inner) => inner.as_validation_exception_field(path + "/enumStringListQuery"),
        3816  +
        }
        3817  +
        }
        3818  +
    }
        3819  +
    impl ::std::convert::From<ConstraintViolation>
        3820  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        3821  +
    {
        3822  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        3823  +
            let first_validation_exception_field =
        3824  +
                constraint_violation.as_validation_exception_field("".to_owned());
        3825  +
            let validation_exception = crate::error::ValidationException {
        3826  +
                message: format!(
        3827  +
                    "1 validation error detected. {}",
        3828  +
                    &first_validation_exception_field.message
        3829  +
                ),
        3830  +
                field_list: Some(vec![first_validation_exception_field]),
        3831  +
            };
        3832  +
            Self::ConstraintViolation(
        3833  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        3834  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        3835  +
                            )
        3836  +
        }
        3837  +
    }
        3838  +
    impl ::std::convert::From<Builder>
        3839  +
        for crate::constrained::MaybeConstrained<
        3840  +
            crate::input::ConstrainedHttpBoundShapesOperationInput,
        3841  +
        >
        3842  +
    {
        3843  +
        fn from(builder: Builder) -> Self {
        3844  +
            Self::Unconstrained(builder)
        3845  +
        }
        3846  +
    }
        3847  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstrainedHttpBoundShapesOperationInput {
        3848  +
        type Error = ConstraintViolation;
        3849  +
        3850  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3851  +
            builder.build()
        3852  +
        }
        3853  +
    }
        3854  +
    /// A builder for [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
        3855  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3856  +
    pub(crate) struct Builder {
        3857  +
        pub(crate) length_string_label: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::LengthString>>,
        3858  +
        pub(crate) range_integer_label: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeInteger>>,
        3859  +
        pub(crate) range_short_label: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeShort>>,
        3860  +
        pub(crate) range_long_label: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeLong>>,
        3861  +
        pub(crate) range_byte_label: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeByte>>,
        3862  +
        pub(crate) enum_string_label: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::EnumString>>,
        3863  +
        pub(crate) length_string_header_map: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_string_constrained::MapOfLengthStringConstrained>>,
        3864  +
        pub(crate) length_string_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::LengthString>>,
        3865  +
        pub(crate) range_integer_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeInteger>>,
        3866  +
        pub(crate) range_short_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeShort>>,
        3867  +
        pub(crate) range_long_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeLong>>,
        3868  +
        pub(crate) range_byte_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeByte>>,
        3869  +
        pub(crate) length_string_set_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfLengthString>>,
        3870  +
        pub(crate) list_length_string_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_length_string_constrained::ListOfLengthStringConstrained>>,
        3871  +
        pub(crate) length_list_pattern_string_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::LengthListOfPatternString>>,
        3872  +
        pub(crate) length_set_pattern_string_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::LengthSetOfPatternString>>,
        3873  +
        pub(crate) range_byte_set_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeByte>>,
        3874  +
        pub(crate) range_short_set_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeShort>>,
        3875  +
        pub(crate) range_integer_set_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeInteger>>,
        3876  +
        pub(crate) range_long_set_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeLong>>,
        3877  +
        pub(crate) range_byte_list_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_byte_constrained::ListOfRangeByteConstrained>>,
        3878  +
        pub(crate) range_short_list_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_short_constrained::ListOfRangeShortConstrained>>,
        3879  +
        pub(crate) range_integer_list_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_integer_constrained::ListOfRangeIntegerConstrained>>,
        3880  +
        pub(crate) range_long_list_header: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_long_constrained::ListOfRangeLongConstrained>>,
        3881  +
        pub(crate) length_string_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::LengthString>>,
        3882  +
        pub(crate) range_byte_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeByte>>,
        3883  +
        pub(crate) range_short_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeShort>>,
        3884  +
        pub(crate) range_integer_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeInteger>>,
        3885  +
        pub(crate) range_long_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::RangeLong>>,
        3886  +
        pub(crate) enum_string_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::EnumString>>,
        3887  +
        pub(crate) length_string_list_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_length_string_constrained::ListOfLengthStringConstrained>>,
        3888  +
        pub(crate) length_list_pattern_string_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::LengthListOfPatternString>>,
        3889  +
        pub(crate) length_string_set_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfLengthString>>,
        3890  +
        pub(crate) range_byte_list_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_byte_constrained::ListOfRangeByteConstrained>>,
        3891  +
        pub(crate) range_short_list_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_short_constrained::ListOfRangeShortConstrained>>,
        3892  +
        pub(crate) range_integer_list_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_integer_constrained::ListOfRangeIntegerConstrained>>,
        3893  +
        pub(crate) range_long_list_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_long_constrained::ListOfRangeLongConstrained>>,
        3894  +
        pub(crate) range_byte_set_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeByte>>,
        3895  +
        pub(crate) range_short_set_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeShort>>,
        3896  +
        pub(crate) range_integer_set_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeInteger>>,
        3897  +
        pub(crate) range_long_set_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::SetOfRangeLong>>,
        3898  +
        pub(crate) enum_string_list_query: ::std::option::Option<crate::constrained::MaybeConstrained<crate::constrained::list_of_enum_string_constrained::ListOfEnumStringConstrained>>,
        3899  +
    }
        3900  +
    impl Builder {
        3901  +
        #[allow(missing_docs)] // documentation missing in model
        3902  +
        pub(crate) fn set_length_string_label(
        3903  +
            mut self,
        3904  +
            input: impl ::std::convert::Into<
        3905  +
                crate::constrained::MaybeConstrained<crate::model::LengthString>,
        3906  +
            >,
        3907  +
        ) -> Self {
        3908  +
            self.length_string_label = Some(input.into());
        3909  +
            self
        3910  +
        }
        3911  +
        #[allow(missing_docs)] // documentation missing in model
        3912  +
        pub(crate) fn set_range_integer_label(
        3913  +
            mut self,
        3914  +
            input: impl ::std::convert::Into<
        3915  +
                crate::constrained::MaybeConstrained<crate::model::RangeInteger>,
        3916  +
            >,
        3917  +
        ) -> Self {
        3918  +
            self.range_integer_label = Some(input.into());
        3919  +
            self
        3920  +
        }
        3921  +
        #[allow(missing_docs)] // documentation missing in model
        3922  +
        pub(crate) fn set_range_short_label(
        3923  +
            mut self,
        3924  +
            input: impl ::std::convert::Into<
        3925  +
                crate::constrained::MaybeConstrained<crate::model::RangeShort>,
        3926  +
            >,
        3927  +
        ) -> Self {
        3928  +
            self.range_short_label = Some(input.into());
        3929  +
            self
        3930  +
        }
        3931  +
        #[allow(missing_docs)] // documentation missing in model
        3932  +
        pub(crate) fn set_range_long_label(
        3933  +
            mut self,
        3934  +
            input: impl ::std::convert::Into<
        3935  +
                crate::constrained::MaybeConstrained<crate::model::RangeLong>,
        3936  +
            >,
        3937  +
        ) -> Self {
        3938  +
            self.range_long_label = Some(input.into());
        3939  +
            self
        3940  +
        }
        3941  +
        #[allow(missing_docs)] // documentation missing in model
        3942  +
        pub(crate) fn set_range_byte_label(
        3943  +
            mut self,
        3944  +
            input: impl ::std::convert::Into<
        3945  +
                crate::constrained::MaybeConstrained<crate::model::RangeByte>,
        3946  +
            >,
        3947  +
        ) -> Self {
        3948  +
            self.range_byte_label = Some(input.into());
        3949  +
            self
        3950  +
        }
        3951  +
        #[allow(missing_docs)] // documentation missing in model
        3952  +
        pub(crate) fn set_enum_string_label(
        3953  +
            mut self,
        3954  +
            input: impl ::std::convert::Into<
        3955  +
                crate::constrained::MaybeConstrained<crate::model::EnumString>,
        3956  +
            >,
        3957  +
        ) -> Self {
        3958  +
            self.enum_string_label = Some(input.into());
        3959  +
            self
        3960  +
        }
        3961  +
        #[allow(missing_docs)] // documentation missing in model
        3962  +
        pub(crate) fn set_length_string_header_map(
        3963  +
            mut self,
        3964  +
            input: impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::map_of_length_string_constrained::MapOfLengthStringConstrained>>,
        3965  +
        ) -> Self {
        3966  +
            self.length_string_header_map = Some(input.into());
        3967  +
            self
        3968  +
        }
        3969  +
        #[allow(missing_docs)] // documentation missing in model
        3970  +
        pub(crate) fn set_length_string_header(
        3971  +
            mut self,
        3972  +
            input: Option<
        3973  +
                impl ::std::convert::Into<
        3974  +
                    crate::constrained::MaybeConstrained<crate::model::LengthString>,
        3975  +
                >,
        3976  +
            >,
        3977  +
        ) -> Self {
        3978  +
            self.length_string_header = input.map(|v| v.into());
        3979  +
            self
        3980  +
        }
        3981  +
        #[allow(missing_docs)] // documentation missing in model
        3982  +
        pub(crate) fn set_range_integer_header(
        3983  +
            mut self,
        3984  +
            input: impl ::std::convert::Into<
        3985  +
                crate::constrained::MaybeConstrained<crate::model::RangeInteger>,
        3986  +
            >,
        3987  +
        ) -> Self {
        3988  +
            self.range_integer_header = Some(input.into());
        3989  +
            self
        3990  +
        }
        3991  +
        #[allow(missing_docs)] // documentation missing in model
        3992  +
        pub(crate) fn set_range_short_header(
        3993  +
            mut self,
        3994  +
            input: impl ::std::convert::Into<
        3995  +
                crate::constrained::MaybeConstrained<crate::model::RangeShort>,
        3996  +
            >,
        3997  +
        ) -> Self {
        3998  +
            self.range_short_header = Some(input.into());
        3999  +
            self
        4000  +
        }
        4001  +
        #[allow(missing_docs)] // documentation missing in model
        4002  +
        pub(crate) fn set_range_long_header(
        4003  +
            mut self,
        4004  +
            input: impl ::std::convert::Into<
        4005  +
                crate::constrained::MaybeConstrained<crate::model::RangeLong>,
        4006  +
            >,
        4007  +
        ) -> Self {
        4008  +
            self.range_long_header = Some(input.into());
        4009  +
            self
        4010  +
        }
        4011  +
        #[allow(missing_docs)] // documentation missing in model
        4012  +
        pub(crate) fn set_range_byte_header(
        4013  +
            mut self,
        4014  +
            input: impl ::std::convert::Into<
        4015  +
                crate::constrained::MaybeConstrained<crate::model::RangeByte>,
        4016  +
            >,
        4017  +
        ) -> Self {
        4018  +
            self.range_byte_header = Some(input.into());
        4019  +
            self
        4020  +
        }
        4021  +
        #[allow(missing_docs)] // documentation missing in model
        4022  +
        pub(crate) fn set_length_string_set_header(
        4023  +
            mut self,
        4024  +
            input: Option<
        4025  +
                impl ::std::convert::Into<
        4026  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfLengthString>,
        4027  +
                >,
        4028  +
            >,
        4029  +
        ) -> Self {
        4030  +
            self.length_string_set_header = input.map(|v| v.into());
        4031  +
            self
        4032  +
        }
        4033  +
        #[allow(missing_docs)] // documentation missing in model
        4034  +
        pub(crate) fn set_list_length_string_header(
        4035  +
            mut self,
        4036  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_length_string_constrained::ListOfLengthStringConstrained>>>,
        4037  +
        ) -> Self {
        4038  +
            self.list_length_string_header = input.map(|v| v.into());
        4039  +
            self
        4040  +
        }
        4041  +
        #[allow(missing_docs)] // documentation missing in model
        4042  +
        pub(crate) fn set_length_list_pattern_string_header(
        4043  +
            mut self,
        4044  +
            input: Option<
        4045  +
                impl ::std::convert::Into<
        4046  +
                    crate::constrained::MaybeConstrained<crate::model::LengthListOfPatternString>,
        4047  +
                >,
        4048  +
            >,
        4049  +
        ) -> Self {
        4050  +
            self.length_list_pattern_string_header = input.map(|v| v.into());
        4051  +
            self
        4052  +
        }
        4053  +
        #[allow(missing_docs)] // documentation missing in model
        4054  +
        pub(crate) fn set_length_set_pattern_string_header(
        4055  +
            mut self,
        4056  +
            input: Option<
        4057  +
                impl ::std::convert::Into<
        4058  +
                    crate::constrained::MaybeConstrained<crate::model::LengthSetOfPatternString>,
        4059  +
                >,
        4060  +
            >,
        4061  +
        ) -> Self {
        4062  +
            self.length_set_pattern_string_header = input.map(|v| v.into());
        4063  +
            self
        4064  +
        }
        4065  +
        #[allow(missing_docs)] // documentation missing in model
        4066  +
        pub(crate) fn set_range_byte_set_header(
        4067  +
            mut self,
        4068  +
            input: Option<
        4069  +
                impl ::std::convert::Into<
        4070  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeByte>,
        4071  +
                >,
        4072  +
            >,
        4073  +
        ) -> Self {
        4074  +
            self.range_byte_set_header = input.map(|v| v.into());
        4075  +
            self
        4076  +
        }
        4077  +
        #[allow(missing_docs)] // documentation missing in model
        4078  +
        pub(crate) fn set_range_short_set_header(
        4079  +
            mut self,
        4080  +
            input: Option<
        4081  +
                impl ::std::convert::Into<
        4082  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeShort>,
        4083  +
                >,
        4084  +
            >,
        4085  +
        ) -> Self {
        4086  +
            self.range_short_set_header = input.map(|v| v.into());
        4087  +
            self
        4088  +
        }
        4089  +
        #[allow(missing_docs)] // documentation missing in model
        4090  +
        pub(crate) fn set_range_integer_set_header(
        4091  +
            mut self,
        4092  +
            input: Option<
        4093  +
                impl ::std::convert::Into<
        4094  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeInteger>,
        4095  +
                >,
        4096  +
            >,
        4097  +
        ) -> Self {
        4098  +
            self.range_integer_set_header = input.map(|v| v.into());
        4099  +
            self
        4100  +
        }
        4101  +
        #[allow(missing_docs)] // documentation missing in model
        4102  +
        pub(crate) fn set_range_long_set_header(
        4103  +
            mut self,
        4104  +
            input: Option<
        4105  +
                impl ::std::convert::Into<
        4106  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeLong>,
        4107  +
                >,
        4108  +
            >,
        4109  +
        ) -> Self {
        4110  +
            self.range_long_set_header = input.map(|v| v.into());
        4111  +
            self
        4112  +
        }
        4113  +
        #[allow(missing_docs)] // documentation missing in model
        4114  +
        pub(crate) fn set_range_byte_list_header(
        4115  +
            mut self,
        4116  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_byte_constrained::ListOfRangeByteConstrained>>>,
        4117  +
        ) -> Self {
        4118  +
            self.range_byte_list_header = input.map(|v| v.into());
        4119  +
            self
        4120  +
        }
        4121  +
        #[allow(missing_docs)] // documentation missing in model
        4122  +
        pub(crate) fn set_range_short_list_header(
        4123  +
            mut self,
        4124  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_short_constrained::ListOfRangeShortConstrained>>>,
        4125  +
        ) -> Self {
        4126  +
            self.range_short_list_header = input.map(|v| v.into());
        4127  +
            self
        4128  +
        }
        4129  +
        #[allow(missing_docs)] // documentation missing in model
        4130  +
        pub(crate) fn set_range_integer_list_header(
        4131  +
            mut self,
        4132  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_integer_constrained::ListOfRangeIntegerConstrained>>>,
        4133  +
        ) -> Self {
        4134  +
            self.range_integer_list_header = input.map(|v| v.into());
        4135  +
            self
        4136  +
        }
        4137  +
        #[allow(missing_docs)] // documentation missing in model
        4138  +
        pub(crate) fn set_range_long_list_header(
        4139  +
            mut self,
        4140  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_long_constrained::ListOfRangeLongConstrained>>>,
        4141  +
        ) -> Self {
        4142  +
            self.range_long_list_header = input.map(|v| v.into());
        4143  +
            self
        4144  +
        }
        4145  +
        #[allow(missing_docs)] // documentation missing in model
        4146  +
        pub(crate) fn set_length_string_query(
        4147  +
            mut self,
        4148  +
            input: Option<
        4149  +
                impl ::std::convert::Into<
        4150  +
                    crate::constrained::MaybeConstrained<crate::model::LengthString>,
        4151  +
                >,
        4152  +
            >,
        4153  +
        ) -> Self {
        4154  +
            self.length_string_query = input.map(|v| v.into());
        4155  +
            self
        4156  +
        }
        4157  +
        #[allow(missing_docs)] // documentation missing in model
        4158  +
        pub(crate) fn set_range_byte_query(
        4159  +
            mut self,
        4160  +
            input: impl ::std::convert::Into<
        4161  +
                crate::constrained::MaybeConstrained<crate::model::RangeByte>,
        4162  +
            >,
        4163  +
        ) -> Self {
        4164  +
            self.range_byte_query = Some(input.into());
        4165  +
            self
        4166  +
        }
        4167  +
        #[allow(missing_docs)] // documentation missing in model
        4168  +
        pub(crate) fn set_range_short_query(
        4169  +
            mut self,
        4170  +
            input: impl ::std::convert::Into<
        4171  +
                crate::constrained::MaybeConstrained<crate::model::RangeShort>,
        4172  +
            >,
        4173  +
        ) -> Self {
        4174  +
            self.range_short_query = Some(input.into());
        4175  +
            self
        4176  +
        }
        4177  +
        #[allow(missing_docs)] // documentation missing in model
        4178  +
        pub(crate) fn set_range_integer_query(
        4179  +
            mut self,
        4180  +
            input: impl ::std::convert::Into<
        4181  +
                crate::constrained::MaybeConstrained<crate::model::RangeInteger>,
        4182  +
            >,
        4183  +
        ) -> Self {
        4184  +
            self.range_integer_query = Some(input.into());
        4185  +
            self
        4186  +
        }
        4187  +
        #[allow(missing_docs)] // documentation missing in model
        4188  +
        pub(crate) fn set_range_long_query(
        4189  +
            mut self,
        4190  +
            input: impl ::std::convert::Into<
        4191  +
                crate::constrained::MaybeConstrained<crate::model::RangeLong>,
        4192  +
            >,
        4193  +
        ) -> Self {
        4194  +
            self.range_long_query = Some(input.into());
        4195  +
            self
        4196  +
        }
        4197  +
        #[allow(missing_docs)] // documentation missing in model
        4198  +
        pub(crate) fn set_enum_string_query(
        4199  +
            mut self,
        4200  +
            input: Option<
        4201  +
                impl ::std::convert::Into<
        4202  +
                    crate::constrained::MaybeConstrained<crate::model::EnumString>,
        4203  +
                >,
        4204  +
            >,
        4205  +
        ) -> Self {
        4206  +
            self.enum_string_query = input.map(|v| v.into());
        4207  +
            self
        4208  +
        }
        4209  +
        #[allow(missing_docs)] // documentation missing in model
        4210  +
        pub(crate) fn set_length_string_list_query(
        4211  +
            mut self,
        4212  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_length_string_constrained::ListOfLengthStringConstrained>>>,
        4213  +
        ) -> Self {
        4214  +
            self.length_string_list_query = input.map(|v| v.into());
        4215  +
            self
        4216  +
        }
        4217  +
        #[allow(missing_docs)] // documentation missing in model
        4218  +
        pub(crate) fn set_length_list_pattern_string_query(
        4219  +
            mut self,
        4220  +
            input: Option<
        4221  +
                impl ::std::convert::Into<
        4222  +
                    crate::constrained::MaybeConstrained<crate::model::LengthListOfPatternString>,
        4223  +
                >,
        4224  +
            >,
        4225  +
        ) -> Self {
        4226  +
            self.length_list_pattern_string_query = input.map(|v| v.into());
        4227  +
            self
        4228  +
        }
        4229  +
        #[allow(missing_docs)] // documentation missing in model
        4230  +
        pub(crate) fn set_length_string_set_query(
        4231  +
            mut self,
        4232  +
            input: Option<
        4233  +
                impl ::std::convert::Into<
        4234  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfLengthString>,
        4235  +
                >,
        4236  +
            >,
        4237  +
        ) -> Self {
        4238  +
            self.length_string_set_query = input.map(|v| v.into());
        4239  +
            self
        4240  +
        }
        4241  +
        #[allow(missing_docs)] // documentation missing in model
        4242  +
        pub(crate) fn set_range_byte_list_query(
        4243  +
            mut self,
        4244  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_byte_constrained::ListOfRangeByteConstrained>>>,
        4245  +
        ) -> Self {
        4246  +
            self.range_byte_list_query = input.map(|v| v.into());
        4247  +
            self
        4248  +
        }
        4249  +
        #[allow(missing_docs)] // documentation missing in model
        4250  +
        pub(crate) fn set_range_short_list_query(
        4251  +
            mut self,
        4252  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_short_constrained::ListOfRangeShortConstrained>>>,
        4253  +
        ) -> Self {
        4254  +
            self.range_short_list_query = input.map(|v| v.into());
        4255  +
            self
        4256  +
        }
        4257  +
        #[allow(missing_docs)] // documentation missing in model
        4258  +
        pub(crate) fn set_range_integer_list_query(
        4259  +
            mut self,
        4260  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_integer_constrained::ListOfRangeIntegerConstrained>>>,
        4261  +
        ) -> Self {
        4262  +
            self.range_integer_list_query = input.map(|v| v.into());
        4263  +
            self
        4264  +
        }
        4265  +
        #[allow(missing_docs)] // documentation missing in model
        4266  +
        pub(crate) fn set_range_long_list_query(
        4267  +
            mut self,
        4268  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_range_long_constrained::ListOfRangeLongConstrained>>>,
        4269  +
        ) -> Self {
        4270  +
            self.range_long_list_query = input.map(|v| v.into());
        4271  +
            self
        4272  +
        }
        4273  +
        #[allow(missing_docs)] // documentation missing in model
        4274  +
        pub(crate) fn set_range_byte_set_query(
        4275  +
            mut self,
        4276  +
            input: Option<
        4277  +
                impl ::std::convert::Into<
        4278  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeByte>,
        4279  +
                >,
        4280  +
            >,
        4281  +
        ) -> Self {
        4282  +
            self.range_byte_set_query = input.map(|v| v.into());
        4283  +
            self
        4284  +
        }
        4285  +
        #[allow(missing_docs)] // documentation missing in model
        4286  +
        pub(crate) fn set_range_short_set_query(
        4287  +
            mut self,
        4288  +
            input: Option<
        4289  +
                impl ::std::convert::Into<
        4290  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeShort>,
        4291  +
                >,
        4292  +
            >,
        4293  +
        ) -> Self {
        4294  +
            self.range_short_set_query = input.map(|v| v.into());
        4295  +
            self
        4296  +
        }
        4297  +
        #[allow(missing_docs)] // documentation missing in model
        4298  +
        pub(crate) fn set_range_integer_set_query(
        4299  +
            mut self,
        4300  +
            input: Option<
        4301  +
                impl ::std::convert::Into<
        4302  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeInteger>,
        4303  +
                >,
        4304  +
            >,
        4305  +
        ) -> Self {
        4306  +
            self.range_integer_set_query = input.map(|v| v.into());
        4307  +
            self
        4308  +
        }
        4309  +
        #[allow(missing_docs)] // documentation missing in model
        4310  +
        pub(crate) fn set_range_long_set_query(
        4311  +
            mut self,
        4312  +
            input: Option<
        4313  +
                impl ::std::convert::Into<
        4314  +
                    crate::constrained::MaybeConstrained<crate::model::SetOfRangeLong>,
        4315  +
                >,
        4316  +
            >,
        4317  +
        ) -> Self {
        4318  +
            self.range_long_set_query = input.map(|v| v.into());
        4319  +
            self
        4320  +
        }
        4321  +
        #[allow(missing_docs)] // documentation missing in model
        4322  +
        pub(crate) fn set_enum_string_list_query(
        4323  +
            mut self,
        4324  +
            input: Option<impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::constrained::list_of_enum_string_constrained::ListOfEnumStringConstrained>>>,
        4325  +
        ) -> Self {
        4326  +
            self.enum_string_list_query = input.map(|v| v.into());
        4327  +
            self
        4328  +
        }
        4329  +
        /// Consumes the builder and constructs a [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
        4330  +
        ///
        4331  +
        /// The builder fails to construct a [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput) if a [`ConstraintViolation`] occurs.
        4332  +
        ///
        4333  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        4334  +
        pub fn build(
        4335  +
            self,
        4336  +
        ) -> Result<crate::input::ConstrainedHttpBoundShapesOperationInput, ConstraintViolation>
        4337  +
        {
        4338  +
            self.build_enforcing_all_constraints()
        4339  +
        }
        4340  +
        fn build_enforcing_all_constraints(
        4341  +
            self,
        4342  +
        ) -> Result<crate::input::ConstrainedHttpBoundShapesOperationInput, ConstraintViolation>
        4343  +
        {
        4344  +
            Ok(crate::input::ConstrainedHttpBoundShapesOperationInput {
        4345  +
                length_string_label: self
        4346  +
                    .length_string_label
        4347  +
                    .map(|v| match v {
        4348  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4349  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4350  +
                    })
        4351  +
                    .map(|res| res.map_err(ConstraintViolation::LengthStringLabel))
        4352  +
                    .transpose()?
        4353  +
                    .map(|v: crate::model::LengthString| v.into())
        4354  +
                    .ok_or(ConstraintViolation::MissingLengthStringLabel)?,
        4355  +
                range_integer_label: self
        4356  +
                    .range_integer_label
        4357  +
                    .map(|v| match v {
        4358  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4359  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4360  +
                    })
        4361  +
                    .map(|res| res.map_err(ConstraintViolation::RangeIntegerLabel))
        4362  +
                    .transpose()?
        4363  +
                    .map(|v: crate::model::RangeInteger| v.into())
        4364  +
                    .unwrap_or(0i32),
        4365  +
                range_short_label: self
        4366  +
                    .range_short_label
        4367  +
                    .map(|v| match v {
        4368  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4369  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4370  +
                    })
        4371  +
                    .map(|res| res.map_err(ConstraintViolation::RangeShortLabel))
        4372  +
                    .transpose()?
        4373  +
                    .map(|v: crate::model::RangeShort| v.into())
        4374  +
                    .unwrap_or(0i16),
        4375  +
                range_long_label: self
        4376  +
                    .range_long_label
        4377  +
                    .map(|v| match v {
        4378  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4379  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4380  +
                    })
        4381  +
                    .map(|res| res.map_err(ConstraintViolation::RangeLongLabel))
        4382  +
                    .transpose()?
        4383  +
                    .map(|v: crate::model::RangeLong| v.into())
        4384  +
                    .unwrap_or(0i64),
        4385  +
                range_byte_label: self
        4386  +
                    .range_byte_label
        4387  +
                    .map(|v| match v {
        4388  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4389  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4390  +
                    })
        4391  +
                    .map(|res| res.map_err(ConstraintViolation::RangeByteLabel))
        4392  +
                    .transpose()?
        4393  +
                    .map(|v: crate::model::RangeByte| v.into())
        4394  +
                    .unwrap_or(0i8),
        4395  +
                enum_string_label: self
        4396  +
                    .enum_string_label
        4397  +
                    .map(|v| match v {
        4398  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4399  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4400  +
                    })
        4401  +
                    .map(|res| res.map_err(ConstraintViolation::EnumStringLabel))
        4402  +
                    .transpose()?
        4403  +
                    .ok_or(ConstraintViolation::MissingEnumStringLabel)?,
        4404  +
                length_string_header_map: self
        4405  +
                    .length_string_header_map
        4406  +
                    .map(|v| match v {
        4407  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4408  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4409  +
                    })
        4410  +
                    .map(|res| {
        4411  +
                        res.map(|v| v.into())
        4412  +
                            .map_err(ConstraintViolation::LengthStringHeaderMap)
        4413  +
                    })
        4414  +
                    .transpose()?
        4415  +
                    .ok_or(ConstraintViolation::MissingLengthStringHeaderMap)?,
        4416  +
                length_string_header: self
        4417  +
                    .length_string_header
        4418  +
                    .map(|v| match v {
        4419  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4420  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4421  +
                    })
        4422  +
                    .map(|res| res.map_err(ConstraintViolation::LengthStringHeader))
        4423  +
                    .transpose()?
        4424  +
                    .map(|v: crate::model::LengthString| v.into()),
        4425  +
                range_integer_header: self
        4426  +
                    .range_integer_header
        4427  +
                    .map(|v| match v {
        4428  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4429  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4430  +
                    })
        4431  +
                    .map(|res| res.map_err(ConstraintViolation::RangeIntegerHeader))
        4432  +
                    .transpose()?
        4433  +
                    .map(|v: crate::model::RangeInteger| v.into())
        4434  +
                    .unwrap_or(0i32),
        4435  +
                range_short_header: self
        4436  +
                    .range_short_header
        4437  +
                    .map(|v| match v {
        4438  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4439  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4440  +
                    })
        4441  +
                    .map(|res| res.map_err(ConstraintViolation::RangeShortHeader))
        4442  +
                    .transpose()?
        4443  +
                    .map(|v: crate::model::RangeShort| v.into())
        4444  +
                    .unwrap_or(0i16),
        4445  +
                range_long_header: self
        4446  +
                    .range_long_header
        4447  +
                    .map(|v| match v {
        4448  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4449  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4450  +
                    })
        4451  +
                    .map(|res| res.map_err(ConstraintViolation::RangeLongHeader))
        4452  +
                    .transpose()?
        4453  +
                    .map(|v: crate::model::RangeLong| v.into())
        4454  +
                    .unwrap_or(0i64),
        4455  +
                range_byte_header: self
        4456  +
                    .range_byte_header
        4457  +
                    .map(|v| match v {
        4458  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4459  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4460  +
                    })
        4461  +
                    .map(|res| res.map_err(ConstraintViolation::RangeByteHeader))
        4462  +
                    .transpose()?
        4463  +
                    .map(|v: crate::model::RangeByte| v.into())
        4464  +
                    .unwrap_or(0i8),
        4465  +
                length_string_set_header: self
        4466  +
                    .length_string_set_header
        4467  +
                    .map(|v| match v {
        4468  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4469  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4470  +
                    })
        4471  +
                    .map(|res| res.map_err(ConstraintViolation::LengthStringSetHeader))
        4472  +
                    .transpose()?
        4473  +
                    .map(|v: crate::model::SetOfLengthString| v.into()),
        4474  +
                list_length_string_header: self
        4475  +
                    .list_length_string_header
        4476  +
                    .map(|v| match v {
        4477  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4478  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4479  +
                    })
        4480  +
                    .map(|res| {
        4481  +
                        res.map(|v| v.into())
        4482  +
                            .map_err(ConstraintViolation::ListLengthStringHeader)
        4483  +
                    })
        4484  +
                    .transpose()?,
        4485  +
                length_list_pattern_string_header: self
        4486  +
                    .length_list_pattern_string_header
        4487  +
                    .map(|v| match v {
        4488  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4489  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4490  +
                    })
        4491  +
                    .map(|res| res.map_err(ConstraintViolation::LengthListPatternStringHeader))
        4492  +
                    .transpose()?
        4493  +
                    .map(|v: crate::model::LengthListOfPatternString| v.into()),
        4494  +
                length_set_pattern_string_header: self
        4495  +
                    .length_set_pattern_string_header
        4496  +
                    .map(|v| match v {
        4497  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4498  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4499  +
                    })
        4500  +
                    .map(|res| res.map_err(ConstraintViolation::LengthSetPatternStringHeader))
        4501  +
                    .transpose()?
        4502  +
                    .map(|v: crate::model::LengthSetOfPatternString| v.into()),
        4503  +
                range_byte_set_header: self
        4504  +
                    .range_byte_set_header
        4505  +
                    .map(|v| match v {
        4506  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4507  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4508  +
                    })
        4509  +
                    .map(|res| res.map_err(ConstraintViolation::RangeByteSetHeader))
        4510  +
                    .transpose()?
        4511  +
                    .map(|v: crate::model::SetOfRangeByte| v.into()),
        4512  +
                range_short_set_header: self
        4513  +
                    .range_short_set_header
        4514  +
                    .map(|v| match v {
        4515  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4516  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4517  +
                    })
        4518  +
                    .map(|res| res.map_err(ConstraintViolation::RangeShortSetHeader))
        4519  +
                    .transpose()?
        4520  +
                    .map(|v: crate::model::SetOfRangeShort| v.into()),
        4521  +
                range_integer_set_header: self
        4522  +
                    .range_integer_set_header
        4523  +
                    .map(|v| match v {
        4524  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4525  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4526  +
                    })
        4527  +
                    .map(|res| res.map_err(ConstraintViolation::RangeIntegerSetHeader))
        4528  +
                    .transpose()?
        4529  +
                    .map(|v: crate::model::SetOfRangeInteger| v.into()),
        4530  +
                range_long_set_header: self
        4531  +
                    .range_long_set_header
        4532  +
                    .map(|v| match v {
        4533  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4534  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4535  +
                    })
        4536  +
                    .map(|res| res.map_err(ConstraintViolation::RangeLongSetHeader))
        4537  +
                    .transpose()?
        4538  +
                    .map(|v: crate::model::SetOfRangeLong| v.into()),
        4539  +
                range_byte_list_header: self
        4540  +
                    .range_byte_list_header
        4541  +
                    .map(|v| match v {
        4542  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4543  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4544  +
                    })
        4545  +
                    .map(|res| {
        4546  +
                        res.map(|v| v.into())
        4547  +
                            .map_err(ConstraintViolation::RangeByteListHeader)
        4548  +
                    })
        4549  +
                    .transpose()?,
        4550  +
                range_short_list_header: self
        4551  +
                    .range_short_list_header
        4552  +
                    .map(|v| match v {
        4553  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4554  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4555  +
                    })
        4556  +
                    .map(|res| {
        4557  +
                        res.map(|v| v.into())
        4558  +
                            .map_err(ConstraintViolation::RangeShortListHeader)
        4559  +
                    })
        4560  +
                    .transpose()?,
        4561  +
                range_integer_list_header: self
        4562  +
                    .range_integer_list_header
        4563  +
                    .map(|v| match v {
        4564  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4565  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4566  +
                    })
        4567  +
                    .map(|res| {
        4568  +
                        res.map(|v| v.into())
        4569  +
                            .map_err(ConstraintViolation::RangeIntegerListHeader)
        4570  +
                    })
        4571  +
                    .transpose()?,
        4572  +
                range_long_list_header: self
        4573  +
                    .range_long_list_header
        4574  +
                    .map(|v| match v {
        4575  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4576  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4577  +
                    })
        4578  +
                    .map(|res| {
        4579  +
                        res.map(|v| v.into())
        4580  +
                            .map_err(ConstraintViolation::RangeLongListHeader)
        4581  +
                    })
        4582  +
                    .transpose()?,
        4583  +
                length_string_query: self
        4584  +
                    .length_string_query
        4585  +
                    .map(|v| match v {
        4586  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4587  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4588  +
                    })
        4589  +
                    .map(|res| res.map_err(ConstraintViolation::LengthStringQuery))
        4590  +
                    .transpose()?
        4591  +
                    .map(|v: crate::model::LengthString| v.into()),
        4592  +
                range_byte_query: self
        4593  +
                    .range_byte_query
        4594  +
                    .map(|v| match v {
        4595  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4596  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4597  +
                    })
        4598  +
                    .map(|res| res.map_err(ConstraintViolation::RangeByteQuery))
        4599  +
                    .transpose()?
        4600  +
                    .map(|v: crate::model::RangeByte| v.into())
        4601  +
                    .unwrap_or(0i8),
        4602  +
                range_short_query: self
        4603  +
                    .range_short_query
        4604  +
                    .map(|v| match v {
        4605  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4606  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4607  +
                    })
        4608  +
                    .map(|res| res.map_err(ConstraintViolation::RangeShortQuery))
        4609  +
                    .transpose()?
        4610  +
                    .map(|v: crate::model::RangeShort| v.into())
        4611  +
                    .unwrap_or(0i16),
        4612  +
                range_integer_query: self
        4613  +
                    .range_integer_query
        4614  +
                    .map(|v| match v {
        4615  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4616  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4617  +
                    })
        4618  +
                    .map(|res| res.map_err(ConstraintViolation::RangeIntegerQuery))
        4619  +
                    .transpose()?
        4620  +
                    .map(|v: crate::model::RangeInteger| v.into())
        4621  +
                    .unwrap_or(0i32),
        4622  +
                range_long_query: self
        4623  +
                    .range_long_query
        4624  +
                    .map(|v| match v {
        4625  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4626  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4627  +
                    })
        4628  +
                    .map(|res| res.map_err(ConstraintViolation::RangeLongQuery))
        4629  +
                    .transpose()?
        4630  +
                    .map(|v: crate::model::RangeLong| v.into())
        4631  +
                    .unwrap_or(0i64),
        4632  +
                enum_string_query: self
        4633  +
                    .enum_string_query
        4634  +
                    .map(|v| match v {
        4635  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4636  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4637  +
                    })
        4638  +
                    .map(|res| res.map_err(ConstraintViolation::EnumStringQuery))
        4639  +
                    .transpose()?,
        4640  +
                length_string_list_query: self
        4641  +
                    .length_string_list_query
        4642  +
                    .map(|v| match v {
        4643  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4644  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4645  +
                    })
        4646  +
                    .map(|res| {
        4647  +
                        res.map(|v| v.into())
        4648  +
                            .map_err(ConstraintViolation::LengthStringListQuery)
        4649  +
                    })
        4650  +
                    .transpose()?,
        4651  +
                length_list_pattern_string_query: self
        4652  +
                    .length_list_pattern_string_query
        4653  +
                    .map(|v| match v {
        4654  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4655  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4656  +
                    })
        4657  +
                    .map(|res| res.map_err(ConstraintViolation::LengthListPatternStringQuery))
        4658  +
                    .transpose()?
        4659  +
                    .map(|v: crate::model::LengthListOfPatternString| v.into()),
        4660  +
                length_string_set_query: self
        4661  +
                    .length_string_set_query
        4662  +
                    .map(|v| match v {
        4663  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4664  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4665  +
                    })
        4666  +
                    .map(|res| res.map_err(ConstraintViolation::LengthStringSetQuery))
        4667  +
                    .transpose()?
        4668  +
                    .map(|v: crate::model::SetOfLengthString| v.into()),
        4669  +
                range_byte_list_query: self
        4670  +
                    .range_byte_list_query
        4671  +
                    .map(|v| match v {
        4672  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4673  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4674  +
                    })
        4675  +
                    .map(|res| {
        4676  +
                        res.map(|v| v.into())
        4677  +
                            .map_err(ConstraintViolation::RangeByteListQuery)
        4678  +
                    })
        4679  +
                    .transpose()?,
        4680  +
                range_short_list_query: self
        4681  +
                    .range_short_list_query
        4682  +
                    .map(|v| match v {
        4683  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4684  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4685  +
                    })
        4686  +
                    .map(|res| {
        4687  +
                        res.map(|v| v.into())
        4688  +
                            .map_err(ConstraintViolation::RangeShortListQuery)
        4689  +
                    })
        4690  +
                    .transpose()?,
        4691  +
                range_integer_list_query: self
        4692  +
                    .range_integer_list_query
        4693  +
                    .map(|v| match v {
        4694  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4695  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4696  +
                    })
        4697  +
                    .map(|res| {
        4698  +
                        res.map(|v| v.into())
        4699  +
                            .map_err(ConstraintViolation::RangeIntegerListQuery)
        4700  +
                    })
        4701  +
                    .transpose()?,
        4702  +
                range_long_list_query: self
        4703  +
                    .range_long_list_query
        4704  +
                    .map(|v| match v {
        4705  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4706  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4707  +
                    })
        4708  +
                    .map(|res| {
        4709  +
                        res.map(|v| v.into())
        4710  +
                            .map_err(ConstraintViolation::RangeLongListQuery)
        4711  +
                    })
        4712  +
                    .transpose()?,
        4713  +
                range_byte_set_query: self
        4714  +
                    .range_byte_set_query
        4715  +
                    .map(|v| match v {
        4716  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4717  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4718  +
                    })
        4719  +
                    .map(|res| res.map_err(ConstraintViolation::RangeByteSetQuery))
        4720  +
                    .transpose()?
        4721  +
                    .map(|v: crate::model::SetOfRangeByte| v.into()),
        4722  +
                range_short_set_query: self
        4723  +
                    .range_short_set_query
        4724  +
                    .map(|v| match v {
        4725  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4726  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4727  +
                    })
        4728  +
                    .map(|res| res.map_err(ConstraintViolation::RangeShortSetQuery))
        4729  +
                    .transpose()?
        4730  +
                    .map(|v: crate::model::SetOfRangeShort| v.into()),
        4731  +
                range_integer_set_query: self
        4732  +
                    .range_integer_set_query
        4733  +
                    .map(|v| match v {
        4734  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4735  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4736  +
                    })
        4737  +
                    .map(|res| res.map_err(ConstraintViolation::RangeIntegerSetQuery))
        4738  +
                    .transpose()?
        4739  +
                    .map(|v: crate::model::SetOfRangeInteger| v.into()),
        4740  +
                range_long_set_query: self
        4741  +
                    .range_long_set_query
        4742  +
                    .map(|v| match v {
        4743  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4744  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4745  +
                    })
        4746  +
                    .map(|res| res.map_err(ConstraintViolation::RangeLongSetQuery))
        4747  +
                    .transpose()?
        4748  +
                    .map(|v: crate::model::SetOfRangeLong| v.into()),
        4749  +
                enum_string_list_query: self
        4750  +
                    .enum_string_list_query
        4751  +
                    .map(|v| match v {
        4752  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        4753  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        4754  +
                    })
        4755  +
                    .map(|res| {
        4756  +
                        res.map(|v| v.into())
        4757  +
                            .map_err(ConstraintViolation::EnumStringListQuery)
        4758  +
                    })
        4759  +
                    .transpose()?,
        4760  +
            })
        4761  +
        }
        4762  +
    }
        4763  +
}
        4764  +
/// See [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
        4765  +
pub mod constrained_http_bound_shapes_operation_input {
        4766  +
        4767  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        4768  +
    /// Holds one variant for each of the ways the builder can fail.
        4769  +
    #[allow(clippy::enum_variant_names)]
        4770  +
    pub enum ConstraintViolation {
        4771  +
        /// `length_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`.
        4772  +
        MissingLengthStringLabel,
        4773  +
        /// `enum_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`.
        4774  +
        MissingEnumStringLabel,
        4775  +
        /// `length_string_header_map` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`.
        4776  +
        MissingLengthStringHeaderMap,
        4777  +
    }
        4778  +
    impl ::std::fmt::Display for ConstraintViolation {
        4779  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        4780  +
            match self {
        4781  +
                ConstraintViolation::MissingLengthStringLabel => write!(f, "`length_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`"),
        4782  +
                ConstraintViolation::MissingEnumStringLabel => write!(f, "`enum_string_label` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`"),
        4783  +
                ConstraintViolation::MissingLengthStringHeaderMap => write!(f, "`length_string_header_map` was not provided but it is required when building `ConstrainedHttpBoundShapesOperationInput`"),
        4784  +
            }
        4785  +
        }
        4786  +
    }
        4787  +
    impl ::std::error::Error for ConstraintViolation {}
        4788  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstrainedHttpBoundShapesOperationInput {
        4789  +
        type Error = ConstraintViolation;
        4790  +
        4791  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        4792  +
            builder.build()
        4793  +
        }
        4794  +
    }
        4795  +
    /// A builder for [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
        4796  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        4797  +
    pub struct Builder {
        4798  +
        pub(crate) length_string_label: ::std::option::Option<::std::string::String>,
        4799  +
        pub(crate) range_integer_label: ::std::option::Option<i32>,
        4800  +
        pub(crate) range_short_label: ::std::option::Option<i16>,
        4801  +
        pub(crate) range_long_label: ::std::option::Option<i64>,
        4802  +
        pub(crate) range_byte_label: ::std::option::Option<i8>,
        4803  +
        pub(crate) enum_string_label: ::std::option::Option<crate::model::EnumString>,
        4804  +
        pub(crate) length_string_header_map: ::std::option::Option<
        4805  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        4806  +
        >,
        4807  +
        pub(crate) length_string_header: ::std::option::Option<::std::string::String>,
        4808  +
        pub(crate) range_integer_header: ::std::option::Option<i32>,
        4809  +
        pub(crate) range_short_header: ::std::option::Option<i16>,
        4810  +
        pub(crate) range_long_header: ::std::option::Option<i64>,
        4811  +
        pub(crate) range_byte_header: ::std::option::Option<i8>,
        4812  +
        pub(crate) length_string_set_header:
        4813  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4814  +
        pub(crate) list_length_string_header:
        4815  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4816  +
        pub(crate) length_list_pattern_string_header:
        4817  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4818  +
        pub(crate) length_set_pattern_string_header:
        4819  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4820  +
        pub(crate) range_byte_set_header: ::std::option::Option<::std::vec::Vec<i8>>,
        4821  +
        pub(crate) range_short_set_header: ::std::option::Option<::std::vec::Vec<i16>>,
        4822  +
        pub(crate) range_integer_set_header: ::std::option::Option<::std::vec::Vec<i32>>,
        4823  +
        pub(crate) range_long_set_header: ::std::option::Option<::std::vec::Vec<i64>>,
        4824  +
        pub(crate) range_byte_list_header: ::std::option::Option<::std::vec::Vec<i8>>,
        4825  +
        pub(crate) range_short_list_header: ::std::option::Option<::std::vec::Vec<i16>>,
        4826  +
        pub(crate) range_integer_list_header: ::std::option::Option<::std::vec::Vec<i32>>,
        4827  +
        pub(crate) range_long_list_header: ::std::option::Option<::std::vec::Vec<i64>>,
        4828  +
        pub(crate) length_string_query: ::std::option::Option<::std::string::String>,
        4829  +
        pub(crate) range_byte_query: ::std::option::Option<i8>,
        4830  +
        pub(crate) range_short_query: ::std::option::Option<i16>,
        4831  +
        pub(crate) range_integer_query: ::std::option::Option<i32>,
        4832  +
        pub(crate) range_long_query: ::std::option::Option<i64>,
        4833  +
        pub(crate) enum_string_query: ::std::option::Option<crate::model::EnumString>,
        4834  +
        pub(crate) length_string_list_query:
        4835  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4836  +
        pub(crate) length_list_pattern_string_query:
        4837  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4838  +
        pub(crate) length_string_set_query:
        4839  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4840  +
        pub(crate) range_byte_list_query: ::std::option::Option<::std::vec::Vec<i8>>,
        4841  +
        pub(crate) range_short_list_query: ::std::option::Option<::std::vec::Vec<i16>>,
        4842  +
        pub(crate) range_integer_list_query: ::std::option::Option<::std::vec::Vec<i32>>,
        4843  +
        pub(crate) range_long_list_query: ::std::option::Option<::std::vec::Vec<i64>>,
        4844  +
        pub(crate) range_byte_set_query: ::std::option::Option<::std::vec::Vec<i8>>,
        4845  +
        pub(crate) range_short_set_query: ::std::option::Option<::std::vec::Vec<i16>>,
        4846  +
        pub(crate) range_integer_set_query: ::std::option::Option<::std::vec::Vec<i32>>,
        4847  +
        pub(crate) range_long_set_query: ::std::option::Option<::std::vec::Vec<i64>>,
        4848  +
        pub(crate) enum_string_list_query:
        4849  +
            ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
        4850  +
    }
        4851  +
    impl Builder {
        4852  +
        #[allow(missing_docs)] // documentation missing in model
        4853  +
        pub fn length_string_label(mut self, input: ::std::string::String) -> Self {
        4854  +
            self.length_string_label = Some(input);
        4855  +
            self
        4856  +
        }
        4857  +
        #[allow(missing_docs)] // documentation missing in model
        4858  +
        pub fn range_integer_label(mut self, input: i32) -> Self {
        4859  +
            self.range_integer_label = Some(input);
        4860  +
            self
        4861  +
        }
        4862  +
        #[allow(missing_docs)] // documentation missing in model
        4863  +
        pub fn range_short_label(mut self, input: i16) -> Self {
        4864  +
            self.range_short_label = Some(input);
        4865  +
            self
        4866  +
        }
        4867  +
        #[allow(missing_docs)] // documentation missing in model
        4868  +
        pub fn range_long_label(mut self, input: i64) -> Self {
        4869  +
            self.range_long_label = Some(input);
        4870  +
            self
        4871  +
        }
        4872  +
        #[allow(missing_docs)] // documentation missing in model
        4873  +
        pub fn range_byte_label(mut self, input: i8) -> Self {
        4874  +
            self.range_byte_label = Some(input);
        4875  +
            self
        4876  +
        }
        4877  +
        #[allow(missing_docs)] // documentation missing in model
        4878  +
        pub fn enum_string_label(mut self, input: crate::model::EnumString) -> Self {
        4879  +
            self.enum_string_label = Some(input);
        4880  +
            self
        4881  +
        }
        4882  +
        #[allow(missing_docs)] // documentation missing in model
        4883  +
        pub fn length_string_header_map(
        4884  +
            mut self,
        4885  +
            input: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        4886  +
        ) -> Self {
        4887  +
            self.length_string_header_map = Some(input);
        4888  +
            self
        4889  +
        }
        4890  +
        #[allow(missing_docs)] // documentation missing in model
        4891  +
        pub fn length_string_header(
        4892  +
            mut self,
        4893  +
            input: ::std::option::Option<::std::string::String>,
        4894  +
        ) -> Self {
        4895  +
            self.length_string_header = input;
        4896  +
            self
        4897  +
        }
        4898  +
        #[allow(missing_docs)] // documentation missing in model
        4899  +
        pub fn range_integer_header(mut self, input: i32) -> Self {
        4900  +
            self.range_integer_header = Some(input);
        4901  +
            self
        4902  +
        }
        4903  +
        #[allow(missing_docs)] // documentation missing in model
        4904  +
        pub fn range_short_header(mut self, input: i16) -> Self {
        4905  +
            self.range_short_header = Some(input);
        4906  +
            self
        4907  +
        }
        4908  +
        #[allow(missing_docs)] // documentation missing in model
        4909  +
        pub fn range_long_header(mut self, input: i64) -> Self {
        4910  +
            self.range_long_header = Some(input);
        4911  +
            self
        4912  +
        }
        4913  +
        #[allow(missing_docs)] // documentation missing in model
        4914  +
        pub fn range_byte_header(mut self, input: i8) -> Self {
        4915  +
            self.range_byte_header = Some(input);
        4916  +
            self
        4917  +
        }
        4918  +
        #[allow(missing_docs)] // documentation missing in model
        4919  +
        pub fn length_string_set_header(
        4920  +
            mut self,
        4921  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4922  +
        ) -> Self {
        4923  +
            self.length_string_set_header = input;
        4924  +
            self
        4925  +
        }
        4926  +
        #[allow(missing_docs)] // documentation missing in model
        4927  +
        pub fn list_length_string_header(
        4928  +
            mut self,
        4929  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4930  +
        ) -> Self {
        4931  +
            self.list_length_string_header = input;
        4932  +
            self
        4933  +
        }
        4934  +
        #[allow(missing_docs)] // documentation missing in model
        4935  +
        pub fn length_list_pattern_string_header(
        4936  +
            mut self,
        4937  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4938  +
        ) -> Self {
        4939  +
            self.length_list_pattern_string_header = input;
        4940  +
            self
        4941  +
        }
        4942  +
        #[allow(missing_docs)] // documentation missing in model
        4943  +
        pub fn length_set_pattern_string_header(
        4944  +
            mut self,
        4945  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4946  +
        ) -> Self {
        4947  +
            self.length_set_pattern_string_header = input;
        4948  +
            self
        4949  +
        }
        4950  +
        #[allow(missing_docs)] // documentation missing in model
        4951  +
        pub fn range_byte_set_header(
        4952  +
            mut self,
        4953  +
            input: ::std::option::Option<::std::vec::Vec<i8>>,
        4954  +
        ) -> Self {
        4955  +
            self.range_byte_set_header = input;
        4956  +
            self
        4957  +
        }
        4958  +
        #[allow(missing_docs)] // documentation missing in model
        4959  +
        pub fn range_short_set_header(
        4960  +
            mut self,
        4961  +
            input: ::std::option::Option<::std::vec::Vec<i16>>,
        4962  +
        ) -> Self {
        4963  +
            self.range_short_set_header = input;
        4964  +
            self
        4965  +
        }
        4966  +
        #[allow(missing_docs)] // documentation missing in model
        4967  +
        pub fn range_integer_set_header(
        4968  +
            mut self,
        4969  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        4970  +
        ) -> Self {
        4971  +
            self.range_integer_set_header = input;
        4972  +
            self
        4973  +
        }
        4974  +
        #[allow(missing_docs)] // documentation missing in model
        4975  +
        pub fn range_long_set_header(
        4976  +
            mut self,
        4977  +
            input: ::std::option::Option<::std::vec::Vec<i64>>,
        4978  +
        ) -> Self {
        4979  +
            self.range_long_set_header = input;
        4980  +
            self
        4981  +
        }
        4982  +
        #[allow(missing_docs)] // documentation missing in model
        4983  +
        pub fn range_byte_list_header(
        4984  +
            mut self,
        4985  +
            input: ::std::option::Option<::std::vec::Vec<i8>>,
        4986  +
        ) -> Self {
        4987  +
            self.range_byte_list_header = input;
        4988  +
            self
        4989  +
        }
        4990  +
        #[allow(missing_docs)] // documentation missing in model
        4991  +
        pub fn range_short_list_header(
        4992  +
            mut self,
        4993  +
            input: ::std::option::Option<::std::vec::Vec<i16>>,
        4994  +
        ) -> Self {
        4995  +
            self.range_short_list_header = input;
        4996  +
            self
        4997  +
        }
        4998  +
        #[allow(missing_docs)] // documentation missing in model
        4999  +
        pub fn range_integer_list_header(
        5000  +
            mut self,
        5001  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        5002  +
        ) -> Self {
        5003  +
            self.range_integer_list_header = input;
        5004  +
            self
        5005  +
        }
        5006  +
        #[allow(missing_docs)] // documentation missing in model
        5007  +
        pub fn range_long_list_header(
        5008  +
            mut self,
        5009  +
            input: ::std::option::Option<::std::vec::Vec<i64>>,
        5010  +
        ) -> Self {
        5011  +
            self.range_long_list_header = input;
        5012  +
            self
        5013  +
        }
        5014  +
        #[allow(missing_docs)] // documentation missing in model
        5015  +
        pub fn length_string_query(
        5016  +
            mut self,
        5017  +
            input: ::std::option::Option<::std::string::String>,
        5018  +
        ) -> Self {
        5019  +
            self.length_string_query = input;
        5020  +
            self
        5021  +
        }
        5022  +
        #[allow(missing_docs)] // documentation missing in model
        5023  +
        pub fn range_byte_query(mut self, input: i8) -> Self {
        5024  +
            self.range_byte_query = Some(input);
        5025  +
            self
        5026  +
        }
        5027  +
        #[allow(missing_docs)] // documentation missing in model
        5028  +
        pub fn range_short_query(mut self, input: i16) -> Self {
        5029  +
            self.range_short_query = Some(input);
        5030  +
            self
        5031  +
        }
        5032  +
        #[allow(missing_docs)] // documentation missing in model
        5033  +
        pub fn range_integer_query(mut self, input: i32) -> Self {
        5034  +
            self.range_integer_query = Some(input);
        5035  +
            self
        5036  +
        }
        5037  +
        #[allow(missing_docs)] // documentation missing in model
        5038  +
        pub fn range_long_query(mut self, input: i64) -> Self {
        5039  +
            self.range_long_query = Some(input);
        5040  +
            self
        5041  +
        }
        5042  +
        #[allow(missing_docs)] // documentation missing in model
        5043  +
        pub fn enum_string_query(
        5044  +
            mut self,
        5045  +
            input: ::std::option::Option<crate::model::EnumString>,
        5046  +
        ) -> Self {
        5047  +
            self.enum_string_query = input;
        5048  +
            self
        5049  +
        }
        5050  +
        #[allow(missing_docs)] // documentation missing in model
        5051  +
        pub fn length_string_list_query(
        5052  +
            mut self,
        5053  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        5054  +
        ) -> Self {
        5055  +
            self.length_string_list_query = input;
        5056  +
            self
        5057  +
        }
        5058  +
        #[allow(missing_docs)] // documentation missing in model
        5059  +
        pub fn length_list_pattern_string_query(
        5060  +
            mut self,
        5061  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        5062  +
        ) -> Self {
        5063  +
            self.length_list_pattern_string_query = input;
        5064  +
            self
        5065  +
        }
        5066  +
        #[allow(missing_docs)] // documentation missing in model
        5067  +
        pub fn length_string_set_query(
        5068  +
            mut self,
        5069  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        5070  +
        ) -> Self {
        5071  +
            self.length_string_set_query = input;
        5072  +
            self
        5073  +
        }
        5074  +
        #[allow(missing_docs)] // documentation missing in model
        5075  +
        pub fn range_byte_list_query(
        5076  +
            mut self,
        5077  +
            input: ::std::option::Option<::std::vec::Vec<i8>>,
        5078  +
        ) -> Self {
        5079  +
            self.range_byte_list_query = input;
        5080  +
            self
        5081  +
        }
        5082  +
        #[allow(missing_docs)] // documentation missing in model
        5083  +
        pub fn range_short_list_query(
        5084  +
            mut self,
        5085  +
            input: ::std::option::Option<::std::vec::Vec<i16>>,
        5086  +
        ) -> Self {
        5087  +
            self.range_short_list_query = input;
        5088  +
            self
        5089  +
        }
        5090  +
        #[allow(missing_docs)] // documentation missing in model
        5091  +
        pub fn range_integer_list_query(
        5092  +
            mut self,
        5093  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        5094  +
        ) -> Self {
        5095  +
            self.range_integer_list_query = input;
        5096  +
            self
        5097  +
        }
        5098  +
        #[allow(missing_docs)] // documentation missing in model
        5099  +
        pub fn range_long_list_query(
        5100  +
            mut self,
        5101  +
            input: ::std::option::Option<::std::vec::Vec<i64>>,
        5102  +
        ) -> Self {
        5103  +
            self.range_long_list_query = input;
        5104  +
            self
        5105  +
        }
        5106  +
        #[allow(missing_docs)] // documentation missing in model
        5107  +
        pub fn range_byte_set_query(
        5108  +
            mut self,
        5109  +
            input: ::std::option::Option<::std::vec::Vec<i8>>,
        5110  +
        ) -> Self {
        5111  +
            self.range_byte_set_query = input;
        5112  +
            self
        5113  +
        }
        5114  +
        #[allow(missing_docs)] // documentation missing in model
        5115  +
        pub fn range_short_set_query(
        5116  +
            mut self,
        5117  +
            input: ::std::option::Option<::std::vec::Vec<i16>>,
        5118  +
        ) -> Self {
        5119  +
            self.range_short_set_query = input;
        5120  +
            self
        5121  +
        }
        5122  +
        #[allow(missing_docs)] // documentation missing in model
        5123  +
        pub fn range_integer_set_query(
        5124  +
            mut self,
        5125  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
        5126  +
        ) -> Self {
        5127  +
            self.range_integer_set_query = input;
        5128  +
            self
        5129  +
        }
        5130  +
        #[allow(missing_docs)] // documentation missing in model
        5131  +
        pub fn range_long_set_query(
        5132  +
            mut self,
        5133  +
            input: ::std::option::Option<::std::vec::Vec<i64>>,
        5134  +
        ) -> Self {
        5135  +
            self.range_long_set_query = input;
        5136  +
            self
        5137  +
        }
        5138  +
        #[allow(missing_docs)] // documentation missing in model
        5139  +
        pub fn enum_string_list_query(
        5140  +
            mut self,
        5141  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::EnumString>>,
        5142  +
        ) -> Self {
        5143  +
            self.enum_string_list_query = input;
        5144  +
            self
        5145  +
        }
        5146  +
        /// Consumes the builder and constructs a [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput).
        5147  +
        ///
        5148  +
        /// The builder fails to construct a [`ConstrainedHttpBoundShapesOperationInput`](crate::input::ConstrainedHttpBoundShapesOperationInput) if you do not provide a value for all non-`Option`al members.
        5149  +
        ///
        5150  +
        pub fn build(
        5151  +
            self,
        5152  +
        ) -> Result<crate::input::ConstrainedHttpBoundShapesOperationInput, ConstraintViolation>
        5153  +
        {
        5154  +
            self.build_enforcing_required_and_enum_traits()
        5155  +
        }
        5156  +
        fn build_enforcing_required_and_enum_traits(
        5157  +
            self,
        5158  +
        ) -> Result<crate::input::ConstrainedHttpBoundShapesOperationInput, ConstraintViolation>
        5159  +
        {
        5160  +
            Ok(crate::input::ConstrainedHttpBoundShapesOperationInput {
        5161  +
                length_string_label: self
        5162  +
                    .length_string_label
        5163  +
                    .ok_or(ConstraintViolation::MissingLengthStringLabel)?,
        5164  +
                range_integer_label: self.range_integer_label.unwrap_or(0i32),
        5165  +
                range_short_label: self.range_short_label.unwrap_or(0i16),
        5166  +
                range_long_label: self.range_long_label.unwrap_or(0i64),
        5167  +
                range_byte_label: self.range_byte_label.unwrap_or(0i8),
        5168  +
                enum_string_label: self
        5169  +
                    .enum_string_label
        5170  +
                    .ok_or(ConstraintViolation::MissingEnumStringLabel)?,
        5171  +
                length_string_header_map: self
        5172  +
                    .length_string_header_map
        5173  +
                    .ok_or(ConstraintViolation::MissingLengthStringHeaderMap)?,
        5174  +
                length_string_header: self.length_string_header,
        5175  +
                range_integer_header: self.range_integer_header.unwrap_or(0i32),
        5176  +
                range_short_header: self.range_short_header.unwrap_or(0i16),
        5177  +
                range_long_header: self.range_long_header.unwrap_or(0i64),
        5178  +
                range_byte_header: self.range_byte_header.unwrap_or(0i8),
        5179  +
                length_string_set_header: self.length_string_set_header,
        5180  +
                list_length_string_header: self.list_length_string_header,
        5181  +
                length_list_pattern_string_header: self.length_list_pattern_string_header,
        5182  +
                length_set_pattern_string_header: self.length_set_pattern_string_header,
        5183  +
                range_byte_set_header: self.range_byte_set_header,
        5184  +
                range_short_set_header: self.range_short_set_header,
        5185  +
                range_integer_set_header: self.range_integer_set_header,
        5186  +
                range_long_set_header: self.range_long_set_header,
        5187  +
                range_byte_list_header: self.range_byte_list_header,
        5188  +
                range_short_list_header: self.range_short_list_header,
        5189  +
                range_integer_list_header: self.range_integer_list_header,
        5190  +
                range_long_list_header: self.range_long_list_header,
        5191  +
                length_string_query: self.length_string_query,
        5192  +
                range_byte_query: self.range_byte_query.unwrap_or(0i8),
        5193  +
                range_short_query: self.range_short_query.unwrap_or(0i16),
        5194  +
                range_integer_query: self.range_integer_query.unwrap_or(0i32),
        5195  +
                range_long_query: self.range_long_query.unwrap_or(0i64),
        5196  +
                enum_string_query: self.enum_string_query,
        5197  +
                length_string_list_query: self.length_string_list_query,
        5198  +
                length_list_pattern_string_query: self.length_list_pattern_string_query,
        5199  +
                length_string_set_query: self.length_string_set_query,
        5200  +
                range_byte_list_query: self.range_byte_list_query,
        5201  +
                range_short_list_query: self.range_short_list_query,
        5202  +
                range_integer_list_query: self.range_integer_list_query,
        5203  +
                range_long_list_query: self.range_long_list_query,
        5204  +
                range_byte_set_query: self.range_byte_set_query,
        5205  +
                range_short_set_query: self.range_short_set_query,
        5206  +
                range_integer_set_query: self.range_integer_set_query,
        5207  +
                range_long_set_query: self.range_long_set_query,
        5208  +
                enum_string_list_query: self.enum_string_list_query,
        5209  +
            })
        5210  +
        }
        5211  +
    }
        5212  +
}
        5213  +
/// See [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
        5214  +
pub(crate) mod constrained_shapes_only_in_output_operation_input_internal {
        5215  +
        5216  +
    impl ::std::convert::From<Builder> for crate::input::ConstrainedShapesOnlyInOutputOperationInput {
        5217  +
        fn from(builder: Builder) -> Self {
        5218  +
            builder.build()
        5219  +
        }
        5220  +
    }
        5221  +
    /// A builder for [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
        5222  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5223  +
    pub(crate) struct Builder {}
        5224  +
    impl Builder {
        5225  +
        /// Consumes the builder and constructs a [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
        5226  +
        pub fn build(self) -> crate::input::ConstrainedShapesOnlyInOutputOperationInput {
        5227  +
            self.build_enforcing_all_constraints()
        5228  +
        }
        5229  +
        fn build_enforcing_all_constraints(
        5230  +
            self,
        5231  +
        ) -> crate::input::ConstrainedShapesOnlyInOutputOperationInput {
        5232  +
            crate::input::ConstrainedShapesOnlyInOutputOperationInput {}
        5233  +
        }
        5234  +
    }
        5235  +
}
        5236  +
/// See [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
        5237  +
pub mod constrained_shapes_only_in_output_operation_input {
        5238  +
        5239  +
    impl ::std::convert::From<Builder> for crate::input::ConstrainedShapesOnlyInOutputOperationInput {
        5240  +
        fn from(builder: Builder) -> Self {
        5241  +
            builder.build()
        5242  +
        }
        5243  +
    }
        5244  +
    /// A builder for [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
        5245  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5246  +
    pub struct Builder {}
        5247  +
    impl Builder {
        5248  +
        /// Consumes the builder and constructs a [`ConstrainedShapesOnlyInOutputOperationInput`](crate::input::ConstrainedShapesOnlyInOutputOperationInput).
        5249  +
        pub fn build(self) -> crate::input::ConstrainedShapesOnlyInOutputOperationInput {
        5250  +
            self.build_enforcing_required_and_enum_traits()
        5251  +
        }
        5252  +
        fn build_enforcing_required_and_enum_traits(
        5253  +
            self,
        5254  +
        ) -> crate::input::ConstrainedShapesOnlyInOutputOperationInput {
        5255  +
            crate::input::ConstrainedShapesOnlyInOutputOperationInput {}
        5256  +
        }
        5257  +
    }
        5258  +
}
        5259  +
/// See [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
        5260  +
pub(crate) mod constrained_shapes_operation_input_internal {
        5261  +
        5262  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        5263  +
    /// Holds one variant for each of the ways the builder can fail.
        5264  +
    #[non_exhaustive]
        5265  +
    #[allow(clippy::enum_variant_names)]
        5266  +
    pub(crate) enum ConstraintViolation {
        5267  +
        /// `con_a` was not provided but it is required when building `ConstrainedShapesOperationInput`.
        5268  +
        MissingConA,
        5269  +
        /// Constraint violation occurred building member `con_a` when building `ConstrainedShapesOperationInput`.
        5270  +
        #[doc(hidden)]
        5271  +
        ConA(crate::model::con_a_internal::ConstraintViolation),
        5272  +
    }
        5273  +
    impl ::std::fmt::Display for ConstraintViolation {
        5274  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        5275  +
            match self {
        5276  +
                ConstraintViolation::MissingConA => write!(f, "`con_a` was not provided but it is required when building `ConstrainedShapesOperationInput`"),
        5277  +
                ConstraintViolation::ConA(_) => write!(f, "constraint violation occurred building member `con_a` when building `ConstrainedShapesOperationInput`"),
        5278  +
            }
        5279  +
        }
        5280  +
    }
        5281  +
    impl ::std::error::Error for ConstraintViolation {}
        5282  +
    impl ConstraintViolation {
        5283  +
        pub(crate) fn as_validation_exception_field(
        5284  +
            self,
        5285  +
            path: ::std::string::String,
        5286  +
        ) -> crate::model::ValidationExceptionField {
        5287  +
            match self {
        5288  +
                ConstraintViolation::MissingConA => crate::model::ValidationExceptionField {
        5289  +
                    message: format!(
        5290  +
                        "Value at '{}/conA' failed to satisfy constraint: Member must not be null",
        5291  +
                        path
        5292  +
                    ),
        5293  +
                    path: path + "/conA",
        5294  +
                },
        5295  +
                ConstraintViolation::ConA(inner) => {
        5296  +
                    inner.as_validation_exception_field(path + "/conA")
        5297  +
                }
        5298  +
            }
        5299  +
        }
        5300  +
    }
        5301  +
    impl ::std::convert::From<ConstraintViolation>
        5302  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        5303  +
    {
        5304  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        5305  +
            let first_validation_exception_field =
        5306  +
                constraint_violation.as_validation_exception_field("".to_owned());
        5307  +
            let validation_exception = crate::error::ValidationException {
        5308  +
                message: format!(
        5309  +
                    "1 validation error detected. {}",
        5310  +
                    &first_validation_exception_field.message
        5311  +
                ),
        5312  +
                field_list: Some(vec![first_validation_exception_field]),
        5313  +
            };
        5314  +
            Self::ConstraintViolation(
        5315  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        5316  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        5317  +
                            )
        5318  +
        }
        5319  +
    }
        5320  +
    impl ::std::convert::From<Builder>
        5321  +
        for crate::constrained::MaybeConstrained<crate::input::ConstrainedShapesOperationInput>
        5322  +
    {
        5323  +
        fn from(builder: Builder) -> Self {
        5324  +
            Self::Unconstrained(builder)
        5325  +
        }
        5326  +
    }
        5327  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstrainedShapesOperationInput {
        5328  +
        type Error = ConstraintViolation;
        5329  +
        5330  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        5331  +
            builder.build()
        5332  +
        }
        5333  +
    }
        5334  +
    /// A builder for [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
        5335  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5336  +
    pub(crate) struct Builder {
        5337  +
        pub(crate) con_a:
        5338  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::ConA>>,
        5339  +
    }
        5340  +
    impl Builder {
        5341  +
        #[allow(missing_docs)] // documentation missing in model
        5342  +
        pub(crate) fn set_con_a(
        5343  +
            mut self,
        5344  +
            input: impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::ConA>>,
        5345  +
        ) -> Self {
        5346  +
            self.con_a = Some(input.into());
        5347  +
            self
        5348  +
        }
        5349  +
        /// Consumes the builder and constructs a [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
        5350  +
        ///
        5351  +
        /// The builder fails to construct a [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput) if a [`ConstraintViolation`] occurs.
        5352  +
        ///
        5353  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        5354  +
        pub fn build(
        5355  +
            self,
        5356  +
        ) -> Result<crate::input::ConstrainedShapesOperationInput, ConstraintViolation> {
        5357  +
            self.build_enforcing_all_constraints()
        5358  +
        }
        5359  +
        fn build_enforcing_all_constraints(
        5360  +
            self,
        5361  +
        ) -> Result<crate::input::ConstrainedShapesOperationInput, ConstraintViolation> {
        5362  +
            Ok(crate::input::ConstrainedShapesOperationInput {
        5363  +
                con_a: self
        5364  +
                    .con_a
        5365  +
                    .map(|v| match v {
        5366  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        5367  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        5368  +
                    })
        5369  +
                    .map(|res| res.map_err(ConstraintViolation::ConA))
        5370  +
                    .transpose()?
        5371  +
                    .ok_or(ConstraintViolation::MissingConA)?,
        5372  +
            })
        5373  +
        }
        5374  +
    }
        5375  +
}
        5376  +
/// See [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
        5377  +
pub mod constrained_shapes_operation_input {
        5378  +
        5379  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        5380  +
    /// Holds one variant for each of the ways the builder can fail.
        5381  +
    #[allow(clippy::enum_variant_names)]
        5382  +
    pub enum ConstraintViolation {
        5383  +
        /// `con_a` was not provided but it is required when building `ConstrainedShapesOperationInput`.
        5384  +
        MissingConA,
        5385  +
    }
        5386  +
    impl ::std::fmt::Display for ConstraintViolation {
        5387  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        5388  +
            match self {
        5389  +
                ConstraintViolation::MissingConA => write!(f, "`con_a` was not provided but it is required when building `ConstrainedShapesOperationInput`"),
        5390  +
            }
        5391  +
        }
        5392  +
    }
        5393  +
    impl ::std::error::Error for ConstraintViolation {}
        5394  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstrainedShapesOperationInput {
        5395  +
        type Error = ConstraintViolation;
        5396  +
        5397  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        5398  +
            builder.build()
        5399  +
        }
        5400  +
    }
        5401  +
    /// A builder for [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
        5402  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5403  +
    pub struct Builder {
        5404  +
        pub(crate) con_a: ::std::option::Option<crate::model::ConA>,
        5405  +
    }
        5406  +
    impl Builder {
        5407  +
        #[allow(missing_docs)] // documentation missing in model
        5408  +
        pub fn con_a(mut self, input: crate::model::ConA) -> Self {
        5409  +
            self.con_a = Some(input);
        5410  +
            self
        5411  +
        }
        5412  +
        /// Consumes the builder and constructs a [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput).
        5413  +
        ///
        5414  +
        /// The builder fails to construct a [`ConstrainedShapesOperationInput`](crate::input::ConstrainedShapesOperationInput) if you do not provide a value for all non-`Option`al members.
        5415  +
        ///
        5416  +
        pub fn build(
        5417  +
            self,
        5418  +
        ) -> Result<crate::input::ConstrainedShapesOperationInput, ConstraintViolation> {
        5419  +
            self.build_enforcing_required_and_enum_traits()
        5420  +
        }
        5421  +
        fn build_enforcing_required_and_enum_traits(
        5422  +
            self,
        5423  +
        ) -> Result<crate::input::ConstrainedShapesOperationInput, ConstraintViolation> {
        5424  +
            Ok(crate::input::ConstrainedShapesOperationInput {
        5425  +
                con_a: self.con_a.ok_or(ConstraintViolation::MissingConA)?,
        5426  +
            })
        5427  +
        }
        5428  +
    }
        5429  +
}