Server Test Python

Server Test Python

rev. d838bf488731ae5e751cce0fe13f339a5b9be858 (ignoring whitespace)

Files changed:

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

@@ -1,1 +477,955 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pyclass]
    3         -
/// :param value typing.Optional\[int\]:
    4      3   
/// :rtype None:
    5      4   
#[allow(missing_docs)] // documentation missing in model
    6      5   
#[derive(
    7      6   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    8      7   
)]
    9         -
pub struct ContentTypeParametersInput {
   10         -
    #[pyo3(get, set)]
   11         -
    /// :type typing.Optional\[int\]:
   12         -
    #[allow(missing_docs)] // documentation missing in model
   13         -
    pub value: ::std::option::Option<i32>,
   14         -
}
   15         -
impl ContentTypeParametersInput {
   16         -
    #[allow(missing_docs)] // documentation missing in model
   17         -
    pub fn value(&self) -> ::std::option::Option<i32> {
   18         -
        self.value
   19         -
    }
   20         -
}
           8  +
pub struct EmptyOperationInput {}
   21      9   
#[allow(clippy::new_without_default)]
   22     10   
#[allow(clippy::too_many_arguments)]
   23     11   
#[::pyo3::pymethods]
   24         -
impl ContentTypeParametersInput {
          12  +
impl EmptyOperationInput {
   25     13   
    #[new]
   26         -
    pub fn new(value: ::std::option::Option<i32>) -> Self {
   27         -
        Self { value }
          14  +
    pub fn new() -> Self {
          15  +
        Self {}
   28     16   
    }
   29     17   
    fn __repr__(&self) -> String {
   30     18   
        format!("{self:?}")
   31     19   
    }
   32     20   
    fn __str__(&self) -> String {
   33     21   
        format!("{self:?}")
   34     22   
    }
   35     23   
}
   36         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ContentTypeParametersInput> {
          24  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyOperationInput> {
   37     25   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   38         -
        ob.extract::<ContentTypeParametersInput>().map(Box::new)
          26  +
        ob.extract::<EmptyOperationInput>().map(Box::new)
   39     27   
    }
   40     28   
}
   41     29   
   42         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ContentTypeParametersInput> {
          30  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyOperationInput> {
   43     31   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   44     32   
        (*self).into_py(py)
   45     33   
    }
   46     34   
}
   47         -
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
   48         -
    type Unconstrained = crate::input::content_type_parameters_input_internal::Builder;
          35  +
impl crate::constrained::Constrained for crate::input::EmptyOperationInput {
          36  +
    type Unconstrained = crate::input::empty_operation_input_internal::Builder;
   49     37   
}
   50         -
impl ContentTypeParametersInput {
   51         -
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
   52         -
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
   53         -
        crate::input::content_type_parameters_input::Builder::default()
          38  +
impl EmptyOperationInput {
          39  +
    /// Creates a new builder-style object to manufacture [`EmptyOperationInput`](crate::input::EmptyOperationInput).
          40  +
    pub fn builder() -> crate::input::empty_operation_input::Builder {
          41  +
        crate::input::empty_operation_input::Builder::default()
   54     42   
    }
   55     43   
}
   56     44   
   57     45   
#[::pyo3::pyclass]
   58         -
/// :param encoding typing.Optional\[str\]:
   59         -
/// :param data typing.Optional\[str\]:
          46  +
/// :param blob typing.Optional\[json_rpc11.types.Blob\]:
          47  +
/// :param boolean typing.Optional\[bool\]:
          48  +
/// :param double typing.Optional\[float\]:
          49  +
/// :param empty_struct typing.Optional\[json_rpc11.model.EmptyStruct\]:
          50  +
/// :param float typing.Optional\[float\]:
          51  +
/// :param httpdate_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
          52  +
/// :param integer typing.Optional\[int\]:
          53  +
/// :param iso8601_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
          54  +
/// :param json_value typing.Optional\[str\]:
          55  +
/// :param list_of_lists typing.Optional\[typing.List\[typing.List\[str\]\]\]:
          56  +
/// :param list_of_maps_of_strings typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
          57  +
/// :param list_of_strings typing.Optional\[typing.List\[str\]\]:
          58  +
/// :param list_of_structs typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
          59  +
/// :param long typing.Optional\[int\]:
          60  +
/// :param map_of_lists_of_strings typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
          61  +
/// :param map_of_maps typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
          62  +
/// :param map_of_strings typing.Optional\[typing.Dict\[str, str\]\]:
          63  +
/// :param map_of_structs typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
          64  +
/// :param recursive_list typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
          65  +
/// :param recursive_map typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
          66  +
/// :param recursive_struct typing.Optional\[json_rpc11.model.KitchenSink\]:
          67  +
/// :param simple_struct typing.Optional\[json_rpc11.model.SimpleStruct\]:
          68  +
/// :param string typing.Optional\[str\]:
          69  +
/// :param struct_with_json_name typing.Optional\[json_rpc11.model.StructWithJsonName\]:
          70  +
/// :param timestamp typing.Optional\[json_rpc11.types.DateTime\]:
          71  +
/// :param unix_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
   60     72   
/// :rtype None:
   61     73   
#[allow(missing_docs)] // documentation missing in model
   62         -
#[derive(
   63         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
   64         -
)]
   65         -
pub struct PutWithContentEncodingInput {
          74  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          75  +
pub struct KitchenSinkOperationInput {
          76  +
    #[pyo3(get, set)]
          77  +
    /// :type typing.Optional\[json_rpc11.types.Blob\]:
          78  +
    #[allow(missing_docs)] // documentation missing in model
          79  +
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
          80  +
    #[pyo3(get, set)]
          81  +
    /// :type typing.Optional\[bool\]:
          82  +
    #[allow(missing_docs)] // documentation missing in model
          83  +
    pub boolean: ::std::option::Option<bool>,
          84  +
    #[pyo3(get, set)]
          85  +
    /// :type typing.Optional\[float\]:
          86  +
    #[allow(missing_docs)] // documentation missing in model
          87  +
    pub double: ::std::option::Option<f64>,
          88  +
    #[pyo3(get, set)]
          89  +
    /// :type typing.Optional\[json_rpc11.model.EmptyStruct\]:
          90  +
    #[allow(missing_docs)] // documentation missing in model
          91  +
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
          92  +
    #[pyo3(get, set)]
          93  +
    /// :type typing.Optional\[float\]:
          94  +
    #[allow(missing_docs)] // documentation missing in model
          95  +
    pub float: ::std::option::Option<f32>,
          96  +
    #[pyo3(get, set)]
          97  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
          98  +
    #[allow(missing_docs)] // documentation missing in model
          99  +
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         100  +
    #[pyo3(get, set)]
         101  +
    /// :type typing.Optional\[int\]:
         102  +
    #[allow(missing_docs)] // documentation missing in model
         103  +
    pub integer: ::std::option::Option<i32>,
         104  +
    #[pyo3(get, set)]
         105  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         106  +
    #[allow(missing_docs)] // documentation missing in model
         107  +
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
   66    108   
    #[pyo3(get, set)]
   67    109   
    /// :type typing.Optional\[str\]:
   68    110   
    #[allow(missing_docs)] // documentation missing in model
   69         -
    pub encoding: ::std::option::Option<::std::string::String>,
         111  +
    pub json_value: ::std::option::Option<::std::string::String>,
         112  +
    #[pyo3(get, set)]
         113  +
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
         114  +
    #[allow(missing_docs)] // documentation missing in model
         115  +
    pub list_of_lists:
         116  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
         117  +
    #[pyo3(get, set)]
         118  +
    /// :type typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
         119  +
    #[allow(missing_docs)] // documentation missing in model
         120  +
    pub list_of_maps_of_strings: ::std::option::Option<
         121  +
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         122  +
    >,
         123  +
    #[pyo3(get, set)]
         124  +
    /// :type typing.Optional\[typing.List\[str\]\]:
         125  +
    #[allow(missing_docs)] // documentation missing in model
         126  +
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         127  +
    #[pyo3(get, set)]
         128  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
         129  +
    #[allow(missing_docs)] // documentation missing in model
         130  +
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         131  +
    #[pyo3(get, set)]
         132  +
    /// :type typing.Optional\[int\]:
         133  +
    #[allow(missing_docs)] // documentation missing in model
         134  +
    pub long: ::std::option::Option<i64>,
         135  +
    #[pyo3(get, set)]
         136  +
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
         137  +
    #[allow(missing_docs)] // documentation missing in model
         138  +
    pub map_of_lists_of_strings: ::std::option::Option<
         139  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         140  +
    >,
         141  +
    #[pyo3(get, set)]
         142  +
    /// :type typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
         143  +
    #[allow(missing_docs)] // documentation missing in model
         144  +
    pub map_of_maps: ::std::option::Option<
         145  +
        ::std::collections::HashMap<
         146  +
            ::std::string::String,
         147  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         148  +
        >,
         149  +
    >,
         150  +
    #[pyo3(get, set)]
         151  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
         152  +
    #[allow(missing_docs)] // documentation missing in model
         153  +
    pub map_of_strings: ::std::option::Option<
         154  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         155  +
    >,
         156  +
    #[pyo3(get, set)]
         157  +
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
         158  +
    #[allow(missing_docs)] // documentation missing in model
         159  +
    pub map_of_structs: ::std::option::Option<
         160  +
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         161  +
    >,
         162  +
    #[pyo3(get, set)]
         163  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
         164  +
    #[allow(missing_docs)] // documentation missing in model
         165  +
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         166  +
    #[pyo3(get, set)]
         167  +
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
         168  +
    #[allow(missing_docs)] // documentation missing in model
         169  +
    pub recursive_map: ::std::option::Option<
         170  +
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         171  +
    >,
         172  +
    #[pyo3(get, set)]
         173  +
    /// :type typing.Optional\[json_rpc11.model.KitchenSink\]:
         174  +
    #[allow(missing_docs)] // documentation missing in model
         175  +
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         176  +
    #[pyo3(get, set)]
         177  +
    /// :type typing.Optional\[json_rpc11.model.SimpleStruct\]:
         178  +
    #[allow(missing_docs)] // documentation missing in model
         179  +
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
   70    180   
    #[pyo3(get, set)]
   71    181   
    /// :type typing.Optional\[str\]:
   72    182   
    #[allow(missing_docs)] // documentation missing in model
   73         -
    pub data: ::std::option::Option<::std::string::String>,
         183  +
    pub string: ::std::option::Option<::std::string::String>,
         184  +
    #[pyo3(get, set)]
         185  +
    /// :type typing.Optional\[json_rpc11.model.StructWithJsonName\]:
         186  +
    #[allow(missing_docs)] // documentation missing in model
         187  +
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         188  +
    #[pyo3(get, set)]
         189  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         190  +
    #[allow(missing_docs)] // documentation missing in model
         191  +
    pub timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         192  +
    #[pyo3(get, set)]
         193  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         194  +
    #[allow(missing_docs)] // documentation missing in model
         195  +
    pub unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
   74    196   
}
   75         -
impl PutWithContentEncodingInput {
         197  +
impl KitchenSinkOperationInput {
   76    198   
    #[allow(missing_docs)] // documentation missing in model
   77         -
    pub fn encoding(&self) -> ::std::option::Option<&str> {
   78         -
        self.encoding.as_deref()
         199  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
         200  +
        self.blob.as_ref()
   79    201   
    }
   80    202   
    #[allow(missing_docs)] // documentation missing in model
   81         -
    pub fn data(&self) -> ::std::option::Option<&str> {
   82         -
        self.data.as_deref()
         203  +
    pub fn boolean(&self) -> ::std::option::Option<bool> {
         204  +
        self.boolean
   83    205   
    }
   84         -
}
   85         -
#[allow(clippy::new_without_default)]
   86         -
#[allow(clippy::too_many_arguments)]
   87         -
#[::pyo3::pymethods]
   88         -
impl PutWithContentEncodingInput {
   89         -
    #[new]
   90         -
    pub fn new(
   91         -
        encoding: ::std::option::Option<::std::string::String>,
   92         -
        data: ::std::option::Option<::std::string::String>,
   93         -
    ) -> Self {
   94         -
        Self { encoding, data }
         206  +
    #[allow(missing_docs)] // documentation missing in model
         207  +
    pub fn double(&self) -> ::std::option::Option<f64> {
         208  +
        self.double
   95    209   
    }
   96         -
    fn __repr__(&self) -> String {
   97         -
        format!("{self:?}")
         210  +
    #[allow(missing_docs)] // documentation missing in model
         211  +
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
         212  +
        self.empty_struct.as_ref()
   98    213   
    }
   99         -
    fn __str__(&self) -> String {
  100         -
        format!("{self:?}")
         214  +
    #[allow(missing_docs)] // documentation missing in model
         215  +
    pub fn float(&self) -> ::std::option::Option<f32> {
         216  +
        self.float
  101    217   
    }
  102         -
}
  103         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutWithContentEncodingInput> {
  104         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  105         -
        ob.extract::<PutWithContentEncodingInput>().map(Box::new)
         218  +
    #[allow(missing_docs)] // documentation missing in model
         219  +
    pub fn httpdate_timestamp(
         220  +
        &self,
         221  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         222  +
        self.httpdate_timestamp.as_ref()
  106    223   
    }
  107         -
}
  108         -
  109         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutWithContentEncodingInput> {
  110         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  111         -
        (*self).into_py(py)
         224  +
    #[allow(missing_docs)] // documentation missing in model
         225  +
    pub fn integer(&self) -> ::std::option::Option<i32> {
         226  +
        self.integer
  112    227   
    }
  113         -
}
  114         -
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
  115         -
    type Unconstrained = crate::input::put_with_content_encoding_input_internal::Builder;
  116         -
}
  117         -
impl PutWithContentEncodingInput {
  118         -
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
  119         -
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
  120         -
        crate::input::put_with_content_encoding_input::Builder::default()
         228  +
    #[allow(missing_docs)] // documentation missing in model
         229  +
    pub fn iso8601_timestamp(
         230  +
        &self,
         231  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         232  +
        self.iso8601_timestamp.as_ref()
  121    233   
    }
  122         -
}
  123         -
  124         -
#[::pyo3::pyclass]
  125         -
/// :rtype None:
  126         -
#[allow(missing_docs)] // documentation missing in model
  127         -
#[derive(
  128         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  129         -
)]
  130         -
pub struct FractionalSecondsInput {}
         234  +
    #[allow(missing_docs)] // documentation missing in model
         235  +
    pub fn json_value(&self) -> ::std::option::Option<&str> {
         236  +
        self.json_value.as_deref()
         237  +
    }
         238  +
    #[allow(missing_docs)] // documentation missing in model
         239  +
    pub fn list_of_lists(
         240  +
        &self,
         241  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
         242  +
        self.list_of_lists.as_deref()
         243  +
    }
         244  +
    #[allow(missing_docs)] // documentation missing in model
         245  +
    pub fn list_of_maps_of_strings(
         246  +
        &self,
         247  +
    ) -> ::std::option::Option<
         248  +
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
         249  +
    > {
         250  +
        self.list_of_maps_of_strings.as_deref()
         251  +
    }
         252  +
    #[allow(missing_docs)] // documentation missing in model
         253  +
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
         254  +
        self.list_of_strings.as_deref()
         255  +
    }
         256  +
    #[allow(missing_docs)] // documentation missing in model
         257  +
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
         258  +
        self.list_of_structs.as_deref()
         259  +
    }
         260  +
    #[allow(missing_docs)] // documentation missing in model
         261  +
    pub fn long(&self) -> ::std::option::Option<i64> {
         262  +
        self.long
         263  +
    }
         264  +
    #[allow(missing_docs)] // documentation missing in model
         265  +
    pub fn map_of_lists_of_strings(
         266  +
        &self,
         267  +
    ) -> ::std::option::Option<
         268  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         269  +
    > {
         270  +
        self.map_of_lists_of_strings.as_ref()
         271  +
    }
         272  +
    #[allow(missing_docs)] // documentation missing in model
         273  +
    pub fn map_of_maps(
         274  +
        &self,
         275  +
    ) -> ::std::option::Option<
         276  +
        &::std::collections::HashMap<
         277  +
            ::std::string::String,
         278  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         279  +
        >,
         280  +
    > {
         281  +
        self.map_of_maps.as_ref()
         282  +
    }
         283  +
    #[allow(missing_docs)] // documentation missing in model
         284  +
    pub fn map_of_strings(
         285  +
        &self,
         286  +
    ) -> ::std::option::Option<
         287  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         288  +
    > {
         289  +
        self.map_of_strings.as_ref()
         290  +
    }
         291  +
    #[allow(missing_docs)] // documentation missing in model
         292  +
    pub fn map_of_structs(
         293  +
        &self,
         294  +
    ) -> ::std::option::Option<
         295  +
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         296  +
    > {
         297  +
        self.map_of_structs.as_ref()
         298  +
    }
         299  +
    #[allow(missing_docs)] // documentation missing in model
         300  +
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
         301  +
        self.recursive_list.as_deref()
         302  +
    }
         303  +
    #[allow(missing_docs)] // documentation missing in model
         304  +
    pub fn recursive_map(
         305  +
        &self,
         306  +
    ) -> ::std::option::Option<
         307  +
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         308  +
    > {
         309  +
        self.recursive_map.as_ref()
         310  +
    }
         311  +
    #[allow(missing_docs)] // documentation missing in model
         312  +
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
         313  +
        self.recursive_struct.as_deref()
         314  +
    }
         315  +
    #[allow(missing_docs)] // documentation missing in model
         316  +
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
         317  +
        self.simple_struct.as_ref()
         318  +
    }
         319  +
    #[allow(missing_docs)] // documentation missing in model
         320  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         321  +
        self.string.as_deref()
         322  +
    }
         323  +
    #[allow(missing_docs)] // documentation missing in model
         324  +
    pub fn struct_with_json_name(
         325  +
        &self,
         326  +
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
         327  +
        self.struct_with_json_name.as_ref()
         328  +
    }
         329  +
    #[allow(missing_docs)] // documentation missing in model
         330  +
    pub fn timestamp(
         331  +
        &self,
         332  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         333  +
        self.timestamp.as_ref()
         334  +
    }
         335  +
    #[allow(missing_docs)] // documentation missing in model
         336  +
    pub fn unix_timestamp(
         337  +
        &self,
         338  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         339  +
        self.unix_timestamp.as_ref()
         340  +
    }
         341  +
}
  131    342   
#[allow(clippy::new_without_default)]
  132    343   
#[allow(clippy::too_many_arguments)]
  133    344   
#[::pyo3::pymethods]
  134         -
impl FractionalSecondsInput {
         345  +
impl KitchenSinkOperationInput {
  135    346   
    #[new]
  136         -
    pub fn new() -> Self {
  137         -
        Self {}
         347  +
    pub fn new(
         348  +
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
         349  +
        boolean: ::std::option::Option<bool>,
         350  +
        double: ::std::option::Option<f64>,
         351  +
        empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
         352  +
        float: ::std::option::Option<f32>,
         353  +
        httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         354  +
        integer: ::std::option::Option<i32>,
         355  +
        iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         356  +
        json_value: ::std::option::Option<::std::string::String>,
         357  +
        list_of_lists: ::std::option::Option<
         358  +
            ::std::vec::Vec<::std::vec::Vec<::std::string::String>>,
         359  +
        >,
         360  +
        list_of_maps_of_strings: ::std::option::Option<
         361  +
            ::std::vec::Vec<
         362  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         363  +
            >,
         364  +
        >,
         365  +
        list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         366  +
        list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         367  +
        long: ::std::option::Option<i64>,
         368  +
        map_of_lists_of_strings: ::std::option::Option<
         369  +
            ::std::collections::HashMap<
         370  +
                ::std::string::String,
         371  +
                ::std::vec::Vec<::std::string::String>,
         372  +
            >,
         373  +
        >,
         374  +
        map_of_maps: ::std::option::Option<
         375  +
            ::std::collections::HashMap<
         376  +
                ::std::string::String,
         377  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         378  +
            >,
         379  +
        >,
         380  +
        map_of_strings: ::std::option::Option<
         381  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         382  +
        >,
         383  +
        map_of_structs: ::std::option::Option<
         384  +
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         385  +
        >,
         386  +
        recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         387  +
        recursive_map: ::std::option::Option<
         388  +
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         389  +
        >,
         390  +
        recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         391  +
        simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
         392  +
        string: ::std::option::Option<::std::string::String>,
         393  +
        struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         394  +
        timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         395  +
        unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         396  +
    ) -> Self {
         397  +
        Self {
         398  +
            blob,
         399  +
            boolean,
         400  +
            double,
         401  +
            empty_struct,
         402  +
            float,
         403  +
            httpdate_timestamp,
         404  +
            integer,
         405  +
            iso8601_timestamp,
         406  +
            json_value,
         407  +
            list_of_lists,
         408  +
            list_of_maps_of_strings,
         409  +
            list_of_strings,
         410  +
            list_of_structs,
         411  +
            long,
         412  +
            map_of_lists_of_strings,
         413  +
            map_of_maps,
         414  +
            map_of_strings,
         415  +
            map_of_structs,
         416  +
            recursive_list,
         417  +
            recursive_map,
         418  +
            recursive_struct,
         419  +
            simple_struct,
         420  +
            string,
         421  +
            struct_with_json_name,
         422  +
            timestamp,
         423  +
            unix_timestamp,
         424  +
        }
  138    425   
    }
  139    426   
    fn __repr__(&self) -> String {
  140    427   
        format!("{self:?}")
  141    428   
    }
  142    429   
    fn __str__(&self) -> String {
  143    430   
        format!("{self:?}")
  144    431   
    }
  145    432   
}
  146         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<FractionalSecondsInput> {
         433  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<KitchenSinkOperationInput> {
  147    434   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  148         -
        ob.extract::<FractionalSecondsInput>().map(Box::new)
         435  +
        ob.extract::<KitchenSinkOperationInput>().map(Box::new)
  149    436   
    }
  150    437   
}
  151    438   
  152         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<FractionalSecondsInput> {
         439  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<KitchenSinkOperationInput> {
  153    440   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  154    441   
        (*self).into_py(py)
  155    442   
    }
  156    443   
}
  157         -
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
  158         -
    type Unconstrained = crate::input::fractional_seconds_input_internal::Builder;
         444  +
impl crate::constrained::Constrained for crate::input::KitchenSinkOperationInput {
         445  +
    type Unconstrained = crate::input::kitchen_sink_operation_input_internal::Builder;
  159    446   
}
  160         -
impl FractionalSecondsInput {
  161         -
    /// Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
  162         -
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
  163         -
        crate::input::fractional_seconds_input::Builder::default()
         447  +
impl KitchenSinkOperationInput {
         448  +
    /// Creates a new builder-style object to manufacture [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
         449  +
    pub fn builder() -> crate::input::kitchen_sink_operation_input::Builder {
         450  +
        crate::input::kitchen_sink_operation_input::Builder::default()
  164    451   
    }
  165    452   
}
  166    453   
  167    454   
#[::pyo3::pyclass]
         455  +
/// :param float_value typing.Optional\[float\]:
         456  +
/// :param double_value typing.Optional\[float\]:
  168    457   
/// :rtype None:
  169    458   
#[allow(missing_docs)] // documentation missing in model
  170         -
#[derive(
  171         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  172         -
)]
  173         -
pub struct DatetimeOffsetsInput {}
         459  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         460  +
pub struct SimpleScalarPropertiesInput {
         461  +
    #[pyo3(get, set)]
         462  +
    /// :type typing.Optional\[float\]:
         463  +
    #[allow(missing_docs)] // documentation missing in model
         464  +
    pub float_value: ::std::option::Option<f32>,
         465  +
    #[pyo3(get, set)]
         466  +
    /// :type typing.Optional\[float\]:
         467  +
    #[allow(missing_docs)] // documentation missing in model
         468  +
    pub double_value: ::std::option::Option<f64>,
         469  +
}
         470  +
impl SimpleScalarPropertiesInput {
         471  +
    #[allow(missing_docs)] // documentation missing in model
         472  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
         473  +
        self.float_value
         474  +
    }
         475  +
    #[allow(missing_docs)] // documentation missing in model
         476  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
         477  +
        self.double_value
         478  +
    }
         479  +
}
  174    480   
#[allow(clippy::new_without_default)]
  175    481   
#[allow(clippy::too_many_arguments)]
  176    482   
#[::pyo3::pymethods]
  177         -
impl DatetimeOffsetsInput {
         483  +
impl SimpleScalarPropertiesInput {
  178    484   
    #[new]
  179         -
    pub fn new() -> Self {
  180         -
        Self {}
         485  +
    pub fn new(
         486  +
        float_value: ::std::option::Option<f32>,
         487  +
        double_value: ::std::option::Option<f64>,
         488  +
    ) -> Self {
         489  +
        Self {
         490  +
            float_value,
         491  +
            double_value,
         492  +
        }
  181    493   
    }
  182    494   
    fn __repr__(&self) -> String {
  183    495   
        format!("{self:?}")
  184    496   
    }
  185    497   
    fn __str__(&self) -> String {
  186    498   
        format!("{self:?}")
  187    499   
    }
  188    500   
}
  189         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DatetimeOffsetsInput> {
         501  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleScalarPropertiesInput> {
  190    502   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  191         -
        ob.extract::<DatetimeOffsetsInput>().map(Box::new)
         503  +
        ob.extract::<SimpleScalarPropertiesInput>().map(Box::new)
  192    504   
    }
  193    505   
}
  194    506   
  195         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DatetimeOffsetsInput> {
  196         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  197         -
        (*self).into_py(py)
  198         -
    }
  199         -
}
  200         -
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
  201         -
    type Unconstrained = crate::input::datetime_offsets_input_internal::Builder;
  202         -
}
  203         -
impl DatetimeOffsetsInput {
  204         -
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
  205         -
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
  206         -
        crate::input::datetime_offsets_input::Builder::default()
  207         -
    }
  208         -
}
  209         -
  210         -
#[::pyo3::pyclass]
  211         -
/// :rtype None:
  212         -
#[allow(missing_docs)] // documentation missing in model
  213         -
#[derive(
  214         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  215         -
)]
  216         -
pub struct HostWithPathOperationInput {}
  217         -
#[allow(clippy::new_without_default)]
  218         -
#[allow(clippy::too_many_arguments)]
  219         -
#[::pyo3::pymethods]
  220         -
impl HostWithPathOperationInput {
  221         -
    #[new]
  222         -
    pub fn new() -> Self {
  223         -
        Self {}
  224         -
    }
  225         -
    fn __repr__(&self) -> String {
  226         -
        format!("{self:?}")
  227         -
    }
  228         -
    fn __str__(&self) -> String {
  229         -
        format!("{self:?}")
  230         -
    }
  231         -
}
  232         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HostWithPathOperationInput> {
  233         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  234         -
        ob.extract::<HostWithPathOperationInput>().map(Box::new)
  235         -
    }
  236         -
}
  237         -
  238         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HostWithPathOperationInput> {
         507  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleScalarPropertiesInput> {
  239    508   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  240    509   
        (*self).into_py(py)
  241    510   
    }
  242    511   
}
  243         -
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
  244         -
    type Unconstrained = crate::input::host_with_path_operation_input_internal::Builder;
         512  +
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
         513  +
    type Unconstrained = crate::input::simple_scalar_properties_input_internal::Builder;
  245    514   
}
  246         -
impl HostWithPathOperationInput {
  247         -
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
  248         -
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
  249         -
        crate::input::host_with_path_operation_input::Builder::default()
         515  +
impl SimpleScalarPropertiesInput {
         516  +
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
         517  +
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
         518  +
        crate::input::simple_scalar_properties_input::Builder::default()
  250    519   
    }
  251    520   
}
  252    521   
  253    522   
#[::pyo3::pyclass]
  254         -
/// :param label str:
         523  +
/// :param value typing.Optional\[str\]:
  255    524   
/// :rtype None:
  256    525   
#[allow(missing_docs)] // documentation missing in model
  257    526   
#[derive(
  258    527   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  259    528   
)]
  260         -
