Server Test Python

Server Test Python

rev. d838bf488731ae5e751cce0fe13f339a5b9be858

Files changed:

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

@@ -1,1 +165,167 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pyclass]
           3  +
/// :param list typing.Optional\[typing.List\[typing.List\[typing.List\[typing.Dict\[str, misc.model.EmptyStructure\]\]\]\]\]:
    3      4   
/// :rtype None:
    4      5   
#[allow(missing_docs)] // documentation missing in model
    5         -
#[derive(
    6         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    7         -
)]
    8         -
pub struct ResponseCodeDefaultOperationInput {}
    9         -
#[allow(clippy::new_without_default)]
   10         -
#[allow(clippy::too_many_arguments)]
   11         -
#[::pyo3::pymethods]
   12         -
impl ResponseCodeDefaultOperationInput {
   13         -
    #[new]
   14         -
    pub fn new() -> Self {
   15         -
        Self {}
   16         -
    }
   17         -
    fn __repr__(&self) -> String {
   18         -
        format!("{self:?}")
   19         -
    }
   20         -
    fn __str__(&self) -> String {
   21         -
        format!("{self:?}")
   22         -
    }
   23         -
}
   24         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ResponseCodeDefaultOperationInput> {
   25         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   26         -
        ob.extract::<ResponseCodeDefaultOperationInput>()
   27         -
            .map(Box::new)
   28         -
    }
   29         -
}
   30         -
   31         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeDefaultOperationInput> {
   32         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   33         -
        (*self).into_py(py)
   34         -
    }
   35         -
}
   36         -