pub struct EndpointWithHostLabelOperationInput {
         529  +
pub struct OperationWithOptionalInputOutputInput {
  261    530   
    #[pyo3(get, set)]
  262         -
    /// :type str:
         531  +
    /// :type typing.Optional\[str\]:
  263    532   
    #[allow(missing_docs)] // documentation missing in model
  264         -
    pub label: ::std::string::String,
         533  +
    pub value: ::std::option::Option<::std::string::String>,
  265    534   
}
  266         -
impl EndpointWithHostLabelOperationInput {
         535  +
impl OperationWithOptionalInputOutputInput {
  267    536   
    #[allow(missing_docs)] // documentation missing in model
  268         -
    pub fn label(&self) -> &str {
  269         -
        use std::ops::Deref;
  270         -
        self.label.deref()
         537  +
    pub fn value(&self) -> ::std::option::Option<&str> {
         538  +
        self.value.as_deref()
  271    539   
    }
  272    540   
}
  273    541   
#[allow(clippy::new_without_default)]
  274    542   
#[allow(clippy::too_many_arguments)]
  275    543   
#[::pyo3::pymethods]
  276         -
impl EndpointWithHostLabelOperationInput {
         544  +
impl OperationWithOptionalInputOutputInput {
  277    545   
    #[new]
  278         -
    pub fn new(label: ::std::string::String) -> Self {
  279         -
        Self { label }
         546  +
    pub fn new(value: ::std::option::Option<::std::string::String>) -> Self {
         547  +
        Self { value }
  280    548   
    }
  281    549   
    fn __repr__(&self) -> String {
  282    550   
        format!("{self:?}")
  283    551   
    }
  284    552   
    fn __str__(&self) -> String {
  285    553   
        format!("{self:?}")
  286    554   
    }
  287    555   
}
  288    556   
impl<'source> ::pyo3::FromPyObject<'source>
  289         -
    for std::boxed::Box<EndpointWithHostLabelOperationInput>
         557  +
    for std::boxed::Box<OperationWithOptionalInputOutputInput>
  290    558   
{
  291    559   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  292         -
        ob.extract::<EndpointWithHostLabelOperationInput>()
         560  +
        ob.extract::<OperationWithOptionalInputOutputInput>()
  293    561   
            .map(Box::new)
  294    562   
    }
  295    563   
}
  296    564   
  297         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointWithHostLabelOperationInput> {
         565  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithOptionalInputOutputInput> {
  298    566   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  299    567   
        (*self).into_py(py)
  300    568   
    }
  301    569   
}
  302         -
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
  303         -
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input_internal::Builder;
         570  +
impl crate::constrained::Constrained for crate::input::OperationWithOptionalInputOutputInput {
         571  +
    type Unconstrained = crate::input::operation_with_optional_input_output_input_internal::Builder;
  304    572   
}
  305         -
impl EndpointWithHostLabelOperationInput {
  306         -
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
  307         -
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
  308         -
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
         573  +
impl OperationWithOptionalInputOutputInput {
         574  +
    /// Creates a new builder-style object to manufacture [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
         575  +
    pub fn builder() -> crate::input::operation_with_optional_input_output_input::Builder {
         576  +
        crate::input::operation_with_optional_input_output_input::Builder::default()
  309    577   
    }
  310    578   
}
  311    579   
  312    580   
#[::pyo3::pyclass]
         581  +
/// :param inline_document typing.Optional\[json_rpc11.types.Document\]:
  313    582   
/// :rtype None:
  314    583   
#[allow(missing_docs)] // documentation missing in model
  315         -
#[derive(
  316         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  317         -
)]
  318         -
pub struct EndpointOperationInput {}
         584  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         585  +
pub struct PutAndGetInlineDocumentsInput {
         586  +
    #[pyo3(get, set)]
         587  +
    /// :type typing.Optional\[json_rpc11.types.Document\]:
         588  +
    #[allow(missing_docs)] // documentation missing in model
         589  +
    pub inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
         590  +
}
         591  +
impl PutAndGetInlineDocumentsInput {
         592  +
    #[allow(missing_docs)] // documentation missing in model
         593  +
    pub fn inline_document(
         594  +
        &self,
         595  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
         596  +
        self.inline_document.as_ref()
         597  +
    }
         598  +
}
  319    599   
#[allow(clippy::new_without_default)]
  320    600   
#[allow(clippy::too_many_arguments)]
  321    601   
#[::pyo3::pymethods]
  322         -
impl EndpointOperationInput {
         602  +
impl PutAndGetInlineDocumentsInput {
  323    603   
    #[new]
  324         -
    pub fn new() -> Self {
  325         -
        Self {}
         604  +
    pub fn new(
         605  +
        inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
         606  +
    ) -> Self {
         607  +
        Self { inline_document }
  326    608   
    }
  327    609   
    fn __repr__(&self) -> String {
  328    610   
        format!("{self:?}")
  329    611   
    }
  330    612   
    fn __str__(&self) -> String {
  331    613   
        format!("{self:?}")
  332    614   
    }
  333    615   
}
  334         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EndpointOperationInput> {
         616  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutAndGetInlineDocumentsInput> {
  335    617   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  336         -
        ob.extract::<EndpointOperationInput>().map(Box::new)
         618  +
        ob.extract::<PutAndGetInlineDocumentsInput>().map(Box::new)
  337    619   
    }
  338    620   
}
  339    621   
  340         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointOperationInput> {
         622  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutAndGetInlineDocumentsInput> {
  341    623   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  342    624   
        (*self).into_py(py)
  343    625   
    }
  344    626   
}
  345         -
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
  346         -
    type Unconstrained = crate::input::endpoint_operation_input_internal::Builder;
         627  +
impl crate::constrained::Constrained for crate::input::PutAndGetInlineDocumentsInput {
         628  +
    type Unconstrained = crate::input::put_and_get_inline_documents_input_internal::Builder;
  347    629   
}
  348         -
impl EndpointOperationInput {
  349         -
    /// Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
  350         -
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
  351         -
        crate::input::endpoint_operation_input::Builder::default()
         630  +
impl PutAndGetInlineDocumentsInput {
         631  +
    /// Creates a new builder-style object to manufacture [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
         632  +
    pub fn builder() -> crate::input::put_and_get_inline_documents_input::Builder {
         633  +
        crate::input::put_and_get_inline_documents_input::Builder::default()
  352    634   
    }
  353    635   
}
  354    636   
  355    637   
#[::pyo3::pyclass]
  356         -
/// :param contents typing.Optional\[json_rpc11.model.MyUnion\]:
         638  +
/// :param foo_enum1 typing.Optional\[json_rpc11.model.FooEnum\]:
         639  +
/// :param foo_enum2 typing.Optional\[json_rpc11.model.FooEnum\]:
         640  +
/// :param foo_enum3 typing.Optional\[json_rpc11.model.FooEnum\]:
         641  +
/// :param foo_enum_list typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         642  +
/// :param foo_enum_set typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         643  +
/// :param foo_enum_map typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
  357    644   
/// :rtype None:
  358         -
/// A shared structure that contains a single union member.
         645  +
#[allow(missing_docs)] // documentation missing in model
  359    646   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  360         -
pub struct JsonUnionsInput {
         647  +
pub struct JsonEnumsInput {
  361    648   
    #[pyo3(get, set)]
  362         -
    /// :type typing.Optional\[json_rpc11.model.MyUnion\]:
  363         -
    /// A union with a representative set of types for members.
  364         -
    pub contents: ::std::option::Option<crate::model::MyUnion>,
         649  +
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
         650  +
    #[allow(missing_docs)] // documentation missing in model
         651  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
         652  +
    #[pyo3(get, set)]
         653  +
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
         654  +
    #[allow(missing_docs)] // documentation missing in model
         655  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
         656  +
    #[pyo3(get, set)]
         657  +
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
         658  +
    #[allow(missing_docs)] // documentation missing in model
         659  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
         660  +
    #[pyo3(get, set)]
         661  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         662  +
    #[allow(missing_docs)] // documentation missing in model
         663  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         664  +
    #[pyo3(get, set)]
         665  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         666  +
    #[allow(missing_docs)] // documentation missing in model
         667  +
    pub foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         668  +
    #[pyo3(get, set)]
         669  +
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
         670  +
    #[allow(missing_docs)] // documentation missing in model
         671  +
    pub foo_enum_map: ::std::option::Option<
         672  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         673  +
    >,
  365    674   
}
  366         -
impl JsonUnionsInput {
  367         -
    /// A union with a representative set of types for members.
  368         -
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
  369         -
        self.contents.as_ref()
         675  +
impl JsonEnumsInput {
         676  +
    #[allow(missing_docs)] // documentation missing in model
         677  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         678  +
        self.foo_enum1.as_ref()
         679  +
    }
         680  +
    #[allow(missing_docs)] // documentation missing in model
         681  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         682  +
        self.foo_enum2.as_ref()
         683  +
    }
         684  +
    #[allow(missing_docs)] // documentation missing in model
         685  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         686  +
        self.foo_enum3.as_ref()
         687  +
    }
         688  +
    #[allow(missing_docs)] // documentation missing in model
         689  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         690  +
        self.foo_enum_list.as_deref()
         691  +
    }
         692  +
    #[allow(missing_docs)] // documentation missing in model
         693  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         694  +
        self.foo_enum_set.as_deref()
         695  +
    }
         696  +
    #[allow(missing_docs)] // documentation missing in model
         697  +
    pub fn foo_enum_map(
         698  +
        &self,
         699  +
    ) -> ::std::option::Option<
         700  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         701  +
    > {
         702  +
        self.foo_enum_map.as_ref()
  370    703   
    }
  371    704   
}
  372    705   
#[allow(clippy::new_without_default)]
  373    706   
#[allow(clippy::too_many_arguments)]
  374    707   
#[::pyo3::pymethods]
  375         -
impl JsonUnionsInput {
         708  +
impl JsonEnumsInput {
  376    709   
    #[new]
  377         -
    pub fn new(contents: ::std::option::Option<crate::model::MyUnion>) -> Self {
  378         -
        Self { contents }
         710  +
    pub fn new(
         711  +
        foo_enum1: ::std::option::Option<crate::model::FooEnum>,
         712  +
        foo_enum2: ::std::option::Option<crate::model::FooEnum>,
         713  +
        foo_enum3: ::std::option::Option<crate::model::FooEnum>,
         714  +
        foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         715  +
        foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         716  +
        foo_enum_map: ::std::option::Option<
         717  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         718  +
        >,
         719  +
    ) -> Self {
         720  +
        Self {
         721  +
            foo_enum1,
         722  +
            foo_enum2,
         723  +
            foo_enum3,
         724  +
            foo_enum_list,
         725  +
            foo_enum_set,
         726  +
            foo_enum_map,
         727  +
        }
  379    728   
    }
  380    729   
    fn __repr__(&self) -> String {
  381    730   
        format!("{self:?}")
  382    731   
    }
  383    732   
    fn __str__(&self) -> String {
  384    733   
        format!("{self:?}")
  385    734   
    }
  386    735   
}
  387         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonUnionsInput> {
         736  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonEnumsInput> {
  388    737   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  389         -
        ob.extract::<JsonUnionsInput>().map(Box::new)
         738  +
        ob.extract::<JsonEnumsInput>().map(Box::new)
  390    739   
    }
  391    740   
}
  392    741   
  393         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonUnionsInput> {
         742  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonEnumsInput> {
  394    743   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  395    744   
        (*self).into_py(py)
  396    745   
    }
  397    746   
}
  398         -
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
  399         -
    type Unconstrained = crate::input::json_unions_input_internal::Builder;
         747  +
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
         748  +
    type Unconstrained = crate::input::json_enums_input_internal::Builder;
  400    749   
}
  401         -
impl JsonUnionsInput {
  402         -
    /// Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
  403         -
    pub fn builder() -> crate::input::json_unions_input::Builder {
  404         -
        crate::input::json_unions_input::Builder::default()
         750  +
impl JsonEnumsInput {
         751  +
    /// Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
         752  +
    pub fn builder() -> crate::input::json_enums_input::Builder {
         753  +
        crate::input::json_enums_input::Builder::default()
  405    754   
    }
  406    755   
}
  407    756   
  408    757   
#[::pyo3::pyclass]
  409         -
/// :rtype None:
  410         -
#[allow(missing_docs)] // documentation missing in model
  411         -
#[derive(
         758  +
/// :param int_enum1 typing.Optional\[int\]:
         759  +
/// :param int_enum2 typing.Optional\[int\]:
         760  +
/// :param int_enum3 typing.Optional\[int\]:
         761  +
/// :param int_enum_list typing.Optional\[typing.List\[int\]\]:
         762  +
/// :param int_enum_set typing.Optional\[typing.List\[int\]\]:
         763  +
/// :param int_enum_map typing.Optional\[typing.Dict\[str, int\]\]:
         764  +
/// :rtype None:
         765  +
#[allow(missing_docs)] // documentation missing in model
         766  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         767  +
pub struct JsonIntEnumsInput {
         768  +
    #[pyo3(get, set)]
         769  +
    /// :type typing.Optional\[int\]:
         770  +
    #[allow(missing_docs)] // documentation missing in model
         771  +
    pub int_enum1: ::std::option::Option<i32>,
         772  +
    #[pyo3(get, set)]
         773  +
    /// :type typing.Optional\[int\]:
         774  +
    #[allow(missing_docs)] // documentation missing in model
         775  +
    pub int_enum2: ::std::option::Option<i32>,
         776  +
    #[pyo3(get, set)]
         777  +
    /// :type typing.Optional\[int\]:
         778  +
    #[allow(missing_docs)] // documentation missing in model
         779  +
    pub int_enum3: ::std::option::Option<i32>,
         780  +
    #[pyo3(get, set)]
         781  +
    /// :type typing.Optional\[typing.List\[int\]\]:
         782  +
    #[allow(missing_docs)] // documentation missing in model
         783  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         784  +
    #[pyo3(get, set)]
         785  +
    /// :type typing.Optional\[typing.List\[int\]\]:
         786  +
    #[allow(missing_docs)] // documentation missing in model
         787  +
    pub int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
         788  +
    #[pyo3(get, set)]
         789  +
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
         790  +
    #[allow(missing_docs)] // documentation missing in model
         791  +
    pub int_enum_map:
         792  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         793  +
}
         794  +
impl JsonIntEnumsInput {
         795  +
    #[allow(missing_docs)] // documentation missing in model
         796  +
    pub fn int_enum1(&self) -> ::std::option::Option<i32> {
         797  +
        self.int_enum1
         798  +
    }
         799  +
    #[allow(missing_docs)] // documentation missing in model
         800  +
    pub fn int_enum2(&self) -> ::std::option::Option<i32> {
         801  +
        self.int_enum2
         802  +
    }
         803  +
    #[allow(missing_docs)] // documentation missing in model
         804  +
    pub fn int_enum3(&self) -> ::std::option::Option<i32> {
         805  +
        self.int_enum3
         806  +
    }
         807  +
    #[allow(missing_docs)] // documentation missing in model
         808  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
         809  +
        self.int_enum_list.as_deref()
         810  +
    }
         811  +
    #[allow(missing_docs)] // documentation missing in model
         812  +
    pub fn int_enum_set(&self) -> ::std::option::Option<&[i32]> {
         813  +
        self.int_enum_set.as_deref()
         814  +
    }
         815  +
    #[allow(missing_docs)] // documentation missing in model
         816  +
    pub fn int_enum_map(
         817  +
        &self,
         818  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         819  +
        self.int_enum_map.as_ref()
         820  +
    }
         821  +
}
         822  +
#[allow(clippy::new_without_default)]
         823  +
#[allow(clippy::too_many_arguments)]
         824  +
#[::pyo3::pymethods]
         825  +
impl JsonIntEnumsInput {
         826  +
    #[new]
         827  +
    pub fn new(
         828  +
        int_enum1: ::std::option::Option<i32>,
         829  +
        int_enum2: ::std::option::Option<i32>,
         830  +
        int_enum3: ::std::option::Option<i32>,
         831  +
        int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         832  +
        int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
         833  +
        int_enum_map: ::std::option::Option<
         834  +
            ::std::collections::HashMap<::std::string::String, i32>,
         835  +
        >,
         836  +
    ) -> Self {
         837  +
        Self {
         838  +
            int_enum1,
         839  +
            int_enum2,
         840  +
            int_enum3,
         841  +
            int_enum_list,
         842  +
            int_enum_set,
         843  +
            int_enum_map,
         844  +
        }
         845  +
    }
         846  +
    fn __repr__(&self) -> String {
         847  +
        format!("{self:?}")
         848  +
    }
         849  +
    fn __str__(&self) -> String {
         850  +
        format!("{self:?}")
         851  +
    }
         852  +
}
         853  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonIntEnumsInput> {
         854  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
         855  +
        ob.extract::<JsonIntEnumsInput>().map(Box::new)
         856  +
    }
         857  +
}
         858  +
         859  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonIntEnumsInput> {
         860  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
         861  +
        (*self).into_py(py)
         862  +
    }
         863  +
}
         864  +
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
         865  +
    type Unconstrained = crate::input::json_int_enums_input_internal::Builder;
         866  +
}
         867  +
impl JsonIntEnumsInput {
         868  +
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
         869  +
    pub fn builder() -> crate::input::json_int_enums_input::Builder {
         870  +
        crate::input::json_int_enums_input::Builder::default()
         871  +
    }
         872  +
}
         873  +
         874  +
#[::pyo3::pyclass]
         875  +
/// :param string typing.Optional\[str\]:
         876  +
/// :rtype None:
         877  +
#[allow(missing_docs)] // documentation missing in model
         878  +
#[derive(
  412    879   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  413    880   
)]
  414         -
pub struct GreetingWithErrorsInput {}
         881  +
pub struct NullOperationInput {
         882  +
    #[pyo3(get, set)]
         883  +
    /// :type typing.Optional\[str\]:
         884  +
    #[allow(missing_docs)] // documentation missing in model
         885  +
    pub string: ::std::option::Option<::std::string::String>,
         886  +
}
         887  +
impl NullOperationInput {
         888  +
    #[allow(missing_docs)] // documentation missing in model
         889  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         890  +
        self.string.as_deref()
         891  +
    }
         892  +
}
  415    893   
#[allow(clippy::new_without_default)]
  416    894   
#[allow(clippy::too_many_arguments)]
  417    895   
#[::pyo3::pymethods]
  418         -
impl GreetingWithErrorsInput {
         896  +
impl NullOperationInput {
  419    897   
    #[new]
  420         -
    pub fn new() -> Self {
  421         -
        Self {}
         898  +
    pub fn new(string: ::std::option::Option<::std::string::String>) -> Self {
         899  +
        Self { string }
  422    900   
    }
  423    901   
    fn __repr__(&self) -> String {
  424    902   
        format!("{self:?}")
  425    903   
    }
  426    904   
    fn __str__(&self) -> String {
  427    905   
        format!("{self:?}")
  428    906   
    }
  429    907   
}
  430         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingWithErrorsInput> {
         908  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullOperationInput> {
  431    909   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  432         -
        ob.extract::<GreetingWithErrorsInput>().map(Box::new)
         910  +
        ob.extract::<NullOperationInput>().map(Box::new)
  433    911   
    }
  434    912   
}
  435    913   
  436         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingWithErrorsInput> {
         914  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullOperationInput> {
  437    915   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  438    916   
        (*self).into_py(py)
  439    917   
    }
  440    918   
}
  441         -
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
  442         -
    type Unconstrained = crate::input::greeting_with_errors_input_internal::Builder;
         919  +
impl crate::constrained::Constrained for crate::input::NullOperationInput {
         920  +
    type Unconstrained = crate::input::null_operation_input_internal::Builder;
  443    921   
}
  444         -
impl GreetingWithErrorsInput {
  445         -
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
  446         -
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
  447         -
        crate::input::greeting_with_errors_input::Builder::default()
         922  +
impl NullOperationInput {
         923  +
    /// Creates a new builder-style object to manufacture [`NullOperationInput`](crate::input::NullOperationInput).
         924  +
    pub fn builder() -> crate::input::null_operation_input::Builder {
         925  +
        crate::input::null_operation_input::Builder::default()
  448    926   
    }
  449    927   
}
  450    928   
  451    929   
#[::pyo3::pyclass]
  452    930   
/// :param sparse_string_list typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
  453    931   
/// :param sparse_string_map typing.Optional\[typing.Dict\[str, typing.Optional\[str\]\]\]:
  454    932   
/// :rtype None:
  455    933   
#[allow(missing_docs)] // documentation missing in model
  456    934   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  457    935   
pub struct SparseNullsOperationInput {
@@ -512,990 +3775,3775 @@
  532   1010   
    type Unconstrained = crate::input::sparse_nulls_operation_input_internal::Builder;
  533   1011   
}
  534   1012   
impl SparseNullsOperationInput {
  535   1013   
    /// Creates a new builder-style object to manufacture [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
  536   1014   
    pub fn builder() -> crate::input::sparse_nulls_operation_input::Builder {
  537   1015   
        crate::input::sparse_nulls_operation_input::Builder::default()
  538   1016   
    }
  539   1017   
}
  540   1018   
  541   1019   
#[::pyo3::pyclass]
  542         -
/// :param string typing.Optional\[str\]:
  543   1020   
/// :rtype None:
  544   1021   
#[allow(missing_docs)] // documentation missing in model
  545   1022   
#[derive(
  546   1023   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  547   1024   
)]
  548         -
pub struct NullOperationInput {
  549         -
    #[pyo3(get, set)]
  550         -
    /// :type typing.Optional\[str\]:
  551         -
    #[allow(missing_docs)] // documentation missing in model
  552         -
    pub string: ::std::option::Option<::std::string::String>,
  553         -
}
  554         -
impl NullOperationInput {
  555         -
    #[allow(missing_docs)] // documentation missing in model
  556         -
    pub fn string(&self) -> ::std::option::Option<&str> {
  557         -
        self.string.as_deref()
  558         -
    }
  559         -
}
        1025  +
pub struct GreetingWithErrorsInput {}
  560   1026   
#[allow(clippy::new_without_default)]
  561   1027   
#[allow(clippy::too_many_arguments)]
  562   1028   
#[::pyo3::pymethods]
  563         -
impl NullOperationInput {
        1029  +
impl GreetingWithErrorsInput {
  564   1030   
    #[new]
  565         -
    pub fn new(string: ::std::option::Option<::std::string::String>) -> Self {
  566         -
        Self { string }
        1031  +
    pub fn new() -> Self {
        1032  +
        Self {}
  567   1033   
    }
  568   1034   
    fn __repr__(&self) -> String {
  569   1035   
        format!("{self:?}")
  570   1036   
    }
  571   1037   
    fn __str__(&self) -> String {
  572   1038   
        format!("{self:?}")
  573   1039   
    }
  574   1040   
}
  575         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullOperationInput> {
        1041  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingWithErrorsInput> {
  576   1042   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  577         -
        ob.extract::<NullOperationInput>().map(Box::new)
        1043  +
        ob.extract::<GreetingWithErrorsInput>().map(Box::new)
  578   1044   
    }
  579   1045   
}
  580   1046   
  581         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullOperationInput> {
        1047  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingWithErrorsInput> {
  582   1048   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  583   1049   
        (*self).into_py(py)
  584   1050   
    }
  585   1051   
}
  586         -
impl crate::constrained::Constrained for crate::input::NullOperationInput {
  587         -
    type Unconstrained = crate::input::null_operation_input_internal::Builder;
        1052  +
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
        1053  +
    type Unconstrained = crate::input::greeting_with_errors_input_internal::Builder;
  588   1054   
}
  589         -
impl NullOperationInput {
  590         -
    /// Creates a new builder-style object to manufacture [`NullOperationInput`](crate::input::NullOperationInput).
  591         -
    pub fn builder() -> crate::input::null_operation_input::Builder {
  592         -
        crate::input::null_operation_input::Builder::default()
        1055  +
impl GreetingWithErrorsInput {
        1056  +
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        1057  +
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
        1058  +
        crate::input::greeting_with_errors_input::Builder::default()
  593   1059   
    }
  594   1060   
}
  595   1061   
  596   1062   
#[::pyo3::pyclass]
  597         -
/// :param int_enum1 typing.Optional\[int\]:
  598         -
/// :param int_enum2 typing.Optional\[int\]:
  599         -
/// :param int_enum3 typing.Optional\[int\]:
  600         -
/// :param int_enum_list typing.Optional\[typing.List\[int\]\]:
  601         -
/// :param int_enum_set typing.Optional\[typing.List\[int\]\]:
  602         -
/// :param int_enum_map typing.Optional\[typing.Dict\[str, int\]\]:
        1063  +
/// :param contents typing.Optional\[json_rpc11.model.MyUnion\]:
  603   1064   
/// :rtype None:
  604         -
#[allow(missing_docs)] // documentation missing in model
        1065  +
/// A shared structure that contains a single union member.
  605   1066   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  606         -
pub struct JsonIntEnumsInput {
  607         -
    #[pyo3(get, set)]
  608         -
    /// :type typing.Optional\[int\]:
  609         -
    #[allow(missing_docs)] // documentation missing in model
  610         -
    pub int_enum1: ::std::option::Option<i32>,
  611         -
    #[pyo3(get, set)]
  612         -
    /// :type typing.Optional\[int\]:
  613         -
    #[allow(missing_docs)] // documentation missing in model
  614         -
    pub int_enum2: ::std::option::Option<i32>,
  615         -
    #[pyo3(get, set)]
  616         -
    /// :type typing.Optional\[int\]:
  617         -
    #[allow(missing_docs)] // documentation missing in model
  618         -
    pub int_enum3: ::std::option::Option<i32>,
  619         -
    #[pyo3(get, set)]
  620         -
    /// :type typing.Optional\[typing.List\[int\]\]:
  621         -
    #[allow(missing_docs)] // documentation missing in model
  622         -
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
  623         -
    #[pyo3(get, set)]
  624         -
    /// :type typing.Optional\[typing.List\[int\]\]:
  625         -
    #[allow(missing_docs)] // documentation missing in model
  626         -
    pub int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
        1067  +
pub struct JsonUnionsInput {
  627   1068   
    #[pyo3(get, set)]
  628         -
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
  629         -
    #[allow(missing_docs)] // documentation missing in model
  630         -
    pub int_enum_map:
  631         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        1069  +
    /// :type typing.Optional\[json_rpc11.model.MyUnion\]:
        1070  +
    /// A union with a representative set of types for members.
        1071  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
  632   1072   
}
  633         -
impl JsonIntEnumsInput {
  634         -
    #[allow(missing_docs)] // documentation missing in model
  635         -
    pub fn int_enum1(&self) -> ::std::option::Option<i32> {
  636         -
        self.int_enum1
  637         -
    }
  638         -
    #[allow(missing_docs)] // documentation missing in model
  639         -
    pub fn int_enum2(&self) -> ::std::option::Option<i32> {
  640         -
        self.int_enum2
  641         -
    }
  642         -
    #[allow(missing_docs)] // documentation missing in model
  643         -
    pub fn int_enum3(&self) -> ::std::option::Option<i32> {
  644         -
        self.int_enum3
  645         -
    }
  646         -
    #[allow(missing_docs)] // documentation missing in model
  647         -
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
  648         -
        self.int_enum_list.as_deref()
  649         -
    }
  650         -
    #[allow(missing_docs)] // documentation missing in model
  651         -
    pub fn int_enum_set(&self) -> ::std::option::Option<&[i32]> {
  652         -
        self.int_enum_set.as_deref()
  653         -
    }
  654         -
    #[allow(missing_docs)] // documentation missing in model
  655         -
    pub fn int_enum_map(
  656         -
        &self,
  657         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
  658         -
        self.int_enum_map.as_ref()
  659         -
    }
  660         -
}
  661         -
#[allow(clippy::new_without_default)]
  662         -
#[allow(clippy::too_many_arguments)]
  663         -
#[::pyo3::pymethods]
  664         -
impl JsonIntEnumsInput {
  665         -
    #[new]
  666         -
    pub fn new(
  667         -
        int_enum1: ::std::option::Option<i32>,
  668         -
        int_enum2: ::std::option::Option<i32>,
  669         -
        int_enum3: ::std::option::Option<i32>,
  670         -
        int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
  671         -
        int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
  672         -
        int_enum_map: ::std::option::Option<
  673         -
            ::std::collections::HashMap<::std::string::String, i32>,
  674         -
        >,
  675         -
    ) -> Self {
  676         -
        Self {
  677         -
            int_enum1,
  678         -
            int_enum2,
  679         -
            int_enum3,
  680         -
            int_enum_list,
  681         -
            int_enum_set,
  682         -
            int_enum_map,
        1073  +
impl JsonUnionsInput {
        1074  +
    /// A union with a representative set of types for members.
        1075  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
        1076  +
        self.contents.as_ref()
  683   1077   
    }
        1078  +
}
        1079  +
#[allow(clippy::new_without_default)]
        1080  +
#[allow(clippy::too_many_arguments)]
        1081  +
#[::pyo3::pymethods]
        1082  +
impl JsonUnionsInput {
        1083  +
    #[new]
        1084  +
    pub fn new(contents: ::std::option::Option<crate::model::MyUnion>) -> Self {
        1085  +
        Self { contents }
  684   1086   
    }
  685   1087   
    fn __repr__(&self) -> String {
  686   1088   
        format!("{self:?}")
  687   1089   
    }
  688   1090   
    fn __str__(&self) -> String {
  689   1091   
        format!("{self:?}")
  690   1092   
    }
  691   1093   
}
  692         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonIntEnumsInput> {
        1094  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonUnionsInput> {
  693   1095   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  694         -
        ob.extract::<JsonIntEnumsInput>().map(Box::new)
        1096  +
        ob.extract::<JsonUnionsInput>().map(Box::new)
  695   1097   
    }
  696   1098   
}
  697   1099   
  698         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonIntEnumsInput> {
        1100  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonUnionsInput> {
  699   1101   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  700   1102   
        (*self).into_py(py)
  701   1103   
    }
  702   1104   
}
  703         -
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
  704         -
    type Unconstrained = crate::input::json_int_enums_input_internal::Builder;
        1105  +
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
        1106  +
    type Unconstrained = crate::input::json_unions_input_internal::Builder;
  705   1107   
}
  706         -
impl JsonIntEnumsInput {
  707         -
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
  708         -
    pub fn builder() -> crate::input::json_int_enums_input::Builder {
  709         -
        crate::input::json_int_enums_input::Builder::default()
        1108  +
impl JsonUnionsInput {
        1109  +
    /// Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        1110  +
    pub fn builder() -> crate::input::json_unions_input::Builder {
        1111  +
        crate::input::json_unions_input::Builder::default()
  710   1112   
    }
  711   1113   
}
  712   1114   
  713   1115   
#[::pyo3::pyclass]
  714         -
/// :param foo_enum1 typing.Optional\[json_rpc11.model.FooEnum\]:
  715         -
/// :param foo_enum2 typing.Optional\[json_rpc11.model.FooEnum\]:
  716         -
/// :param foo_enum3 typing.Optional\[json_rpc11.model.FooEnum\]:
  717         -
/// :param foo_enum_list typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  718         -
/// :param foo_enum_set typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  719         -
/// :param foo_enum_map typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
  720   1116   
/// :rtype None:
  721   1117   
#[allow(missing_docs)] // documentation missing in model
  722         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  723         -
pub struct JsonEnumsInput {
  724         -
    #[pyo3(get, set)]
  725         -
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
  726         -
    #[allow(missing_docs)] // documentation missing in model
  727         -
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
  728         -
    #[pyo3(get, set)]
  729         -
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
  730         -
    #[allow(missing_docs)] // documentation missing in model
  731         -
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
  732         -
    #[pyo3(get, set)]
  733         -
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
  734         -
    #[allow(missing_docs)] // documentation missing in model
  735         -
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
  736         -
    #[pyo3(get, set)]
  737         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  738         -
    #[allow(missing_docs)] // documentation missing in model
  739         -
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  740         -
    #[pyo3(get, set)]
  741         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  742         -
    #[allow(missing_docs)] // documentation missing in model
  743         -
    pub foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  744         -
    #[pyo3(get, set)]
  745         -
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
  746         -
    #[allow(missing_docs)] // documentation missing in model
  747         -
    pub foo_enum_map: ::std::option::Option<
  748         -
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
  749         -
    >,
  750         -
}
  751         -
impl JsonEnumsInput {
  752         -
    #[allow(missing_docs)] // documentation missing in model
  753         -
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
  754         -
        self.foo_enum1.as_ref()
  755         -
    }
  756         -
    #[allow(missing_docs)] // documentation missing in model
  757         -
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
  758         -
        self.foo_enum2.as_ref()
  759         -
    }
  760         -
    #[allow(missing_docs)] // documentation missing in model
  761         -
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
  762         -
        self.foo_enum3.as_ref()
  763         -
    }
  764         -
    #[allow(missing_docs)] // documentation missing in model
  765         -
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
  766         -
        self.foo_enum_list.as_deref()
  767         -
    }
  768         -
    #[allow(missing_docs)] // documentation missing in model
  769         -
    pub fn foo_enum_set(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
  770         -
        self.foo_enum_set.as_deref()
  771         -
    }
  772         -
    #[allow(missing_docs)] // documentation missing in model
  773         -
    pub fn foo_enum_map(
  774         -
        &self,
  775         -
    ) -> ::std::option::Option<
  776         -
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
  777         -
    > {
  778         -
        self.foo_enum_map.as_ref()
  779         -
    }
  780         -
}
        1118  +
#[derive(
        1119  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1120  +
)]
        1121  +
pub struct EndpointOperationInput {}
  781   1122   
#[allow(clippy::new_without_default)]
  782   1123   
#[allow(clippy::too_many_arguments)]
  783   1124   
#[::pyo3::pymethods]
  784         -
impl JsonEnumsInput {
        1125  +
impl EndpointOperationInput {
  785   1126   
    #[new]
  786         -
    pub fn new(
  787         -
        foo_enum1: ::std::option::Option<crate::model::FooEnum>,
  788         -
        foo_enum2: ::std::option::Option<crate::model::FooEnum>,
  789         -
        foo_enum3: ::std::option::Option<crate::model::FooEnum>,
  790         -
        foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  791         -
        foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  792         -
        foo_enum_map: ::std::option::Option<
  793         -
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
  794         -
        >,
  795         -
    ) -> Self {
  796         -
        Self {
  797         -
            foo_enum1,
  798         -
            foo_enum2,
  799         -
            foo_enum3,
  800         -
            foo_enum_list,
  801         -
            foo_enum_set,
  802         -
            foo_enum_map,
  803         -
        }
        1127  +
    pub fn new() -> Self {
        1128  +
        Self {}
  804   1129   
    }
  805   1130   
    fn __repr__(&self) -> String {
  806   1131   
        format!("{self:?}")
  807   1132   
    }
  808   1133   
    fn __str__(&self) -> String {
  809   1134   
        format!("{self:?}")
  810   1135   
    }
  811   1136   
}
  812         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonEnumsInput> {
        1137  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EndpointOperationInput> {
  813   1138   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  814         -
        ob.extract::<JsonEnumsInput>().map(Box::new)
        1139  +
        ob.extract::<EndpointOperationInput>().map(Box::new)
  815   1140   
    }
  816   1141   
}
  817   1142   
  818         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonEnumsInput> {
        1143  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointOperationInput> {
  819   1144   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  820   1145   
        (*self).into_py(py)
  821   1146   
    }
  822   1147   
}
  823         -
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
  824         -
    type Unconstrained = crate::input::json_enums_input_internal::Builder;
        1148  +
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
        1149  +
    type Unconstrained = crate::input::endpoint_operation_input_internal::Builder;
  825   1150   
}
  826         -
impl JsonEnumsInput {
  827         -
    /// Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
  828         -
    pub fn builder() -> crate::input::json_enums_input::Builder {
  829         -
        crate::input::json_enums_input::Builder::default()
        1151  +
impl EndpointOperationInput {
        1152  +
    /// Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        1153  +
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
        1154  +
        crate::input::endpoint_operation_input::Builder::default()
  830   1155   
    }
  831   1156   
}
  832   1157   
  833   1158   
#[::pyo3::pyclass]
  834         -
/// :param inline_document typing.Optional\[json_rpc11.types.Document\]:
        1159  +
/// :param label str:
  835   1160   
/// :rtype None:
  836   1161   
#[allow(missing_docs)] // documentation missing in model
  837         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  838         -
pub struct PutAndGetInlineDocumentsInput {
        1162  +
#[derive(
        1163  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1164  +
)]
        1165  +
pub struct EndpointWithHostLabelOperationInput {
  839   1166   
    #[pyo3(get, set)]
  840         -
    /// :type typing.Optional\[json_rpc11.types.Document\]:
        1167  +
    /// :type str:
  841   1168   
    #[allow(missing_docs)] // documentation missing in model
  842         -
    pub inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        1169  +
    pub label: ::std::string::String,
  843   1170   
}
  844         -
impl PutAndGetInlineDocumentsInput {
        1171  +
impl EndpointWithHostLabelOperationInput {
  845   1172   
    #[allow(missing_docs)] // documentation missing in model
  846         -
    pub fn inline_document(
  847         -
        &self,
  848         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
  849         -
        self.inline_document.as_ref()
        1173  +
    pub fn label(&self) -> &str {
        1174  +
        use std::ops::Deref;
        1175  +
        self.label.deref()
  850   1176   
    }
  851   1177   
}
  852   1178   
#[allow(clippy::new_without_default)]
  853   1179   
#[allow(clippy::too_many_arguments)]
  854   1180   
#[::pyo3::pymethods]
  855         -
impl PutAndGetInlineDocumentsInput {
        1181  +
impl EndpointWithHostLabelOperationInput {
  856   1182   
    #[new]
  857         -
    pub fn new(
  858         -
        inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
  859         -
    ) -> Self {
  860         -
        Self { inline_document }
        1183  +
    pub fn new(label: ::std::string::String) -> Self {
        1184  +
        Self { label }
  861   1185   
    }
  862   1186   
    fn __repr__(&self) -> String {
  863   1187   
        format!("{self:?}")
  864   1188   
    }
  865   1189   
    fn __str__(&self) -> String {
  866   1190   
        format!("{self:?}")
  867   1191   
    }
  868   1192   
}
  869         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutAndGetInlineDocumentsInput> {
        1193  +
impl<'source> ::pyo3::FromPyObject<'source>
        1194  +
    for std::boxed::Box<EndpointWithHostLabelOperationInput>
        1195  +
{
  870   1196   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  871         -
        ob.extract::<PutAndGetInlineDocumentsInput>().map(Box::new)
        1197  +
        ob.extract::<EndpointWithHostLabelOperationInput>()
        1198  +
            .map(Box::new)
  872   1199   
    }
  873   1200   
}
  874   1201   
  875         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutAndGetInlineDocumentsInput> {
        1202  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointWithHostLabelOperationInput> {
  876   1203   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  877   1204   
        (*self).into_py(py)
  878   1205   
    }
  879   1206   
}
  880         -
impl crate::constrained::Constrained for crate::input::PutAndGetInlineDocumentsInput {
  881         -
    type Unconstrained = crate::input::put_and_get_inline_documents_input_internal::Builder;
        1207  +
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
        1208  +
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input_internal::Builder;
  882   1209   
}
  883         -
impl PutAndGetInlineDocumentsInput {
  884         -
    /// Creates a new builder-style object to manufacture [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
  885         -
    pub fn builder() -> crate::input::put_and_get_inline_documents_input::Builder {
  886         -
        crate::input::put_and_get_inline_documents_input::Builder::default()
        1210  +
impl EndpointWithHostLabelOperationInput {
        1211  +
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        1212  +
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
        1213  +
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
  887   1214   
    }
  888   1215   
}
  889   1216   
  890   1217   
#[::pyo3::pyclass]
  891         -
/// :param value typing.Optional\[str\]:
  892   1218   
/// :rtype None:
  893   1219   
#[allow(missing_docs)] // documentation missing in model
  894   1220   
#[derive(
  895   1221   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  896   1222   
)]
  897         -
pub struct OperationWithOptionalInputOutputInput {
  898         -
    #[pyo3(get, set)]
  899         -
    /// :type typing.Optional\[str\]:
  900         -
    #[allow(missing_docs)] // documentation missing in model
  901         -
    pub value: ::std::option::Option<::std::string::String>,
  902         -
}
  903         -
impl OperationWithOptionalInputOutputInput {
  904         -
    #[allow(missing_docs)] // documentation missing in model
  905         -
    pub fn value(&self) -> ::std::option::Option<&str> {
  906         -
        self.value.as_deref()
  907         -
    }
  908         -
}
        1223  +
pub struct HostWithPathOperationInput {}
  909   1224   
#[allow(clippy::new_without_default)]
  910   1225   
#[allow(clippy::too_many_arguments)]
  911   1226   
#[::pyo3::pymethods]
  912         -
impl OperationWithOptionalInputOutputInput {
        1227  +
impl HostWithPathOperationInput {
  913   1228   
    #[new]
  914         -
    pub fn new(value: ::std::option::Option<::std::string::String>) -> Self {
  915         -
        Self { value }
        1229  +
    pub fn new() -> Self {
        1230  +
        Self {}
  916   1231   
    }
  917   1232   
    fn __repr__(&self) -> String {
  918   1233   
        format!("{self:?}")
  919   1234   
    }
  920   1235   
    fn __str__(&self) -> String {
  921   1236   
        format!("{self:?}")
  922   1237   
    }
  923   1238   
}
  924         -
impl<'source> ::pyo3::FromPyObject<'source>
  925         -
    for std::boxed::Box<OperationWithOptionalInputOutputInput>
  926         -
{
        1239  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HostWithPathOperationInput> {
  927   1240   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  928         -
        ob.extract::<OperationWithOptionalInputOutputInput>()
  929         -
            .map(Box::new)
        1241  +
        ob.extract::<HostWithPathOperationInput>().map(Box::new)
  930   1242   
    }
  931   1243   
}
  932   1244   
  933         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithOptionalInputOutputInput> {
        1245  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HostWithPathOperationInput> {
  934   1246   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  935   1247   
        (*self).into_py(py)
  936   1248   
    }
  937   1249   
}
  938         -
impl crate::constrained::Constrained for crate::input::OperationWithOptionalInputOutputInput {
  939         -
    type Unconstrained = crate::input::operation_with_optional_input_output_input_internal::Builder;
  940         -
}
  941         -
impl OperationWithOptionalInputOutputInput {
  942         -
    /// Creates a new builder-style object to manufacture [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
  943         -
    pub fn builder() -> crate::input::operation_with_optional_input_output_input::Builder {
  944         -
        crate::input::operation_with_optional_input_output_input::Builder::default()
  945         -
    }
        1250  +
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
        1251  +
    type Unconstrained = crate::input::host_with_path_operation_input_internal::Builder;
        1252  +
}
        1253  +
impl HostWithPathOperationInput {
        1254  +
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        1255  +
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
        1256  +
        crate::input::host_with_path_operation_input::Builder::default()
        1257  +
    }
  946   1258   
}
  947   1259   
  948   1260   
#[::pyo3::pyclass]
  949         -
/// :param float_value typing.Optional\[float\]:
  950         -
/// :param double_value typing.Optional\[float\]:
  951   1261   
/// :rtype None:
  952   1262   
#[allow(missing_docs)] // documentation missing in model
  953         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  954         -
pub struct SimpleScalarPropertiesInput {
        1263  +
#[derive(
        1264  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1265  +
)]
        1266  +
pub struct DatetimeOffsetsInput {}
        1267  +
#[allow(clippy::new_without_default)]
        1268  +
#[allow(clippy::too_many_arguments)]
        1269  +
#[::pyo3::pymethods]
        1270  +
impl DatetimeOffsetsInput {
        1271  +
    #[new]
        1272  +
    pub fn new() -> Self {
        1273  +
        Self {}
        1274  +
    }
        1275  +
    fn __repr__(&self) -> String {
        1276  +
        format!("{self:?}")
        1277  +
    }
        1278  +
    fn __str__(&self) -> String {
        1279  +
        format!("{self:?}")
        1280  +
    }
        1281  +
}
        1282  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DatetimeOffsetsInput> {
        1283  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        1284  +
        ob.extract::<DatetimeOffsetsInput>().map(Box::new)
        1285  +
    }
        1286  +
}
        1287  +
        1288  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DatetimeOffsetsInput> {
        1289  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        1290  +
        (*self).into_py(py)
        1291  +
    }
        1292  +
}
        1293  +
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
        1294  +
    type Unconstrained = crate::input::datetime_offsets_input_internal::Builder;
        1295  +
}
        1296  +
impl DatetimeOffsetsInput {
        1297  +
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        1298  +
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
        1299  +
        crate::input::datetime_offsets_input::Builder::default()
        1300  +
    }
        1301  +
}
        1302  +
        1303  +
#[::pyo3::pyclass]
        1304  +
/// :rtype None:
        1305  +
#[allow(missing_docs)] // documentation missing in model
        1306  +
#[derive(
        1307  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1308  +
)]
        1309  +
pub struct FractionalSecondsInput {}
        1310  +
#[allow(clippy::new_without_default)]
        1311  +
#[allow(clippy::too_many_arguments)]
        1312  +
#[::pyo3::pymethods]
        1313  +
impl FractionalSecondsInput {
        1314  +
    #[new]
        1315  +
    pub fn new() -> Self {
        1316  +
        Self {}
        1317  +
    }
        1318  +
    fn __repr__(&self) -> String {
        1319  +
        format!("{self:?}")
        1320  +
    }
        1321  +
    fn __str__(&self) -> String {
        1322  +
        format!("{self:?}")
        1323  +
    }
        1324  +
}
        1325  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<FractionalSecondsInput> {
        1326  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        1327  +
        ob.extract::<FractionalSecondsInput>().map(Box::new)
        1328  +
    }
        1329  +
}
        1330  +
        1331  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<FractionalSecondsInput> {
        1332  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        1333  +
        (*self).into_py(py)
        1334  +
    }
        1335  +
}
        1336  +
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
        1337  +
    type Unconstrained = crate::input::fractional_seconds_input_internal::Builder;
        1338  +
}
        1339  +
impl FractionalSecondsInput {
        1340  +
    /// Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        1341  +
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
        1342  +
        crate::input::fractional_seconds_input::Builder::default()
        1343  +
    }
        1344  +
}
        1345  +
        1346  +
#[::pyo3::pyclass]
        1347  +
/// :param encoding typing.Optional\[str\]:
        1348  +
/// :param data typing.Optional\[str\]:
        1349  +
/// :rtype None:
        1350  +
#[allow(missing_docs)] // documentation missing in model
        1351  +
#[derive(
        1352  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1353  +
)]
        1354  +
pub struct PutWithContentEncodingInput {
  955   1355   
    #[pyo3(get, set)]
  956         -
    /// :type typing.Optional\[float\]:
        1356  +
    /// :type typing.Optional\[str\]:
  957   1357   
    #[allow(missing_docs)] // documentation missing in model
  958         -
    pub float_value: ::std::option::Option<f32>,
        1358  +
    pub encoding: ::std::option::Option<::std::string::String>,
  959   1359   
    #[pyo3(get, set)]
  960         -
    /// :type typing.Optional\[float\]:
        1360  +
    /// :type typing.Optional\[str\]:
  961   1361   
    #[allow(missing_docs)] // documentation missing in model
  962         -
    pub double_value: ::std::option::Option<f64>,
        1362  +
    pub data: ::std::option::Option<::std::string::String>,
  963   1363   
}
  964         -
impl SimpleScalarPropertiesInput {
        1364  +
impl PutWithContentEncodingInput {
  965   1365   
    #[allow(missing_docs)] // documentation missing in model
  966         -
    pub fn float_value(&self) -> ::std::option::Option<f32> {
  967         -
        self.float_value
        1366  +
    pub fn encoding(&self) -> ::std::option::Option<&str> {
        1367  +
        self.encoding.as_deref()
  968   1368   
    }
  969   1369   
    #[allow(missing_docs)] // documentation missing in model
  970         -
    pub fn double_value(&self) -> ::std::option::Option<f64> {
  971         -
        self.double_value
        1370  +
    pub fn data(&self) -> ::std::option::Option<&str> {
        1371  +
        self.data.as_deref()
  972   1372   
    }
  973   1373   
}
  974   1374   
#[allow(clippy::new_without_default)]
  975   1375   
#[allow(clippy::too_many_arguments)]
  976   1376   
#[::pyo3::pymethods]
  977         -
impl SimpleScalarPropertiesInput {
        1377  +
impl PutWithContentEncodingInput {
  978   1378   
    #[new]
  979   1379   
    pub fn new(
  980         -
        float_value: ::std::option::Option<f32>,
  981         -
        double_value: ::std::option::Option<f64>,
        1380  +
        encoding: ::std::option::Option<::std::string::String>,
        1381  +
        data: ::std::option::Option<::std::string::String>,
  982   1382   
    ) -> Self {
  983         -
        Self {
  984         -
            float_value,
  985         -
            double_value,
  986         -
        }
        1383  +
        Self { encoding, data }
  987   1384   
    }
  988   1385   
    fn __repr__(&self) -> String {
  989   1386   
        format!("{self:?}")
  990   1387   
    }
  991   1388   
    fn __str__(&self) -> String {
  992   1389   
        format!("{self:?}")
  993   1390   
    }
  994   1391   
}
  995         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleScalarPropertiesInput> {
        1392  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutWithContentEncodingInput> {
  996   1393   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  997         -
        ob.extract::<SimpleScalarPropertiesInput>().map(Box::new)
        1394  +
        ob.extract::<PutWithContentEncodingInput>().map(Box::new)
  998   1395   
    }
  999   1396   
}
 1000   1397   
 1001         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleScalarPropertiesInput> {
        1398  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutWithContentEncodingInput> {
 1002   1399   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1003   1400   
        (*self).into_py(py)
 1004   1401   
    }
 1005   1402   
}
 1006         -
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
 1007         -
    type Unconstrained = crate::input::simple_scalar_properties_input_internal::Builder;
        1403  +
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
        1404  +
    type Unconstrained = crate::input::put_with_content_encoding_input_internal::Builder;
 1008   1405   
}
 1009         -
impl SimpleScalarPropertiesInput {
 1010         -
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 1011         -
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
 1012         -
        crate::input::simple_scalar_properties_input::Builder::default()
        1406  +
impl PutWithContentEncodingInput {
        1407  +
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        1408  +
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
        1409  +
        crate::input::put_with_content_encoding_input::Builder::default()
 1013   1410   
    }
 1014   1411   
}
 1015   1412   
 1016   1413   
#[::pyo3::pyclass]
 1017         -
/// :param blob typing.Optional\[json_rpc11.types.Blob\]:
 1018         -
/// :param boolean typing.Optional\[bool\]:
 1019         -
/// :param double typing.Optional\[float\]:
 1020         -
/// :param empty_struct typing.Optional\[json_rpc11.model.EmptyStruct\]:
 1021         -
/// :param float typing.Optional\[float\]:
 1022         -
/// :param httpdate_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
 1023         -
/// :param integer typing.Optional\[int\]:
 1024         -
/// :param iso8601_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
 1025         -
/// :param json_value typing.Optional\[str\]:
 1026         -
/// :param list_of_lists typing.Optional\[typing.List\[typing.List\[str\]\]\]:
 1027         -
/// :param list_of_maps_of_strings typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
 1028         -
/// :param list_of_strings typing.Optional\[typing.List\[str\]\]:
 1029         -
/// :param list_of_structs typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
 1030         -
/// :param long typing.Optional\[int\]:
 1031         -
/// :param map_of_lists_of_strings typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
 1032         -
/// :param map_of_maps typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
 1033         -
/// :param map_of_strings typing.Optional\[typing.Dict\[str, str\]\]:
 1034         -
/// :param map_of_structs typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
 1035         -
/// :param recursive_list typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
 1036         -
/// :param recursive_map typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
 1037         -
/// :param recursive_struct typing.Optional\[json_rpc11.model.KitchenSink\]:
 1038         -
/// :param simple_struct typing.Optional\[json_rpc11.model.SimpleStruct\]:
 1039         -
/// :param string typing.Optional\[str\]:
 1040         -
/// :param struct_with_json_name typing.Optional\[json_rpc11.model.StructWithJsonName\]:
 1041         -
/// :param timestamp typing.Optional\[json_rpc11.types.DateTime\]:
 1042         -
/// :param unix_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
        1414  +
/// :param value typing.Optional\[int\]:
 1043   1415   
/// :rtype None:
 1044   1416   
#[allow(missing_docs)] // documentation missing in model
 1045         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 1046         -
pub struct KitchenSinkOperationInput {
 1047         -
    #[pyo3(get, set)]
 1048         -
    /// :type typing.Optional\[json_rpc11.types.Blob\]:
 1049         -
    #[allow(missing_docs)] // documentation missing in model
 1050         -
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1051         -
    #[pyo3(get, set)]
 1052         -
    /// :type typing.Optional\[bool\]:
 1053         -
    #[allow(missing_docs)] // documentation missing in model
 1054         -
    pub boolean: ::std::option::Option<bool>,
 1055         -
    #[pyo3(get, set)]
 1056         -
    /// :type typing.Optional\[float\]:
 1057         -
    #[allow(missing_docs)] // documentation missing in model
 1058         -
    pub double: ::std::option::Option<f64>,
 1059         -
    #[pyo3(get, set)]
 1060         -
    /// :type typing.Optional\[json_rpc11.model.EmptyStruct\]:
 1061         -
    #[allow(missing_docs)] // documentation missing in model
 1062         -
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1063         -
    #[pyo3(get, set)]
 1064         -
    /// :type typing.Optional\[float\]:
 1065         -
    #[allow(missing_docs)] // documentation missing in model
 1066         -
    pub float: ::std::option::Option<f32>,
 1067         -
    #[pyo3(get, set)]
 1068         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1069         -
    #[allow(missing_docs)] // documentation missing in model
 1070         -
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1071         -
    #[pyo3(get, set)]
 1072         -
    /// :type typing.Optional\[int\]:
 1073         -
    #[allow(missing_docs)] // documentation missing in model
 1074         -
    pub integer: ::std::option::Option<i32>,
 1075         -
    #[pyo3(get, set)]
 1076         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1077         -
    #[allow(missing_docs)] // documentation missing in model
 1078         -
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1079         -
    #[pyo3(get, set)]
 1080         -
    /// :type typing.Optional\[str\]:
 1081         -
    #[allow(missing_docs)] // documentation missing in model
 1082         -
    pub json_value: ::std::option::Option<::std::string::String>,
 1083         -
    #[pyo3(get, set)]
 1084         -
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
 1085         -
    #[allow(missing_docs)] // documentation missing in model
 1086         -
    pub list_of_lists:
 1087         -
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1088         -
    #[pyo3(get, set)]
 1089         -
    /// :type typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
 1090         -
    #[allow(missing_docs)] // documentation missing in model
 1091         -
    pub list_of_maps_of_strings: ::std::option::Option<
 1092         -
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
 1093         -
    >,
 1094         -
    #[pyo3(get, set)]
 1095         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 1096         -
    #[allow(missing_docs)] // documentation missing in model
 1097         -
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1098         -
    #[pyo3(get, set)]
 1099         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
 1100         -
    #[allow(missing_docs)] // documentation missing in model
 1101         -
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1417  +
#[derive(
        1418  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1419  +
)]
        1420  +
pub struct ContentTypeParametersInput {
 1102   1421   
    #[pyo3(get, set)]
 1103   1422   
    /// :type typing.Optional\[int\]:
 1104   1423   
    #[allow(missing_docs)] // documentation missing in model
 1105         -
    pub long: ::std::option::Option<i64>,
 1106         -
    #[pyo3(get, set)]
 1107         -
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
 1108         -
    #[allow(missing_docs)] // documentation missing in model
 1109         -
    pub map_of_lists_of_strings: ::std::option::Option<
 1110         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 1111         -
    >,
 1112         -
    #[pyo3(get, set)]
 1113         -
    /// :type typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
        1424  +
    pub value: ::std::option::Option<i32>,
        1425  +
}
        1426  +
impl ContentTypeParametersInput {
 1114   1427   
    #[allow(missing_docs)] // documentation missing in model
 1115         -
    pub map_of_maps: ::std::option::Option<
 1116         -
        ::std::collections::HashMap<
 1117         -
            ::std::string::String,
 1118         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1119         -
        >,
 1120         -
    >,
 1121         -
    #[pyo3(get, set)]
 1122         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 1123         -
    #[allow(missing_docs)] // documentation missing in model
 1124         -
    pub map_of_strings: ::std::option::Option<
 1125         -
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1126         -
    >,
 1127         -
    #[pyo3(get, set)]
 1128         -
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
 1129         -
    #[allow(missing_docs)] // documentation missing in model
 1130         -
    pub map_of_structs: ::std::option::Option<
 1131         -
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1132         -
    >,
 1133         -
    #[pyo3(get, set)]
 1134         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
 1135         -
    #[allow(missing_docs)] // documentation missing in model
 1136         -
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 1137         -
    #[pyo3(get, set)]
 1138         -
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
 1139         -
    #[allow(missing_docs)] // documentation missing in model
 1140         -
    pub recursive_map: ::std::option::Option<
 1141         -
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1142         -
    >,
 1143         -
    #[pyo3(get, set)]
 1144         -
    /// :type typing.Optional\[json_rpc11.model.KitchenSink\]:
 1145         -
    #[allow(missing_docs)] // documentation missing in model
 1146         -
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 1147         -
    #[pyo3(get, set)]
 1148         -
    /// :type typing.Optional\[json_rpc11.model.SimpleStruct\]:
 1149         -
    #[allow(missing_docs)] // documentation missing in model
 1150         -
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 1151         -
    #[pyo3(get, set)]
 1152         -
    /// :type typing.Optional\[str\]:
 1153         -
    #[allow(missing_docs)] // documentation missing in model
 1154         -
    pub string: ::std::option::Option<::std::string::String>,
 1155         -
    #[pyo3(get, set)]
 1156         -
    /// :type typing.Optional\[json_rpc11.model.StructWithJsonName\]:
 1157         -
    #[allow(missing_docs)] // documentation missing in model
 1158         -
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 1159         -
    #[pyo3(get, set)]
 1160         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1161         -
    #[allow(missing_docs)] // documentation missing in model
 1162         -
    pub timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1163         -
    #[pyo3(get, set)]
 1164         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1165         -
    #[allow(missing_docs)] // documentation missing in model
 1166         -
    pub unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1167         -
}
 1168         -
impl KitchenSinkOperationInput {
 1169         -
    #[allow(missing_docs)] // documentation missing in model
 1170         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
 1171         -
        self.blob.as_ref()
 1172         -
    }
 1173         -
    #[allow(missing_docs)] // documentation missing in model
 1174         -
    pub fn boolean(&self) -> ::std::option::Option<bool> {
 1175         -
        self.boolean
 1176         -
    }
 1177         -
    #[allow(missing_docs)] // documentation missing in model
 1178         -
    pub fn double(&self) -> ::std::option::Option<f64> {
 1179         -
        self.double
 1180         -
    }
 1181         -
    #[allow(missing_docs)] // documentation missing in model
 1182         -
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
 1183         -
        self.empty_struct.as_ref()
 1184         -
    }
 1185         -
    #[allow(missing_docs)] // documentation missing in model
 1186         -
    pub fn float(&self) -> ::std::option::Option<f32> {
 1187         -
        self.float
 1188         -
    }
 1189         -
    #[allow(missing_docs)] // documentation missing in model
 1190         -
    pub fn httpdate_timestamp(
 1191         -
        &self,
 1192         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1193         -
        self.httpdate_timestamp.as_ref()
 1194         -
    }
 1195         -
    #[allow(missing_docs)] // documentation missing in model
 1196         -
    pub fn integer(&self) -> ::std::option::Option<i32> {
 1197         -
        self.integer
 1198         -
    }
 1199         -
    #[allow(missing_docs)] // documentation missing in model
 1200         -
    pub fn iso8601_timestamp(
 1201         -
        &self,
 1202         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1203         -
        self.iso8601_timestamp.as_ref()
 1204         -
    }
 1205         -
    #[allow(missing_docs)] // documentation missing in model
 1206         -
    pub fn json_value(&self) -> ::std::option::Option<&str> {
 1207         -
        self.json_value.as_deref()
 1208         -
    }
 1209         -
    #[allow(missing_docs)] // documentation missing in model
 1210         -
    pub fn list_of_lists(
 1211         -
        &self,
 1212         -
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
 1213         -
        self.list_of_lists.as_deref()
 1214         -
    }
 1215         -
    #[allow(missing_docs)] // documentation missing in model
 1216         -
    pub fn list_of_maps_of_strings(
 1217         -
        &self,
 1218         -
    ) -> ::std::option::Option<
 1219         -
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
 1220         -
    > {
 1221         -
        self.list_of_maps_of_strings.as_deref()
 1222         -
    }
 1223         -
    #[allow(missing_docs)] // documentation missing in model
 1224         -
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
 1225         -
        self.list_of_strings.as_deref()
 1226         -
    }
 1227         -
    #[allow(missing_docs)] // documentation missing in model
 1228         -
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
 1229         -
        self.list_of_structs.as_deref()
 1230         -
    }
 1231         -
    #[allow(missing_docs)] // documentation missing in model
 1232         -
    pub fn long(&self) -> ::std::option::Option<i64> {
 1233         -
        self.long
 1234         -
    }
 1235         -
    #[allow(missing_docs)] // documentation missing in model
 1236         -
    pub fn map_of_lists_of_strings(
 1237         -
        &self,
 1238         -
    ) -> ::std::option::Option<
 1239         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 1240         -
    > {
 1241         -
        self.map_of_lists_of_strings.as_ref()
 1242         -
    }
 1243         -
    #[allow(missing_docs)] // documentation missing in model
 1244         -
    pub fn map_of_maps(
 1245         -
        &self,
 1246         -
    ) -> ::std::option::Option<
 1247         -
        &::std::collections::HashMap<
 1248         -
            ::std::string::String,
 1249         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1250         -
        >,
 1251         -
    > {
 1252         -
        self.map_of_maps.as_ref()
 1253         -
    }
 1254         -
    #[allow(missing_docs)] // documentation missing in model
 1255         -
    pub fn map_of_strings(
 1256         -
        &self,
 1257         -
    ) -> ::std::option::Option<
 1258         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1259         -
    > {
 1260         -
        self.map_of_strings.as_ref()
 1261         -
    }
 1262         -
    #[allow(missing_docs)] // documentation missing in model
 1263         -
    pub fn map_of_structs(
 1264         -
        &self,
 1265         -
    ) -> ::std::option::Option<
 1266         -
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1267         -
    > {
 1268         -
        self.map_of_structs.as_ref()
 1269         -
    }
 1270         -
    #[allow(missing_docs)] // documentation missing in model
 1271         -
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
 1272         -
        self.recursive_list.as_deref()
 1273         -
    }
 1274         -
    #[allow(missing_docs)] // documentation missing in model
 1275         -
    pub fn recursive_map(
 1276         -
        &self,
 1277         -
    ) -> ::std::option::Option<
 1278         -
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1279         -
    > {
 1280         -
        self.recursive_map.as_ref()
 1281         -
    }
 1282         -
    #[allow(missing_docs)] // documentation missing in model
 1283         -
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
 1284         -
        self.recursive_struct.as_deref()
 1285         -
    }
 1286         -
    #[allow(missing_docs)] // documentation missing in model
 1287         -
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
 1288         -
        self.simple_struct.as_ref()
 1289         -
    }
 1290         -
    #[allow(missing_docs)] // documentation missing in model
 1291         -
    pub fn string(&self) -> ::std::option::Option<&str> {
 1292         -
        self.string.as_deref()
 1293         -
    }
 1294         -
    #[allow(missing_docs)] // documentation missing in model
 1295         -
    pub fn struct_with_json_name(
 1296         -
        &self,
 1297         -
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
 1298         -
        self.struct_with_json_name.as_ref()
 1299         -
    }
 1300         -
    #[allow(missing_docs)] // documentation missing in model
 1301         -
    pub fn timestamp(
 1302         -
        &self,
 1303         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1304         -
        self.timestamp.as_ref()
 1305         -
    }
 1306         -
    #[allow(missing_docs)] // documentation missing in model
 1307         -
    pub fn unix_timestamp(
 1308         -
        &self,
 1309         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1310         -
        self.unix_timestamp.as_ref()
 1311         -
    }
 1312         -
}
 1313         -
#[allow(clippy::new_without_default)]
 1314         -
#[allow(clippy::too_many_arguments)]
 1315         -
#[::pyo3::pymethods]
 1316         -
impl KitchenSinkOperationInput {
 1317         -
    #[new]
 1318         -
    pub fn new(
 1319         -
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1320         -
        boolean: ::std::option::Option<bool>,
 1321         -
        double: ::std::option::Option<f64>,
 1322         -
        empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1323         -
        float: ::std::option::Option<f32>,
 1324         -
        httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1325         -
        integer: ::std::option::Option<i32>,
 1326         -
        iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1327         -
        json_value: ::std::option::Option<::std::string::String>,
 1328         -
        list_of_lists: ::std::option::Option<
 1329         -
            ::std::vec::Vec<::std::vec::Vec<::std::string::String>>,
 1330         -
        >,
 1331         -
        list_of_maps_of_strings: ::std::option::Option<
 1332         -
            ::std::vec::Vec<
 1333         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1334         -
            >,
 1335         -
        >,
 1336         -
        list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1337         -
        list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 1338         -
        long: ::std::option::Option<i64>,
 1339         -
        map_of_lists_of_strings: ::std::option::Option<
 1340         -
            ::std::collections::HashMap<
 1341         -
                ::std::string::String,
 1342         -
                ::std::vec::Vec<::std::string::String>,
 1343         -
            >,
 1344         -
        >,
 1345         -
        map_of_maps: ::std::option::Option<
 1346         -
            ::std::collections::HashMap<
 1347         -
                ::std::string::String,
 1348         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1349         -
            >,
 1350         -
        >,
 1351         -
        map_of_strings: ::std::option::Option<
 1352         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1353         -
        >,
 1354         -
        map_of_structs: ::std::option::Option<
 1355         -
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1356         -
        >,
 1357         -
        recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 1358         -
        recursive_map: ::std::option::Option<
 1359         -
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1360         -
        >,
 1361         -
        recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 1362         -
        simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 1363         -
        string: ::std::option::Option<::std::string::String>,
 1364         -
        struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 1365         -
        timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1366         -
        unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1367         -
    ) -> Self {
 1368         -
        Self {
 1369         -
            blob,
 1370         -
            boolean,
 1371         -
            double,
 1372         -
            empty_struct,
 1373         -
            float,
 1374         -
            httpdate_timestamp,
 1375         -
            integer,
 1376         -
            iso8601_timestamp,
 1377         -
            json_value,
 1378         -
            list_of_lists,
 1379         -
            list_of_maps_of_strings,
 1380         -
            list_of_strings,
 1381         -
            list_of_structs,
 1382         -
            long,
 1383         -
            map_of_lists_of_strings,
 1384         -
            map_of_maps,
 1385         -
            map_of_strings,
 1386         -
            map_of_structs,
 1387         -
            recursive_list,
 1388         -
            recursive_map,
 1389         -
            recursive_struct,
 1390         -
            simple_struct,
 1391         -
            string,
 1392         -
            struct_with_json_name,
 1393         -
            timestamp,
 1394         -
            unix_timestamp,
 1395         -
        }
 1396         -
    }
 1397         -
    fn __repr__(&self) -> String {
 1398         -
        format!("{self:?}")
 1399         -
    }
 1400         -
    fn __str__(&self) -> String {
 1401         -
        format!("{self:?}")
 1402         -
    }
 1403         -
}
 1404         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<KitchenSinkOperationInput> {
 1405         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1406         -
        ob.extract::<KitchenSinkOperationInput>().map(Box::new)
 1407         -
    }
 1408         -
}
 1409         -
 1410         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<KitchenSinkOperationInput> {
 1411         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1412         -
        (*self).into_py(py)
 1413         -
    }
 1414         -
}
 1415         -