impl crate::constrained::Constrained for crate::input::ResponseCodeDefaultOperationInput {
   37         -
    type Unconstrained = crate::input::response_code_default_operation_input_internal::Builder;
           6  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           7  +
pub struct TypeComplexityOperationInput {
           8  +
    #[pyo3(get, set)]
           9  +
    /// :type typing.Optional\[typing.List\[typing.List\[typing.List\[typing.Dict\[str, misc.model.EmptyStructure\]\]\]\]\]:
          10  +
    #[allow(missing_docs)] // documentation missing in model
          11  +
    pub list: ::std::option::Option<
          12  +
        ::std::vec::Vec<
          13  +
            ::std::vec::Vec<
          14  +
                ::std::vec::Vec<
          15  +
                    ::std::collections::HashMap<
          16  +
                        ::std::string::String,
          17  +
                        crate::model::EmptyStructure,
          18  +
                    >,
          19  +
                >,
          20  +
            >,
          21  +
        >,
          22  +
    >,
   38     23   
}
   39         -
impl ResponseCodeDefaultOperationInput {
   40         -
    /// Creates a new builder-style object to manufacture [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
   41         -
    pub fn builder() -> crate::input::response_code_default_operation_input::Builder {
   42         -
        crate::input::response_code_default_operation_input::Builder::default()
          24  +
impl TypeComplexityOperationInput {
          25  +
    #[allow(missing_docs)] // documentation missing in model
          26  +
    pub fn list(
          27  +
        &self,
          28  +
    ) -> ::std::option::Option<
          29  +
        &[::std::vec::Vec<
          30  +
            ::std::vec::Vec<
          31  +
                ::std::collections::HashMap<::std::string::String, crate::model::EmptyStructure>,
          32  +
            >,
          33  +
        >],
          34  +
    > {
          35  +
        self.list.as_deref()
   43     36   
    }
   44     37   
}
   45         -
   46         -
#[::pyo3::pyclass]
   47         -
/// :rtype None:
   48         -
#[allow(missing_docs)] // documentation missing in model
   49         -
#[derive(
   50         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
   51         -
)]
   52         -
pub struct ResponseCodeHttpFallbackOperationInput {}
   53     38   
#[allow(clippy::new_without_default)]
   54     39   
#[allow(clippy::too_many_arguments)]
   55     40   
#[::pyo3::pymethods]
   56         -
impl ResponseCodeHttpFallbackOperationInput {
          41  +
impl TypeComplexityOperationInput {
   57     42   
    #[new]
   58         -
    pub fn new() -> Self {
   59         -
        Self {}
          43  +
    pub fn new(
          44  +
        list: ::std::option::Option<
          45  +
            ::std::vec::Vec<
          46  +
                ::std::vec::Vec<
          47  +
                    ::std::vec::Vec<
          48  +
                        ::std::collections::HashMap<
          49  +
                            ::std::string::String,
          50  +
                            crate::model::EmptyStructure,
          51  +
                        >,
          52  +
                    >,
          53  +
                >,
          54  +
            >,
          55  +
        >,
          56  +
    ) -> Self {
          57  +
        Self { list }
   60     58   
    }
   61     59   
    fn __repr__(&self) -> String {
   62     60   
        format!("{self:?}")
   63     61   
    }
   64     62   
    fn __str__(&self) -> String {
   65     63   
        format!("{self:?}")
   66     64   
    }
   67     65   
}
   68         -
impl<'source> ::pyo3::FromPyObject<'source>
   69         -
    for std::boxed::Box<ResponseCodeHttpFallbackOperationInput>
   70         -
{
          66  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TypeComplexityOperationInput> {
   71     67   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   72         -
        ob.extract::<ResponseCodeHttpFallbackOperationInput>()
   73         -
            .map(Box::new)
          68  +
        ob.extract::<TypeComplexityOperationInput>().map(Box::new)
   74     69   
    }
   75     70   
}
   76     71   
   77         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeHttpFallbackOperationInput> {
          72  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TypeComplexityOperationInput> {
   78     73   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   79     74   
        (*self).into_py(py)
   80     75   
    }
   81     76   
}
   82         -
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackOperationInput {
   83         -
    type Unconstrained =
   84         -
        crate::input::response_code_http_fallback_operation_input_internal::Builder;
          77  +
impl crate::constrained::Constrained for crate::input::TypeComplexityOperationInput {
          78  +
    type Unconstrained = crate::input::type_complexity_operation_input_internal::Builder;
   85     79   
}
   86         -
impl ResponseCodeHttpFallbackOperationInput {
   87         -
    /// Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
   88         -
    pub fn builder() -> crate::input::response_code_http_fallback_operation_input::Builder {
   89         -
        crate::input::response_code_http_fallback_operation_input::Builder::default()
          80  +
impl TypeComplexityOperationInput {
          81  +
    /// Creates a new builder-style object to manufacture [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
          82  +
    pub fn builder() -> crate::input::type_complexity_operation_input::Builder {
          83  +
        crate::input::type_complexity_operation_input::Builder::default()
   90     84   
    }
   91     85   
}
   92     86   
   93     87   
#[::pyo3::pyclass]
          88  +
/// :param inner typing.Optional\[misc.model.InnerShape\]:
   94     89   
/// :rtype None:
   95     90   
#[allow(missing_docs)] // documentation missing in model
   96         -
#[derive(
   97         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
   98         -
)]
   99         -
pub struct ResponseCodeRequiredOperationInput {}
          91  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          92  +
pub struct RequiredInnerShapeOperationInput {
          93  +
    #[pyo3(get, set)]
          94  +
    /// :type typing.Optional\[misc.model.InnerShape\]:
          95  +
    #[allow(missing_docs)] // documentation missing in model
          96  +
    pub inner: ::std::option::Option<crate::model::InnerShape>,
          97  +
}
          98  +
impl RequiredInnerShapeOperationInput {
          99  +
    #[allow(missing_docs)] // documentation missing in model
         100  +
    pub fn inner(&self) -> ::std::option::Option<&crate::model::InnerShape> {
         101  +
        self.inner.as_ref()
         102  +
    }
         103  +
}
  100    104   
#[allow(clippy::new_without_default)]
  101    105   
#[allow(clippy::too_many_arguments)]
  102    106   
#[::pyo3::pymethods]
  103         -
impl ResponseCodeRequiredOperationInput {
         107  +
impl RequiredInnerShapeOperationInput {
  104    108   
    #[new]
  105         -
    pub fn new() -> Self {
  106         -
        Self {}
         109  +
    pub fn new(inner: ::std::option::Option<crate::model::InnerShape>) -> Self {
         110  +
        Self { inner }
  107    111   
    }
  108    112   
    fn __repr__(&self) -> String {
  109    113   
        format!("{self:?}")
  110    114   
    }
  111    115   
    fn __str__(&self) -> String {
  112    116   
        format!("{self:?}")
  113    117   
    }
  114    118   
}
  115         -
impl<'source> ::pyo3::FromPyObject<'source>
  116         -
    for std::boxed::Box<ResponseCodeRequiredOperationInput>
  117         -
{
         119  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<RequiredInnerShapeOperationInput> {
  118    120   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  119         -
        ob.extract::<ResponseCodeRequiredOperationInput>()
         121  +
        ob.extract::<RequiredInnerShapeOperationInput>()
  120    122   
            .map(Box::new)
  121    123   
    }
  122    124   
}
  123    125   
  124         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeRequiredOperationInput> {
         126  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<RequiredInnerShapeOperationInput> {
  125    127   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  126    128   
        (*self).into_py(py)
  127    129   
    }
  128    130   
}
  129         -
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredOperationInput {
  130         -
    type Unconstrained = crate::input::response_code_required_operation_input_internal::Builder;
         131  +
impl crate::constrained::Constrained for crate::input::RequiredInnerShapeOperationInput {
         132  +
    type Unconstrained = crate::input::required_inner_shape_operation_input_internal::Builder;
  131    133   
}
  132         -
impl ResponseCodeRequiredOperationInput {
  133         -
    /// Creates a new builder-style object to manufacture [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
  134         -
    pub fn builder() -> crate::input::response_code_required_operation_input::Builder {
  135         -
        crate::input::response_code_required_operation_input::Builder::default()
         134  +
impl RequiredInnerShapeOperationInput {
         135  +
    /// Creates a new builder-style object to manufacture [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         136  +
    pub fn builder() -> crate::input::required_inner_shape_operation_input::Builder {
         137  +
        crate::input::required_inner_shape_operation_input::Builder::default()
  136    138   
    }
  137    139   
}
  138    140   
  139    141   
#[::pyo3::pyclass]
  140    142   
/// :param required_header_list typing.List\[str\]:
  141    143   
/// :param required_header_set typing.List\[str\]:
  142    144   
/// :rtype None:
  143    145   
#[allow(missing_docs)] // documentation missing in model
  144    146   
#[derive(
  145    147   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
@@ -185,187 +534,645 @@
  205    207   
    type Unconstrained = crate::input::required_header_collection_operation_input_internal::Builder;
  206    208   
}
  207    209   
impl RequiredHeaderCollectionOperationInput {
  208    210   
    /// Creates a new builder-style object to manufacture [`RequiredHeaderCollectionOperationInput`](crate::input::RequiredHeaderCollectionOperationInput).
  209    211   
    pub fn builder() -> crate::input::required_header_collection_operation_input::Builder {
  210    212   
        crate::input::required_header_collection_operation_input::Builder::default()
  211    213   
    }
  212    214   
}
  213    215   
  214    216   
#[::pyo3::pyclass]
  215         -
/// :param inner typing.Optional\[misc.model.InnerShape\]:
  216    217   
/// :rtype None:
  217    218   
#[allow(missing_docs)] // documentation missing in model
  218         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  219         -
pub struct RequiredInnerShapeOperationInput {
  220         -
    #[pyo3(get, set)]
  221         -
    /// :type typing.Optional\[misc.model.InnerShape\]:
  222         -
    #[allow(missing_docs)] // documentation missing in model
  223         -
    pub inner: ::std::option::Option<crate::model::InnerShape>,
  224         -
}
  225         -
impl RequiredInnerShapeOperationInput {
  226         -
    #[allow(missing_docs)] // documentation missing in model
  227         -
    pub fn inner(&self) -> ::std::option::Option<&crate::model::InnerShape> {
  228         -
        self.inner.as_ref()
  229         -
    }
  230         -
}
         219  +
#[derive(
         220  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         221  +
)]
         222  +
pub struct ResponseCodeRequiredOperationInput {}
  231    223   
#[allow(clippy::new_without_default)]
  232    224   
#[allow(clippy::too_many_arguments)]
  233    225   
#[::pyo3::pymethods]
  234         -
impl RequiredInnerShapeOperationInput {
         226  +
impl ResponseCodeRequiredOperationInput {
  235    227   
    #[new]
  236         -
    pub fn new(inner: ::std::option::Option<crate::model::InnerShape>) -> Self {
  237         -
        Self { inner }
         228  +
    pub fn new() -> Self {
         229  +
        Self {}
  238    230   
    }
  239    231   
    fn __repr__(&self) -> String {
  240    232   
        format!("{self:?}")
  241    233   
    }
  242    234   
    fn __str__(&self) -> String {
  243    235   
        format!("{self:?}")
  244    236   
    }
  245    237   
}
  246         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<RequiredInnerShapeOperationInput> {
         238  +
impl<'source> ::pyo3::FromPyObject<'source>
         239  +
    for std::boxed::Box<ResponseCodeRequiredOperationInput>
         240  +
{
  247    241   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  248         -
        ob.extract::<RequiredInnerShapeOperationInput>()
         242  +
        ob.extract::<ResponseCodeRequiredOperationInput>()
  249    243   
            .map(Box::new)
  250    244   
    }
  251    245   
}
  252    246   
  253         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<RequiredInnerShapeOperationInput> {
         247  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeRequiredOperationInput> {
  254    248   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  255    249   
        (*self).into_py(py)
  256    250   
    }
  257    251   
}
  258         -
impl crate::constrained::Constrained for crate::input::RequiredInnerShapeOperationInput {
  259         -
    type Unconstrained = crate::input::required_inner_shape_operation_input_internal::Builder;
         252  +
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredOperationInput {
         253  +
    type Unconstrained = crate::input::response_code_required_operation_input_internal::Builder;
  260    254   
}
  261         -
impl RequiredInnerShapeOperationInput {
  262         -
    /// Creates a new builder-style object to manufacture [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
  263         -
    pub fn builder() -> crate::input::required_inner_shape_operation_input::Builder {
  264         -
        crate::input::required_inner_shape_operation_input::Builder::default()
         255  +
impl ResponseCodeRequiredOperationInput {
         256  +
    /// Creates a new builder-style object to manufacture [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         257  +
    pub fn builder() -> crate::input::response_code_required_operation_input::Builder {
         258  +
        crate::input::response_code_required_operation_input::Builder::default()
  265    259   
    }
  266    260   
}
  267    261   
  268    262   
#[::pyo3::pyclass]
  269         -
/// :param list typing.Optional\[typing.List\[typing.List\[typing.List\[typing.Dict\[str, misc.model.EmptyStructure\]\]\]\]\]:
  270    263   
/// :rtype None:
  271    264   
#[allow(missing_docs)] // documentation missing in model
  272         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  273         -
pub struct TypeComplexityOperationInput {
  274         -
    #[pyo3(get, set)]
  275         -
    /// :type typing.Optional\[typing.List\[typing.List\[typing.List\[typing.Dict\[str, misc.model.EmptyStructure\]\]\]\]\]:
  276         -
    #[allow(missing_docs)] // documentation missing in model
  277         -
    pub list: ::std::option::Option<
  278         -
        ::std::vec::Vec<
  279         -
            ::std::vec::Vec<
  280         -
                ::std::vec::Vec<
  281         -
                    ::std::collections::HashMap<
  282         -
                        ::std::string::String,
  283         -
                        crate::model::EmptyStructure,
  284         -
                    >,
  285         -
                >,
  286         -
            >,
  287         -
        >,
  288         -
    >,
  289         -
}
  290         -
impl TypeComplexityOperationInput {
  291         -
    #[allow(missing_docs)] // documentation missing in model
  292         -
    pub fn list(
  293         -
        &self,
  294         -
    ) -> ::std::option::Option<
  295         -
        &[::std::vec::Vec<
  296         -
            ::std::vec::Vec<
  297         -
                ::std::collections::HashMap<::std::string::String, crate::model::EmptyStructure>,
  298         -
            >,
  299         -
        >],
  300         -
    > {
  301         -
        self.list.as_deref()
  302         -
    }
  303         -
}
         265  +
#[derive(
         266  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         267  +
)]
         268  +
pub struct ResponseCodeHttpFallbackOperationInput {}
  304    269   
#[allow(clippy::new_without_default)]
  305    270   
#[allow(clippy::too_many_arguments)]
  306    271   
#[::pyo3::pymethods]
  307         -
impl TypeComplexityOperationInput {
         272  +
impl ResponseCodeHttpFallbackOperationInput {
  308    273   
    #[new]
  309         -
    pub fn new(
  310         -
        list: ::std::option::Option<
  311         -
            ::std::vec::Vec<
  312         -
                ::std::vec::Vec<
  313         -
                    ::std::vec::Vec<
  314         -
                        ::std::collections::HashMap<
  315         -
                            ::std::string::String,
  316         -
                            crate::model::EmptyStructure,
  317         -
                        >,
  318         -
                    >,
  319         -
                >,
  320         -
            >,
  321         -
        >,
  322         -
    ) -> Self {
  323         -
        Self { list }
         274  +
    pub fn new() -> Self {
         275  +
        Self {}
  324    276   
    }
  325    277   
    fn __repr__(&self) -> String {
  326    278   
        format!("{self:?}")
  327    279   
    }
  328    280   
    fn __str__(&self) -> String {
  329    281   
        format!("{self:?}")
  330    282   
    }
  331    283   
}
  332         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<TypeComplexityOperationInput> {
         284  +
impl<'source> ::pyo3::FromPyObject<'source>
         285  +
    for std::boxed::Box<ResponseCodeHttpFallbackOperationInput>
         286  +
{
  333    287   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  334         -
        ob.extract::<TypeComplexityOperationInput>().map(Box::new)
         288  +
        ob.extract::<ResponseCodeHttpFallbackOperationInput>()
         289  +
            .map(Box::new)
  335    290   
    }
  336    291   
}
  337    292   
  338         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<TypeComplexityOperationInput> {
         293  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeHttpFallbackOperationInput> {
  339    294   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  340    295   
        (*self).into_py(py)
  341    296   
    }
  342    297   
}
  343         -
impl crate::constrained::Constrained for crate::input::TypeComplexityOperationInput {
  344         -
    type Unconstrained = crate::input::type_complexity_operation_input_internal::Builder;
         298  +
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackOperationInput {
         299  +
    type Unconstrained =
         300  +
        crate::input::response_code_http_fallback_operation_input_internal::Builder;
  345    301   
}
  346         -
impl TypeComplexityOperationInput {
  347         -
    /// Creates a new builder-style object to manufacture [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  348         -
    pub fn builder() -> crate::input::type_complexity_operation_input::Builder {
  349         -
        crate::input::type_complexity_operation_input::Builder::default()
         302  +
impl ResponseCodeHttpFallbackOperationInput {
         303  +
    /// Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
         304  +
    pub fn builder() -> crate::input::response_code_http_fallback_operation_input::Builder {
         305  +
        crate::input::response_code_http_fallback_operation_input::Builder::default()
  350    306   
    }
  351    307   
}
  352         -
/// See [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  353         -
pub(crate) mod response_code_default_operation_input_internal {
  354    308   
  355         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeDefaultOperationInput {
  356         -
        fn from(builder: Builder) -> Self {
  357         -
            builder.build()
  358         -
        }
  359         -
    }
  360         -
    /// A builder for [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  361         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  362         -
    pub(crate) struct Builder {}
  363         -
    impl Builder {
  364         -
        /// Consumes the builder and constructs a [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  365         -
        pub fn build(self) -> crate::input::ResponseCodeDefaultOperationInput {
  366         -
            self.build_enforcing_all_constraints()
  367         -
        }
  368         -
        fn build_enforcing_all_constraints(
  369         -
            self,
  370         -
        ) -> crate::input::ResponseCodeDefaultOperationInput {
  371         -
            crate::input::ResponseCodeDefaultOperationInput {}
  372         -
        }
         309  +
#[::pyo3::pyclass]
         310  +
/// :rtype None:
         311  +
#[allow(missing_docs)] // documentation missing in model
         312  +
#[derive(
         313  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         314  +
)]
         315  +
pub struct ResponseCodeDefaultOperationInput {}
         316  +
#[allow(clippy::new_without_default)]
         317  +
#[allow(clippy::too_many_arguments)]
         318  +
#[::pyo3::pymethods]
         319  +
impl ResponseCodeDefaultOperationInput {
         320  +
    #[new]
         321  +
    pub fn new() -> Self {
         322  +
        Self {}
  373    323   
    }
  374         -
}
  375         -
/// See [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  376         -
pub mod response_code_default_operation_input {
  377         -
  378         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeDefaultOperationInput {
  379         -
        fn from(builder: Builder) -> Self {
  380         -
            builder.build()
  381         -
        }
         324  +
    fn __repr__(&self) -> String {
         325  +
        format!("{self:?}")
  382    326   
    }
  383         -
    /// A builder for [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  384         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  385         -
    pub struct Builder {}
  386         -
    impl Builder {
  387         -
        /// Consumes the builder and constructs a [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  388         -
        pub fn build(self) -> crate::input::ResponseCodeDefaultOperationInput {
  389         -
            self.build_enforcing_required_and_enum_traits()
  390         -
        }
  391         -
        fn build_enforcing_required_and_enum_traits(
  392         -
            self,
  393         -
        ) -> crate::input::ResponseCodeDefaultOperationInput {
  394         -
            crate::input::ResponseCodeDefaultOperationInput {}
  395         -
        }
         327  +
    fn __str__(&self) -> String {
         328  +
        format!("{self:?}")
  396    329   
    }
  397    330   
}
  398         -
/// See [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  399         -
pub(crate) mod response_code_http_fallback_operation_input_internal {
  400         -
  401         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackOperationInput {
  402         -
        fn from(builder: Builder) -> Self {
  403         -
            builder.build()
  404         -
        }
  405         -
    }
  406         -
    /// A builder for [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  407         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  408         -
    pub(crate) struct Builder {}
  409         -
    impl Builder {
  410         -
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  411         -
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackOperationInput {
  412         -
            self.build_enforcing_all_constraints()
  413         -
        }
  414         -
        fn build_enforcing_all_constraints(
  415         -
            self,
  416         -
        ) -> crate::input::ResponseCodeHttpFallbackOperationInput {
  417         -
            crate::input::ResponseCodeHttpFallbackOperationInput {}
  418         -
        }
         331  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ResponseCodeDefaultOperationInput> {
         332  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
         333  +
        ob.extract::<ResponseCodeDefaultOperationInput>()
         334  +
            .map(Box::new)
  419    335   
    }
  420    336   
}
  421         -
/// See [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  422         -
pub mod response_code_http_fallback_operation_input {
  423    337   
  424         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackOperationInput {
  425         -
        fn from(builder: Builder) -> Self {
  426         -
            builder.build()
  427         -
        }
         338  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ResponseCodeDefaultOperationInput> {
         339  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
         340  +
        (*self).into_py(py)
  428    341   
    }
  429         -
    /// A builder for [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  430         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  431         -
    pub struct Builder {}
  432         -
    impl Builder {
  433         -
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  434         -
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackOperationInput {
  435         -
            self.build_enforcing_required_and_enum_traits()
  436         -
        }
  437         -
        fn build_enforcing_required_and_enum_traits(
  438         -
            self,
  439         -
        ) -> crate::input::ResponseCodeHttpFallbackOperationInput {
  440         -
            crate::input::ResponseCodeHttpFallbackOperationInput {}
  441         -
        }
         342  +
}
         343  +
impl crate::constrained::Constrained for crate::input::ResponseCodeDefaultOperationInput {
         344  +
    type Unconstrained = crate::input::response_code_default_operation_input_internal::Builder;
         345  +
}
         346  +
impl ResponseCodeDefaultOperationInput {
         347  +
    /// Creates a new builder-style object to manufacture [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
         348  +
    pub fn builder() -> crate::input::response_code_default_operation_input::Builder {
         349  +
        crate::input::response_code_default_operation_input::Builder::default()
  442    350   
    }
  443    351   
}
  444         -
/// See [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
  445         -
pub(crate) mod response_code_required_operation_input_internal {
         352  +
/// See [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
         353  +
pub(crate) mod type_complexity_operation_input_internal {
  446    354   
  447         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredOperationInput {
         355  +
    impl ::std::convert::From<Builder> for crate::input::TypeComplexityOperationInput {
  448    356   
        fn from(builder: Builder) -> Self {
  449    357   
            builder.build()
  450    358   
        }
  451    359   
    }
  452         -
    /// A builder for [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         360  +
    /// A builder for [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  453    361   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  454         -
    pub(crate) struct Builder {}
         362  +
    pub(crate) struct Builder {
         363  +
        pub(crate) list: ::std::option::Option<
         364  +
            ::std::vec::Vec<
         365  +
                ::std::vec::Vec<
         366  +
                    ::std::vec::Vec<
         367  +
                        ::std::collections::HashMap<
         368  +
                            ::std::string::String,
         369  +
                            crate::model::EmptyStructure,
         370  +
                        >,
         371  +
                    >,
         372  +
                >,
         373  +
            >,
         374  +
        >,
         375  +
    }
  455    376   
    impl Builder {
  456         -
        /// Consumes the builder and constructs a [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
  457         -
        pub fn build(self) -> crate::input::ResponseCodeRequiredOperationInput {
         377  +
        #[allow(missing_docs)] // documentation missing in model
         378  +
        pub(crate) fn set_list(
         379  +
            mut self,
         380  +
            input: Option<
         381  +
                impl ::std::convert::Into<
         382  +
                    ::std::vec::Vec<
         383  +
                        ::std::vec::Vec<
         384  +
                            ::std::vec::Vec<
         385  +
                                ::std::collections::HashMap<
         386  +
                                    ::std::string::String,
         387  +
                                    crate::model::EmptyStructure,
         388  +
                                >,
         389  +
                            >,
         390  +
                        >,
         391  +
                    >,
         392  +
                >,
         393  +
            >,
         394  +
        ) -> Self {
         395  +
            self.list = input.map(|v| v.into());
         396  +
            self
         397  +
        }
         398  +
        /// Consumes the builder and constructs a [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
         399  +
        pub fn build(self) -> crate::input::TypeComplexityOperationInput {
  458    400   
            self.build_enforcing_all_constraints()
  459    401   
        }
  460         -
        fn build_enforcing_all_constraints(
  461         -
            self,
  462         -
        ) -> crate::input::ResponseCodeRequiredOperationInput {
  463         -
            crate::input::ResponseCodeRequiredOperationInput {}
         402  +
        fn build_enforcing_all_constraints(self) -> crate::input::TypeComplexityOperationInput {
         403  +
            crate::input::TypeComplexityOperationInput { list: self.list }
  464    404   
        }
  465    405   
    }
  466    406   
}
  467         -
/// See [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
  468         -
pub mod response_code_required_operation_input {
         407  +
/// See [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
         408  +
pub mod type_complexity_operation_input {
  469    409   
  470         -
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredOperationInput {
         410  +
    impl ::std::convert::From<Builder> for crate::input::TypeComplexityOperationInput {
  471    411   
        fn from(builder: Builder) -> Self {
  472    412   
            builder.build()
  473    413   
        }
  474    414   
    }
  475         -
    /// A builder for [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         415  +
    /// A builder for [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  476    416   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  477         -
    pub struct Builder {}
         417  +
    pub struct Builder {
         418  +
        pub(crate) list: ::std::option::Option<
         419  +
            ::std::vec::Vec<
         420  +
                ::std::vec::Vec<
         421  +
                    ::std::vec::Vec<
         422  +
                        ::std::collections::HashMap<
         423  +
                            ::std::string::String,
         424  +
                            crate::model::EmptyStructure,
         425  +
                        >,
         426  +
                    >,
         427  +
                >,
         428  +
            >,
         429  +
        >,
         430  +
    }
  478    431   
    impl Builder {
  479         -
        /// Consumes the builder and constructs a [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
  480         -
        pub fn build(self) -> crate::input::ResponseCodeRequiredOperationInput {
         432  +
        #[allow(missing_docs)] // documentation missing in model
         433  +
        pub fn list(
         434  +
            mut self,
         435  +
            input: ::std::option::Option<
         436  +
                ::std::vec::Vec<
         437  +
                    ::std::vec::Vec<
         438  +
                        ::std::vec::Vec<
         439  +
                            ::std::collections::HashMap<
         440  +
                                ::std::string::String,
         441  +
                                crate::model::EmptyStructure,
         442  +
                            >,
         443  +
                        >,
         444  +
                    >,
         445  +
                >,
         446  +
            >,
         447  +
        ) -> Self {
         448  +
            self.list = input;
         449  +
            self
         450  +
        }
         451  +
        /// Consumes the builder and constructs a [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
         452  +
        pub fn build(self) -> crate::input::TypeComplexityOperationInput {
  481    453   
            self.build_enforcing_required_and_enum_traits()
  482    454   
        }
  483    455   
        fn build_enforcing_required_and_enum_traits(
  484    456   
            self,
  485         -
        ) -> crate::input::ResponseCodeRequiredOperationInput {
  486         -
            crate::input::ResponseCodeRequiredOperationInput {}
         457  +
        ) -> crate::input::TypeComplexityOperationInput {
         458  +
            crate::input::TypeComplexityOperationInput { list: self.list }
  487    459   
        }
  488    460   
    }
  489    461   
}
  490         -
/// See [`RequiredHeaderCollectionOperationInput`](crate::input::RequiredHeaderCollectionOperationInput).
  491         -
pub(crate) mod required_header_collection_operation_input_internal {
         462  +
/// See [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         463  +
pub(crate) mod required_inner_shape_operation_input_internal {
  492    464   
  493    465   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  494    466   
    /// Holds one variant for each of the ways the builder can fail.
  495    467   
    #[non_exhaustive]
  496    468   
    #[allow(clippy::enum_variant_names)]
  497    469   
    pub(crate) enum ConstraintViolation {
  498         -
        /// `required_header_list` was not provided but it is required when building `RequiredHeaderCollectionOperationInput`.
  499         -
        MissingRequiredHeaderList,
  500         -
        /// `required_header_set` was not provided but it is required when building `RequiredHeaderCollectionOperationInput`.
  501         -
        MissingRequiredHeaderSet,
  502         -
        /// Constraint violation occurred building member `required_header_set` when building `RequiredHeaderCollectionOperationInput`.
         470  +
        /// Constraint violation occurred building member `inner` when building `RequiredInnerShapeOperationInput`.
  503    471   
        #[doc(hidden)]
  504         -
        RequiredHeaderSet(crate::model::header_set_internal::ConstraintViolation),
         472  +
        Inner(crate::model::inner_shape_internal::ConstraintViolation),
         473  +
    }
         474  +
    impl ::std::fmt::Display for ConstraintViolation {
         475  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         476  +
            match self {
         477  +
                ConstraintViolation::Inner(_) => write!(f, "constraint violation occurred building member `inner` when building `RequiredInnerShapeOperationInput`"),
         478  +
            }
         479  +
        }
         480  +
    }
         481  +
    impl ::std::error::Error for ConstraintViolation {}
         482  +
    impl ConstraintViolation {
         483  +
        pub(crate) fn as_validation_exception_field(
         484  +
            self,
         485  +
            path: ::std::string::String,
         486  +
        ) -> crate::model::ValidationExceptionField {
         487  +
            match self {
         488  +
                ConstraintViolation::Inner(inner) => {
         489  +
                    inner.as_validation_exception_field(path + "/inner")
         490  +
                }
         491  +
            }
         492  +
        }
         493  +
    }
         494  +
    impl ::std::convert::From<ConstraintViolation>
         495  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
         496  +
    {
         497  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
         498  +
            let first_validation_exception_field =
         499  +
                constraint_violation.as_validation_exception_field("".to_owned());
         500  +
            let validation_exception = crate::error::ValidationException {
         501  +
                message: format!(
         502  +
                    "1 validation error detected. {}",
         503  +
                    &first_validation_exception_field.message
         504  +
                ),
         505  +
                field_list: Some(vec![first_validation_exception_field]),
         506  +
            };
         507  +
            Self::ConstraintViolation(
         508  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
         509  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
         510  +
                            )
         511  +
        }
         512  +
    }
         513  +
    impl ::std::convert::From<Builder>
         514  +
        for crate::constrained::MaybeConstrained<crate::input::RequiredInnerShapeOperationInput>
         515  +
    {
         516  +
        fn from(builder: Builder) -> Self {
         517  +
            Self::Unconstrained(builder)
         518  +
        }
         519  +
    }
         520  +
    impl ::std::convert::TryFrom<Builder> for crate::input::RequiredInnerShapeOperationInput {
         521  +
        type Error = ConstraintViolation;
         522  +
         523  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         524  +
            builder.build()
         525  +
        }
         526  +
    }
         527  +
    /// A builder for [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         528  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         529  +
    pub(crate) struct Builder {
         530  +
        pub(crate) inner:
         531  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::InnerShape>>,
         532  +
    }
         533  +
    impl Builder {
         534  +
        #[allow(missing_docs)] // documentation missing in model
         535  +
        pub(crate) fn set_inner(
         536  +
            mut self,
         537  +
            input: Option<
         538  +
                impl ::std::convert::Into<
         539  +
                    crate::constrained::MaybeConstrained<crate::model::InnerShape>,
         540  +
                >,
         541  +
            >,
         542  +
        ) -> Self {
         543  +
            self.inner = input.map(|v| v.into());
         544  +
            self
         545  +
        }
         546  +
        /// Consumes the builder and constructs a [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         547  +
        ///
         548  +
        /// The builder fails to construct a [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput) if a [`ConstraintViolation`] occurs.
         549  +
        ///
         550  +
        pub fn build(
         551  +
            self,
         552  +
        ) -> Result<crate::input::RequiredInnerShapeOperationInput, ConstraintViolation> {
         553  +
            self.build_enforcing_all_constraints()
         554  +
        }
         555  +
        fn build_enforcing_all_constraints(
         556  +
            self,
         557  +
        ) -> Result<crate::input::RequiredInnerShapeOperationInput, ConstraintViolation> {
         558  +
            Ok(crate::input::RequiredInnerShapeOperationInput {
         559  +
                inner: self
         560  +
                    .inner
         561  +
                    .map(|v| match v {
         562  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
         563  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
         564  +
                    })
         565  +
                    .map(|res| res.map_err(ConstraintViolation::Inner))
         566  +
                    .transpose()?,
         567  +
            })
         568  +
        }
         569  +
    }
         570  +
}
         571  +
/// See [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         572  +
pub mod required_inner_shape_operation_input {
         573  +
         574  +
    impl ::std::convert::From<Builder> for crate::input::RequiredInnerShapeOperationInput {
         575  +
        fn from(builder: Builder) -> Self {
         576  +
            builder.build()
         577  +
        }
         578  +
    }
         579  +
    /// A builder for [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         580  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         581  +
    pub struct Builder {
         582  +
        pub(crate) inner: ::std::option::Option<crate::model::InnerShape>,
         583  +
    }
         584  +
    impl Builder {
         585  +
        #[allow(missing_docs)] // documentation missing in model
         586  +
        pub fn inner(mut self, input: ::std::option::Option<crate::model::InnerShape>) -> Self {
         587  +
            self.inner = input;
         588  +
            self
         589  +
        }
         590  +
        /// Consumes the builder and constructs a [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         591  +
        pub fn build(self) -> crate::input::RequiredInnerShapeOperationInput {
         592  +
            self.build_enforcing_required_and_enum_traits()
         593  +
        }
         594  +
        fn build_enforcing_required_and_enum_traits(
         595  +
            self,
         596  +
        ) -> crate::input::RequiredInnerShapeOperationInput {
         597  +
            crate::input::RequiredInnerShapeOperationInput { inner: self.inner }
         598  +
        }
         599  +
    }
         600  +
}
         601  +
/// See [`RequiredHeaderCollectionOperationInput`](crate::input::RequiredHeaderCollectionOperationInput).
         602  +
pub(crate) mod required_header_collection_operation_input_internal {
         603  +
         604  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         605  +
    /// Holds one variant for each of the ways the builder can fail.
         606  +
    #[non_exhaustive]
         607  +
    #[allow(clippy::enum_variant_names)]
         608  +
    pub(crate) enum ConstraintViolation {
         609  +
        /// `required_header_list` was not provided but it is required when building `RequiredHeaderCollectionOperationInput`.
         610  +
        MissingRequiredHeaderList,
         611  +
        /// `required_header_set` was not provided but it is required when building `RequiredHeaderCollectionOperationInput`.
         612  +
        MissingRequiredHeaderSet,
         613  +
        /// Constraint violation occurred building member `required_header_set` when building `RequiredHeaderCollectionOperationInput`.
         614  +
        #[doc(hidden)]
         615  +
        RequiredHeaderSet(crate::model::header_set_internal::ConstraintViolation),
  505    616   
    }
  506    617   
    impl ::std::fmt::Display for ConstraintViolation {
  507    618   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  508    619   
            match self {
  509    620   
                ConstraintViolation::MissingRequiredHeaderList => write!(f, "`required_header_list` was not provided but it is required when building `RequiredHeaderCollectionOperationInput`"),
  510    621   
                ConstraintViolation::MissingRequiredHeaderSet => write!(f, "`required_header_set` was not provided but it is required when building `RequiredHeaderCollectionOperationInput`"),
  511    622   
                ConstraintViolation::RequiredHeaderSet(_) => write!(f, "constraint violation occurred building member `required_header_set` when building `RequiredHeaderCollectionOperationInput`"),
  512    623   
            }
  513    624   
        }
  514    625   
    }
@@ -677,788 +955,955 @@
  697    808   
                required_header_list: self
  698    809   
                    .required_header_list
  699    810   
                    .ok_or(ConstraintViolation::MissingRequiredHeaderList)?,
  700    811   
                required_header_set: self
  701    812   
                    .required_header_set
  702    813   
                    .ok_or(ConstraintViolation::MissingRequiredHeaderSet)?,
  703    814   
            })
  704    815   
        }
  705    816   
    }
  706    817   
}
  707         -
/// See [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
  708         -
pub(crate) mod required_inner_shape_operation_input_internal {
         818  +
/// See [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         819  +
pub(crate) mod response_code_required_operation_input_internal {
  709    820   
  710         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  711         -
    /// Holds one variant for each of the ways the builder can fail.
  712         -
    #[non_exhaustive]
  713         -
    #[allow(clippy::enum_variant_names)]
  714         -
    pub(crate) enum ConstraintViolation {
  715         -
        /// Constraint violation occurred building member `inner` when building `RequiredInnerShapeOperationInput`.
  716         -
        #[doc(hidden)]
  717         -
        Inner(crate::model::inner_shape_internal::ConstraintViolation),
  718         -
    }
  719         -
    impl ::std::fmt::Display for ConstraintViolation {
  720         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  721         -
            match self {
  722         -
                ConstraintViolation::Inner(_) => write!(f, "constraint violation occurred building member `inner` when building `RequiredInnerShapeOperationInput`"),
  723         -
            }
         821  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredOperationInput {
         822  +
        fn from(builder: Builder) -> Self {
         823  +
            builder.build()
  724    824   
        }
  725    825   
    }
  726         -
    impl ::std::error::Error for ConstraintViolation {}
  727         -
    impl ConstraintViolation {
  728         -
        pub(crate) fn as_validation_exception_field(
         826  +
    /// A builder for [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         827  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         828  +
    pub(crate) struct Builder {}
         829  +
    impl Builder {
         830  +
        /// Consumes the builder and constructs a [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         831  +
        pub fn build(self) -> crate::input::ResponseCodeRequiredOperationInput {
         832  +
            self.build_enforcing_all_constraints()
         833  +
        }
         834  +
        fn build_enforcing_all_constraints(
  729    835   
            self,
  730         -
            path: ::std::string::String,
  731         -
        ) -> crate::model::ValidationExceptionField {
  732         -
            match self {
  733         -
                ConstraintViolation::Inner(inner) => {
  734         -
                    inner.as_validation_exception_field(path + "/inner")
  735         -
                }
  736         -
            }
         836  +
        ) -> crate::input::ResponseCodeRequiredOperationInput {
         837  +
            crate::input::ResponseCodeRequiredOperationInput {}
  737    838   
        }
  738    839   
    }
  739         -
    impl ::std::convert::From<ConstraintViolation>
  740         -
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
  741         -
    {
  742         -
        fn from(constraint_violation: ConstraintViolation) -> Self {
  743         -
            let first_validation_exception_field =
  744         -
                constraint_violation.as_validation_exception_field("".to_owned());
  745         -
            let validation_exception = crate::error::ValidationException {
  746         -
                message: format!(
  747         -
                    "1 validation error detected. {}",
  748         -
                    &first_validation_exception_field.message
  749         -
                ),
  750         -
                field_list: Some(vec![first_validation_exception_field]),
  751         -
            };
  752         -
            Self::ConstraintViolation(
  753         -
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
  754         -
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
  755         -
                            )
         840  +
}
         841  +
/// See [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         842  +
pub mod response_code_required_operation_input {
         843  +
         844  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredOperationInput {
         845  +
        fn from(builder: Builder) -> Self {
         846  +
            builder.build()
  756    847   
        }
  757    848   
    }
  758         -
    impl ::std::convert::From<Builder>
  759         -
        for crate::constrained::MaybeConstrained<crate::input::RequiredInnerShapeOperationInput>
  760         -
    {
  761         -
        fn from(builder: Builder) -> Self {
  762         -
            Self::Unconstrained(builder)
         849  +
    /// A builder for [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         850  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         851  +
    pub struct Builder {}
         852  +
    impl Builder {
         853  +
        /// Consumes the builder and constructs a [`ResponseCodeRequiredOperationInput`](crate::input::ResponseCodeRequiredOperationInput).
         854  +
        pub fn build(self) -> crate::input::ResponseCodeRequiredOperationInput {
         855  +
            self.build_enforcing_required_and_enum_traits()
         856  +
        }
         857  +
        fn build_enforcing_required_and_enum_traits(
         858  +
            self,
         859  +
        ) -> crate::input::ResponseCodeRequiredOperationInput {
         860  +
            crate::input::ResponseCodeRequiredOperationInput {}
  763    861   
        }
  764    862   
    }
  765         -
    impl ::std::convert::TryFrom<Builder> for crate::input::RequiredInnerShapeOperationInput {
  766         -
        type Error = ConstraintViolation;
         863  +
}
         864  +
/// See [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
         865  +
pub(crate) mod response_code_http_fallback_operation_input_internal {
  767    866   
  768         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         867  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackOperationInput {
         868  +
        fn from(builder: Builder) -> Self {
  769    869   
            builder.build()
  770    870   
        }
  771    871   
    }
  772         -
    /// A builder for [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         872  +
    /// A builder for [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  773    873   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  774         -
    pub(crate) struct Builder {
  775         -
        pub(crate) inner:
  776         -
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::InnerShape>>,
  777         -
    }
         874  +
    pub(crate) struct Builder {}
  778    875   
    impl Builder {
  779         -
        #[allow(missing_docs)] // documentation missing in model
  780         -
        pub(crate) fn set_inner(
  781         -
            mut self,
  782         -
            input: Option<
  783         -
                impl ::std::convert::Into<
  784         -
                    crate::constrained::MaybeConstrained<crate::model::InnerShape>,
  785         -
                >,
  786         -
            >,
  787         -
        ) -> Self {
  788         -
            self.inner = input.map(|v| v.into());
  789         -
            self
  790         -
        }
  791         -
        /// Consumes the builder and constructs a [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
  792         -
        ///
  793         -
        /// The builder fails to construct a [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput) if a [`ConstraintViolation`] occurs.
  794         -
        ///
  795         -
        pub fn build(
  796         -
            self,
  797         -
        ) -> Result<crate::input::RequiredInnerShapeOperationInput, ConstraintViolation> {
         876  +
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
         877  +
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackOperationInput {
  798    878   
            self.build_enforcing_all_constraints()
  799    879   
        }
  800    880   
        fn build_enforcing_all_constraints(
  801    881   
            self,
  802         -
        ) -> Result<crate::input::RequiredInnerShapeOperationInput, ConstraintViolation> {
  803         -
            Ok(crate::input::RequiredInnerShapeOperationInput {
  804         -
                inner: self
  805         -
                    .inner
  806         -
                    .map(|v| match v {
  807         -
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
  808         -
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
  809         -
                    })
  810         -
                    .map(|res| res.map_err(ConstraintViolation::Inner))
  811         -
                    .transpose()?,
  812         -
            })
         882  +
        ) -> crate::input::ResponseCodeHttpFallbackOperationInput {
         883  +
            crate::input::ResponseCodeHttpFallbackOperationInput {}
  813    884   
        }
  814    885   
    }
  815    886   
}
  816         -
/// See [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
  817         -
pub mod required_inner_shape_operation_input {
         887  +
/// See [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
         888  +
pub mod response_code_http_fallback_operation_input {
  818    889   
  819         -
    impl ::std::convert::From<Builder> for crate::input::RequiredInnerShapeOperationInput {
         890  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackOperationInput {
  820    891   
        fn from(builder: Builder) -> Self {
  821    892   
            builder.build()
  822    893   
        }
  823    894   
    }
  824         -
    /// A builder for [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
         895  +
    /// A builder for [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
  825    896   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  826         -
    pub struct Builder {
  827         -
        pub(crate) inner: ::std::option::Option<crate::model::InnerShape>,
  828         -
    }
         897  +
    pub struct Builder {}
  829    898   
    impl Builder {
  830         -
        #[allow(missing_docs)] // documentation missing in model
  831         -
        pub fn inner(mut self, input: ::std::option::Option<crate::model::InnerShape>) -> Self {
  832         -
            self.inner = input;
  833         -
            self
  834         -
        }
  835         -
        /// Consumes the builder and constructs a [`RequiredInnerShapeOperationInput`](crate::input::RequiredInnerShapeOperationInput).
  836         -
        pub fn build(self) -> crate::input::RequiredInnerShapeOperationInput {
         899  +
        /// Consumes the builder and constructs a [`ResponseCodeHttpFallbackOperationInput`](crate::input::ResponseCodeHttpFallbackOperationInput).
         900  +
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackOperationInput {
  837    901   
            self.build_enforcing_required_and_enum_traits()
  838    902   
        }
  839    903   
        fn build_enforcing_required_and_enum_traits(
  840    904   
            self,
  841         -
        ) -> crate::input::RequiredInnerShapeOperationInput {
  842         -
            crate::input::RequiredInnerShapeOperationInput { inner: self.inner }
         905  +
        ) -> crate::input::ResponseCodeHttpFallbackOperationInput {
         906  +
            crate::input::ResponseCodeHttpFallbackOperationInput {}
  843    907   
        }
  844    908   
    }
  845    909   
}
  846         -
/// See [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  847         -
pub(crate) mod type_complexity_operation_input_internal {
         910  +
/// See [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
         911  +
pub(crate) mod response_code_default_operation_input_internal {
  848    912   
  849         -
    impl ::std::convert::From<Builder> for crate::input::TypeComplexityOperationInput {
         913  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeDefaultOperationInput {
  850    914   
        fn from(builder: Builder) -> Self {
  851    915   
            builder.build()
  852    916   
        }
  853    917   
    }
  854         -
    /// A builder for [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
         918  +
    /// A builder for [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  855    919   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  856         -
    pub(crate) struct Builder {
  857         -
        pub(crate) list: ::std::option::Option<
  858         -
            ::std::vec::Vec<
  859         -
                ::std::vec::Vec<
  860         -
                    ::std::vec::Vec<
  861         -
                        ::std::collections::HashMap<
  862         -
                            ::std::string::String,
  863         -
                            crate::model::EmptyStructure,
  864         -
                        >,
  865         -
                    >,
  866         -
                >,
  867         -
            >,
  868         -
        >,
  869         -
    }
         920  +
    pub(crate) struct Builder {}
  870    921   
    impl Builder {
  871         -
        #[allow(missing_docs)] // documentation missing in model
  872         -
        pub(crate) fn set_list(
  873         -
            mut self,
  874         -
            input: Option<
  875         -
                impl ::std::convert::Into<
  876         -
                    ::std::vec::Vec<
  877         -
                        ::std::vec::Vec<
  878         -
                            ::std::vec::Vec<
  879         -
                                ::std::collections::HashMap<
  880         -
                                    ::std::string::String,
  881         -
                                    crate::model::EmptyStructure,
  882         -
                                >,
  883         -
                            >,
  884         -
                        >,
  885         -
                    >,
  886         -
                >,
  887         -
            >,
  888         -
        ) -> Self {
  889         -
            self.list = input.map(|v| v.into());
  890         -
            self
  891         -
        }
  892         -
        /// Consumes the builder and constructs a [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  893         -
        pub fn build(self) -> crate::input::TypeComplexityOperationInput {
         922  +
        /// Consumes the builder and constructs a [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
         923  +
        pub fn build(self) -> crate::input::ResponseCodeDefaultOperationInput {
  894    924   
            self.build_enforcing_all_constraints()
  895    925   
        }
  896         -
        fn build_enforcing_all_constraints(self) -> crate::input::TypeComplexityOperationInput {
  897         -
            crate::input::TypeComplexityOperationInput { list: self.list }
         926  +
        fn build_enforcing_all_constraints(
         927  +
            self,
         928  +
        ) -> crate::input::ResponseCodeDefaultOperationInput {
         929  +
            crate::input::ResponseCodeDefaultOperationInput {}
  898    930   
        }
  899    931   
    }
  900    932   
}
  901         -
/// See [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  902         -
pub mod type_complexity_operation_input {
         933  +
/// See [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
         934  +
pub mod response_code_default_operation_input {
  903    935   
  904         -
    impl ::std::convert::From<Builder> for crate::input::TypeComplexityOperationInput {
         936  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeDefaultOperationInput {
  905    937   
        fn from(builder: Builder) -> Self {
  906    938   
            builder.build()
  907    939   
        }
  908    940   
    }
  909         -
    /// A builder for [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
         941  +
    /// A builder for [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
  910    942   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  911         -
    pub struct Builder {
  912         -
        pub(crate) list: ::std::option::Option<
  913         -
            ::std::vec::Vec<
  914         -
                ::std::vec::Vec<
  915         -
                    ::std::vec::Vec<
  916         -
                        ::std::collections::HashMap<
  917         -
                            ::std::string::String,
  918         -
                            crate::model::EmptyStructure,
  919         -
                        >,
  920         -
                    >,
  921         -
                >,
  922         -
            >,
  923         -
        >,
  924         -
    }
         943  +
    pub struct Builder {}
  925    944   
    impl Builder {
  926         -
        #[allow(missing_docs)] // documentation missing in model
  927         -
        pub fn list(
  928         -
            mut self,
  929         -
            input: ::std::option::Option<
  930         -
                ::std::vec::Vec<
  931         -
                    ::std::vec::Vec<
  932         -
                        ::std::vec::Vec<
  933         -
                            ::std::collections::HashMap<
  934         -
                                ::std::string::String,
  935         -
                                crate::model::EmptyStructure,
  936         -
                            >,
  937         -
                        >,
  938         -
                    >,
  939         -
                >,
  940         -
            >,
  941         -
        ) -> Self {
  942         -
            self.list = input;
  943         -
            self
  944         -
        }
  945         -
        /// Consumes the builder and constructs a [`TypeComplexityOperationInput`](crate::input::TypeComplexityOperationInput).
  946         -
        pub fn build(self) -> crate::input::TypeComplexityOperationInput {
         945  +
        /// Consumes the builder and constructs a [`ResponseCodeDefaultOperationInput`](crate::input::ResponseCodeDefaultOperationInput).
         946  +
        pub fn build(self) -> crate::input::ResponseCodeDefaultOperationInput {
  947    947   
            self.build_enforcing_required_and_enum_traits()
  948    948   
        }
  949    949   
        fn build_enforcing_required_and_enum_traits(
  950    950   
            self,
  951         -
        ) -> crate::input::TypeComplexityOperationInput {
  952         -
            crate::input::TypeComplexityOperationInput { list: self.list }
         951  +
        ) -> crate::input::ResponseCodeDefaultOperationInput {
         952  +
            crate::input::ResponseCodeDefaultOperationInput {}
  953    953   
        }
  954    954   
    }
  955    955   
}

tmp-codegen-diff/codegen-server-test-python/misc/rust-server-codegen-python/src/lib.rs

@@ -1,1 +44,45 @@
    5      5   
#![allow(clippy::large_enum_variant)]
    6      6   
#![allow(clippy::wrong_self_convention)]
    7      7   
#![allow(clippy::should_implement_trait)]
    8      8   
#![allow(clippy::disallowed_names)]
    9      9   
#![allow(clippy::vec_init_then_push)]
   10     10   
#![allow(clippy::type_complexity)]
   11     11   
#![allow(clippy::needless_return)]
   12     12   
#![allow(clippy::derive_partial_eq_without_eq)]
   13     13   
#![allow(clippy::result_large_err)]
   14     14   
#![allow(clippy::unnecessary_map_on_constructor)]
          15  +
#![allow(clippy::useless_conversion)]
   15     16   
#![allow(clippy::deprecated_semver)]
   16     17   
#![allow(clippy::uninlined_format_args)]
   17     18   
#![allow(rustdoc::bare_urls)]
   18     19   
#![allow(rustdoc::redundant_explicit_links)]
   19     20   
#![allow(rustdoc::broken_intra_doc_links)]
   20     21   
#![allow(rustdoc::invalid_html_tags)]
   21     22   
#![forbid(unsafe_code)]
   22     23   
#![cfg_attr(docsrs, feature(doc_cfg))]
   23     24   
//! A service to test miscellaneous aspects of code generation where protocol
   24     25   
//! selection is not relevant. If you want to test something protocol-specific,

tmp-codegen-diff/codegen-server-test-python/misc/rust-server-codegen-python/src/model.rs

@@ -1,1 +91,83 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pyclass]
    3         -
/// :param path str:
    4         -
/// :param message str:
           3  +
/// :param required_inner_most_shape misc.model.InnermostShape:
    5      4   
/// :rtype None:
    6         -
/// Describes one specific validation failure for an input member.
    7         -
#[derive(
    8         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    9         -
)]
   10         -
pub struct ValidationExceptionField {
   11         -
    #[pyo3(get, set)]
   12         -
    /// :type str:
   13         -
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
   14         -
    pub path: ::std::string::String,
           5  +
#[allow(missing_docs)] // documentation missing in model
           6  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           7  +
pub struct InnerShape {
   15      8   
    #[pyo3(get, set)]
   16         -
    /// :type str:
   17         -
    /// A detailed description of the validation failure.
   18         -
    pub message: ::std::string::String,
           9  +
    /// :type misc.model.InnermostShape:
          10  +
    #[allow(missing_docs)] // documentation missing in model
          11  +
    pub required_inner_most_shape: crate::model::InnermostShape,
   19     12   
}
   20         -
impl ValidationExceptionField {
   21         -
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
   22         -
    pub fn path(&self) -> &str {
   23         -
        use std::ops::Deref;
   24         -
        self.path.deref()
   25         -
    }
   26         -
    /// A detailed description of the validation failure.
   27         -
    pub fn message(&self) -> &str {
   28         -
        use std::ops::Deref;
   29         -
        self.message.deref()
          13  +
impl InnerShape {
          14  +
    #[allow(missing_docs)] // documentation missing in model
          15  +
    pub fn required_inner_most_shape(&self) -> &crate::model::InnermostShape {
          16  +
        &self.required_inner_most_shape
   30     17   
    }
   31     18   
}
   32     19   
#[allow(clippy::new_without_default)]
   33     20   
#[allow(clippy::too_many_arguments)]
   34     21   
#[::pyo3::pymethods]
   35         -
impl ValidationExceptionField {
          22  +
impl InnerShape {
   36     23   
    #[new]
   37         -
    pub fn new(path: ::std::string::String, message: ::std::string::String) -> Self {
   38         -
        Self { path, message }
          24  +
    pub fn new(required_inner_most_shape: crate::model::InnermostShape) -> Self {
          25  +
        Self {
          26  +
            required_inner_most_shape,
          27  +
        }
   39     28   
    }
   40     29   
    fn __repr__(&self) -> String {
   41     30   
        format!("{self:?}")
   42     31   
    }
   43     32   
    fn __str__(&self) -> String {
   44     33   
        format!("{self:?}")
   45     34   
    }
   46     35   
}
   47         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ValidationExceptionField> {
          36  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<InnerShape> {
   48     37   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   49         -
        ob.extract::<ValidationExceptionField>().map(Box::new)
          38  +
        ob.extract::<InnerShape>().map(Box::new)
   50     39   
    }
   51     40   
}
   52     41   
   53         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ValidationExceptionField> {
          42  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<InnerShape> {
   54     43   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   55     44   
        (*self).into_py(py)
   56     45   
    }
   57     46   
}
   58         -
impl ValidationExceptionField {
   59         -
    /// Creates a new builder-style object to manufacture [`ValidationExceptionField`](crate::model::ValidationExceptionField).
   60         -
    pub fn builder() -> crate::model::validation_exception_field::Builder {
   61         -
        crate::model::validation_exception_field::Builder::default()
          47  +
impl crate::constrained::Constrained for crate::model::InnerShape {
          48  +
    type Unconstrained = crate::model::inner_shape_internal::Builder;
          49  +
}
          50  +
impl InnerShape {
          51  +
    /// Creates a new builder-style object to manufacture [`InnerShape`](crate::model::InnerShape).
          52  +
    pub fn builder() -> crate::model::inner_shape::Builder {
          53  +
        crate::model::inner_shape::Builder::default()
   62     54   
    }
   63     55   
}
   64     56   
   65     57   
#[allow(missing_docs)] // documentation missing in model
   66     58   
///
   67     59   
/// This is a constrained type because its corresponding modeled Smithy shape has one or more
   68     60   
/// [constraint traits]. Use [`HeaderSet::try_from`] to construct values of this type.
   69     61   
///
   70     62   
/// [constraint traits]: https://smithy.io/2.0/spec/constraint-traits.html
   71     63   
///
@@ -109,101 +223,160 @@
  129    121   
  130    122   
impl ::std::convert::From<HeaderSet> for ::std::vec::Vec<::std::string::String> {
  131    123   
    fn from(value: HeaderSet) -> Self {
  132    124   
        value.into_inner()
  133    125   
    }
  134    126   
}
  135    127   
impl crate::constrained::Constrained for HeaderSet {
  136    128   
    type Unconstrained = crate::unconstrained::header_set_unconstrained::HeaderSetUnconstrained;
  137    129   
}
  138    130   
  139         -
#[::pyo3::pyclass]
  140         -
/// :param required_inner_most_shape misc.model.InnermostShape:
  141         -
/// :rtype None:
  142         -
#[allow(missing_docs)] // documentation missing in model
  143         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  144         -
pub struct InnerShape {
  145         -
    #[pyo3(get, set)]
  146         -
    /// :type misc.model.InnermostShape:
  147         -
    #[allow(missing_docs)] // documentation missing in model
  148         -
    pub required_inner_most_shape: crate::model::InnermostShape,
  149         -
}
  150         -
impl InnerShape {
  151         -
    #[allow(missing_docs)] // documentation missing in model
  152         -
    pub fn required_inner_most_shape(&self) -> &crate::model::InnermostShape {
  153         -
        &self.required_inner_most_shape
  154         -
    }
  155         -
}
  156         -
#[allow(clippy::new_without_default)]
  157         -
#[allow(clippy::too_many_arguments)]
  158         -
#[::pyo3::pymethods]
  159         -
impl InnerShape {
  160         -
    #[new]
  161         -
    pub fn new(required_inner_most_shape: crate::model::InnermostShape) -> Self {
  162         -
        Self {
  163         -
            required_inner_most_shape,
  164         -
        }
  165         -
    }
  166         -
    fn __repr__(&self) -> String {
  167         -
        format!("{self:?}")
  168         -
    }
  169         -
    fn __str__(&self) -> String {
  170         -
        format!("{self:?}")
  171         -
    }
  172         -
}
  173         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<InnerShape> {
  174         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  175         -
        ob.extract::<InnerShape>().map(Box::new)
  176         -
    }
  177         -
}
  178         -
  179         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<InnerShape> {
  180         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  181         -
        (*self).into_py(py)
  182         -
    }
  183         -
}
  184         -
impl crate::constrained::Constrained for crate::model::InnerShape {
  185         -
    type Unconstrained = crate::model::inner_shape_internal::Builder;
  186         -
}
  187         -
impl InnerShape {
  188         -
    /// Creates a new builder-style object to manufacture [`InnerShape`](crate::model::InnerShape).
  189         -
    pub fn builder() -> crate::model::inner_shape::Builder {
  190         -
        crate::model::inner_shape::Builder::default()
  191         -
    }
  192         -
}
  193         -
  194    131   
#[::pyo3::pyclass]
  195    132   
/// :param a_string str:
  196    133   
/// :param a_boolean bool:
  197    134   
/// :param a_byte int:
  198    135   
/// :param a_short int:
  199    136   
/// :param an_int int:
  200    137   
/// :param a_long int:
  201    138   
/// :param a_float float:
  202    139   
/// :param a_double float:
  203    140   
/// :param a_big_integer misc.types.BigInteger:
@@ -411,348 +470,470 @@
  431    368   
impl crate::constrained::Constrained for crate::model::InnermostShape {
  432    369   
    type Unconstrained = crate::model::innermost_shape_internal::Builder;
  433    370   
}
  434    371   
impl InnermostShape {
  435    372   
    /// Creates a new builder-style object to manufacture [`InnermostShape`](crate::model::InnermostShape).
  436    373   
    pub fn builder() -> crate::model::innermost_shape::Builder {
  437    374   
        crate::model::innermost_shape::Builder::default()
  438    375   
    }
  439    376   
}
  440    377   
         378  +
#[::pyo3::pyclass]
         379  +
/// :param path str:
         380  +
/// :param message str:
         381  +
/// :rtype None:
         382  +
/// Describes one specific validation failure for an input member.
         383  +
#[derive(
         384  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         385  +
)]
         386  +
pub struct ValidationExceptionField {
         387  +
    #[pyo3(get, set)]
         388  +
    /// :type str:
         389  +
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
         390  +
    pub path: ::std::string::String,
         391  +
    #[pyo3(get, set)]
         392  +
    /// :type str:
         393  +
    /// A detailed description of the validation failure.
         394  +
    pub message: ::std::string::String,
         395  +
}
         396  +
impl ValidationExceptionField {
         397  +
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
         398  +
    pub fn path(&self) -> &str {
         399  +
        use std::ops::Deref;
         400  +
        self.path.deref()
         401  +
    }
         402  +
    /// A detailed description of the validation failure.
         403  +
    pub fn message(&self) -> &str {
         404  +
        use std::ops::Deref;
         405  +
        self.message.deref()
         406  +
    }
         407  +
}
         408  +
#[allow(clippy::new_without_default)]
         409  +
#[allow(clippy::too_many_arguments)]
         410  +
#[::pyo3::pymethods]
         411  +
impl ValidationExceptionField {
         412  +
    #[new]
         413  +
    pub fn new(path: ::std::string::String, message: ::std::string::String) -> Self {
         414  +
        Self { path, message }
         415  +
    }
         416  +
    fn __repr__(&self) -> String {
         417  +
        format!("{self:?}")
         418  +
    }
         419  +
    fn __str__(&self) -> String {
         420  +
        format!("{self:?}")
         421  +
    }
         422  +
}
         423  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ValidationExceptionField> {
         424  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
         425  +
        ob.extract::<ValidationExceptionField>().map(Box::new)
         426  +
    }
         427  +
}
         428  +
         429  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ValidationExceptionField> {
         430  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
         431  +
        (*self).into_py(py)
         432  +
    }
         433  +
}
         434  +
impl ValidationExceptionField {
         435  +
    /// Creates a new builder-style object to manufacture [`ValidationExceptionField`](crate::model::ValidationExceptionField).
         436  +
    pub fn builder() -> crate::model::validation_exception_field::Builder {
         437  +
        crate::model::validation_exception_field::Builder::default()
         438  +
    }
         439  +
}
         440  +
  441    441   
#[allow(missing_docs)] // documentation missing in model
  442    442   
#[derive(
  443    443   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  444    444   
)]
  445    445   
pub enum AUnion {
  446    446   
    #[allow(missing_docs)] // documentation missing in model
  447    447   
    I32(i32),
  448    448   
    #[allow(missing_docs)] // documentation missing in model
  449    449   
    String(::std::string::String),
  450    450   
    #[allow(missing_docs)] // documentation missing in model
@@ -594,594 +759,653 @@
  614    614   
}
  615    615   
impl crate::constrained::Constrained for crate::model::EmptyStructure {
  616    616   
    type Unconstrained = crate::model::empty_structure_internal::Builder;
  617    617   
}
  618    618   
impl EmptyStructure {
  619    619   
    /// Creates a new builder-style object to manufacture [`EmptyStructure`](crate::model::EmptyStructure).
  620    620   
    pub fn builder() -> crate::model::empty_structure::Builder {
  621    621   
        crate::model::empty_structure::Builder::default()
  622    622   
    }
  623    623   
}
  624         -
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  625         -
pub mod validation_exception_field {
  626         -
  627         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  628         -
    /// Holds one variant for each of the ways the builder can fail.
  629         -
    #[allow(clippy::enum_variant_names)]
  630         -
    pub enum ConstraintViolation {
  631         -
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
  632         -
        MissingPath,
  633         -
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
  634         -
        MissingMessage,
  635         -
    }
  636         -
    impl ::std::fmt::Display for ConstraintViolation {
  637         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  638         -
            match self {
  639         -
                ConstraintViolation::MissingPath => write!(f, "`path` was not provided but it is required when building `ValidationExceptionField`"),
  640         -
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationExceptionField`"),
  641         -
            }
  642         -
        }
  643         -
    }
  644         -
    impl ::std::error::Error for ConstraintViolation {}
  645         -
    impl ::std::convert::TryFrom<Builder> for crate::model::ValidationExceptionField {
  646         -
        type Error = ConstraintViolation;
  647         -
  648         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  649         -
            builder.build()
  650         -
        }
  651         -
    }
  652         -
    /// A builder for [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  653         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  654         -
    pub struct Builder {
  655         -
        pub(crate) path: ::std::option::Option<::std::string::String>,
  656         -
        pub(crate) message: ::std::option::Option<::std::string::String>,
  657         -
    }
  658         -
    impl Builder {
  659         -
        /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
  660         -
        pub fn path(mut self, input: ::std::string::String) -> Self {
  661         -
            self.path = Some(input);
  662         -
            self
  663         -
        }
  664         -
        /// A detailed description of the validation failure.
  665         -
        pub fn message(mut self, input: ::std::string::String) -> Self {
  666         -
            self.message = Some(input);
  667         -
            self
  668         -
        }
  669         -
        /// Consumes the builder and constructs a [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  670         -
        ///
  671         -
        /// The builder fails to construct a [`ValidationExceptionField`](crate::model::ValidationExceptionField) if you do not provide a value for all non-`Option`al members.
  672         -
        ///
  673         -
        pub fn build(self) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
  674         -
            self.build_enforcing_required_and_enum_traits()
  675         -
        }
  676         -
        fn build_enforcing_required_and_enum_traits(
  677         -
            self,
  678         -
        ) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
  679         -
            Ok(crate::model::ValidationExceptionField {
  680         -
                path: self.path.ok_or(ConstraintViolation::MissingPath)?,
  681         -
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
  682         -
            })
  683         -
        }
  684         -
    }
  685         -
}
  686         -
pub(crate) mod header_set_internal {
  687         -
  688         -
    #[allow(clippy::enum_variant_names)]
  689         -
    #[derive(Debug, PartialEq)]
  690         -
    pub(crate) enum ConstraintViolation {
  691         -
        /// Constraint violation error when the list does not contain unique items
  692         -
        UniqueItems {
  693         -
            /// A vector of indices into `original` pointing to all duplicate items. This vector has
  694         -
            /// at least two elements.
  695         -
            /// More specifically, for every element `idx_1` in `duplicate_indices`, there exists another
  696         -
            /// distinct element `idx_2` such that `original[idx_1] == original[idx_2]` is `true`.
  697         -
            /// Nothing is guaranteed about the order of the indices.
  698         -
            duplicate_indices: ::std::vec::Vec<usize>,
  699         -
            /// The original vector, that contains duplicate items.
  700         -
            original: ::std::vec::Vec<::std::string::String>,
  701         -
        },
  702         -
    }
  703         -
  704         -
    impl ::std::fmt::Display for ConstraintViolation {
  705         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  706         -
            let message = match self {
  707         -
                                Self::UniqueItems { duplicate_indices, .. } =>
  708         -
                            format!("Value with repeated values at indices {:?} provided for 'aws.protocoltests.misc#HeaderSet' failed to satisfy constraint: Member must have unique values", &duplicate_indices),
  709         -
                            };
  710         -
            write!(f, "{message}")
  711         -
        }
  712         -
    }
  713         -
  714         -
    impl ::std::error::Error for ConstraintViolation {}
  715         -
    impl ConstraintViolation {
  716         -
        pub(crate) fn as_validation_exception_field(
  717         -
            self,
  718         -
            path: ::std::string::String,
  719         -
        ) -> crate::model::ValidationExceptionField {
  720         -
            match self {
  721         -
                        Self::UniqueItems { duplicate_indices, .. } =>
  722         -
                                crate::model::ValidationExceptionField {
  723         -
                                    message: format!("Value with repeated values at indices {:?} at '{}' failed to satisfy constraint: Member must have unique values", &duplicate_indices, &path),
  724         -
                                    path,
  725         -
                                },
  726         -
                    }
  727         -
        }
  728         -
    }
  729         -
}
  730    624   
/// See [`InnerShape`](crate::model::InnerShape).
  731    625   
pub(crate) mod inner_shape_internal {
  732    626   
  733    627   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  734    628   
    /// Holds one variant for each of the ways the builder can fail.
  735    629   
    #[non_exhaustive]
  736    630   
    #[allow(clippy::enum_variant_names)]
  737    631   
    pub(crate) enum ConstraintViolation {
  738    632   
        /// `required_inner_most_shape` was not provided but it is required when building `InnerShape`.
  739    633   
        MissingRequiredInnerMostShape,
@@ -848,742 +907,845 @@
  868    762   
            self,
  869    763   
        ) -> Result<crate::model::InnerShape, ConstraintViolation> {
  870    764   
            Ok(crate::model::InnerShape {
  871    765   
                required_inner_most_shape: self
  872    766   
                    .required_inner_most_shape
  873    767   
                    .ok_or(ConstraintViolation::MissingRequiredInnerMostShape)?,
  874    768   
            })
  875    769   
        }
  876    770   
    }
  877    771   
}
         772  +
pub(crate) mod header_set_internal {
         773  +
         774  +
    #[allow(clippy::enum_variant_names)]
         775  +
    #[derive(Debug, PartialEq)]
         776  +
    pub(crate) enum ConstraintViolation {
         777  +
        /// Constraint violation error when the list does not contain unique items
         778  +
        UniqueItems {
         779  +
            /// A vector of indices into `original` pointing to all duplicate items. This vector has
         780  +
            /// at least two elements.
         781  +
            /// More specifically, for every element `idx_1` in `duplicate_indices`, there exists another
         782  +
            /// distinct element `idx_2` such that `original[idx_1] == original[idx_2]` is `true`.
         783  +
            /// Nothing is guaranteed about the order of the indices.
         784  +
            duplicate_indices: ::std::vec::Vec<usize>,
         785  +
            /// The original vector, that contains duplicate items.
         786  +
            original: ::std::vec::Vec<::std::string::String>,
         787  +
        },
         788  +
    }
         789  +
         790  +
    impl ::std::fmt::Display for ConstraintViolation {
         791  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         792  +
            let message = match self {
         793  +
                                Self::UniqueItems { duplicate_indices, .. } =>
         794  +
                            format!("Value with repeated values at indices {:?} provided for 'aws.protocoltests.misc#HeaderSet' failed to satisfy constraint: Member must have unique values", &duplicate_indices),
         795  +
                            };
         796  +
            write!(f, "{message}")
         797  +
        }
         798  +
    }
         799  +
         800  +
    impl ::std::error::Error for ConstraintViolation {}
         801  +
    impl ConstraintViolation {
         802  +
        pub(crate) fn as_validation_exception_field(
         803  +
            self,
         804  +
            path: ::std::string::String,
         805  +
        ) -> crate::model::ValidationExceptionField {
         806  +
            match self {
         807  +
                        Self::UniqueItems { duplicate_indices, .. } =>
         808  +
                                crate::model::ValidationExceptionField {
         809  +
                                    message: format!("Value with repeated values at indices {:?} at '{}' failed to satisfy constraint: Member must have unique values", &duplicate_indices, &path),
         810  +
                                    path,
         811  +
                                },
         812  +
                    }
         813  +
        }
         814  +
    }
         815  +
}
  878    816   
/// See [`InnermostShape`](crate::model::InnermostShape).
  879    817   
pub(crate) mod innermost_shape_internal {
  880    818   
  881    819   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  882    820   
    /// Holds one variant for each of the ways the builder can fail.
  883    821   
    #[non_exhaustive]
  884    822   
    #[allow(clippy::enum_variant_names)]
  885    823   
    pub(crate) enum ConstraintViolation {
  886    824   
        /// `a_string` was not provided but it is required when building `InnermostShape`.
  887    825   
        MissingAString,
@@ -1457,1395 +1516,1516 @@
 1477   1415   
                    .ok_or(ConstraintViolation::MissingAStringMap)?,
 1478   1416   
                a_string_set: self
 1479   1417   
                    .a_string_set
 1480   1418   
                    .ok_or(ConstraintViolation::MissingAStringSet)?,
 1481   1419   
                a_blob: self.a_blob.ok_or(ConstraintViolation::MissingABlob)?,
 1482   1420   
                a_union: self.a_union.ok_or(ConstraintViolation::MissingAUnion)?,
 1483   1421   
            })
 1484   1422   
        }
 1485   1423   
    }
 1486   1424   
}
        1425  +
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1426  +
pub mod validation_exception_field {
        1427  +
        1428  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1429  +
    /// Holds one variant for each of the ways the builder can fail.
        1430  +
    #[allow(clippy::enum_variant_names)]
        1431  +
    pub enum ConstraintViolation {
        1432  +
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
        1433  +
        MissingPath,
        1434  +
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
        1435  +
        MissingMessage,
        1436  +
    }
        1437  +
    impl ::std::fmt::Display for ConstraintViolation {
        1438  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1439  +
            match self {
        1440  +
                ConstraintViolation::MissingPath => write!(f, "`path` was not provided but it is required when building `ValidationExceptionField`"),
        1441  +
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationExceptionField`"),
        1442  +
            }
        1443  +
        }
        1444  +
    }
        1445  +
    impl ::std::error::Error for ConstraintViolation {}
        1446  +
    impl ::std::convert::TryFrom<Builder> for crate::model::ValidationExceptionField {
        1447  +
        type Error = ConstraintViolation;
        1448  +
        1449  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1450  +
            builder.build()
        1451  +
        }
        1452  +
    }
        1453  +
    /// A builder for [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1454  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1455  +
    pub struct Builder {
        1456  +
        pub(crate) path: ::std::option::Option<::std::string::String>,
        1457  +
        pub(crate) message: ::std::option::Option<::std::string::String>,
        1458  +
    }
        1459  +
    impl Builder {
        1460  +
        /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
        1461  +
        pub fn path(mut self, input: ::std::string::String) -> Self {
        1462  +
            self.path = Some(input);
        1463  +
            self
        1464  +
        }
        1465  +
        /// A detailed description of the validation failure.
        1466  +
        pub fn message(mut self, input: ::std::string::String) -> Self {
        1467  +
            self.message = Some(input);
        1468  +
            self
        1469  +
        }
        1470  +
        /// Consumes the builder and constructs a [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1471  +
        ///
        1472  +
        /// The builder fails to construct a [`ValidationExceptionField`](crate::model::ValidationExceptionField) if you do not provide a value for all non-`Option`al members.
        1473  +
        ///
        1474  +
        pub fn build(self) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
        1475  +
            self.build_enforcing_required_and_enum_traits()
        1476  +
        }
        1477  +
        fn build_enforcing_required_and_enum_traits(
        1478  +
            self,
        1479  +
        ) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
        1480  +
            Ok(crate::model::ValidationExceptionField {
        1481  +
                path: self.path.ok_or(ConstraintViolation::MissingPath)?,
        1482  +
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
        1483  +
            })
        1484  +
        }
        1485  +
    }
        1486  +
}
 1487   1487   
/// See [`EmptyStructure`](crate::model::EmptyStructure).
 1488   1488   
pub(crate) mod empty_structure_internal {
 1489   1489   
 1490   1490   
    impl ::std::convert::From<Builder> for crate::model::EmptyStructure {
 1491   1491   
        fn from(builder: Builder) -> Self {
 1492   1492   
            builder.build()
 1493   1493   
        }
 1494   1494   
    }
 1495   1495   
    /// A builder for [`EmptyStructure`](crate::model::EmptyStructure).
 1496   1496   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]