impl crate::constrained::Constrained for crate::input::KitchenSinkOperationInput {
 1416         -
    type Unconstrained = crate::input::kitchen_sink_operation_input_internal::Builder;
 1417         -
}
 1418         -
impl KitchenSinkOperationInput {
 1419         -
    /// Creates a new builder-style object to manufacture [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 1420         -
    pub fn builder() -> crate::input::kitchen_sink_operation_input::Builder {
 1421         -
        crate::input::kitchen_sink_operation_input::Builder::default()
 1422         -
    }
 1423         -
}
 1424         -
 1425         -
#[::pyo3::pyclass]
 1426         -
/// :rtype None:
 1427         -
#[allow(missing_docs)] // documentation missing in model
 1428         -
#[derive(
 1429         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1430         -
)]
 1431         -
pub struct EmptyOperationInput {}
 1432         -
#[allow(clippy::new_without_default)]
 1433         -
#[allow(clippy::too_many_arguments)]
 1434         -
#[::pyo3::pymethods]
 1435         -
impl EmptyOperationInput {
 1436         -
    #[new]
 1437         -
    pub fn new() -> Self {
 1438         -
        Self {}
 1439         -
    }
 1440         -
    fn __repr__(&self) -> String {
 1441         -
        format!("{self:?}")
 1442         -
    }
 1443         -
    fn __str__(&self) -> String {
 1444         -
        format!("{self:?}")
 1445         -
    }
 1446         -
}
 1447         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyOperationInput> {
 1448         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1449         -
        ob.extract::<EmptyOperationInput>().map(Box::new)
 1450         -
    }
 1451         -
}
 1452         -
 1453         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyOperationInput> {
 1454         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1455         -
        (*self).into_py(py)
 1456         -
    }
 1457         -
}
 1458         -
impl crate::constrained::Constrained for crate::input::EmptyOperationInput {
 1459         -
    type Unconstrained = crate::input::empty_operation_input_internal::Builder;
 1460         -
}
 1461         -
impl EmptyOperationInput {
 1462         -
    /// Creates a new builder-style object to manufacture [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 1463         -
    pub fn builder() -> crate::input::empty_operation_input::Builder {
 1464         -
        crate::input::empty_operation_input::Builder::default()
 1465         -
    }
 1466         -
}
 1467         -
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 1468         -
pub(crate) mod content_type_parameters_input_internal {
 1469         -
 1470         -
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
 1471         -
        fn from(builder: Builder) -> Self {
 1472         -
            builder.build()
 1473         -
        }
 1474         -
    }
 1475         -
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 1476         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1477         -
    pub(crate) struct Builder {
 1478         -
        pub(crate) value: ::std::option::Option<i32>,
 1479         -
    }
 1480         -
    impl Builder {
 1481         -
        #[allow(missing_docs)] // documentation missing in model
 1482         -
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
 1483         -
            self.value = input.map(|v| v.into());
 1484         -
            self
 1485         -
        }
 1486         -
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 1487         -
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 1488         -
            self.build_enforcing_all_constraints()
 1489         -
        }
 1490         -
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
 1491         -
            crate::input::ContentTypeParametersInput { value: self.value }
 1492         -
        }
 1493         -
    }
 1494         -
}
 1495         -
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 1496         -
pub mod content_type_parameters_input {
 1497         -
 1498         -
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
 1499         -
        fn from(builder: Builder) -> Self {
 1500         -
            builder.build()
 1501         -
        }
 1502         -
    }
 1503         -
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 1504         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1505         -
    pub struct Builder {
 1506         -
        pub(crate) value: ::std::option::Option<i32>,
 1507         -
    }
 1508         -
    impl Builder {
 1509         -
        #[allow(missing_docs)] // documentation missing in model
 1510         -
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
 1511         -
            self.value = input;
 1512         -
            self
 1513         -
        }
 1514         -
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 1515         -
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 1516         -
            self.build_enforcing_required_and_enum_traits()
 1517         -
        }
 1518         -
        fn build_enforcing_required_and_enum_traits(
 1519         -
            self,
 1520         -
        ) -> crate::input::ContentTypeParametersInput {
 1521         -
            crate::input::ContentTypeParametersInput { value: self.value }
 1522         -
        }
 1523         -
    }
 1524         -
}
 1525         -
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 1526         -
pub(crate) mod put_with_content_encoding_input_internal {
 1527         -
 1528         -
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
 1529         -
        fn from(builder: Builder) -> Self {
 1530         -
            builder.build()
 1531         -
        }
 1532         -
    }
 1533         -
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 1534         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1535         -
    pub(crate) struct Builder {
 1536         -
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
 1537         -
        pub(crate) data: ::std::option::Option<::std::string::String>,
 1538         -
    }
 1539         -
    impl Builder {
 1540         -
        #[allow(missing_docs)] // documentation missing in model
 1541         -
        pub(crate) fn set_encoding(
 1542         -
            mut self,
 1543         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1544         -
        ) -> Self {
 1545         -
            self.encoding = input.map(|v| v.into());
 1546         -
            self
 1547         -
        }
 1548         -
        #[allow(missing_docs)] // documentation missing in model
 1549         -
        pub(crate) fn set_data(
 1550         -
            mut self,
 1551         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1552         -
        ) -> Self {
 1553         -
            self.data = input.map(|v| v.into());
 1554         -
            self
 1555         -
        }
 1556         -
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 1557         -
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
 1558         -
            self.build_enforcing_all_constraints()
 1559         -
        }
 1560         -
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
 1561         -
            crate::input::PutWithContentEncodingInput {
 1562         -
                encoding: self.encoding,
 1563         -
                data: self.data,
 1564         -
            }
 1565         -
        }
 1566         -
    }
 1567         -
}
 1568         -
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 1569         -
pub mod put_with_content_encoding_input {
 1570         -
 1571         -
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
 1572         -
        fn from(builder: Builder) -> Self {
 1573         -
            builder.build()
 1574         -
        }
 1575         -
    }
 1576         -
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 1577         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1578         -
    pub struct Builder {
 1579         -
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
 1580         -
        pub(crate) data: ::std::option::Option<::std::string::String>,
 1581         -
    }
 1582         -
    impl Builder {
 1583         -
        #[allow(missing_docs)] // documentation missing in model
 1584         -
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1585         -
            self.encoding = input;
 1586         -
            self
 1587         -
        }
 1588         -
        #[allow(missing_docs)] // documentation missing in model
 1589         -
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1590         -
            self.data = input;
 1591         -
            self
 1592         -
        }
 1593         -
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
 1594         -
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
 1595         -
            self.build_enforcing_required_and_enum_traits()
 1596         -
        }
 1597         -
        fn build_enforcing_required_and_enum_traits(
 1598         -
            self,
 1599         -
        ) -> crate::input::PutWithContentEncodingInput {
 1600         -
            crate::input::PutWithContentEncodingInput {
 1601         -
                encoding: self.encoding,
 1602         -
                data: self.data,
 1603         -
            }
 1604         -
        }
 1605         -
    }
 1606         -
}
 1607         -
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 1608         -
pub(crate) mod fractional_seconds_input_internal {
 1609         -
 1610         -
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
 1611         -
        fn from(builder: Builder) -> Self {
 1612         -
            builder.build()
        1428  +
    pub fn value(&self) -> ::std::option::Option<i32> {
        1429  +
        self.value
 1613   1430   
    }
        1431  +
}
        1432  +
#[allow(clippy::new_without_default)]
        1433  +
#[allow(clippy::too_many_arguments)]
        1434  +
#[::pyo3::pymethods]
        1435  +
impl ContentTypeParametersInput {
        1436  +
    #[new]
        1437  +
    pub fn new(value: ::std::option::Option<i32>) -> Self {
        1438  +
        Self { value }
 1614   1439   
    }
 1615         -
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 1616         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1617         -
    pub(crate) struct Builder {}
 1618         -
    impl Builder {
 1619         -
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 1620         -
        pub fn build(self) -> crate::input::FractionalSecondsInput {
 1621         -
            self.build_enforcing_all_constraints()
        1440  +
    fn __repr__(&self) -> String {
        1441  +
        format!("{self:?}")
 1622   1442   
    }
 1623         -
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
 1624         -
            crate::input::FractionalSecondsInput {}
        1443  +
    fn __str__(&self) -> String {
        1444  +
        format!("{self:?}")
 1625   1445   
    }
        1446  +
}
        1447  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ContentTypeParametersInput> {
        1448  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        1449  +
        ob.extract::<ContentTypeParametersInput>().map(Box::new)
 1626   1450   
    }
 1627   1451   
}
 1628         -
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 1629         -
pub mod fractional_seconds_input {
 1630   1452   
 1631         -
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
 1632         -
        fn from(builder: Builder) -> Self {
 1633         -
            builder.build()
 1634         -
        }
 1635         -
    }
 1636         -
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 1637         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1638         -
    pub struct Builder {}
 1639         -
    impl Builder {
 1640         -
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
 1641         -
        pub fn build(self) -> crate::input::FractionalSecondsInput {
 1642         -
            self.build_enforcing_required_and_enum_traits()
 1643         -
        }
 1644         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::FractionalSecondsInput {
 1645         -
            crate::input::FractionalSecondsInput {}
        1453  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ContentTypeParametersInput> {
        1454  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        1455  +
        (*self).into_py(py)
 1646   1456   
    }
        1457  +
}
        1458  +
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
        1459  +
    type Unconstrained = crate::input::content_type_parameters_input_internal::Builder;
        1460  +
}
        1461  +
impl ContentTypeParametersInput {
        1462  +
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        1463  +
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
        1464  +
        crate::input::content_type_parameters_input::Builder::default()
 1647   1465   
    }
 1648   1466   
}
 1649         -
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 1650         -
pub(crate) mod datetime_offsets_input_internal {
        1467  +
/// See [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        1468  +
pub(crate) mod empty_operation_input_internal {
 1651   1469   
 1652         -
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
        1470  +
    impl ::std::convert::From<Builder> for crate::input::EmptyOperationInput {
 1653   1471   
        fn from(builder: Builder) -> Self {
 1654   1472   
            builder.build()
 1655   1473   
        }
 1656   1474   
    }
 1657         -
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        1475  +
    /// A builder for [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 1658   1476   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1659   1477   
    pub(crate) struct Builder {}
 1660   1478   
    impl Builder {
 1661         -
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 1662         -
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
        1479  +
        /// Consumes the builder and constructs a [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        1480  +
        pub fn build(self) -> crate::input::EmptyOperationInput {
 1663   1481   
            self.build_enforcing_all_constraints()
 1664   1482   
        }
 1665         -
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
 1666         -
            crate::input::DatetimeOffsetsInput {}
        1483  +
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyOperationInput {
        1484  +
            crate::input::EmptyOperationInput {}
 1667   1485   
        }
 1668   1486   
    }
 1669   1487   
}
 1670         -
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 1671         -
pub mod datetime_offsets_input {
        1488  +
/// See [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        1489  +
pub mod empty_operation_input {
 1672   1490   
 1673         -
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
        1491  +
    impl ::std::convert::From<Builder> for crate::input::EmptyOperationInput {
 1674   1492   
        fn from(builder: Builder) -> Self {
 1675   1493   
            builder.build()
 1676   1494   
        }
 1677   1495   
    }
 1678         -
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        1496  +
    /// A builder for [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 1679   1497   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1680   1498   
    pub struct Builder {}
 1681   1499   
    impl Builder {
 1682         -
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 1683         -
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
        1500  +
        /// Consumes the builder and constructs a [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        1501  +
        pub fn build(self) -> crate::input::EmptyOperationInput {
 1684   1502   
            self.build_enforcing_required_and_enum_traits()
 1685   1503   
        }
 1686         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::DatetimeOffsetsInput {
 1687         -
            crate::input::DatetimeOffsetsInput {}
        1504  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::EmptyOperationInput {
        1505  +
            crate::input::EmptyOperationInput {}
 1688   1506   
        }
 1689   1507   
    }
 1690   1508   
}
 1691         -
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 1692         -
pub(crate) mod host_with_path_operation_input_internal {
        1509  +
/// See [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        1510  +
pub(crate) mod kitchen_sink_operation_input_internal {
 1693   1511   
 1694         -
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
        1512  +
    impl ::std::convert::From<Builder> for crate::input::KitchenSinkOperationInput {
 1695   1513   
        fn from(builder: Builder) -> Self {
 1696   1514   
            builder.build()
 1697   1515   
        }
 1698   1516   
    }
 1699         -
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        1517  +
    /// A builder for [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 1700   1518   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1701         -
    pub(crate) struct Builder {}
 1702         -
    impl Builder {
 1703         -
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 1704         -
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
 1705         -
            self.build_enforcing_all_constraints()
 1706         -
        }
 1707         -
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
 1708         -
            crate::input::HostWithPathOperationInput {}
 1709         -
        }
 1710         -
    }
 1711         -
}
 1712         -
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 1713         -
pub mod host_with_path_operation_input {
 1714         -
 1715         -
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
 1716         -
        fn from(builder: Builder) -> Self {
 1717         -
            builder.build()
 1718         -
        }
        1519  +
    pub(crate) struct Builder {
        1520  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1521  +
        pub(crate) boolean: ::std::option::Option<bool>,
        1522  +
        pub(crate) double: ::std::option::Option<f64>,
        1523  +
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        1524  +
        pub(crate) float: ::std::option::Option<f32>,
        1525  +
        pub(crate) httpdate_timestamp:
        1526  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1527  +
        pub(crate) integer: ::std::option::Option<i32>,
        1528  +
        pub(crate) iso8601_timestamp:
        1529  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1530  +
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        1531  +
        pub(crate) list_of_lists:
        1532  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1533  +
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
        1534  +
            ::std::vec::Vec<
        1535  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1536  +
            >,
        1537  +
        >,
        1538  +
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1539  +
        pub(crate) list_of_structs:
        1540  +
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1541  +
        pub(crate) long: ::std::option::Option<i64>,
        1542  +
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
        1543  +
            ::std::collections::HashMap<
        1544  +
                ::std::string::String,
        1545  +
                ::std::vec::Vec<::std::string::String>,
        1546  +
            >,
        1547  +
        >,
        1548  +
        pub(crate) map_of_maps: ::std::option::Option<
        1549  +
            ::std::collections::HashMap<
        1550  +
                ::std::string::String,
        1551  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1552  +
            >,
        1553  +
        >,
        1554  +
        pub(crate) map_of_strings: ::std::option::Option<
        1555  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1556  +
        >,
        1557  +
        pub(crate) map_of_structs: ::std::option::Option<
        1558  +
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1559  +
        >,
        1560  +
        pub(crate) recursive_list:
        1561  +
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1562  +
        pub(crate) recursive_map: ::std::option::Option<
        1563  +
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1564  +
        >,
        1565  +
        pub(crate) recursive_struct:
        1566  +
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1567  +
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1568  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1569  +
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1570  +
        pub(crate) timestamp:
        1571  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1572  +
        pub(crate) unix_timestamp:
        1573  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1719   1574   
    }
 1720         -
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 1721         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1722         -
    pub struct Builder {}
 1723   1575   
    impl Builder {
 1724         -
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
 1725         -
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
 1726         -
            self.build_enforcing_required_and_enum_traits()
 1727         -
        }
 1728         -
        fn build_enforcing_required_and_enum_traits(
 1729         -
            self,
 1730         -
        ) -> crate::input::HostWithPathOperationInput {
 1731         -
            crate::input::HostWithPathOperationInput {}
 1732         -
        }
 1733         -
    }
 1734         -
}
 1735         -
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 1736         -
pub(crate) mod endpoint_with_host_label_operation_input_internal {
 1737         -
 1738         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1739         -
    /// Holds one variant for each of the ways the builder can fail.
 1740         -
    #[non_exhaustive]
 1741         -
    #[allow(clippy::enum_variant_names)]
 1742         -
    pub(crate) enum ConstraintViolation {
 1743         -
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
 1744         -
        MissingLabel,
 1745         -
    }
 1746         -
    impl ::std::fmt::Display for ConstraintViolation {
 1747         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1748         -
            match self {
 1749         -
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
 1750         -
            }
 1751         -
        }
 1752         -
    }
 1753         -
    impl ::std::error::Error for ConstraintViolation {}
 1754         -
    impl ConstraintViolation {
 1755         -
        pub(crate) fn as_validation_exception_field(
 1756         -
            self,
 1757         -
            path: ::std::string::String,
 1758         -
        ) -> crate::model::ValidationExceptionField {
 1759         -
            match self {
 1760         -
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
 1761         -
                    message: format!(
 1762         -
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
 1763         -
                        path
 1764         -
                    ),
 1765         -
                    path: path + "/label",
 1766         -
                },
 1767         -
            }
        1576  +
        #[allow(missing_docs)] // documentation missing in model
        1577  +
        pub(crate) fn set_blob(
        1578  +
            mut self,
        1579  +
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
        1580  +
        ) -> Self {
        1581  +
            self.blob = input.map(|v| v.into());
        1582  +
            self
 1768   1583   
        }
        1584  +
        #[allow(missing_docs)] // documentation missing in model
        1585  +
        pub(crate) fn set_boolean(
        1586  +
            mut self,
        1587  +
            input: Option<impl ::std::convert::Into<bool>>,
        1588  +
        ) -> Self {
        1589  +
            self.boolean = input.map(|v| v.into());
        1590  +
            self
 1769   1591   
        }
 1770         -
    impl ::std::convert::From<ConstraintViolation>
 1771         -
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 1772         -
    {
 1773         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 1774         -
            let first_validation_exception_field =
 1775         -
                constraint_violation.as_validation_exception_field("".to_owned());
 1776         -
            let validation_exception = crate::error::ValidationException {
 1777         -
                message: format!(
 1778         -
                    "1 validation error detected. {}",
 1779         -
                    &first_validation_exception_field.message
 1780         -
                ),
 1781         -
                field_list: Some(vec![first_validation_exception_field]),
 1782         -
            };
 1783         -
            Self::ConstraintViolation(
 1784         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 1785         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 1786         -
                            )
        1592  +
        #[allow(missing_docs)] // documentation missing in model
        1593  +
        pub(crate) fn set_double(mut self, input: Option<impl ::std::convert::Into<f64>>) -> Self {
        1594  +
            self.double = input.map(|v| v.into());
        1595  +
            self
 1787   1596   
        }
        1597  +
        #[allow(missing_docs)] // documentation missing in model
        1598  +
        pub(crate) fn set_empty_struct(
        1599  +
            mut self,
        1600  +
            input: Option<impl ::std::convert::Into<crate::model::EmptyStruct>>,
        1601  +
        ) -> Self {
        1602  +
            self.empty_struct = input.map(|v| v.into());
        1603  +
            self
 1788   1604   
        }
 1789         -
    impl ::std::convert::From<Builder>
 1790         -
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
 1791         -
    {
 1792         -
        fn from(builder: Builder) -> Self {
 1793         -
            Self::Unconstrained(builder)
        1605  +
        #[allow(missing_docs)] // documentation missing in model
        1606  +
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
        1607  +
            self.float = input.map(|v| v.into());
        1608  +
            self
 1794   1609   
        }
        1610  +
        #[allow(missing_docs)] // documentation missing in model
        1611  +
        pub(crate) fn set_httpdate_timestamp(
        1612  +
            mut self,
        1613  +
            input: Option<
        1614  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        1615  +
            >,
        1616  +
        ) -> Self {
        1617  +
            self.httpdate_timestamp = input.map(|v| v.into());
        1618  +
            self
 1795   1619   
        }
 1796         -
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
 1797         -
        type Error = ConstraintViolation;
 1798         -
 1799         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 1800         -
            builder.build()
        1620  +
        #[allow(missing_docs)] // documentation missing in model
        1621  +
        pub(crate) fn set_integer(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        1622  +
            self.integer = input.map(|v| v.into());
        1623  +
            self
 1801   1624   
        }
        1625  +
        #[allow(missing_docs)] // documentation missing in model
        1626  +
        pub(crate) fn set_iso8601_timestamp(
        1627  +
            mut self,
        1628  +
            input: Option<
        1629  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        1630  +
            >,
        1631  +
        ) -> Self {
        1632  +
            self.iso8601_timestamp = input.map(|v| v.into());
        1633  +
            self
 1802   1634   
        }
 1803         -
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 1804         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1805         -
    pub(crate) struct Builder {
 1806         -
        pub(crate) label: ::std::option::Option<::std::string::String>,
        1635  +
        #[allow(missing_docs)] // documentation missing in model
        1636  +
        pub(crate) fn set_json_value(
        1637  +
            mut self,
        1638  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        1639  +
        ) -> Self {
        1640  +
            self.json_value = input.map(|v| v.into());
        1641  +
            self
 1807   1642   
        }
 1808         -
    impl Builder {
 1809   1643   
        #[allow(missing_docs)] // documentation missing in model
 1810         -
        pub(crate) fn set_label(
        1644  +
        pub(crate) fn set_list_of_lists(
 1811   1645   
            mut self,
 1812         -
            input: impl ::std::convert::Into<::std::string::String>,
        1646  +
            input: Option<
        1647  +
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1648  +
            >,
 1813   1649   
        ) -> Self {
 1814         -
            self.label = Some(input.into());
        1650  +
            self.list_of_lists = input.map(|v| v.into());
 1815   1651   
            self
 1816   1652   
        }
 1817         -
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 1818         -
        ///
 1819         -
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
 1820         -
        ///
 1821         -
        pub fn build(
 1822         -
            self,
 1823         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
 1824         -
        {
 1825         -
            self.build_enforcing_all_constraints()
        1653  +
        #[allow(missing_docs)] // documentation missing in model
        1654  +
        pub(crate) fn set_list_of_maps_of_strings(
        1655  +
            mut self,
        1656  +
            input: Option<
        1657  +
                impl ::std::convert::Into<
        1658  +
                    ::std::vec::Vec<
        1659  +
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1660  +
                    >,
        1661  +
                >,
        1662  +
            >,
        1663  +
        ) -> Self {
        1664  +
            self.list_of_maps_of_strings = input.map(|v| v.into());
        1665  +
            self
 1826   1666   
        }
 1827         -
        fn build_enforcing_all_constraints(
 1828         -
            self,
 1829         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
 1830         -
        {
 1831         -
            Ok(crate::input::EndpointWithHostLabelOperationInput {
 1832         -
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
 1833         -
            })
        1667  +
        #[allow(missing_docs)] // documentation missing in model
        1668  +
        pub(crate) fn set_list_of_strings(
        1669  +
            mut self,
        1670  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        1671  +
        ) -> Self {
        1672  +
            self.list_of_strings = input.map(|v| v.into());
        1673  +
            self
 1834   1674   
        }
        1675  +
        #[allow(missing_docs)] // documentation missing in model
        1676  +
        pub(crate) fn set_list_of_structs(
        1677  +
            mut self,
        1678  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::SimpleStruct>>>,
        1679  +
        ) -> Self {
        1680  +
            self.list_of_structs = input.map(|v| v.into());
        1681  +
            self
 1835   1682   
        }
 1836         -
}
 1837         -
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 1838         -
pub mod endpoint_with_host_label_operation_input {
 1839         -
 1840         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1841         -
    /// Holds one variant for each of the ways the builder can fail.
 1842         -
    #[allow(clippy::enum_variant_names)]
 1843         -
    pub enum ConstraintViolation {
 1844         -
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
 1845         -
        MissingLabel,
        1683  +
        #[allow(missing_docs)] // documentation missing in model
        1684  +
        pub(crate) fn set_long(mut self, input: Option<impl ::std::convert::Into<i64>>) -> Self {
        1685  +
            self.long = input.map(|v| v.into());
        1686  +
            self
 1846   1687   
        }
 1847         -
    impl ::std::fmt::Display for ConstraintViolation {
 1848         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1849         -
            match self {
 1850         -
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
        1688  +
        #[allow(missing_docs)] // documentation missing in model
        1689  +
        pub(crate) fn set_map_of_lists_of_strings(
        1690  +
            mut self,
        1691  +
            input: Option<
        1692  +
                impl ::std::convert::Into<
        1693  +
                    ::std::collections::HashMap<
        1694  +
                        ::std::string::String,
        1695  +
                        ::std::vec::Vec<::std::string::String>,
        1696  +
                    >,
        1697  +
                >,
        1698  +
            >,
        1699  +
        ) -> Self {
        1700  +
            self.map_of_lists_of_strings = input.map(|v| v.into());
        1701  +
            self
 1851   1702   
        }
        1703  +
        #[allow(missing_docs)] // documentation missing in model
        1704  +
        pub(crate) fn set_map_of_maps(
        1705  +
            mut self,
        1706  +
            input: Option<
        1707  +
                impl ::std::convert::Into<
        1708  +
                    ::std::collections::HashMap<
        1709  +
                        ::std::string::String,
        1710  +
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1711  +
                    >,
        1712  +
                >,
        1713  +
            >,
        1714  +
        ) -> Self {
        1715  +
            self.map_of_maps = input.map(|v| v.into());
        1716  +
            self
 1852   1717   
        }
        1718  +
        #[allow(missing_docs)] // documentation missing in model
        1719  +
        pub(crate) fn set_map_of_strings(
        1720  +
            mut self,
        1721  +
            input: Option<
        1722  +
                impl ::std::convert::Into<
        1723  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1724  +
                >,
        1725  +
            >,
        1726  +
        ) -> Self {
        1727  +
            self.map_of_strings = input.map(|v| v.into());
        1728  +
            self
 1853   1729   
        }
 1854         -
    impl ::std::error::Error for ConstraintViolation {}
 1855         -
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
 1856         -
        type Error = ConstraintViolation;
 1857         -
 1858         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 1859         -
            builder.build()
        1730  +
        #[allow(missing_docs)] // documentation missing in model
        1731  +
        pub(crate) fn set_map_of_structs(
        1732  +
            mut self,
        1733  +
            input: Option<
        1734  +
                impl ::std::convert::Into<
        1735  +
                    ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1736  +
                >,
        1737  +
            >,
        1738  +
        ) -> Self {
        1739  +
            self.map_of_structs = input.map(|v| v.into());
        1740  +
            self
 1860   1741   
        }
        1742  +
        #[allow(missing_docs)] // documentation missing in model
        1743  +
        pub(crate) fn set_recursive_list(
        1744  +
            mut self,
        1745  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::KitchenSink>>>,
        1746  +
        ) -> Self {
        1747  +
            self.recursive_list = input.map(|v| v.into());
        1748  +
            self
 1861   1749   
        }
 1862         -
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 1863         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1864         -
    pub struct Builder {
 1865         -
        pub(crate) label: ::std::option::Option<::std::string::String>,
        1750  +
        #[allow(missing_docs)] // documentation missing in model
        1751  +
        pub(crate) fn set_recursive_map(
        1752  +
            mut self,
        1753  +
            input: Option<
        1754  +
                impl ::std::convert::Into<
        1755  +
                    ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1756  +
                >,
        1757  +
            >,
        1758  +
        ) -> Self {
        1759  +
            self.recursive_map = input.map(|v| v.into());
        1760  +
            self
 1866   1761   
        }
 1867         -
    impl Builder {
 1868   1762   
        #[allow(missing_docs)] // documentation missing in model
 1869         -
        pub fn label(mut self, input: ::std::string::String) -> Self {
 1870         -
            self.label = Some(input);
        1763  +
        pub(crate) fn set_recursive_struct(
        1764  +
            mut self,
        1765  +
            input: Option<impl ::std::convert::Into<::std::boxed::Box<crate::model::KitchenSink>>>,
        1766  +
        ) -> Self {
        1767  +
            self.recursive_struct = input.map(|v| v.into());
 1871   1768   
            self
 1872   1769   
        }
 1873         -
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
 1874         -
        ///
 1875         -
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if you do not provide a value for all non-`Option`al members.
 1876         -
        ///
 1877         -
        pub fn build(
 1878         -
            self,
 1879         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
 1880         -
        {
 1881         -
            self.build_enforcing_required_and_enum_traits()
        1770  +
        #[allow(missing_docs)] // documentation missing in model
        1771  +
        pub(crate) fn set_simple_struct(
        1772  +
            mut self,
        1773  +
            input: Option<impl ::std::convert::Into<crate::model::SimpleStruct>>,
        1774  +
        ) -> Self {
        1775  +
            self.simple_struct = input.map(|v| v.into());
        1776  +
            self
 1882   1777   
        }
 1883         -
        fn build_enforcing_required_and_enum_traits(
 1884         -
            self,
 1885         -
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
 1886         -
        {
 1887         -
            Ok(crate::input::EndpointWithHostLabelOperationInput {
 1888         -
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
 1889         -
            })
        1778  +
        #[allow(missing_docs)] // documentation missing in model
        1779  +
        pub(crate) fn set_string(
        1780  +
            mut self,
        1781  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        1782  +
        ) -> Self {
        1783  +
            self.string = input.map(|v| v.into());
        1784  +
            self
 1890   1785   
        }
        1786  +
        #[allow(missing_docs)] // documentation missing in model
        1787  +
        pub(crate) fn set_struct_with_json_name(
        1788  +
            mut self,
        1789  +
            input: Option<impl ::std::convert::Into<crate::model::StructWithJsonName>>,
        1790  +
        ) -> Self {
        1791  +
            self.struct_with_json_name = input.map(|v| v.into());
        1792  +
            self
 1891   1793   
        }
 1892         -
}
 1893         -
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 1894         -
pub(crate) mod endpoint_operation_input_internal {
 1895         -
 1896         -
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
 1897         -
        fn from(builder: Builder) -> Self {
 1898         -
            builder.build()
        1794  +
        #[allow(missing_docs)] // documentation missing in model
        1795  +
        pub(crate) fn set_timestamp(
        1796  +
            mut self,
        1797  +
            input: Option<
        1798  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        1799  +
            >,
        1800  +
        ) -> Self {
        1801  +
            self.timestamp = input.map(|v| v.into());
        1802  +
            self
 1899   1803   
        }
        1804  +
        #[allow(missing_docs)] // documentation missing in model
        1805  +
        pub(crate) fn set_unix_timestamp(
        1806  +
            mut self,
        1807  +
            input: Option<
        1808  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
        1809  +
            >,
        1810  +
        ) -> Self {
        1811  +
            self.unix_timestamp = input.map(|v| v.into());
        1812  +
            self
 1900   1813   
        }
 1901         -
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 1902         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1903         -
    pub(crate) struct Builder {}
 1904         -
    impl Builder {
 1905         -
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 1906         -
        pub fn build(self) -> crate::input::EndpointOperationInput {
        1814  +
        /// Consumes the builder and constructs a [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        1815  +
        pub fn build(self) -> crate::input::KitchenSinkOperationInput {
 1907   1816   
            self.build_enforcing_all_constraints()
 1908   1817   
        }
 1909         -
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
 1910         -
            crate::input::EndpointOperationInput {}
        1818  +
        fn build_enforcing_all_constraints(self) -> crate::input::KitchenSinkOperationInput {
        1819  +
            crate::input::KitchenSinkOperationInput {
        1820  +
                blob: self.blob,
        1821  +
                boolean: self.boolean,
        1822  +
                double: self.double,
        1823  +
                empty_struct: self.empty_struct,
        1824  +
                float: self.float,
        1825  +
                httpdate_timestamp: self.httpdate_timestamp,
        1826  +
                integer: self.integer,
        1827  +
                iso8601_timestamp: self.iso8601_timestamp,
        1828  +
                json_value: self.json_value,
        1829  +
                list_of_lists: self.list_of_lists,
        1830  +
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        1831  +
                list_of_strings: self.list_of_strings,
        1832  +
                list_of_structs: self.list_of_structs,
        1833  +
                long: self.long,
        1834  +
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        1835  +
                map_of_maps: self.map_of_maps,
        1836  +
                map_of_strings: self.map_of_strings,
        1837  +
                map_of_structs: self.map_of_structs,
        1838  +
                recursive_list: self.recursive_list,
        1839  +
                recursive_map: self.recursive_map,
        1840  +
                recursive_struct: self.recursive_struct,
        1841  +
                simple_struct: self.simple_struct,
        1842  +
                string: self.string,
        1843  +
                struct_with_json_name: self.struct_with_json_name,
        1844  +
                timestamp: self.timestamp,
        1845  +
                unix_timestamp: self.unix_timestamp,
        1846  +
            }
 1911   1847   
        }
 1912   1848   
    }
 1913   1849   
}
 1914         -
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 1915         -
pub mod endpoint_operation_input {
        1850  +
/// See [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        1851  +
pub mod kitchen_sink_operation_input {
 1916   1852   
 1917         -
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
        1853  +
    impl ::std::convert::From<Builder> for crate::input::KitchenSinkOperationInput {
 1918   1854   
        fn from(builder: Builder) -> Self {
 1919   1855   
            builder.build()
 1920   1856   
        }
 1921   1857   
    }
 1922         -
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        1858  +
    /// A builder for [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 1923   1859   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1924         -
    pub struct Builder {}
        1860  +
    pub struct Builder {
        1861  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1862  +
        pub(crate) boolean: ::std::option::Option<bool>,
        1863  +
        pub(crate) double: ::std::option::Option<f64>,
        1864  +
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        1865  +
        pub(crate) float: ::std::option::Option<f32>,
        1866  +
        pub(crate) httpdate_timestamp:
        1867  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1868  +
        pub(crate) integer: ::std::option::Option<i32>,
        1869  +
        pub(crate) iso8601_timestamp:
        1870  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1871  +
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        1872  +
        pub(crate) list_of_lists:
        1873  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1874  +
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
        1875  +
            ::std::vec::Vec<
        1876  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1877  +
            >,
        1878  +
        >,
        1879  +
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1880  +
        pub(crate) list_of_structs:
        1881  +
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1882  +
        pub(crate) long: ::std::option::Option<i64>,
        1883  +
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
        1884  +
            ::std::collections::HashMap<
        1885  +
                ::std::string::String,
        1886  +
                ::std::vec::Vec<::std::string::String>,
        1887  +
            >,
        1888  +
        >,
        1889  +
        pub(crate) map_of_maps: ::std::option::Option<
        1890  +
            ::std::collections::HashMap<
        1891  +
                ::std::string::String,
        1892  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1893  +
            >,
        1894  +
        >,
        1895  +
        pub(crate) map_of_strings: ::std::option::Option<
        1896  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1897  +
        >,
        1898  +
        pub(crate) map_of_structs: ::std::option::Option<
        1899  +
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1900  +
        >,
        1901  +
        pub(crate) recursive_list:
        1902  +
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1903  +
        pub(crate) recursive_map: ::std::option::Option<
        1904  +
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1905  +
        >,
        1906  +
        pub(crate) recursive_struct:
        1907  +
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1908  +
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1909  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1910  +
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1911  +
        pub(crate) timestamp:
        1912  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1913  +
        pub(crate) unix_timestamp:
        1914  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1915  +
    }
 1925   1916   
    impl Builder {
 1926         -
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 1927         -
        pub fn build(self) -> crate::input::EndpointOperationInput {
 1928         -
            self.build_enforcing_required_and_enum_traits()
        1917  +
        #[allow(missing_docs)] // documentation missing in model
        1918  +
        pub fn blob(
        1919  +
            mut self,
        1920  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1921  +
        ) -> Self {
        1922  +
            self.blob = input;
        1923  +
            self
 1929   1924   
        }
 1930         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::EndpointOperationInput {
 1931         -
            crate::input::EndpointOperationInput {}
        1925  +
        #[allow(missing_docs)] // documentation missing in model
        1926  +
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
        1927  +
            self.boolean = input;
        1928  +
            self
 1932   1929   
        }
        1930  +
        #[allow(missing_docs)] // documentation missing in model
        1931  +
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
        1932  +
            self.double = input;
        1933  +
            self
 1933   1934   
        }
 1934         -
}
 1935         -
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 1936         -
pub(crate) mod json_unions_input_internal {
 1937         -
 1938         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1939         -
    /// Holds one variant for each of the ways the builder can fail.
 1940         -
    #[non_exhaustive]
 1941         -
    #[allow(clippy::enum_variant_names)]
 1942         -
    pub(crate) enum ConstraintViolation {
 1943         -
        /// Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
 1944         -
        #[doc(hidden)]
 1945         -
        Contents(crate::model::my_union_internal::ConstraintViolation),
        1935  +
        #[allow(missing_docs)] // documentation missing in model
        1936  +
        pub fn empty_struct(
        1937  +
            mut self,
        1938  +
            input: ::std::option::Option<crate::model::EmptyStruct>,
        1939  +
        ) -> Self {
        1940  +
            self.empty_struct = input;
        1941  +
            self
 1946   1942   
        }
 1947         -
    impl ::std::fmt::Display for ConstraintViolation {
 1948         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1949         -
            match self {
 1950         -
                ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
        1943  +
        #[allow(missing_docs)] // documentation missing in model
        1944  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
        1945  +
            self.float = input;
        1946  +
            self
 1951   1947   
        }
        1948  +
        #[allow(missing_docs)] // documentation missing in model
        1949  +
        pub fn httpdate_timestamp(
        1950  +
            mut self,
        1951  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1952  +
        ) -> Self {
        1953  +
            self.httpdate_timestamp = input;
        1954  +
            self
 1952   1955   
        }
        1956  +
        #[allow(missing_docs)] // documentation missing in model
        1957  +
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
        1958  +
            self.integer = input;
        1959  +
            self
 1953   1960   
        }
 1954         -
    impl ::std::error::Error for ConstraintViolation {}
 1955         -
    impl ConstraintViolation {
 1956         -
        pub(crate) fn as_validation_exception_field(
 1957         -
            self,
 1958         -
            path: ::std::string::String,
 1959         -
        ) -> crate::model::ValidationExceptionField {
 1960         -
            match self {
 1961         -
                ConstraintViolation::Contents(inner) => {
 1962         -
                    inner.as_validation_exception_field(path + "/contents")
        1961  +
        #[allow(missing_docs)] // documentation missing in model
        1962  +
        pub fn iso8601_timestamp(
        1963  +
            mut self,
        1964  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1965  +
        ) -> Self {
        1966  +
            self.iso8601_timestamp = input;
        1967  +
            self
        1968  +
        }
        1969  +
        #[allow(missing_docs)] // documentation missing in model
        1970  +
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1971  +
            self.json_value = input;
        1972  +
            self
 1963   1973   
        }
        1974  +
        #[allow(missing_docs)] // documentation missing in model
        1975  +
        pub fn list_of_lists(
        1976  +
            mut self,
        1977  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1978  +
        ) -> Self {
        1979  +
            self.list_of_lists = input;
        1980  +
            self
 1964   1981   
        }
        1982  +
        #[allow(missing_docs)] // documentation missing in model
        1983  +
        pub fn list_of_maps_of_strings(
        1984  +
            mut self,
        1985  +
            input: ::std::option::Option<
        1986  +
                ::std::vec::Vec<
        1987  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1988  +
                >,
        1989  +
            >,
        1990  +
        ) -> Self {
        1991  +
            self.list_of_maps_of_strings = input;
        1992  +
            self
 1965   1993   
        }
        1994  +
        #[allow(missing_docs)] // documentation missing in model
        1995  +
        pub fn list_of_strings(
        1996  +
            mut self,
        1997  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1998  +
        ) -> Self {
        1999  +
            self.list_of_strings = input;
        2000  +
            self
 1966   2001   
        }
 1967         -
    impl ::std::convert::From<ConstraintViolation>
 1968         -
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 1969         -
    {
 1970         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
 1971         -
            let first_validation_exception_field =
 1972         -
                constraint_violation.as_validation_exception_field("".to_owned());
 1973         -
            let validation_exception = crate::error::ValidationException {
 1974         -
                message: format!(
 1975         -
                    "1 validation error detected. {}",
 1976         -
                    &first_validation_exception_field.message
 1977         -
                ),
 1978         -
                field_list: Some(vec![first_validation_exception_field]),
 1979         -
            };
 1980         -
            Self::ConstraintViolation(
 1981         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 1982         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 1983         -
                            )
        2002  +
        #[allow(missing_docs)] // documentation missing in model
        2003  +
        pub fn list_of_structs(
        2004  +
            mut self,
        2005  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        2006  +
        ) -> Self {
        2007  +
            self.list_of_structs = input;
        2008  +
            self
 1984   2009   
        }
        2010  +
        #[allow(missing_docs)] // documentation missing in model
        2011  +
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
        2012  +
            self.long = input;
        2013  +
            self
 1985   2014   
        }
 1986         -
    impl ::std::convert::From<Builder>
 1987         -
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
 1988         -
    {
 1989         -
        fn from(builder: Builder) -> Self {
 1990         -
            Self::Unconstrained(builder)
        2015  +
        #[allow(missing_docs)] // documentation missing in model
        2016  +
        pub fn map_of_lists_of_strings(
        2017  +
            mut self,
        2018  +
            input: ::std::option::Option<
        2019  +
                ::std::collections::HashMap<
        2020  +
                    ::std::string::String,
        2021  +
                    ::std::vec::Vec<::std::string::String>,
        2022  +
                >,
        2023  +
            >,
        2024  +
        ) -> Self {
        2025  +
            self.map_of_lists_of_strings = input;
        2026  +
            self
 1991   2027   
        }
        2028  +
        #[allow(missing_docs)] // documentation missing in model
        2029  +
        pub fn map_of_maps(
        2030  +
            mut self,
        2031  +
            input: ::std::option::Option<
        2032  +
                ::std::collections::HashMap<
        2033  +
                    ::std::string::String,
        2034  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2035  +
                >,
        2036  +
            >,
        2037  +
        ) -> Self {
        2038  +
            self.map_of_maps = input;
        2039  +
            self
 1992   2040   
        }
 1993         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
 1994         -
        type Error = ConstraintViolation;
 1995         -
 1996         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 1997         -
            builder.build()
        2041  +
        #[allow(missing_docs)] // documentation missing in model
        2042  +
        pub fn map_of_strings(
        2043  +
            mut self,
        2044  +
            input: ::std::option::Option<
        2045  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2046  +
            >,
        2047  +
        ) -> Self {
        2048  +
            self.map_of_strings = input;
        2049  +
            self
 1998   2050   
        }
        2051  +
        #[allow(missing_docs)] // documentation missing in model
        2052  +
        pub fn map_of_structs(
        2053  +
            mut self,
        2054  +
            input: ::std::option::Option<
        2055  +
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        2056  +
            >,
        2057  +
        ) -> Self {
        2058  +
            self.map_of_structs = input;
        2059  +
            self
 1999   2060   
        }
 2000         -
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2001         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2002         -
    pub(crate) struct Builder {
 2003         -
        pub(crate) contents:
 2004         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
        2061  +
        #[allow(missing_docs)] // documentation missing in model
        2062  +
        pub fn recursive_list(
        2063  +
            mut self,
        2064  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        2065  +
        ) -> Self {
        2066  +
            self.recursive_list = input;
        2067  +
            self
 2005   2068   
        }
 2006         -
    impl Builder {
 2007         -
        /// A union with a representative set of types for members.
 2008         -
        pub(crate) fn set_contents(
        2069  +
        #[allow(missing_docs)] // documentation missing in model
        2070  +
        pub fn recursive_map(
 2009   2071   
            mut self,
 2010         -
            input: Option<
 2011         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
        2072  +
            input: ::std::option::Option<
        2073  +
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 2012   2074   
            >,
 2013   2075   
        ) -> Self {
 2014         -
            self.contents = input.map(|v| v.into());
        2076  +
            self.recursive_map = input;
 2015   2077   
            self
 2016   2078   
        }
 2017         -
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2018         -
        ///
 2019         -
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
 2020         -
        ///
 2021         -
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
 2022         -
            self.build_enforcing_all_constraints()
 2023         -
        }
 2024         -
        fn build_enforcing_all_constraints(
 2025         -
            self,
 2026         -
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
 2027         -
            Ok(crate::input::JsonUnionsInput {
 2028         -
                contents: self
 2029         -
                    .contents
 2030         -
                    .map(|v| match v {
 2031         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2032         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2033         -
                    })
 2034         -
                    .map(|res| res.map_err(ConstraintViolation::Contents))
 2035         -
                    .transpose()?,
 2036         -
            })
        2079  +
        #[allow(missing_docs)] // documentation missing in model
        2080  +
        pub fn recursive_struct(
        2081  +
            mut self,
        2082  +
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        2083  +
        ) -> Self {
        2084  +
            self.recursive_struct = input;
        2085  +
            self
 2037   2086   
        }
        2087  +
        #[allow(missing_docs)] // documentation missing in model
        2088  +
        pub fn simple_struct(
        2089  +
            mut self,
        2090  +
            input: ::std::option::Option<crate::model::SimpleStruct>,
        2091  +
        ) -> Self {
        2092  +
            self.simple_struct = input;
        2093  +
            self
 2038   2094   
        }
 2039         -
}
 2040         -
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2041         -
pub mod json_unions_input {
 2042         -
 2043         -
    impl ::std::convert::From<Builder> for crate::input::JsonUnionsInput {
 2044         -
        fn from(builder: Builder) -> Self {
 2045         -
            builder.build()
        2095  +
        #[allow(missing_docs)] // documentation missing in model
        2096  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        2097  +
            self.string = input;
        2098  +
            self
 2046   2099   
        }
        2100  +
        #[allow(missing_docs)] // documentation missing in model
        2101  +
        pub fn struct_with_json_name(
        2102  +
            mut self,
        2103  +
            input: ::std::option::Option<crate::model::StructWithJsonName>,
        2104  +
        ) -> Self {
        2105  +
            self.struct_with_json_name = input;
        2106  +
            self
 2047   2107   
        }
 2048         -
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2049         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2050         -
    pub struct Builder {
 2051         -
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
        2108  +
        #[allow(missing_docs)] // documentation missing in model
        2109  +
        pub fn timestamp(
        2110  +
            mut self,
        2111  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2112  +
        ) -> Self {
        2113  +
            self.timestamp = input;
        2114  +
            self
 2052   2115   
        }
 2053         -
    impl Builder {
 2054         -
        /// A union with a representative set of types for members.
 2055         -
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
 2056         -
            self.contents = input;
        2116  +
        #[allow(missing_docs)] // documentation missing in model
        2117  +
        pub fn unix_timestamp(
        2118  +
            mut self,
        2119  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2120  +
        ) -> Self {
        2121  +
            self.unix_timestamp = input;
 2057   2122   
            self
 2058   2123   
        }
 2059         -
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2060         -
        pub fn build(self) -> crate::input::JsonUnionsInput {
        2124  +
        /// Consumes the builder and constructs a [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        2125  +
        pub fn build(self) -> crate::input::KitchenSinkOperationInput {
 2061   2126   
            self.build_enforcing_required_and_enum_traits()
 2062   2127   
        }
 2063         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonUnionsInput {
 2064         -
            crate::input::JsonUnionsInput {
 2065         -
                contents: self.contents,
        2128  +
        fn build_enforcing_required_and_enum_traits(
        2129  +
            self,
        2130  +
        ) -> crate::input::KitchenSinkOperationInput {
        2131  +
            crate::input::KitchenSinkOperationInput {
        2132  +
                blob: self.blob,
        2133  +
                boolean: self.boolean,
        2134  +
                double: self.double,
        2135  +
                empty_struct: self.empty_struct,
        2136  +
                float: self.float,
        2137  +
                httpdate_timestamp: self.httpdate_timestamp,
        2138  +
                integer: self.integer,
        2139  +
                iso8601_timestamp: self.iso8601_timestamp,
        2140  +
                json_value: self.json_value,
        2141  +
                list_of_lists: self.list_of_lists,
        2142  +
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        2143  +
                list_of_strings: self.list_of_strings,
        2144  +
                list_of_structs: self.list_of_structs,
        2145  +
                long: self.long,
        2146  +
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        2147  +
                map_of_maps: self.map_of_maps,
        2148  +
                map_of_strings: self.map_of_strings,
        2149  +
                map_of_structs: self.map_of_structs,
        2150  +
                recursive_list: self.recursive_list,
        2151  +
                recursive_map: self.recursive_map,
        2152  +
                recursive_struct: self.recursive_struct,
        2153  +
                simple_struct: self.simple_struct,
        2154  +
                string: self.string,
        2155  +
                struct_with_json_name: self.struct_with_json_name,
        2156  +
                timestamp: self.timestamp,
        2157  +
                unix_timestamp: self.unix_timestamp,
 2066   2158   
            }
 2067   2159   
        }
 2068   2160   
    }
 2069   2161   
}
 2070         -
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 2071         -
pub(crate) mod greeting_with_errors_input_internal {
        2162  +
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        2163  +
pub(crate) mod simple_scalar_properties_input_internal {
 2072   2164   
 2073         -
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
        2165  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
 2074   2166   
        fn from(builder: Builder) -> Self {
 2075   2167   
            builder.build()
 2076   2168   
        }
 2077   2169   
    }
 2078         -
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        2170  +
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 2079   2171   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2080         -
    pub(crate) struct Builder {}
        2172  +
    pub(crate) struct Builder {
        2173  +
        pub(crate) float_value: ::std::option::Option<f32>,
        2174  +
        pub(crate) double_value: ::std::option::Option<f64>,
        2175  +
    }
 2081   2176   
    impl Builder {
 2082         -
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 2083         -
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
        2177  +
        #[allow(missing_docs)] // documentation missing in model
        2178  +
        pub(crate) fn set_float_value(
        2179  +
            mut self,
        2180  +
            input: Option<impl ::std::convert::Into<f32>>,
        2181  +
        ) -> Self {
        2182  +
            self.float_value = input.map(|v| v.into());
        2183  +
            self
        2184  +
        }
        2185  +
        #[allow(missing_docs)] // documentation missing in model
        2186  +
        pub(crate) fn set_double_value(
        2187  +
            mut self,
        2188  +
            input: Option<impl ::std::convert::Into<f64>>,
        2189  +
        ) -> Self {
        2190  +
            self.double_value = input.map(|v| v.into());
        2191  +
            self
        2192  +
        }
        2193  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        2194  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
 2084   2195   
            self.build_enforcing_all_constraints()
 2085   2196   
        }
 2086         -
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
 2087         -
            crate::input::GreetingWithErrorsInput {}
        2197  +
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
        2198  +
            crate::input::SimpleScalarPropertiesInput {
        2199  +
                float_value: self.float_value,
        2200  +
                double_value: self.double_value,
        2201  +
            }
 2088   2202   
        }
 2089   2203   
    }
 2090   2204   
}
 2091         -
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 2092         -
pub mod greeting_with_errors_input {
        2205  +
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        2206  +
pub mod simple_scalar_properties_input {
 2093   2207   
 2094         -
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
        2208  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
 2095   2209   
        fn from(builder: Builder) -> Self {
 2096   2210   
            builder.build()
 2097   2211   
        }
 2098   2212   
    }
 2099         -
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        2213  +
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 2100   2214   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2101         -
    pub struct Builder {}
        2215  +
    pub struct Builder {
        2216  +
        pub(crate) float_value: ::std::option::Option<f32>,
        2217  +
        pub(crate) double_value: ::std::option::Option<f64>,
        2218  +
    }
 2102   2219   
    impl Builder {
 2103         -
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 2104         -
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
        2220  +
        #[allow(missing_docs)] // documentation missing in model
        2221  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
        2222  +
            self.float_value = input;
        2223  +
            self
        2224  +
        }
        2225  +
        #[allow(missing_docs)] // documentation missing in model
        2226  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
        2227  +
            self.double_value = input;
        2228  +
            self
        2229  +
        }
        2230  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        2231  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
 2105   2232   
            self.build_enforcing_required_and_enum_traits()
 2106   2233   
        }
 2107         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::GreetingWithErrorsInput {
 2108         -
            crate::input::GreetingWithErrorsInput {}
        2234  +
        fn build_enforcing_required_and_enum_traits(
        2235  +
            self,
        2236  +
        ) -> crate::input::SimpleScalarPropertiesInput {
        2237  +
            crate::input::SimpleScalarPropertiesInput {
        2238  +
                float_value: self.float_value,
        2239  +
                double_value: self.double_value,
        2240  +
            }
 2109   2241   
        }
 2110   2242   
    }
 2111   2243   
}
 2112         -
/// See [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
 2113         -
pub(crate) mod sparse_nulls_operation_input_internal {
        2244  +
/// See [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        2245  +
pub(crate) mod operation_with_optional_input_output_input_internal {
 2114   2246   
 2115         -
    impl ::std::convert::From<Builder> for crate::input::SparseNullsOperationInput {
        2247  +
    impl ::std::convert::From<Builder> for crate::input::OperationWithOptionalInputOutputInput {
 2116   2248   
        fn from(builder: Builder) -> Self {
 2117   2249   
            builder.build()
 2118   2250   
        }
 2119   2251   
    }
 2120         -
    /// A builder for [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        2252  +
    /// A builder for [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
 2121   2253   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2122   2254   
    pub(crate) struct Builder {
 2123         -
        pub(crate) sparse_string_list:
 2124         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
 2125         -
        pub(crate) sparse_string_map: ::std::option::Option<
 2126         -
            ::std::collections::HashMap<
 2127         -
                ::std::string::String,
 2128         -
                ::std::option::Option<::std::string::String>,
 2129         -
            >,
 2130         -
        >,
        2255  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
 2131   2256   
    }
 2132   2257   
    impl Builder {
 2133   2258   
        #[allow(missing_docs)] // documentation missing in model
 2134         -
        pub(crate) fn set_sparse_string_list(
 2135         -
            mut self,
 2136         -
            input: Option<
 2137         -
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
 2138         -
            >,
 2139         -
        ) -> Self {
 2140         -
            self.sparse_string_list = input.map(|v| v.into());
 2141         -
            self
 2142         -
        }
 2143         -
        #[allow(missing_docs)] // documentation missing in model
 2144         -
        pub(crate) fn set_sparse_string_map(
        2259  +
        pub(crate) fn set_value(
 2145   2260   
            mut self,
 2146         -
            input: Option<
 2147         -
                impl ::std::convert::Into<
 2148         -
                    ::std::collections::HashMap<
 2149         -
                        ::std::string::String,
 2150         -
                        ::std::option::Option<::std::string::String>,
 2151         -
                    >,
 2152         -
                >,
 2153         -
            >,
        2261  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 2154   2262   
        ) -> Self {
 2155         -
            self.sparse_string_map = input.map(|v| v.into());
        2263  +
            self.value = input.map(|v| v.into());
 2156   2264   
            self
 2157   2265   
        }
 2158         -
        /// Consumes the builder and constructs a [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
 2159         -
        pub fn build(self) -> crate::input::SparseNullsOperationInput {
        2266  +
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        2267  +
        pub fn build(self) -> crate::input::OperationWithOptionalInputOutputInput {
 2160   2268   
            self.build_enforcing_all_constraints()
 2161   2269   
        }
 2162         -
        fn build_enforcing_all_constraints(self) -> crate::input::SparseNullsOperationInput {
 2163         -
            crate::input::SparseNullsOperationInput {
 2164         -
                sparse_string_list: self.sparse_string_list,
 2165         -
                sparse_string_map: self.sparse_string_map,
 2166         -
            }
        2270  +
        fn build_enforcing_all_constraints(
        2271  +
            self,
        2272  +
        ) -> crate::input::OperationWithOptionalInputOutputInput {
        2273  +
            crate::input::OperationWithOptionalInputOutputInput { value: self.value }
 2167   2274   
        }
 2168   2275   
    }
 2169   2276   
}
 2170         -
/// See [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
 2171         -
pub mod sparse_nulls_operation_input {
        2277  +
/// See [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        2278  +
pub mod operation_with_optional_input_output_input {
 2172   2279   
 2173         -
    impl ::std::convert::From<Builder> for crate::input::SparseNullsOperationInput {
        2280  +
    impl ::std::convert::From<Builder> for crate::input::OperationWithOptionalInputOutputInput {
 2174   2281   
        fn from(builder: Builder) -> Self {
 2175   2282   
            builder.build()
 2176   2283   
        }
 2177   2284   
    }
 2178         -
    /// A builder for [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        2285  +
    /// A builder for [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
 2179   2286   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2180   2287   
    pub struct Builder {
 2181         -
        pub(crate) sparse_string_list:
 2182         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
 2183         -
        pub(crate) sparse_string_map: ::std::option::Option<
 2184         -
            ::std::collections::HashMap<
 2185         -
                ::std::string::String,
 2186         -
                ::std::option::Option<::std::string::String>,
 2187         -
            >,
 2188         -
        >,
        2288  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
 2189   2289   
    }
 2190   2290   
    impl Builder {
 2191   2291   
        #[allow(missing_docs)] // documentation missing in model
 2192         -
        pub fn sparse_string_list(
 2193         -
            mut self,
 2194         -
            input: ::std::option::Option<
 2195         -
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
 2196         -
            >,
 2197         -
        ) -> Self {
 2198         -
            self.sparse_string_list = input;
 2199         -
            self
 2200         -
        }
 2201         -
        #[allow(missing_docs)] // documentation missing in model
 2202         -
        pub fn sparse_string_map(
 2203         -
            mut self,
 2204         -
            input: ::std::option::Option<
 2205         -
                ::std::collections::HashMap<
 2206         -
                    ::std::string::String,
 2207         -
                    ::std::option::Option<::std::string::String>,
 2208         -
                >,
 2209         -
            >,
 2210         -
        ) -> Self {
 2211         -
            self.sparse_string_map = input;
        2292  +
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        2293  +
            self.value = input;
 2212   2294   
            self
 2213   2295   
        }
 2214         -
        /// Consumes the builder and constructs a [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
 2215         -
        pub fn build(self) -> crate::input::SparseNullsOperationInput {
        2296  +
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        2297  +
        pub fn build(self) -> crate::input::OperationWithOptionalInputOutputInput {
 2216   2298   
            self.build_enforcing_required_and_enum_traits()
 2217   2299   
        }
 2218   2300   
        fn build_enforcing_required_and_enum_traits(
 2219   2301   
            self,
 2220         -
        ) -> crate::input::SparseNullsOperationInput {
 2221         -
            crate::input::SparseNullsOperationInput {
 2222         -
                sparse_string_list: self.sparse_string_list,
 2223         -
                sparse_string_map: self.sparse_string_map,
 2224         -
            }
        2302  +
        ) -> crate::input::OperationWithOptionalInputOutputInput {
        2303  +
            crate::input::OperationWithOptionalInputOutputInput { value: self.value }
 2225   2304   
        }
 2226   2305   
    }
 2227   2306   
}
 2228         -
/// See [`NullOperationInput`](crate::input::NullOperationInput).
 2229         -
pub(crate) mod null_operation_input_internal {
        2307  +
/// See [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        2308  +
pub(crate) mod put_and_get_inline_documents_input_internal {
 2230   2309   
 2231         -
    impl ::std::convert::From<Builder> for crate::input::NullOperationInput {
        2310  +
    impl ::std::convert::From<Builder> for crate::input::PutAndGetInlineDocumentsInput {
 2232   2311   
        fn from(builder: Builder) -> Self {
 2233   2312   
            builder.build()
 2234   2313   
        }
 2235   2314   
    }
 2236         -
    /// A builder for [`NullOperationInput`](crate::input::NullOperationInput).
        2315  +
    /// A builder for [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
 2237   2316   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2238   2317   
    pub(crate) struct Builder {
 2239         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
        2318  +
        pub(crate) inline_document:
        2319  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 2240   2320   
    }
 2241   2321   
    impl Builder {
 2242   2322   
        #[allow(missing_docs)] // documentation missing in model
 2243         -
        pub(crate) fn set_string(
        2323  +
        pub(crate) fn set_inline_document(
 2244   2324   
            mut self,
 2245         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        2325  +
            input: Option<
        2326  +
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::Document>,
        2327  +
            >,
 2246   2328   
        ) -> Self {
 2247         -
            self.string = input.map(|v| v.into());
        2329  +
            self.inline_document = input.map(|v| v.into());
 2248   2330   
            self
 2249   2331   
        }
 2250         -
        /// Consumes the builder and constructs a [`NullOperationInput`](crate::input::NullOperationInput).
 2251         -
        pub fn build(self) -> crate::input::NullOperationInput {
        2332  +
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        2333  +
        pub fn build(self) -> crate::input::PutAndGetInlineDocumentsInput {
 2252   2334   
            self.build_enforcing_all_constraints()
 2253   2335   
        }
 2254         -
        fn build_enforcing_all_constraints(self) -> crate::input::NullOperationInput {
 2255         -
            crate::input::NullOperationInput {
 2256         -
                string: self.string,
        2336  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutAndGetInlineDocumentsInput {
        2337  +
            crate::input::PutAndGetInlineDocumentsInput {
        2338  +
                inline_document: self.inline_document,
 2257   2339   
            }
 2258   2340   
        }
 2259   2341   
    }
 2260   2342   
}
 2261         -
/// See [`NullOperationInput`](crate::input::NullOperationInput).
 2262         -
pub mod null_operation_input {
        2343  +
/// See [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        2344  +
pub mod put_and_get_inline_documents_input {
 2263   2345   
 2264         -
    impl ::std::convert::From<Builder> for crate::input::NullOperationInput {
        2346  +
    impl ::std::convert::From<Builder> for crate::input::PutAndGetInlineDocumentsInput {
 2265   2347   
        fn from(builder: Builder) -> Self {
 2266   2348   
            builder.build()
 2267   2349   
        }
 2268   2350   
    }
 2269         -
    /// A builder for [`NullOperationInput`](crate::input::NullOperationInput).
        2351  +
    /// A builder for [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
 2270   2352   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2271   2353   
    pub struct Builder {
 2272         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
        2354  +
        pub(crate) inline_document:
        2355  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 2273   2356   
    }
 2274   2357   
    impl Builder {
 2275   2358   
        #[allow(missing_docs)] // documentation missing in model
 2276         -
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2277         -
            self.string = input;
        2359  +
        pub fn inline_document(
        2360  +
            mut self,
        2361  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        2362  +
        ) -> Self {
        2363  +
            self.inline_document = input;
 2278   2364   
            self
 2279   2365   
        }
 2280         -
        /// Consumes the builder and constructs a [`NullOperationInput`](crate::input::NullOperationInput).
 2281         -
        pub fn build(self) -> crate::input::NullOperationInput {
        2366  +
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        2367  +
        pub fn build(self) -> crate::input::PutAndGetInlineDocumentsInput {
 2282   2368   
            self.build_enforcing_required_and_enum_traits()
 2283   2369   
        }
 2284         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::NullOperationInput {
 2285         -
            crate::input::NullOperationInput {
 2286         -
                string: self.string,
        2370  +
        fn build_enforcing_required_and_enum_traits(
        2371  +
            self,
        2372  +
        ) -> crate::input::PutAndGetInlineDocumentsInput {
        2373  +
            crate::input::PutAndGetInlineDocumentsInput {
        2374  +
                inline_document: self.inline_document,
 2287   2375   
            }
 2288   2376   
        }
 2289   2377   
    }
 2290   2378   
}
 2291         -
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
 2292         -
pub(crate) mod json_int_enums_input_internal {
        2379  +
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        2380  +
pub(crate) mod json_enums_input_internal {
 2293   2381   
 2294   2382   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 2295   2383   
    /// Holds one variant for each of the ways the builder can fail.
 2296   2384   
    #[non_exhaustive]
 2297   2385   
    #[allow(clippy::enum_variant_names)]
 2298   2386   
    pub(crate) enum ConstraintViolation {
 2299         -
        /// Constraint violation occurred building member `int_enum_set` when building `JsonIntEnumsInput`.
        2387  +
        /// Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
 2300   2388   
        #[doc(hidden)]
 2301         -
        IntEnumSet(crate::model::integer_enum_set_internal::ConstraintViolation),
        2389  +
        FooEnum1(crate::model::foo_enum_internal::ConstraintViolation),
        2390  +
        /// Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
        2391  +
        #[doc(hidden)]
        2392  +
        FooEnum2(crate::model::foo_enum_internal::ConstraintViolation),
        2393  +
        /// Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
        2394  +
        #[doc(hidden)]
        2395  +
        FooEnum3(crate::model::foo_enum_internal::ConstraintViolation),
        2396  +
        /// Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
        2397  +
        #[doc(hidden)]
        2398  +
        FooEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
        2399  +
        /// Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
        2400  +
        #[doc(hidden)]
        2401  +
        FooEnumSet(crate::model::foo_enum_set_internal::ConstraintViolation),
        2402  +
        /// Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
        2403  +
        #[doc(hidden)]
        2404  +
        FooEnumMap(crate::model::foo_enum_map_internal::ConstraintViolation),
 2302   2405   
    }
 2303   2406   
    impl ::std::fmt::Display for ConstraintViolation {
 2304   2407   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 2305   2408   
            match self {
 2306         -
                ConstraintViolation::IntEnumSet(_) => write!(f, "constraint violation occurred building member `int_enum_set` when building `JsonIntEnumsInput`"),
        2409  +
                ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
        2410  +
                ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
        2411  +
                ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
        2412  +
                ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
        2413  +
                ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
        2414  +
                ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
 2307   2415   
            }
 2308   2416   
        }
 2309   2417   
    }
 2310   2418   
    impl ::std::error::Error for ConstraintViolation {}
 2311   2419   
    impl ConstraintViolation {
 2312   2420   
        pub(crate) fn as_validation_exception_field(
 2313   2421   
            self,
 2314   2422   
            path: ::std::string::String,
 2315   2423   
        ) -> crate::model::ValidationExceptionField {
 2316   2424   
            match self {
 2317         -
                ConstraintViolation::IntEnumSet(inner) => {
 2318         -
                    inner.as_validation_exception_field(path + "/intEnumSet")
        2425  +
                ConstraintViolation::FooEnum1(inner) => {
        2426  +
                    inner.as_validation_exception_field(path + "/fooEnum1")
        2427  +
                }
        2428  +
                ConstraintViolation::FooEnum2(inner) => {
        2429  +
                    inner.as_validation_exception_field(path + "/fooEnum2")
        2430  +
                }
        2431  +
                ConstraintViolation::FooEnum3(inner) => {
        2432  +
                    inner.as_validation_exception_field(path + "/fooEnum3")
        2433  +
                }
        2434  +
                ConstraintViolation::FooEnumList(inner) => {
        2435  +
                    inner.as_validation_exception_field(path + "/fooEnumList")
        2436  +
                }
        2437  +
                ConstraintViolation::FooEnumSet(inner) => {
        2438  +
                    inner.as_validation_exception_field(path + "/fooEnumSet")
        2439  +
                }
        2440  +
                ConstraintViolation::FooEnumMap(inner) => {
        2441  +
                    inner.as_validation_exception_field(path + "/fooEnumMap")
 2319   2442   
                }
 2320   2443   
            }
 2321   2444   
        }
 2322   2445   
    }
 2323   2446   
    impl ::std::convert::From<ConstraintViolation>
 2324   2447   
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 2325   2448   
    {
 2326   2449   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 2327   2450   
            let first_validation_exception_field =
 2328   2451   
                constraint_violation.as_validation_exception_field("".to_owned());
 2329   2452   
            let validation_exception = crate::error::ValidationException {
 2330   2453   
                message: format!(
 2331   2454   
                    "1 validation error detected. {}",
 2332   2455   
                    &first_validation_exception_field.message
 2333   2456   
                ),
 2334   2457   
                field_list: Some(vec![first_validation_exception_field]),
 2335   2458   
            };
 2336   2459   
            Self::ConstraintViolation(
 2337   2460   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 2338   2461   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 2339   2462   
                            )
 2340   2463   
        }
 2341   2464   
    }
 2342   2465   
    impl ::std::convert::From<Builder>
 2343         -
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
        2466  +
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
 2344   2467   
    {
 2345   2468   
        fn from(builder: Builder) -> Self {
 2346   2469   
            Self::Unconstrained(builder)
 2347   2470   
        }
 2348   2471   
    }
 2349         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
        2472  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
 2350   2473   
        type Error = ConstraintViolation;
 2351   2474   
 2352   2475   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 2353   2476   
            builder.build()
 2354   2477   
        }
 2355   2478   
    }
 2356         -
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2479  +
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2357   2480   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2358   2481   
    pub(crate) struct Builder {
 2359         -
        pub(crate) int_enum1: ::std::option::Option<i32>,
 2360         -
        pub(crate) int_enum2: ::std::option::Option<i32>,
 2361         -
        pub(crate) int_enum3: ::std::option::Option<i32>,
 2362         -
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 2363         -
        pub(crate) int_enum_set: ::std::option::Option<
 2364         -
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
        2482  +
        pub(crate) foo_enum1:
        2483  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        2484  +
        pub(crate) foo_enum2:
        2485  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        2486  +
        pub(crate) foo_enum3:
        2487  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        2488  +
        pub(crate) foo_enum_list: ::std::option::Option<
        2489  +
            crate::constrained::MaybeConstrained<
        2490  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        2491  +
            >,
        2492  +
        >,
        2493  +
        pub(crate) foo_enum_set:
        2494  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
        2495  +
        pub(crate) foo_enum_map: ::std::option::Option<
        2496  +
            crate::constrained::MaybeConstrained<
        2497  +
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
        2498  +
            >,
 2365   2499   
        >,
 2366         -
        pub(crate) int_enum_map:
 2367         -
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
 2368   2500   
    }
 2369   2501   
    impl Builder {
 2370   2502   
        #[allow(missing_docs)] // documentation missing in model
 2371         -
        pub(crate) fn set_int_enum1(
        2503  +
        pub(crate) fn set_foo_enum1(
 2372   2504   
            mut self,
 2373         -
            input: Option<impl ::std::convert::Into<i32>>,
        2505  +
            input: Option<
        2506  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        2507  +
            >,
 2374   2508   
        ) -> Self {
 2375         -
            self.int_enum1 = input.map(|v| v.into());
        2509  +
            self.foo_enum1 = input.map(|v| v.into());
 2376   2510   
            self
 2377   2511   
        }
 2378   2512   
        #[allow(missing_docs)] // documentation missing in model
 2379         -
        pub(crate) fn set_int_enum2(
        2513  +
        pub(crate) fn set_foo_enum2(
 2380   2514   
            mut self,
 2381         -
            input: Option<impl ::std::convert::Into<i32>>,
        2515  +
            input: Option<
        2516  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        2517  +
            >,
 2382   2518   
        ) -> Self {
 2383         -
            self.int_enum2 = input.map(|v| v.into());
        2519  +
            self.foo_enum2 = input.map(|v| v.into());
 2384   2520   
            self
 2385   2521   
        }
 2386   2522   
        #[allow(missing_docs)] // documentation missing in model
 2387         -
        pub(crate) fn set_int_enum3(
        2523  +
        pub(crate) fn set_foo_enum3(
 2388   2524   
            mut self,
 2389         -
            input: Option<impl ::std::convert::Into<i32>>,
        2525  +
            input: Option<
        2526  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        2527  +
            >,
 2390   2528   
        ) -> Self {
 2391         -
            self.int_enum3 = input.map(|v| v.into());
        2529  +
            self.foo_enum3 = input.map(|v| v.into());
 2392   2530   
            self
 2393   2531   
        }
 2394   2532   
        #[allow(missing_docs)] // documentation missing in model
 2395         -
        pub(crate) fn set_int_enum_list(
        2533  +
        pub(crate) fn set_foo_enum_list(
 2396   2534   
            mut self,
 2397         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        2535  +
            input: Option<
        2536  +
                impl ::std::convert::Into<
        2537  +
                    crate::constrained::MaybeConstrained<
        2538  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        2539  +
                    >,
        2540  +
                >,
        2541  +
            >,
 2398   2542   
        ) -> Self {
 2399         -
            self.int_enum_list = input.map(|v| v.into());
        2543  +
            self.foo_enum_list = input.map(|v| v.into());
 2400   2544   
            self
 2401   2545   
        }
 2402   2546   
        #[allow(missing_docs)] // documentation missing in model
 2403         -
        pub(crate) fn set_int_enum_set(
        2547  +
        pub(crate) fn set_foo_enum_set(
 2404   2548   
            mut self,
 2405   2549   
            input: Option<
 2406   2550   
                impl ::std::convert::Into<
 2407         -
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
        2551  +
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
 2408   2552   
                >,
 2409   2553   
            >,
 2410   2554   
        ) -> Self {
 2411         -
            self.int_enum_set = input.map(|v| v.into());
        2555  +
            self.foo_enum_set = input.map(|v| v.into());
 2412   2556   
            self
 2413   2557   
        }
 2414   2558   
        #[allow(missing_docs)] // documentation missing in model
 2415         -
        pub(crate) fn set_int_enum_map(
        2559  +
        pub(crate) fn set_foo_enum_map(
 2416   2560   
            mut self,
 2417   2561   
            input: Option<
 2418         -
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
        2562  +
                impl ::std::convert::Into<
        2563  +
                    crate::constrained::MaybeConstrained<
        2564  +
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
        2565  +
                    >,
        2566  +
                >,
 2419   2567   
            >,
 2420   2568   
        ) -> Self {
 2421         -
            self.int_enum_map = input.map(|v| v.into());
        2569  +
            self.foo_enum_map = input.map(|v| v.into());
 2422   2570   
            self
 2423   2571   
        }
 2424         -
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2572  +
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2425   2573   
        ///
 2426         -
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
        2574  +
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
 2427   2575   
        ///
 2428         -
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
        2576  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        2577  +
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
 2429   2578   
            self.build_enforcing_all_constraints()
 2430   2579   
        }
 2431   2580   
        fn build_enforcing_all_constraints(
 2432   2581   
            self,
 2433         -
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
 2434         -
            Ok(crate::input::JsonIntEnumsInput {
 2435         -
                int_enum1: self.int_enum1,
 2436         -
                int_enum2: self.int_enum2,
 2437         -
                int_enum3: self.int_enum3,
 2438         -
                int_enum_list: self.int_enum_list,
 2439         -
                int_enum_set: self
 2440         -
                    .int_enum_set
        2582  +
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
        2583  +
            Ok(crate::input::JsonEnumsInput {
        2584  +
                foo_enum1: self
        2585  +
                    .foo_enum1
 2441   2586   
                    .map(|v| match v {
 2442   2587   
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2443   2588   
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2444   2589   
                    })
 2445         -
                    .map(|res| res.map_err(ConstraintViolation::IntEnumSet))
        2590  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum1))
        2591  +
                    .transpose()?,
        2592  +
                foo_enum2: self
        2593  +
                    .foo_enum2
        2594  +
                    .map(|v| match v {
        2595  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2596  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2597  +
                    })
        2598  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum2))
        2599  +
                    .transpose()?,
        2600  +
                foo_enum3: self
        2601  +
                    .foo_enum3
        2602  +
                    .map(|v| match v {
        2603  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2604  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2605  +
                    })
        2606  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum3))
        2607  +
                    .transpose()?,
        2608  +
                foo_enum_list: self
        2609  +
                    .foo_enum_list
        2610  +
                    .map(|v| match v {
        2611  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2612  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2613  +
                    })
        2614  +
                    .map(|res| {
        2615  +
                        res.map(|v| v.into())
        2616  +
                            .map_err(ConstraintViolation::FooEnumList)
        2617  +
                    })
        2618  +
                    .transpose()?,
        2619  +
                foo_enum_set: self
        2620  +
                    .foo_enum_set
        2621  +
                    .map(|v| match v {
        2622  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2623  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2624  +
                    })
        2625  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
 2446   2626   
                    .transpose()?
 2447         -
                    .map(|v: crate::model::IntegerEnumSet| v.into()),
 2448         -
                int_enum_map: self.int_enum_map,
        2627  +
                    .map(|v: crate::model::FooEnumSet| v.into()),
        2628  +
                foo_enum_map: self
        2629  +
                    .foo_enum_map
        2630  +
                    .map(|v| match v {
        2631  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        2632  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        2633  +
                    })
        2634  +
                    .map(|res| {
        2635  +
                        res.map(|v| v.into())
        2636  +
                            .map_err(ConstraintViolation::FooEnumMap)
        2637  +
                    })
        2638  +
                    .transpose()?,
 2449   2639   
            })
 2450   2640   
        }
 2451   2641   
    }
 2452   2642   
}
 2453         -
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
 2454         -
pub mod json_int_enums_input {
        2643  +
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        2644  +
pub mod json_enums_input {
 2455   2645   
 2456         -
    impl ::std::convert::From<Builder> for crate::input::JsonIntEnumsInput {
        2646  +
    impl ::std::convert::From<Builder> for crate::input::JsonEnumsInput {
 2457   2647   
        fn from(builder: Builder) -> Self {
 2458   2648   
            builder.build()
 2459   2649   
        }
 2460   2650   
    }
 2461         -
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2651  +
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2462   2652   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2463   2653   
    pub struct Builder {
 2464         -
        pub(crate) int_enum1: ::std::option::Option<i32>,
 2465         -
        pub(crate) int_enum2: ::std::option::Option<i32>,
 2466         -
        pub(crate) int_enum3: ::std::option::Option<i32>,
 2467         -
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
 2468         -
        pub(crate) int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
 2469         -
        pub(crate) int_enum_map:
 2470         -
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2654  +
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        2655  +
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        2656  +
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        2657  +
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2658  +
        pub(crate) foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2659  +
        pub(crate) foo_enum_map: ::std::option::Option<
        2660  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        2661  +
        >,
 2471   2662   
    }
 2472   2663   
    impl Builder {
 2473   2664   
        #[allow(missing_docs)] // documentation missing in model
 2474         -
        pub fn int_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
 2475         -
            self.int_enum1 = input;
        2665  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        2666  +
            self.foo_enum1 = input;
 2476   2667   
            self
 2477   2668   
        }
 2478   2669   
        #[allow(missing_docs)] // documentation missing in model
 2479         -
        pub fn int_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
 2480         -
            self.int_enum2 = input;
        2670  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        2671  +
            self.foo_enum2 = input;
 2481   2672   
            self
 2482   2673   
        }
 2483   2674   
        #[allow(missing_docs)] // documentation missing in model
 2484         -
        pub fn int_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
 2485         -
            self.int_enum3 = input;
        2675  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        2676  +
            self.foo_enum3 = input;
 2486   2677   
            self
 2487   2678   
        }
 2488   2679   
        #[allow(missing_docs)] // documentation missing in model
 2489         -
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
 2490         -
            self.int_enum_list = input;
        2680  +
        pub fn foo_enum_list(
        2681  +
            mut self,
        2682  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2683  +
        ) -> Self {
        2684  +
            self.foo_enum_list = input;
 2491   2685   
            self
 2492   2686   
        }
 2493   2687   
        #[allow(missing_docs)] // documentation missing in model
 2494         -
        pub fn int_enum_set(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
 2495         -
            self.int_enum_set = input;
        2688  +
        pub fn foo_enum_set(
        2689  +
            mut self,
        2690  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2691  +
        ) -> Self {
        2692  +
            self.foo_enum_set = input;
 2496   2693   
            self
 2497   2694   
        }
 2498   2695   
        #[allow(missing_docs)] // documentation missing in model
 2499         -
        pub fn int_enum_map(
        2696  +
        pub fn foo_enum_map(
 2500   2697   
            mut self,
 2501         -
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2698  +
            input: ::std::option::Option<
        2699  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        2700  +
            >,
 2502   2701   
        ) -> Self {
 2503         -
            self.int_enum_map = input;
        2702  +
            self.foo_enum_map = input;
 2504   2703   
            self
 2505   2704   
        }
 2506         -
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
 2507         -
        pub fn build(self) -> crate::input::JsonIntEnumsInput {
        2705  +
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        2706  +
        pub fn build(self) -> crate::input::JsonEnumsInput {
 2508   2707   
            self.build_enforcing_required_and_enum_traits()
 2509   2708   
        }
 2510         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonIntEnumsInput {
 2511         -
            crate::input::JsonIntEnumsInput {
 2512         -
                int_enum1: self.int_enum1,
 2513         -
                int_enum2: self.int_enum2,
 2514         -
                int_enum3: self.int_enum3,
 2515         -
                int_enum_list: self.int_enum_list,
 2516         -
                int_enum_set: self.int_enum_set,
 2517         -
                int_enum_map: self.int_enum_map,
        2709  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonEnumsInput {
        2710  +
            crate::input::JsonEnumsInput {
        2711  +
                foo_enum1: self.foo_enum1,
        2712  +
                foo_enum2: self.foo_enum2,
        2713  +
                foo_enum3: self.foo_enum3,
        2714  +
                foo_enum_list: self.foo_enum_list,
        2715  +
                foo_enum_set: self.foo_enum_set,
        2716  +
                foo_enum_map: self.foo_enum_map,
 2518   2717   
            }
 2519   2718   
        }
 2520   2719   
    }
 2521   2720   
}
 2522         -
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2523         -
pub(crate) mod json_enums_input_internal {
        2721  +
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2722  +
pub(crate) mod json_int_enums_input_internal {
 2524   2723   
 2525   2724   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 2526   2725   
    /// Holds one variant for each of the ways the builder can fail.
 2527   2726   
    #[non_exhaustive]
 2528   2727   
    #[allow(clippy::enum_variant_names)]
 2529   2728   
    pub(crate) enum ConstraintViolation {
 2530         -
        /// Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
 2531         -
        #[doc(hidden)]
 2532         -
        FooEnum1(crate::model::foo_enum_internal::ConstraintViolation),
 2533         -
        /// Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
 2534         -
        #[doc(hidden)]
 2535         -
        FooEnum2(crate::model::foo_enum_internal::ConstraintViolation),
 2536         -
        /// Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
 2537         -
        #[doc(hidden)]
 2538         -
        FooEnum3(crate::model::foo_enum_internal::ConstraintViolation),
 2539         -
        /// Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
 2540         -
        #[doc(hidden)]
 2541         -
        FooEnumList(crate::model::foo_enum_list_internal::ConstraintViolation),
 2542         -
        /// Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
 2543         -
        #[doc(hidden)]
 2544         -
        FooEnumSet(crate::model::foo_enum_set_internal::ConstraintViolation),
 2545         -
        /// Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
        2729  +
        /// Constraint violation occurred building member `int_enum_set` when building `JsonIntEnumsInput`.
 2546   2730   
        #[doc(hidden)]
 2547         -
        FooEnumMap(crate::model::foo_enum_map_internal::ConstraintViolation),
        2731  +
        IntEnumSet(crate::model::integer_enum_set_internal::ConstraintViolation),
 2548   2732   
    }
 2549   2733   
    impl ::std::fmt::Display for ConstraintViolation {
 2550   2734   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 2551   2735   
            match self {
 2552         -
                ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
 2553         -
                ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
 2554         -
                ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
 2555         -
                ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
 2556         -
                ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
 2557         -
                ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
        2736  +
                ConstraintViolation::IntEnumSet(_) => write!(f, "constraint violation occurred building member `int_enum_set` when building `JsonIntEnumsInput`"),
 2558   2737   
            }
 2559   2738   
        }
 2560   2739   
    }
 2561   2740   
    impl ::std::error::Error for ConstraintViolation {}
 2562   2741   
    impl ConstraintViolation {
 2563   2742   
        pub(crate) fn as_validation_exception_field(
 2564   2743   
            self,
 2565   2744   
            path: ::std::string::String,
 2566   2745   
        ) -> crate::model::ValidationExceptionField {
 2567   2746   
            match self {
 2568         -
                ConstraintViolation::FooEnum1(inner) => {
 2569         -
                    inner.as_validation_exception_field(path + "/fooEnum1")
 2570         -
                }
 2571         -
                ConstraintViolation::FooEnum2(inner) => {
 2572         -
                    inner.as_validation_exception_field(path + "/fooEnum2")
 2573         -
                }
 2574         -
                ConstraintViolation::FooEnum3(inner) => {
 2575         -
                    inner.as_validation_exception_field(path + "/fooEnum3")
 2576         -
                }
 2577         -
                ConstraintViolation::FooEnumList(inner) => {
 2578         -
                    inner.as_validation_exception_field(path + "/fooEnumList")
 2579         -
                }
 2580         -
                ConstraintViolation::FooEnumSet(inner) => {
 2581         -
                    inner.as_validation_exception_field(path + "/fooEnumSet")
 2582         -
                }
 2583         -
                ConstraintViolation::FooEnumMap(inner) => {
 2584         -
                    inner.as_validation_exception_field(path + "/fooEnumMap")
        2747  +
                ConstraintViolation::IntEnumSet(inner) => {
        2748  +
                    inner.as_validation_exception_field(path + "/intEnumSet")
 2585   2749   
                }
 2586   2750   
            }
 2587   2751   
        }
 2588   2752   
    }
 2589   2753   
    impl ::std::convert::From<ConstraintViolation>
 2590   2754   
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 2591   2755   
    {
 2592   2756   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 2593   2757   
            let first_validation_exception_field =
 2594   2758   
                constraint_violation.as_validation_exception_field("".to_owned());
 2595   2759   
            let validation_exception = crate::error::ValidationException {
 2596   2760   
                message: format!(
 2597   2761   
                    "1 validation error detected. {}",
 2598   2762   
                    &first_validation_exception_field.message
 2599   2763   
                ),
 2600   2764   
                field_list: Some(vec![first_validation_exception_field]),
 2601   2765   
            };
 2602   2766   
            Self::ConstraintViolation(
 2603   2767   
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
 2604   2768   
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
 2605   2769   
                            )
 2606   2770   
        }
 2607   2771   
    }
 2608   2772   
    impl ::std::convert::From<Builder>
 2609         -
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
        2773  +
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
 2610   2774   
    {
 2611   2775   
        fn from(builder: Builder) -> Self {
 2612   2776   
            Self::Unconstrained(builder)
 2613   2777   
        }
 2614   2778   
    }
 2615         -
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
        2779  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
 2616   2780   
        type Error = ConstraintViolation;
 2617   2781   
 2618   2782   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 2619   2783   
            builder.build()
 2620   2784   
        }
 2621   2785   
    }
 2622         -
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        2786  +
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
 2623   2787   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2624   2788   
    pub(crate) struct Builder {
 2625         -
        pub(crate) foo_enum1:
 2626         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
 2627         -
        pub(crate) foo_enum2:
 2628         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
 2629         -
        pub(crate) foo_enum3:
 2630         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
 2631         -
        pub(crate) foo_enum_list: ::std::option::Option<
 2632         -
            crate::constrained::MaybeConstrained<
 2633         -
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
 2634         -
            >,
 2635         -
        >,
 2636         -
        pub(crate) foo_enum_set:
 2637         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
 2638         -
        pub(crate) foo_enum_map: ::std::option::Option<
 2639         -
            crate::constrained::MaybeConstrained<
 2640         -
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
 2641         -
            >,
        2789  +
        pub(crate) int_enum1: ::std::option::Option<i32>,
        2790  +
        pub(crate) int_enum2: ::std::option::Option<i32>,
        2791  +
        pub(crate) int_enum3: ::std::option::Option<i32>,
        2792  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2793  +
        pub(crate) int_enum_set: ::std::option::Option<
        2794  +
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
 2642   2795   
        >,
        2796  +
        pub(crate) int_enum_map:
        2797  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
 2643   2798   
    }
 2644   2799   
    impl Builder {
 2645   2800   
        #[allow(missing_docs)] // documentation missing in model
 2646         -
        pub(crate) fn set_foo_enum1(
        2801  +
        pub(crate) fn set_int_enum1(
 2647   2802   
            mut self,
 2648         -
            input: Option<
 2649         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
 2650         -
            >,
        2803  +
            input: Option<impl ::std::convert::Into<i32>>,
 2651   2804   
        ) -> Self {
 2652         -
            self.foo_enum1 = input.map(|v| v.into());
        2805  +
            self.int_enum1 = input.map(|v| v.into());
 2653   2806   
            self
 2654   2807   
        }
 2655   2808   
        #[allow(missing_docs)] // documentation missing in model
 2656         -
        pub(crate) fn set_foo_enum2(
        2809  +
        pub(crate) fn set_int_enum2(
 2657   2810   
            mut self,
 2658         -
            input: Option<
 2659         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
 2660         -
            >,
        2811  +
            input: Option<impl ::std::convert::Into<i32>>,
 2661   2812   
        ) -> Self {
 2662         -
            self.foo_enum2 = input.map(|v| v.into());
        2813  +
            self.int_enum2 = input.map(|v| v.into());
 2663   2814   
            self
 2664   2815   
        }
 2665   2816   
        #[allow(missing_docs)] // documentation missing in model
 2666         -
        pub(crate) fn set_foo_enum3(
        2817  +
        pub(crate) fn set_int_enum3(
 2667   2818   
            mut self,
 2668         -
            input: Option<
 2669         -
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
 2670         -
            >,
        2819  +
            input: Option<impl ::std::convert::Into<i32>>,
 2671   2820   
        ) -> Self {
 2672         -
            self.foo_enum3 = input.map(|v| v.into());
        2821  +
            self.int_enum3 = input.map(|v| v.into());
 2673   2822   
            self
 2674   2823   
        }
 2675   2824   
        #[allow(missing_docs)] // documentation missing in model
 2676         -
        pub(crate) fn set_foo_enum_list(
        2825  +
        pub(crate) fn set_int_enum_list(
 2677   2826   
            mut self,
 2678         -
            input: Option<
 2679         -
                impl ::std::convert::Into<
 2680         -
                    crate::constrained::MaybeConstrained<
 2681         -
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
 2682         -
                    >,
 2683         -
                >,
 2684         -
            >,
        2827  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
 2685   2828   
        ) -> Self {
 2686         -
            self.foo_enum_list = input.map(|v| v.into());
        2829  +
            self.int_enum_list = input.map(|v| v.into());
 2687   2830   
            self
 2688   2831   
        }
 2689   2832   
        #[allow(missing_docs)] // documentation missing in model
 2690         -
        pub(crate) fn set_foo_enum_set(
        2833  +
        pub(crate) fn set_int_enum_set(
 2691   2834   
            mut self,
 2692   2835   
            input: Option<
 2693   2836   
                impl ::std::convert::Into<
 2694         -
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
        2837  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
 2695   2838   
                >,
 2696   2839   
            >,
 2697   2840   
        ) -> Self {
 2698         -
            self.foo_enum_set = input.map(|v| v.into());
        2841  +
            self.int_enum_set = input.map(|v| v.into());
 2699   2842   
            self
 2700   2843   
        }
 2701   2844   
        #[allow(missing_docs)] // documentation missing in model
 2702         -
        pub(crate) fn set_foo_enum_map(
        2845  +
        pub(crate) fn set_int_enum_map(
 2703   2846   
            mut self,
 2704   2847   
            input: Option<
 2705         -
                impl ::std::convert::Into<
 2706         -
                    crate::constrained::MaybeConstrained<
 2707         -
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
 2708         -
                    >,
 2709         -
                >,
        2848  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
 2710   2849   
            >,
 2711   2850   
        ) -> Self {
 2712         -
            self.foo_enum_map = input.map(|v| v.into());
        2851  +
            self.int_enum_map = input.map(|v| v.into());
 2713   2852   
            self
 2714   2853   
        }
 2715         -
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        2854  +
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
 2716   2855   
        ///
 2717         -
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
        2856  +
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
 2718   2857   
        ///
 2719         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 2720         -
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
        2858  +
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
 2721   2859   
            self.build_enforcing_all_constraints()
 2722   2860   
        }
 2723   2861   
        fn build_enforcing_all_constraints(
 2724   2862   
            self,
 2725         -
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
 2726         -
            Ok(crate::input::JsonEnumsInput {
 2727         -
                foo_enum1: self
 2728         -
                    .foo_enum1
 2729         -
                    .map(|v| match v {
 2730         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2731         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2732         -
                    })
 2733         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnum1))
 2734         -
                    .transpose()?,
 2735         -
                foo_enum2: self
 2736         -
                    .foo_enum2
 2737         -
                    .map(|v| match v {
 2738         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2739         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2740         -
                    })
 2741         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnum2))
 2742         -
                    .transpose()?,
 2743         -
                foo_enum3: self
 2744         -
                    .foo_enum3
 2745         -
                    .map(|v| match v {
 2746         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2747         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2748         -
                    })
 2749         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnum3))
 2750         -
                    .transpose()?,
 2751         -
                foo_enum_list: self
 2752         -
                    .foo_enum_list
 2753         -
                    .map(|v| match v {
 2754         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2755         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2756         -
                    })
 2757         -
                    .map(|res| {
 2758         -
                        res.map(|v| v.into())
 2759         -
                            .map_err(ConstraintViolation::FooEnumList)
 2760         -
                    })
 2761         -
                    .transpose()?,
 2762         -
                foo_enum_set: self
 2763         -
                    .foo_enum_set
        2863  +
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
        2864  +
            Ok(crate::input::JsonIntEnumsInput {
        2865  +
                int_enum1: self.int_enum1,
        2866  +
                int_enum2: self.int_enum2,
        2867  +
                int_enum3: self.int_enum3,
        2868  +
                int_enum_list: self.int_enum_list,
        2869  +
                int_enum_set: self
        2870  +
                    .int_enum_set
 2764   2871   
                    .map(|v| match v {
 2765   2872   
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2766   2873   
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2767   2874   
                    })
 2768         -
                    .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
        2875  +
                    .map(|res| res.map_err(ConstraintViolation::IntEnumSet))
 2769   2876   
                    .transpose()?
 2770         -
                    .map(|v: crate::model::FooEnumSet| v.into()),
 2771         -
                foo_enum_map: self
 2772         -
                    .foo_enum_map
 2773         -
                    .map(|v| match v {
 2774         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
 2775         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
 2776         -
                    })
 2777         -
                    .map(|res| {
 2778         -
                        res.map(|v| v.into())
 2779         -
                            .map_err(ConstraintViolation::FooEnumMap)
 2780         -
                    })
 2781         -
                    .transpose()?,
        2877  +
                    .map(|v: crate::model::IntegerEnumSet| v.into()),
        2878  +
                int_enum_map: self.int_enum_map,
 2782   2879   
            })
 2783   2880   
        }
 2784   2881   
    }
 2785   2882   
}
 2786         -
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2787         -
pub mod json_enums_input {
        2883  +
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2884  +
pub mod json_int_enums_input {
        2885  +
        2886  +
    impl ::std::convert::From<Builder> for crate::input::JsonIntEnumsInput {
        2887  +
        fn from(builder: Builder) -> Self {
        2888  +
            builder.build()
        2889  +
        }
        2890  +
    }
        2891  +
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2892  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2893  +
    pub struct Builder {
        2894  +
        pub(crate) int_enum1: ::std::option::Option<i32>,
        2895  +
        pub(crate) int_enum2: ::std::option::Option<i32>,
        2896  +
        pub(crate) int_enum3: ::std::option::Option<i32>,
        2897  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2898  +
        pub(crate) int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
        2899  +
        pub(crate) int_enum_map:
        2900  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2901  +
    }
        2902  +
    impl Builder {
        2903  +
        #[allow(missing_docs)] // documentation missing in model
        2904  +
        pub fn int_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
        2905  +
            self.int_enum1 = input;
        2906  +
            self
        2907  +
        }
        2908  +
        #[allow(missing_docs)] // documentation missing in model
        2909  +
        pub fn int_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
        2910  +
            self.int_enum2 = input;
        2911  +
            self
        2912  +
        }
        2913  +
        #[allow(missing_docs)] // documentation missing in model
        2914  +
        pub fn int_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
        2915  +
            self.int_enum3 = input;
        2916  +
            self
        2917  +
        }
        2918  +
        #[allow(missing_docs)] // documentation missing in model
        2919  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
        2920  +
            self.int_enum_list = input;
        2921  +
            self
        2922  +
        }
        2923  +
        #[allow(missing_docs)] // documentation missing in model
        2924  +
        pub fn int_enum_set(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
        2925  +
            self.int_enum_set = input;
        2926  +
            self
        2927  +
        }
        2928  +
        #[allow(missing_docs)] // documentation missing in model
        2929  +
        pub fn int_enum_map(
        2930  +
            mut self,
        2931  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2932  +
        ) -> Self {
        2933  +
            self.int_enum_map = input;
        2934  +
            self
        2935  +
        }
        2936  +
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2937  +
        pub fn build(self) -> crate::input::JsonIntEnumsInput {
        2938  +
            self.build_enforcing_required_and_enum_traits()
        2939  +
        }
        2940  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonIntEnumsInput {
        2941  +
            crate::input::JsonIntEnumsInput {
        2942  +
                int_enum1: self.int_enum1,
        2943  +
                int_enum2: self.int_enum2,
        2944  +
                int_enum3: self.int_enum3,
        2945  +
                int_enum_list: self.int_enum_list,
        2946  +
                int_enum_set: self.int_enum_set,
        2947  +
                int_enum_map: self.int_enum_map,
        2948  +
            }
        2949  +
        }
        2950  +
    }
        2951  +
}
        2952  +
/// See [`NullOperationInput`](crate::input::NullOperationInput).
        2953  +
pub(crate) mod null_operation_input_internal {
        2954  +
        2955  +
    impl ::std::convert::From<Builder> for crate::input::NullOperationInput {
        2956  +
        fn from(builder: Builder) -> Self {
        2957  +
            builder.build()
        2958  +
        }
        2959  +
    }
        2960  +
    /// A builder for [`NullOperationInput`](crate::input::NullOperationInput).
        2961  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2962  +
    pub(crate) struct Builder {
        2963  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        2964  +
    }
        2965  +
    impl Builder {
        2966  +
        #[allow(missing_docs)] // documentation missing in model
        2967  +
        pub(crate) fn set_string(
        2968  +
            mut self,
        2969  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        2970  +
        ) -> Self {
        2971  +
            self.string = input.map(|v| v.into());
        2972  +
            self
        2973  +
        }
        2974  +
        /// Consumes the builder and constructs a [`NullOperationInput`](crate::input::NullOperationInput).
        2975  +
        pub fn build(self) -> crate::input::NullOperationInput {
        2976  +
            self.build_enforcing_all_constraints()
        2977  +
        }
        2978  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullOperationInput {
        2979  +
            crate::input::NullOperationInput {
        2980  +
                string: self.string,
        2981  +
            }
        2982  +
        }
        2983  +
    }
        2984  +
}
        2985  +
/// See [`NullOperationInput`](crate::input::NullOperationInput).
        2986  +
pub mod null_operation_input {
        2987  +
        2988  +
    impl ::std::convert::From<Builder> for crate::input::NullOperationInput {
        2989  +
        fn from(builder: Builder) -> Self {
        2990  +
            builder.build()
        2991  +
        }
        2992  +
    }
        2993  +
    /// A builder for [`NullOperationInput`](crate::input::NullOperationInput).
        2994  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2995  +
    pub struct Builder {
        2996  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        2997  +
    }
        2998  +
    impl Builder {
        2999  +
        #[allow(missing_docs)] // documentation missing in model
        3000  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        3001  +
            self.string = input;
        3002  +
            self
        3003  +
        }
        3004  +
        /// Consumes the builder and constructs a [`NullOperationInput`](crate::input::NullOperationInput).
        3005  +
        pub fn build(self) -> crate::input::NullOperationInput {
        3006  +
            self.build_enforcing_required_and_enum_traits()
        3007  +
        }
        3008  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::NullOperationInput {
        3009  +
            crate::input::NullOperationInput {
        3010  +
                string: self.string,
        3011  +
            }
        3012  +
        }
        3013  +
    }
        3014  +
}
        3015  +
/// See [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        3016  +
pub(crate) mod sparse_nulls_operation_input_internal {
 2788   3017   
 2789         -
    impl ::std::convert::From<Builder> for crate::input::JsonEnumsInput {
        3018  +
    impl ::std::convert::From<Builder> for crate::input::SparseNullsOperationInput {
 2790   3019   
        fn from(builder: Builder) -> Self {
 2791   3020   
            builder.build()
 2792   3021   
        }
 2793   3022   
    }
 2794         -
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        3023  +
    /// A builder for [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
 2795   3024   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2796         -
    pub struct Builder {
 2797         -
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
 2798         -
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
 2799         -
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
 2800         -
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 2801         -
        pub(crate) foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 2802         -
        pub(crate) foo_enum_map: ::std::option::Option<
 2803         -
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3025  +
    pub(crate) struct Builder {
        3026  +
        pub(crate) sparse_string_list:
        3027  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        3028  +
        pub(crate) sparse_string_map: ::std::option::Option<
        3029  +
            ::std::collections::HashMap<
        3030  +
                ::std::string::String,
        3031  +
                ::std::option::Option<::std::string::String>,
        3032  +
            >,
 2804   3033   
        >,
 2805   3034   
    }
 2806   3035   
    impl Builder {
 2807   3036   
        #[allow(missing_docs)] // documentation missing in model
 2808         -
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
 2809         -
            self.foo_enum1 = input;
 2810         -
            self
 2811         -
        }
 2812         -
        #[allow(missing_docs)] // documentation missing in model
 2813         -
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
 2814         -
            self.foo_enum2 = input;
 2815         -
            self
 2816         -
        }
 2817         -
        #[allow(missing_docs)] // documentation missing in model
 2818         -
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
 2819         -
            self.foo_enum3 = input;
        3037  +
        pub(crate) fn set_sparse_string_list(
        3038  +
            mut self,
        3039  +
            input: Option<
        3040  +
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        3041  +
            >,
        3042  +
        ) -> Self {
        3043  +
            self.sparse_string_list = input.map(|v| v.into());
 2820   3044   
            self
 2821   3045   
        }
 2822   3046   
        #[allow(missing_docs)] // documentation missing in model
 2823         -
        pub fn foo_enum_list(
        3047  +
        pub(crate) fn set_sparse_string_map(
 2824   3048   
            mut self,
 2825         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3049  +
            input: Option<
        3050  +
                impl ::std::convert::Into<
        3051  +
                    ::std::collections::HashMap<
        3052  +
                        ::std::string::String,
        3053  +
                        ::std::option::Option<::std::string::String>,
        3054  +
                    >,
        3055  +
                >,
        3056  +
            >,
 2826   3057   
        ) -> Self {
 2827         -
            self.foo_enum_list = input;
        3058  +
            self.sparse_string_map = input.map(|v| v.into());
 2828   3059   
            self
 2829   3060   
        }
        3061  +
        /// Consumes the builder and constructs a [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        3062  +
        pub fn build(self) -> crate::input::SparseNullsOperationInput {
        3063  +
            self.build_enforcing_all_constraints()
        3064  +
        }
        3065  +
        fn build_enforcing_all_constraints(self) -> crate::input::SparseNullsOperationInput {
        3066  +
            crate::input::SparseNullsOperationInput {
        3067  +
                sparse_string_list: self.sparse_string_list,
        3068  +
                sparse_string_map: self.sparse_string_map,
        3069  +
            }
        3070  +
        }
        3071  +
    }
        3072  +
}
        3073  +
/// See [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        3074  +
pub mod sparse_nulls_operation_input {
        3075  +
        3076  +
    impl ::std::convert::From<Builder> for crate::input::SparseNullsOperationInput {
        3077  +
        fn from(builder: Builder) -> Self {
        3078  +
            builder.build()
        3079  +
        }
        3080  +
    }
        3081  +
    /// A builder for [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        3082  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3083  +
    pub struct Builder {
        3084  +
        pub(crate) sparse_string_list:
        3085  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        3086  +
        pub(crate) sparse_string_map: ::std::option::Option<
        3087  +
            ::std::collections::HashMap<
        3088  +
                ::std::string::String,
        3089  +
                ::std::option::Option<::std::string::String>,
        3090  +
            >,
        3091  +
        >,
        3092  +
    }
        3093  +
    impl Builder {
 2830   3094   
        #[allow(missing_docs)] // documentation missing in model
 2831         -
        pub fn foo_enum_set(
        3095  +
        pub fn sparse_string_list(
 2832   3096   
            mut self,
 2833         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3097  +
            input: ::std::option::Option<
        3098  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
        3099  +
            >,
 2834   3100   
        ) -> Self {
 2835         -
            self.foo_enum_set = input;
        3101  +
            self.sparse_string_list = input;
 2836   3102   
            self
 2837   3103   
        }
 2838   3104   
        #[allow(missing_docs)] // documentation missing in model
 2839         -
        pub fn foo_enum_map(
        3105  +
        pub fn sparse_string_map(
 2840   3106   
            mut self,
 2841   3107   
            input: ::std::option::Option<
 2842         -
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3108  +
                ::std::collections::HashMap<
        3109  +
                    ::std::string::String,
        3110  +
                    ::std::option::Option<::std::string::String>,
        3111  +
                >,
 2843   3112   
            >,
 2844   3113   
        ) -> Self {
 2845         -
            self.foo_enum_map = input;
        3114  +
            self.sparse_string_map = input;
 2846   3115   
            self
 2847   3116   
        }
 2848         -
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
 2849         -
        pub fn build(self) -> crate::input::JsonEnumsInput {
        3117  +
        /// Consumes the builder and constructs a [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        3118  +
        pub fn build(self) -> crate::input::SparseNullsOperationInput {
 2850   3119   
            self.build_enforcing_required_and_enum_traits()
 2851   3120   
        }
 2852         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonEnumsInput {
 2853         -
            crate::input::JsonEnumsInput {
 2854         -
                foo_enum1: self.foo_enum1,
 2855         -
                foo_enum2: self.foo_enum2,
 2856         -
                foo_enum3: self.foo_enum3,
 2857         -
                foo_enum_list: self.foo_enum_list,
 2858         -
                foo_enum_set: self.foo_enum_set,
 2859         -
                foo_enum_map: self.foo_enum_map,
        3121  +
        fn build_enforcing_required_and_enum_traits(
        3122  +
            self,
        3123  +
        ) -> crate::input::SparseNullsOperationInput {
        3124  +
            crate::input::SparseNullsOperationInput {
        3125  +
                sparse_string_list: self.sparse_string_list,
        3126  +
                sparse_string_map: self.sparse_string_map,
 2860   3127   
            }
 2861   3128   
        }
 2862   3129   
    }
 2863   3130   
}
 2864         -
/// See [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
 2865         -
pub(crate) mod put_and_get_inline_documents_input_internal {
        3131  +
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3132  +
pub(crate) mod greeting_with_errors_input_internal {
 2866   3133   
 2867         -
    impl ::std::convert::From<Builder> for crate::input::PutAndGetInlineDocumentsInput {
        3134  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
 2868   3135   
        fn from(builder: Builder) -> Self {
 2869   3136   
            builder.build()
 2870   3137   
        }
 2871   3138   
    }
 2872         -
    /// A builder for [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        3139  +
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 2873   3140   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2874         -
    pub(crate) struct Builder {
 2875         -
        pub(crate) inline_document:
 2876         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 2877         -
    }
        3141  +
    pub(crate) struct Builder {}
 2878   3142   
    impl Builder {
 2879         -
        #[allow(missing_docs)] // documentation missing in model
 2880         -
        pub(crate) fn set_inline_document(
 2881         -
            mut self,
 2882         -
            input: Option<
 2883         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::Document>,
 2884         -
            >,
 2885         -
        ) -> Self {
 2886         -
            self.inline_document = input.map(|v| v.into());
 2887         -
            self
 2888         -
        }
 2889         -
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
 2890         -
        pub fn build(self) -> crate::input::PutAndGetInlineDocumentsInput {
        3143  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3144  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
 2891   3145   
            self.build_enforcing_all_constraints()
 2892   3146   
        }
 2893         -
        fn build_enforcing_all_constraints(self) -> crate::input::PutAndGetInlineDocumentsInput {
 2894         -
            crate::input::PutAndGetInlineDocumentsInput {
 2895         -
                inline_document: self.inline_document,
 2896         -
            }
        3147  +
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
        3148  +
            crate::input::GreetingWithErrorsInput {}
 2897   3149   
        }
 2898   3150   
    }
 2899   3151   
}
 2900         -
/// See [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
 2901         -
pub mod put_and_get_inline_documents_input {
        3152  +
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3153  +
pub mod greeting_with_errors_input {
 2902   3154   
 2903         -
    impl ::std::convert::From<Builder> for crate::input::PutAndGetInlineDocumentsInput {
        3155  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
 2904   3156   
        fn from(builder: Builder) -> Self {
 2905   3157   
            builder.build()
 2906   3158   
        }
 2907   3159   
    }
 2908         -
    /// A builder for [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        3160  +
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
 2909   3161   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2910         -
    pub struct Builder {
 2911         -
        pub(crate) inline_document:
 2912         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 2913         -
    }
        3162  +
    pub struct Builder {}
 2914   3163   
    impl Builder {
 2915         -
        #[allow(missing_docs)] // documentation missing in model
 2916         -
        pub fn inline_document(
 2917         -
            mut self,
 2918         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 2919         -
        ) -> Self {
 2920         -
            self.inline_document = input;
 2921         -
            self
 2922         -
        }
 2923         -
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
 2924         -
        pub fn build(self) -> crate::input::PutAndGetInlineDocumentsInput {
        3164  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3165  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
 2925   3166   
            self.build_enforcing_required_and_enum_traits()
 2926   3167   
        }
 2927         -
        fn build_enforcing_required_and_enum_traits(
 2928         -
            self,
 2929         -
        ) -> crate::input::PutAndGetInlineDocumentsInput {
 2930         -
            crate::input::PutAndGetInlineDocumentsInput {
 2931         -
                inline_document: self.inline_document,
 2932         -
            }
        3168  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::GreetingWithErrorsInput {
        3169  +
            crate::input::GreetingWithErrorsInput {}
 2933   3170   
        }
 2934   3171   
    }
 2935   3172   
}
 2936         -
/// See [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
 2937         -
pub(crate) mod operation_with_optional_input_output_input_internal {
        3173  +
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        3174  +
pub(crate) mod json_unions_input_internal {
 2938   3175   
 2939         -
    impl ::std::convert::From<Builder> for crate::input::OperationWithOptionalInputOutputInput {
        3176  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3177  +
    /// Holds one variant for each of the ways the builder can fail.
        3178  +
    #[non_exhaustive]
        3179  +
    #[allow(clippy::enum_variant_names)]
        3180  +
    pub(crate) enum ConstraintViolation {
        3181  +
        /// Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
        3182  +
        #[doc(hidden)]
        3183  +
        Contents(crate::model::my_union_internal::ConstraintViolation),
        3184  +
    }
        3185  +
    impl ::std::fmt::Display for ConstraintViolation {
        3186  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3187  +
            match self {
        3188  +
                ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
        3189  +
            }
        3190  +
        }
        3191  +
    }
        3192  +
    impl ::std::error::Error for ConstraintViolation {}
        3193  +
    impl ConstraintViolation {
        3194  +
        pub(crate) fn as_validation_exception_field(
        3195  +
            self,
        3196  +
            path: ::std::string::String,
        3197  +
        ) -> crate::model::ValidationExceptionField {
        3198  +
            match self {
        3199  +
                ConstraintViolation::Contents(inner) => {
        3200  +
                    inner.as_validation_exception_field(path + "/contents")
        3201  +
                }
        3202  +
            }
        3203  +
        }
        3204  +
    }
        3205  +
    impl ::std::convert::From<ConstraintViolation>
        3206  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
        3207  +
    {
        3208  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        3209  +
            let first_validation_exception_field =
        3210  +
                constraint_violation.as_validation_exception_field("".to_owned());
        3211  +
            let validation_exception = crate::error::ValidationException {
        3212  +
                message: format!(
        3213  +
                    "1 validation error detected. {}",
        3214  +
                    &first_validation_exception_field.message
        3215  +
                ),
        3216  +
                field_list: Some(vec![first_validation_exception_field]),
        3217  +
            };
        3218  +
            Self::ConstraintViolation(
        3219  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        3220  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        3221  +
                            )
        3222  +
        }
        3223  +
    }
        3224  +
    impl ::std::convert::From<Builder>
        3225  +
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
        3226  +
    {
 2940   3227   
        fn from(builder: Builder) -> Self {
        3228  +
            Self::Unconstrained(builder)
        3229  +
        }
        3230  +
    }
        3231  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
        3232  +
        type Error = ConstraintViolation;
        3233  +
        3234  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 2941   3235   
            builder.build()
 2942   3236   
        }
 2943   3237   
    }
 2944         -
    /// A builder for [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        3238  +
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2945   3239   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2946   3240   
    pub(crate) struct Builder {
 2947         -
        pub(crate) value: ::std::option::Option<::std::string::String>,
        3241  +
        pub(crate) contents:
        3242  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
 2948   3243   
    }
 2949   3244   
    impl Builder {
 2950         -
        #[allow(missing_docs)] // documentation missing in model
 2951         -
        pub(crate) fn set_value(
        3245  +
        /// A union with a representative set of types for members.
        3246  +
        pub(crate) fn set_contents(
 2952   3247   
            mut self,
 2953         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        3248  +
            input: Option<
        3249  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
        3250  +
            >,
 2954   3251   
        ) -> Self {
 2955         -
            self.value = input.map(|v| v.into());
        3252  +
            self.contents = input.map(|v| v.into());
 2956   3253   
            self
 2957   3254   
        }
 2958         -
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
 2959         -
        pub fn build(self) -> crate::input::OperationWithOptionalInputOutputInput {
        3255  +
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        3256  +
        ///
        3257  +
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
        3258  +
        ///
        3259  +
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
 2960   3260   
            self.build_enforcing_all_constraints()
 2961   3261   
        }
 2962   3262   
        fn build_enforcing_all_constraints(
 2963   3263   
            self,
 2964         -
        ) -> crate::input::OperationWithOptionalInputOutputInput {
 2965         -
            crate::input::OperationWithOptionalInputOutputInput { value: self.value }
        3264  +
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
        3265  +
            Ok(crate::input::JsonUnionsInput {
        3266  +
                contents: self
        3267  +
                    .contents
        3268  +
                    .map(|v| match v {
        3269  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        3270  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        3271  +
                    })
        3272  +
                    .map(|res| res.map_err(ConstraintViolation::Contents))
        3273  +
                    .transpose()?,
        3274  +
            })
 2966   3275   
        }
 2967   3276   
    }
 2968   3277   
}
 2969         -
/// See [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
 2970         -
pub mod operation_with_optional_input_output_input {
        3278  +
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        3279  +
pub mod json_unions_input {
 2971   3280   
 2972         -
    impl ::std::convert::From<Builder> for crate::input::OperationWithOptionalInputOutputInput {
        3281  +
    impl ::std::convert::From<Builder> for crate::input::JsonUnionsInput {
 2973   3282   
        fn from(builder: Builder) -> Self {
 2974   3283   
            builder.build()
 2975   3284   
        }
 2976   3285   
    }
 2977         -
    /// A builder for [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        3286  +
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
 2978   3287   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2979   3288   
    pub struct Builder {
 2980         -
        pub(crate) value: ::std::option::Option<::std::string::String>,
        3289  +
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
 2981   3290   
    }
 2982   3291   
    impl Builder {
 2983         -
        #[allow(missing_docs)] // documentation missing in model
 2984         -
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2985         -
            self.value = input;
        3292  +
        /// A union with a representative set of types for members.
        3293  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
        3294  +
            self.contents = input;
 2986   3295   
            self
 2987   3296   
        }
 2988         -
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
 2989         -
        pub fn build(self) -> crate::input::OperationWithOptionalInputOutputInput {
        3297  +
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        3298  +
        pub fn build(self) -> crate::input::JsonUnionsInput {
 2990   3299   
            self.build_enforcing_required_and_enum_traits()
 2991   3300   
        }
 2992         -
        fn build_enforcing_required_and_enum_traits(
 2993         -
            self,
 2994         -
        ) -> crate::input::OperationWithOptionalInputOutputInput {
 2995         -
            crate::input::OperationWithOptionalInputOutputInput { value: self.value }
        3301  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::JsonUnionsInput {
        3302  +
            crate::input::JsonUnionsInput {
        3303  +
                contents: self.contents,
        3304  +
            }
 2996   3305   
        }
 2997   3306   
    }
 2998   3307   
}
 2999         -
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 3000         -
pub(crate) mod simple_scalar_properties_input_internal {
        3308  +
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        3309  +
pub(crate) mod endpoint_operation_input_internal {
 3001   3310   
 3002         -
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
        3311  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
 3003   3312   
        fn from(builder: Builder) -> Self {
 3004   3313   
            builder.build()
 3005   3314   
        }
 3006   3315   
    }
 3007         -
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        3316  +
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 3008   3317   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 3009         -
    pub(crate) struct Builder {
 3010         -
        pub(crate) float_value: ::std::option::Option<f32>,
 3011         -
        pub(crate) double_value: ::std::option::Option<f64>,
 3012         -
    }
        3318  +
    pub(crate) struct Builder {}
 3013   3319   
    impl Builder {
 3014         -
        #[allow(missing_docs)] // documentation missing in model
 3015         -
        pub(crate) fn set_float_value(
 3016         -
            mut self,
 3017         -
            input: Option<impl ::std::convert::Into<f32>>,
 3018         -
        ) -> Self {
 3019         -
            self.float_value = input.map(|v| v.into());
 3020         -
            self
 3021         -
        }
 3022         -
        #[allow(missing_docs)] // documentation missing in model
 3023         -
        pub(crate) fn set_double_value(
 3024         -
            mut self,
 3025         -
            input: Option<impl ::std::convert::Into<f64>>,
 3026         -
        ) -> Self {
 3027         -
            self.double_value = input.map(|v| v.into());
 3028         -
            self
 3029         -
        }
 3030         -
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 3031         -
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
        3320  +
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        3321  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
 3032   3322   
            self.build_enforcing_all_constraints()
 3033   3323   
        }
 3034         -
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
 3035         -
            crate::input::SimpleScalarPropertiesInput {
 3036         -
                float_value: self.float_value,
 3037         -
                double_value: self.double_value,
 3038         -
            }
        3324  +
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
        3325  +
            crate::input::EndpointOperationInput {}
 3039   3326   
        }
 3040   3327   
    }
 3041   3328   
}
 3042         -
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 3043         -
pub mod simple_scalar_properties_input {
        3329  +
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        3330  +
pub mod endpoint_operation_input {
 3044   3331   
 3045         -
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
        3332  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
 3046   3333   
        fn from(builder: Builder) -> Self {
 3047   3334   
            builder.build()
 3048   3335   
        }
 3049   3336   
    }
 3050         -
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        3337  +
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
 3051   3338   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 3052         -
    pub struct Builder {
 3053         -
        pub(crate) float_value: ::std::option::Option<f32>,
 3054         -
        pub(crate) double_value: ::std::option::Option<f64>,
 3055         -
    }
        3339  +
    pub struct Builder {}
 3056   3340   
    impl Builder {
 3057         -
        #[allow(missing_docs)] // documentation missing in model
 3058         -
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
 3059         -
            self.float_value = input;
 3060         -
            self
        3341  +
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        3342  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
        3343  +
            self.build_enforcing_required_and_enum_traits()
 3061   3344   
        }
 3062         -
        #[allow(missing_docs)] // documentation missing in model
 3063         -
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
 3064         -
            self.double_value = input;
 3065         -
            self
        3345  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::EndpointOperationInput {
        3346  +
            crate::input::EndpointOperationInput {}
 3066   3347   
        }
 3067         -
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
 3068         -
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
 3069         -
            self.build_enforcing_required_and_enum_traits()
 3070   3348   
    }
 3071         -
        fn build_enforcing_required_and_enum_traits(
        3349  +
}
        3350  +
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        3351  +
pub(crate) mod endpoint_with_host_label_operation_input_internal {
        3352  +
        3353  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3354  +
    /// Holds one variant for each of the ways the builder can fail.
        3355  +
    #[non_exhaustive]
        3356  +
    #[allow(clippy::enum_variant_names)]
        3357  +
    pub(crate) enum ConstraintViolation {
        3358  +
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
        3359  +
        MissingLabel,
        3360  +
    }
        3361  +
    impl ::std::fmt::Display for ConstraintViolation {
        3362  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3363  +
            match self {
        3364  +
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
        3365  +
            }
        3366  +
        }
        3367  +
    }
        3368  +
    impl ::std::error::Error for ConstraintViolation {}
        3369  +
    impl ConstraintViolation {
        3370  +
        pub(crate) fn as_validation_exception_field(
 3072   3371   
            self,
 3073         -
        ) -> crate::input::SimpleScalarPropertiesInput {
 3074         -
            crate::input::SimpleScalarPropertiesInput {
 3075         -
                float_value: self.float_value,
 3076         -
                double_value: self.double_value,
        3372  +
            path: ::std::string::String,
        3373  +
        ) -> crate::model::ValidationExceptionField {
        3374  +
            match self {
        3375  +
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
        3376  +
                    message: format!(
        3377  +
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
        3378  +
                        path
        3379  +
                    ),
        3380  +
                    path: path + "/label",
        3381  +
                },
 3077   3382   
            }
 3078   3383   
        }
 3079   3384   
    }
 3080         -
}
 3081         -
/// See [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 3082         -
pub(crate) mod kitchen_sink_operation_input_internal {
 3083         -
 3084         -
    impl ::std::convert::From<Builder> for crate::input::KitchenSinkOperationInput {
 3085         -
        fn from(builder: Builder) -> Self {
 3086         -
            builder.build()
        3385  +
    impl ::std::convert::From<ConstraintViolation>
        3386  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
        3387  +
    {
        3388  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        3389  +
            let first_validation_exception_field =
        3390  +
                constraint_violation.as_validation_exception_field("".to_owned());
        3391  +
            let validation_exception = crate::error::ValidationException {
        3392  +
                message: format!(
        3393  +
                    "1 validation error detected. {}",
        3394  +
                    &first_validation_exception_field.message
        3395  +
                ),
        3396  +
                field_list: Some(vec![first_validation_exception_field]),
        3397  +
            };
        3398  +
            Self::ConstraintViolation(
        3399  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        3400  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        3401  +
                            )
 3087   3402   
        }
 3088   3403   
    }
 3089         -
    /// A builder for [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 3090         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 3091         -
    pub(crate) struct Builder {
 3092         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 3093         -
        pub(crate) boolean: ::std::option::Option<bool>,
 3094         -
        pub(crate) double: ::std::option::Option<f64>,
 3095         -
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 3096         -
        pub(crate) float: ::std::option::Option<f32>,
 3097         -
        pub(crate) httpdate_timestamp:
 3098         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3099         -
        pub(crate) integer: ::std::option::Option<i32>,
 3100         -
        pub(crate) iso8601_timestamp:
 3101         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3102         -
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
 3103         -
        pub(crate) list_of_lists:
 3104         -
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 3105         -
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
 3106         -
            ::std::vec::Vec<
 3107         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3108         -
            >,
 3109         -
        >,
 3110         -
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3111         -
        pub(crate) list_of_structs:
 3112         -
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 3113         -
        pub(crate) long: ::std::option::Option<i64>,
 3114         -
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
 3115         -
            ::std::collections::HashMap<
 3116         -
                ::std::string::String,
 3117         -
                ::std::vec::Vec<::std::string::String>,
 3118         -
            >,
 3119         -
        >,
 3120         -
        pub(crate) map_of_maps: ::std::option::Option<
 3121         -
            ::std::collections::HashMap<
 3122         -
                ::std::string::String,
 3123         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3124         -
            >,
 3125         -
        >,
 3126         -
        pub(crate) map_of_strings: ::std::option::Option<
 3127         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3128         -
        >,
 3129         -
        pub(crate) map_of_structs: ::std::option::Option<
 3130         -
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 3131         -
        >,
 3132         -
        pub(crate) recursive_list:
 3133         -
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 3134         -
        pub(crate) recursive_map: ::std::option::Option<
 3135         -
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 3136         -
        >,
 3137         -
        pub(crate) recursive_struct:
 3138         -
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 3139         -
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 3140         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
 3141         -
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 3142         -
        pub(crate) timestamp:
 3143         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3144         -
        pub(crate) unix_timestamp:
 3145         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3404  +
    impl ::std::convert::From<Builder>
        3405  +
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
        3406  +
    {
        3407  +
        fn from(builder: Builder) -> Self {
        3408  +
            Self::Unconstrained(builder)
        3409  +
        }
        3410  +
    }
        3411  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
        3412  +
        type Error = ConstraintViolation;
        3413  +
        3414  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3415  +
            builder.build()
        3416  +
        }
        3417  +
    }
        3418  +
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        3419  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3420  +
    pub(crate) struct Builder {
        3421  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
 3146   3422   
    }
 3147   3423   
    impl Builder {
 3148   3424   
        #[allow(missing_docs)] // documentation missing in model
 3149         -
        pub(crate) fn set_blob(
        3425  +
        pub(crate) fn set_label(
 3150   3426   
            mut self,
 3151         -
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
        3427  +
            input: impl ::std::convert::Into<::std::string::String>,
 3152   3428   
        ) -> Self {
 3153         -
            self.blob = input.map(|v| v.into());
        3429  +
            self.label = Some(input.into());
 3154   3430   
            self
 3155   3431   
        }
 3156         -
        #[allow(missing_docs)] // documentation missing in model
 3157         -
        pub(crate) fn set_boolean(
 3158         -
            mut self,
 3159         -
            input: Option<impl ::std::convert::Into<bool>>,
 3160         -
        ) -> Self {
 3161         -
            self.boolean = input.map(|v| v.into());
 3162         -
            self
        3432  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        3433  +
        ///
        3434  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
        3435  +
        ///
        3436  +
        pub fn build(
        3437  +
            self,
        3438  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
        3439  +
        {
        3440  +
            self.build_enforcing_all_constraints()
 3163   3441   
        }
 3164         -
        #[allow(missing_docs)] // documentation missing in model
 3165         -
        pub(crate) fn set_double(mut self, input: Option<impl ::std::convert::Into<f64>>) -> Self {
 3166         -
            self.double = input.map(|v| v.into());
 3167         -
            self
        3442  +
        fn build_enforcing_all_constraints(
        3443  +
            self,
        3444  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
        3445  +
        {
        3446  +
            Ok(crate::input::EndpointWithHostLabelOperationInput {
        3447  +
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
        3448  +
            })
 3168   3449   
        }
 3169         -
        #[allow(missing_docs)] // documentation missing in model
 3170         -
        pub(crate) fn set_empty_struct(
 3171         -
            mut self,
 3172         -
            input: Option<impl ::std::convert::Into<crate::model::EmptyStruct>>,
 3173         -
        ) -> Self {
 3174         -
            self.empty_struct = input.map(|v| v.into());
 3175         -
            self
 3176   3450   
    }
 3177         -
        #[allow(missing_docs)] // documentation missing in model
 3178         -
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
 3179         -
            self.float = input.map(|v| v.into());
 3180         -
            self
        3451  +
}
        3452  +
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        3453  +
pub mod endpoint_with_host_label_operation_input {
        3454  +
        3455  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        3456  +
    /// Holds one variant for each of the ways the builder can fail.
        3457  +
    #[allow(clippy::enum_variant_names)]
        3458  +
    pub enum ConstraintViolation {
        3459  +
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
        3460  +
        MissingLabel,
 3181   3461   
    }
 3182         -
        #[allow(missing_docs)] // documentation missing in model
 3183         -
        pub(crate) fn set_httpdate_timestamp(
 3184         -
            mut self,
 3185         -
            input: Option<
 3186         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 3187         -
            >,
 3188         -
        ) -> Self {
 3189         -
            self.httpdate_timestamp = input.map(|v| v.into());
 3190         -
            self
        3462  +
    impl ::std::fmt::Display for ConstraintViolation {
        3463  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        3464  +
            match self {
        3465  +
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
 3191   3466   
            }
 3192         -
        #[allow(missing_docs)] // documentation missing in model
 3193         -
        pub(crate) fn set_integer(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
 3194         -
            self.integer = input.map(|v| v.into());
 3195         -
            self
 3196   3467   
        }
 3197         -
        #[allow(missing_docs)] // documentation missing in model
 3198         -
        pub(crate) fn set_iso8601_timestamp(
 3199         -
            mut self,
 3200         -
            input: Option<
 3201         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 3202         -
            >,
 3203         -
        ) -> Self {
 3204         -
            self.iso8601_timestamp = input.map(|v| v.into());
 3205         -
            self
 3206   3468   
    }
 3207         -
        #[allow(missing_docs)] // documentation missing in model
 3208         -
        pub(crate) fn set_json_value(
 3209         -
            mut self,
 3210         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 3211         -
        ) -> Self {
 3212         -
            self.json_value = input.map(|v| v.into());
 3213         -
            self
        3469  +
    impl ::std::error::Error for ConstraintViolation {}
        3470  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
        3471  +
        type Error = ConstraintViolation;
        3472  +
        3473  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        3474  +
            builder.build()
 3214   3475   
        }
 3215         -
        #[allow(missing_docs)] // documentation missing in model
 3216         -
        pub(crate) fn set_list_of_lists(
 3217         -
            mut self,
 3218         -
            input: Option<
 3219         -
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 3220         -
            >,
 3221         -
        ) -> Self {
 3222         -
            self.list_of_lists = input.map(|v| v.into());
 3223         -
            self
 3224   3476   
    }
 3225         -
        #[allow(missing_docs)] // documentation missing in model
 3226         -
        pub(crate) fn set_list_of_maps_of_strings(
 3227         -
            mut self,
 3228         -
            input: Option<
 3229         -
                impl ::std::convert::Into<
 3230         -
                    ::std::vec::Vec<
 3231         -
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3232         -
                    >,
 3233         -
                >,
 3234         -
            >,
 3235         -
        ) -> Self {
 3236         -
            self.list_of_maps_of_strings = input.map(|v| v.into());
 3237         -
            self
        3477  +
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        3478  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3479  +
    pub struct Builder {
        3480  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
 3238   3481   
    }
        3482  +
    impl Builder {
 3239   3483   
        #[allow(missing_docs)] // documentation missing in model
 3240         -
        pub(crate) fn set_list_of_strings(
 3241         -
            mut self,
 3242         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
 3243         -
        ) -> Self {
 3244         -
            self.list_of_strings = input.map(|v| v.into());
        3484  +
        pub fn label(mut self, input: ::std::string::String) -> Self {
        3485  +
            self.label = Some(input);
 3245   3486   
            self
 3246   3487   
        }
 3247         -
        #[allow(missing_docs)] // documentation missing in model
 3248         -
        pub(crate) fn set_list_of_structs(
 3249         -
            mut self,
 3250         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::SimpleStruct>>>,
 3251         -
        ) -> Self {
 3252         -
            self.list_of_structs = input.map(|v| v.into());
 3253         -
            self
        3488  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        3489  +
        ///
        3490  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if you do not provide a value for all non-`Option`al members.
        3491  +
        ///
        3492  +
        pub fn build(
        3493  +
            self,
        3494  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
        3495  +
        {
        3496  +
            self.build_enforcing_required_and_enum_traits()
 3254   3497   
        }
 3255         -
        #[allow(missing_docs)] // documentation missing in model
 3256         -
        pub(crate) fn set_long(mut self, input: Option<impl ::std::convert::Into<i64>>) -> Self {
 3257         -
            self.long = input.map(|v| v.into());
 3258         -
            self
        3498  +
        fn build_enforcing_required_and_enum_traits(
        3499  +
            self,
        3500  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
        3501  +
        {
        3502  +
            Ok(crate::input::EndpointWithHostLabelOperationInput {
        3503  +
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
        3504  +
            })
 3259   3505   
        }
 3260         -
        #[allow(missing_docs)] // documentation missing in model
 3261         -
        pub(crate) fn set_map_of_lists_of_strings(
 3262         -
            mut self,
 3263         -
            input: Option<
 3264         -
                impl ::std::convert::Into<
 3265         -
                    ::std::collections::HashMap<
 3266         -
                        ::std::string::String,
 3267         -
                        ::std::vec::Vec<::std::string::String>,
 3268         -
                    >,
 3269         -
                >,
 3270         -
            >,
 3271         -
        ) -> Self {
 3272         -
            self.map_of_lists_of_strings = input.map(|v| v.into());
 3273         -
            self
 3274   3506   
    }
 3275         -
        #[allow(missing_docs)] // documentation missing in model
 3276         -
        pub(crate) fn set_map_of_maps(
 3277         -
            mut self,
 3278         -
            input: Option<
 3279         -
                impl ::std::convert::Into<
 3280         -
                    ::std::collections::HashMap<
 3281         -
                        ::std::string::String,
 3282         -
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3283         -
                    >,
 3284         -
                >,
 3285         -
            >,
 3286         -
        ) -> Self {
 3287         -
            self.map_of_maps = input.map(|v| v.into());
 3288         -
            self
        3507  +
}
        3508  +
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        3509  +
pub(crate) mod host_with_path_operation_input_internal {
        3510  +
        3511  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
        3512  +
        fn from(builder: Builder) -> Self {
        3513  +
            builder.build()
 3289   3514   
        }
 3290         -
        #[allow(missing_docs)] // documentation missing in model
 3291         -
        pub(crate) fn set_map_of_strings(
 3292         -
            mut self,
 3293         -
            input: Option<
 3294         -
                impl ::std::convert::Into<
 3295         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3296         -
                >,
 3297         -
            >,
 3298         -
        ) -> Self {
 3299         -
            self.map_of_strings = input.map(|v| v.into());
 3300         -
            self
 3301   3515   
    }
 3302         -
        #[allow(missing_docs)] // documentation missing in model
 3303         -
        pub(crate) fn set_map_of_structs(
 3304         -
            mut self,
 3305         -
            input: Option<
 3306         -
                impl ::std::convert::Into<
 3307         -
                    ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 3308         -
                >,
 3309         -
            >,
 3310         -
        ) -> Self {
 3311         -
            self.map_of_structs = input.map(|v| v.into());
 3312         -
            self
        3516  +
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        3517  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3518  +
    pub(crate) struct Builder {}
        3519  +
    impl Builder {
        3520  +
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        3521  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
        3522  +
            self.build_enforcing_all_constraints()
 3313   3523   
        }
 3314         -
        #[allow(missing_docs)] // documentation missing in model
 3315         -
        pub(crate) fn set_recursive_list(
 3316         -
            mut self,
 3317         -
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::KitchenSink>>>,
 3318         -
        ) -> Self {
 3319         -
            self.recursive_list = input.map(|v| v.into());
 3320         -
            self
        3524  +
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
        3525  +
            crate::input::HostWithPathOperationInput {}
 3321   3526   
        }
 3322         -
        #[allow(missing_docs)] // documentation missing in model
 3323         -
        pub(crate) fn set_recursive_map(
 3324         -
            mut self,
 3325         -
            input: Option<
 3326         -
                impl ::std::convert::Into<
 3327         -
                    ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 3328         -
                >,
 3329         -
            >,
 3330         -
        ) -> Self {
 3331         -
            self.recursive_map = input.map(|v| v.into());
 3332         -
            self
 3333   3527   
    }
 3334         -
        #[allow(missing_docs)] // documentation missing in model
 3335         -
        pub(crate) fn set_recursive_struct(
 3336         -
            mut self,
 3337         -
            input: Option<impl ::std::convert::Into<::std::boxed::Box<crate::model::KitchenSink>>>,
 3338         -
        ) -> Self {
 3339         -
            self.recursive_struct = input.map(|v| v.into());
 3340         -
            self
        3528  +
}
        3529  +
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        3530  +
pub mod host_with_path_operation_input {
        3531  +
        3532  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
        3533  +
        fn from(builder: Builder) -> Self {
        3534  +
            builder.build()
        3535  +
        }
 3341   3536   
    }
 3342         -
        #[allow(missing_docs)] // documentation missing in model
 3343         -
        pub(crate) fn set_simple_struct(
 3344         -
            mut self,
 3345         -
            input: Option<impl ::std::convert::Into<crate::model::SimpleStruct>>,
 3346         -
        ) -> Self {
 3347         -
            self.simple_struct = input.map(|v| v.into());
 3348         -
            self
        3537  +
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        3538  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3539  +
    pub struct Builder {}
        3540  +
    impl Builder {
        3541  +
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        3542  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
        3543  +
            self.build_enforcing_required_and_enum_traits()
 3349   3544   
        }
 3350         -
        #[allow(missing_docs)] // documentation missing in model
 3351         -
        pub(crate) fn set_string(
 3352         -
            mut self,
 3353         -
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 3354         -
        ) -> Self {
 3355         -
            self.string = input.map(|v| v.into());
 3356         -
            self
        3545  +
        fn build_enforcing_required_and_enum_traits(
        3546  +
            self,
        3547  +
        ) -> crate::input::HostWithPathOperationInput {
        3548  +
            crate::input::HostWithPathOperationInput {}
 3357   3549   
        }
 3358         -
        #[allow(missing_docs)] // documentation missing in model
 3359         -
        pub(crate) fn set_struct_with_json_name(
 3360         -
            mut self,
 3361         -
            input: Option<impl ::std::convert::Into<crate::model::StructWithJsonName>>,
 3362         -
        ) -> Self {
 3363         -
            self.struct_with_json_name = input.map(|v| v.into());
 3364         -
            self
 3365   3550   
    }
 3366         -
        #[allow(missing_docs)] // documentation missing in model
 3367         -
        pub(crate) fn set_timestamp(
 3368         -
            mut self,
 3369         -
            input: Option<
 3370         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 3371         -
            >,
 3372         -
        ) -> Self {
 3373         -
            self.timestamp = input.map(|v| v.into());
 3374         -
            self
        3551  +
}
        3552  +
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        3553  +
pub(crate) mod datetime_offsets_input_internal {
        3554  +
        3555  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
        3556  +
        fn from(builder: Builder) -> Self {
        3557  +
            builder.build()
 3375   3558   
        }
 3376         -
        #[allow(missing_docs)] // documentation missing in model
 3377         -
        pub(crate) fn set_unix_timestamp(
 3378         -
            mut self,
 3379         -
            input: Option<
 3380         -
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 3381         -
            >,
 3382         -
        ) -> Self {
 3383         -
            self.unix_timestamp = input.map(|v| v.into());
 3384         -
            self
 3385   3559   
    }
 3386         -
        /// Consumes the builder and constructs a [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 3387         -
        pub fn build(self) -> crate::input::KitchenSinkOperationInput {
        3560  +
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        3561  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3562  +
    pub(crate) struct Builder {}
        3563  +
    impl Builder {
        3564  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        3565  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
 3388   3566   
            self.build_enforcing_all_constraints()
 3389   3567   
        }
 3390         -
        fn build_enforcing_all_constraints(self) -> crate::input::KitchenSinkOperationInput {
 3391         -
            crate::input::KitchenSinkOperationInput {
 3392         -
                blob: self.blob,
 3393         -
                boolean: self.boolean,
 3394         -
                double: self.double,
 3395         -
                empty_struct: self.empty_struct,
 3396         -
                float: self.float,
 3397         -
                httpdate_timestamp: self.httpdate_timestamp,
 3398         -
                integer: self.integer,
 3399         -
                iso8601_timestamp: self.iso8601_timestamp,
 3400         -
                json_value: self.json_value,
 3401         -
                list_of_lists: self.list_of_lists,
 3402         -
                list_of_maps_of_strings: self.list_of_maps_of_strings,
 3403         -
                list_of_strings: self.list_of_strings,
 3404         -
                list_of_structs: self.list_of_structs,
 3405         -
                long: self.long,
 3406         -
                map_of_lists_of_strings: self.map_of_lists_of_strings,
 3407         -
                map_of_maps: self.map_of_maps,
 3408         -
                map_of_strings: self.map_of_strings,
 3409         -
                map_of_structs: self.map_of_structs,
 3410         -
                recursive_list: self.recursive_list,
 3411         -
                recursive_map: self.recursive_map,
 3412         -
                recursive_struct: self.recursive_struct,
 3413         -
                simple_struct: self.simple_struct,
 3414         -
                string: self.string,
 3415         -
                struct_with_json_name: self.struct_with_json_name,
 3416         -
                timestamp: self.timestamp,
 3417         -
                unix_timestamp: self.unix_timestamp,
 3418         -
            }
        3568  +
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
        3569  +
            crate::input::DatetimeOffsetsInput {}
 3419   3570   
        }
 3420   3571   
    }
 3421   3572   
}
 3422         -
/// See [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 3423         -
pub mod kitchen_sink_operation_input {
        3573  +
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        3574  +
pub mod datetime_offsets_input {
 3424   3575   
 3425         -
    impl ::std::convert::From<Builder> for crate::input::KitchenSinkOperationInput {
        3576  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
 3426   3577   
        fn from(builder: Builder) -> Self {
 3427   3578   
            builder.build()
 3428   3579   
        }
 3429   3580   
    }
 3430         -
    /// A builder for [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        3581  +
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
 3431   3582   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 3432         -
    pub struct Builder {
 3433         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 3434         -
        pub(crate) boolean: ::std::option::Option<bool>,
 3435         -
        pub(crate) double: ::std::option::Option<f64>,
 3436         -
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 3437         -
        pub(crate) float: ::std::option::Option<f32>,
 3438         -
        pub(crate) httpdate_timestamp:
 3439         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3440         -
        pub(crate) integer: ::std::option::Option<i32>,
 3441         -
        pub(crate) iso8601_timestamp:
 3442         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3443         -
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
 3444         -
        pub(crate) list_of_lists:
 3445         -
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 3446         -
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
 3447         -
            ::std::vec::Vec<
 3448         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3449         -
            >,
 3450         -
        >,
 3451         -
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3452         -
        pub(crate) list_of_structs:
 3453         -
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 3454         -
        pub(crate) long: ::std::option::Option<i64>,
 3455         -
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
 3456         -
            ::std::collections::HashMap<
 3457         -
                ::std::string::String,
 3458         -
                ::std::vec::Vec<::std::string::String>,
 3459         -
            >,
 3460         -
        >,
 3461         -
        pub(crate) map_of_maps: ::std::option::Option<
 3462         -
            ::std::collections::HashMap<
 3463         -
                ::std::string::String,
 3464         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3465         -
            >,
 3466         -
        >,
 3467         -
        pub(crate) map_of_strings: ::std::option::Option<
 3468         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3469         -
        >,
 3470         -
        pub(crate) map_of_structs: ::std::option::Option<
 3471         -
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 3472         -
        >,
 3473         -
        pub(crate) recursive_list:
 3474         -
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 3475         -
        pub(crate) recursive_map: ::std::option::Option<
 3476         -
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 3477         -
        >,
 3478         -
        pub(crate) recursive_struct:
 3479         -
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 3480         -
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 3481         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
 3482         -
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 3483         -
        pub(crate) timestamp:
 3484         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3485         -
        pub(crate) unix_timestamp:
 3486         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3487         -
    }
        3583  +
    pub struct Builder {}
 3488   3584   
    impl Builder {
 3489         -
        #[allow(missing_docs)] // documentation missing in model
 3490         -
        pub fn blob(
 3491         -
            mut self,
 3492         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 3493         -
        ) -> Self {
 3494         -
            self.blob = input;
 3495         -
            self
 3496         -
        }
 3497         -
        #[allow(missing_docs)] // documentation missing in model
 3498         -
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
 3499         -
            self.boolean = input;
 3500         -
            self
        3585  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        3586  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
        3587  +
            self.build_enforcing_required_and_enum_traits()
 3501   3588   
        }
 3502         -
        #[allow(missing_docs)] // documentation missing in model
 3503         -
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
 3504         -
            self.double = input;
 3505         -
            self
        3589  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::DatetimeOffsetsInput {
        3590  +
            crate::input::DatetimeOffsetsInput {}
 3506   3591   
        }
 3507         -
        #[allow(missing_docs)] // documentation missing in model
 3508         -
        pub fn empty_struct(
 3509         -
            mut self,
 3510         -
            input: ::std::option::Option<crate::model::EmptyStruct>,
 3511         -
        ) -> Self {
 3512         -
            self.empty_struct = input;
 3513         -
            self
 3514   3592   
    }
 3515         -
        #[allow(missing_docs)] // documentation missing in model
 3516         -
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
 3517         -
            self.float = input;
 3518         -
            self
        3593  +
}
        3594  +
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        3595  +
pub(crate) mod fractional_seconds_input_internal {
        3596  +
        3597  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
        3598  +
        fn from(builder: Builder) -> Self {
        3599  +
            builder.build()
 3519   3600   
        }
 3520         -
        #[allow(missing_docs)] // documentation missing in model
 3521         -
        pub fn httpdate_timestamp(
 3522         -
            mut self,
 3523         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3524         -
        ) -> Self {
 3525         -
            self.httpdate_timestamp = input;
 3526         -
            self
 3527   3601   
    }
 3528         -
        #[allow(missing_docs)] // documentation missing in model
 3529         -
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
 3530         -
            self.integer = input;
 3531         -
            self
        3602  +
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        3603  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3604  +
    pub(crate) struct Builder {}
        3605  +
    impl Builder {
        3606  +
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        3607  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
        3608  +
            self.build_enforcing_all_constraints()
 3532   3609   
        }
 3533         -
        #[allow(missing_docs)] // documentation missing in model
 3534         -
        pub fn iso8601_timestamp(
 3535         -
            mut self,
 3536         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3537         -
        ) -> Self {
 3538         -
            self.iso8601_timestamp = input;
 3539         -
            self
        3610  +
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
        3611  +
            crate::input::FractionalSecondsInput {}
 3540   3612   
        }
 3541         -
        #[allow(missing_docs)] // documentation missing in model
 3542         -
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 3543         -
            self.json_value = input;
 3544         -
            self
 3545   3613   
    }
 3546         -
        #[allow(missing_docs)] // documentation missing in model
 3547         -
        pub fn list_of_lists(
 3548         -
            mut self,
 3549         -
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 3550         -
        ) -> Self {
 3551         -
            self.list_of_lists = input;
 3552         -
            self
        3614  +
}
        3615  +
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        3616  +
pub mod fractional_seconds_input {
        3617  +
        3618  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
        3619  +
        fn from(builder: Builder) -> Self {
        3620  +
            builder.build()
 3553   3621   
        }
 3554         -
        #[allow(missing_docs)] // documentation missing in model
 3555         -
        pub fn list_of_maps_of_strings(
 3556         -
            mut self,
 3557         -
            input: ::std::option::Option<
 3558         -
                ::std::vec::Vec<
 3559         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3560         -
                >,
 3561         -
            >,
 3562         -
        ) -> Self {
 3563         -
            self.list_of_maps_of_strings = input;
 3564         -
            self
 3565   3622   
    }
 3566         -
        #[allow(missing_docs)] // documentation missing in model
 3567         -
        pub fn list_of_strings(
 3568         -
            mut self,
 3569         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 3570         -
        ) -> Self {
 3571         -
            self.list_of_strings = input;
 3572         -
            self
        3623  +
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        3624  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3625  +
    pub struct Builder {}
        3626  +
    impl Builder {
        3627  +
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        3628  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
        3629  +
            self.build_enforcing_required_and_enum_traits()
 3573   3630   
        }
 3574         -
        #[allow(missing_docs)] // documentation missing in model
 3575         -
        pub fn list_of_structs(
 3576         -
            mut self,
 3577         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 3578         -
        ) -> Self {
 3579         -
            self.list_of_structs = input;
 3580         -
            self
        3631  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::FractionalSecondsInput {
        3632  +
            crate::input::FractionalSecondsInput {}
 3581   3633   
        }
 3582         -
        #[allow(missing_docs)] // documentation missing in model
 3583         -
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
 3584         -
            self.long = input;
 3585         -
            self
 3586   3634   
    }
 3587         -
        #[allow(missing_docs)] // documentation missing in model
 3588         -
        pub fn map_of_lists_of_strings(
 3589         -
            mut self,
 3590         -
            input: ::std::option::Option<
 3591         -
                ::std::collections::HashMap<
 3592         -
                    ::std::string::String,
 3593         -
                    ::std::vec::Vec<::std::string::String>,
 3594         -
                >,
 3595         -
            >,
 3596         -
        ) -> Self {
 3597         -
            self.map_of_lists_of_strings = input;
 3598         -
            self
        3635  +
}
        3636  +
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        3637  +
pub(crate) mod put_with_content_encoding_input_internal {
        3638  +
        3639  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
        3640  +
        fn from(builder: Builder) -> Self {
        3641  +
            builder.build()
 3599   3642   
        }
 3600         -
        #[allow(missing_docs)] // documentation missing in model
 3601         -
        pub fn map_of_maps(
 3602         -
            mut self,
 3603         -
            input: ::std::option::Option<
 3604         -
                ::std::collections::HashMap<
 3605         -
                    ::std::string::String,
 3606         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3607         -
                >,
 3608         -
            >,
 3609         -
        ) -> Self {
 3610         -
            self.map_of_maps = input;
 3611         -
            self
 3612   3643   
    }
 3613         -
        #[allow(missing_docs)] // documentation missing in model
 3614         -
        pub fn map_of_strings(
 3615         -
            mut self,
 3616         -
            input: ::std::option::Option<
 3617         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 3618         -
            >,
 3619         -
        ) -> Self {
 3620         -
            self.map_of_strings = input;
 3621         -
            self
        3644  +
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        3645  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3646  +
    pub(crate) struct Builder {
        3647  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
        3648  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
 3622   3649   
    }
        3650  +
    impl Builder {
 3623   3651   
        #[allow(missing_docs)] // documentation missing in model
 3624         -
        pub fn map_of_structs(
        3652  +
        pub(crate) fn set_encoding(
 3625   3653   
            mut self,
 3626         -
            input: ::std::option::Option<
 3627         -
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 3628         -
            >,
        3654  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 3629   3655   
        ) -> Self {
 3630         -
            self.map_of_structs = input;
        3656  +
            self.encoding = input.map(|v| v.into());
 3631   3657   
            self
 3632   3658   
        }
 3633   3659   
        #[allow(missing_docs)] // documentation missing in model
 3634         -
        pub fn recursive_list(
        3660  +
        pub(crate) fn set_data(
 3635   3661   
            mut self,
 3636         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        3662  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 3637   3663   
        ) -> Self {
 3638         -
            self.recursive_list = input;
        3664  +
            self.data = input.map(|v| v.into());
 3639   3665   
            self
 3640   3666   
        }
 3641         -
        #[allow(missing_docs)] // documentation missing in model
 3642         -
        pub fn recursive_map(
 3643         -
            mut self,
 3644         -
            input: ::std::option::Option<
 3645         -
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 3646         -
            >,
 3647         -
        ) -> Self {
 3648         -
            self.recursive_map = input;
 3649         -
            self
        3667  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        3668  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
        3669  +
            self.build_enforcing_all_constraints()
 3650   3670   
        }
 3651         -
        #[allow(missing_docs)] // documentation missing in model
 3652         -
        pub fn recursive_struct(
 3653         -
            mut self,
 3654         -
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 3655         -
        ) -> Self {
 3656         -
            self.recursive_struct = input;
 3657         -
            self
        3671  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
        3672  +
            crate::input::PutWithContentEncodingInput {
        3673  +
                encoding: self.encoding,
        3674  +
                data: self.data,
 3658   3675   
            }
 3659         -
        #[allow(missing_docs)] // documentation missing in model
 3660         -
        pub fn simple_struct(
 3661         -
            mut self,
 3662         -
            input: ::std::option::Option<crate::model::SimpleStruct>,
 3663         -
        ) -> Self {
 3664         -
            self.simple_struct = input;
 3665         -
            self
 3666   3676   
        }
 3667         -
        #[allow(missing_docs)] // documentation missing in model
 3668         -
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 3669         -
            self.string = input;
 3670         -
            self
 3671   3677   
    }
 3672         -
        #[allow(missing_docs)] // documentation missing in model
 3673         -
        pub fn struct_with_json_name(
 3674         -
            mut self,
 3675         -
            input: ::std::option::Option<crate::model::StructWithJsonName>,
 3676         -
        ) -> Self {
 3677         -
            self.struct_with_json_name = input;
 3678         -
            self
        3678  +
}
        3679  +
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        3680  +
pub mod put_with_content_encoding_input {
        3681  +
        3682  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
        3683  +
        fn from(builder: Builder) -> Self {
        3684  +
            builder.build()
        3685  +
        }
        3686  +
    }
        3687  +
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        3688  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3689  +
    pub struct Builder {
        3690  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
        3691  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
 3679   3692   
    }
        3693  +
    impl Builder {
 3680   3694   
        #[allow(missing_docs)] // documentation missing in model
 3681         -
        pub fn timestamp(
 3682         -
            mut self,
 3683         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3684         -
        ) -> Self {
 3685         -
            self.timestamp = input;
        3695  +
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        3696  +
            self.encoding = input;
 3686   3697   
            self
 3687   3698   
        }
 3688   3699   
        #[allow(missing_docs)] // documentation missing in model
 3689         -
        pub fn unix_timestamp(
 3690         -
            mut self,
 3691         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 3692         -
        ) -> Self {
 3693         -
            self.unix_timestamp = input;
        3700  +
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        3701  +
            self.data = input;
 3694   3702   
            self
 3695   3703   
        }
 3696         -
        /// Consumes the builder and constructs a [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
 3697         -
        pub fn build(self) -> crate::input::KitchenSinkOperationInput {
        3704  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        3705  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
 3698   3706   
            self.build_enforcing_required_and_enum_traits()
 3699   3707   
        }
 3700   3708   
        fn build_enforcing_required_and_enum_traits(
 3701   3709   
            self,
 3702         -
        ) -> crate::input::KitchenSinkOperationInput {
 3703         -
            crate::input::KitchenSinkOperationInput {
 3704         -
                blob: self.blob,
 3705         -
                boolean: self.boolean,
 3706         -
                double: self.double,
 3707         -
                empty_struct: self.empty_struct,
 3708         -
                float: self.float,
 3709         -
                httpdate_timestamp: self.httpdate_timestamp,
 3710         -
                integer: self.integer,
 3711         -
                iso8601_timestamp: self.iso8601_timestamp,
 3712         -
                json_value: self.json_value,
 3713         -
                list_of_lists: self.list_of_lists,
 3714         -
                list_of_maps_of_strings: self.list_of_maps_of_strings,
 3715         -
                list_of_strings: self.list_of_strings,
 3716         -
                list_of_structs: self.list_of_structs,
 3717         -
                long: self.long,
 3718         -
                map_of_lists_of_strings: self.map_of_lists_of_strings,
 3719         -
                map_of_maps: self.map_of_maps,
 3720         -
                map_of_strings: self.map_of_strings,
 3721         -
                map_of_structs: self.map_of_structs,
 3722         -
                recursive_list: self.recursive_list,
 3723         -
                recursive_map: self.recursive_map,
 3724         -
                recursive_struct: self.recursive_struct,
 3725         -
                simple_struct: self.simple_struct,
 3726         -
                string: self.string,
 3727         -
                struct_with_json_name: self.struct_with_json_name,
 3728         -
                timestamp: self.timestamp,
 3729         -
                unix_timestamp: self.unix_timestamp,
        3710  +
        ) -> crate::input::PutWithContentEncodingInput {
        3711  +
            crate::input::PutWithContentEncodingInput {
        3712  +
                encoding: self.encoding,
        3713  +
                data: self.data,
 3730   3714   
            }
 3731   3715   
        }
 3732   3716   
    }
 3733   3717   
}
 3734         -
/// See [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 3735         -
pub(crate) mod empty_operation_input_internal {
        3718  +
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        3719  +
pub(crate) mod content_type_parameters_input_internal {
 3736   3720   
 3737         -
    impl ::std::convert::From<Builder> for crate::input::EmptyOperationInput {
        3721  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
 3738   3722   
        fn from(builder: Builder) -> Self {
 3739   3723   
            builder.build()
 3740   3724   
        }
 3741   3725   
    }
 3742         -
    /// A builder for [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        3726  +
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 3743   3727   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 3744         -
    pub(crate) struct Builder {}
        3728  +
    pub(crate) struct Builder {
        3729  +
        pub(crate) value: ::std::option::Option<i32>,
        3730  +
    }
 3745   3731   
    impl Builder {
 3746         -
        /// Consumes the builder and constructs a [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 3747         -
        pub fn build(self) -> crate::input::EmptyOperationInput {
        3732  +
        #[allow(missing_docs)] // documentation missing in model
        3733  +
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        3734  +
            self.value = input.map(|v| v.into());
        3735  +
            self
        3736  +
        }
        3737  +
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        3738  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 3748   3739   
            self.build_enforcing_all_constraints()
 3749   3740   
        }
 3750         -
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyOperationInput {
 3751         -
            crate::input::EmptyOperationInput {}
        3741  +
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
        3742  +
            crate::input::ContentTypeParametersInput { value: self.value }
 3752   3743   
        }
 3753   3744   
    }
 3754   3745   
}
 3755         -
/// See [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 3756         -
pub mod empty_operation_input {
        3746  +
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        3747  +
pub mod content_type_parameters_input {
 3757   3748   
 3758         -
    impl ::std::convert::From<Builder> for crate::input::EmptyOperationInput {
        3749  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
 3759   3750   
        fn from(builder: Builder) -> Self {
 3760   3751   
            builder.build()
 3761   3752   
        }
 3762   3753   
    }
 3763         -
    /// A builder for [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        3754  +
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
 3764   3755   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 3765         -
    pub struct Builder {}
        3756  +
    pub struct Builder {
        3757  +
        pub(crate) value: ::std::option::Option<i32>,
        3758  +
    }
 3766   3759   
    impl Builder {
 3767         -
        /// Consumes the builder and constructs a [`EmptyOperationInput`](crate::input::EmptyOperationInput).
 3768         -
        pub fn build(self) -> crate::input::EmptyOperationInput {
        3760  +
        #[allow(missing_docs)] // documentation missing in model
        3761  +
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
        3762  +
            self.value = input;
        3763  +
            self
        3764  +
        }
        3765  +
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        3766  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
 3769   3767   
            self.build_enforcing_required_and_enum_traits()
 3770   3768   
        }
 3771         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::input::EmptyOperationInput {
 3772         -
            crate::input::EmptyOperationInput {}
        3769  +
        fn build_enforcing_required_and_enum_traits(
        3770  +
            self,
        3771  +
        ) -> crate::input::ContentTypeParametersInput {
        3772  +
            crate::input::ContentTypeParametersInput { value: self.value }
 3773   3773   
        }
 3774   3774   
    }
 3775   3775   
}