Server Test

Server Test

rev. ee474c7509d7728618c23068f3741e8e5b339ef9 (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,1904 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[derive(
           4  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
           5  +
)]
           6  +
pub struct Float16Input {}
           7  +
impl Float16Input {
           8  +
    /// Creates a new builder-style object to manufacture [`Float16Input`](crate::input::Float16Input).
           9  +
    pub fn builder() -> crate::input::float16_input::Builder {
          10  +
        crate::input::float16_input::Builder::default()
          11  +
    }
          12  +
}
          13  +
impl crate::constrained::Constrained for crate::input::Float16Input {
          14  +
    type Unconstrained = crate::input::float16_input::Builder;
          15  +
}
          16  +
          17  +
#[allow(missing_docs)] // documentation missing in model
          18  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          19  +
pub struct SparseNullsOperationInput {
          20  +
    #[allow(missing_docs)] // documentation missing in model
          21  +
    pub sparse_string_list:
          22  +
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
          23  +
    #[allow(missing_docs)] // documentation missing in model
          24  +
    pub sparse_string_map: ::std::option::Option<
          25  +
        ::std::collections::HashMap<
          26  +
            ::std::string::String,
          27  +
            ::std::option::Option<::std::string::String>,
          28  +
        >,
          29  +
    >,
          30  +
}
          31  +
impl SparseNullsOperationInput {
          32  +
    #[allow(missing_docs)] // documentation missing in model
          33  +
    pub fn sparse_string_list(
          34  +
        &self,
          35  +
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
          36  +
        self.sparse_string_list.as_deref()
          37  +
    }
          38  +
    #[allow(missing_docs)] // documentation missing in model
          39  +
    pub fn sparse_string_map(
          40  +
        &self,
          41  +
    ) -> ::std::option::Option<
          42  +
        &::std::collections::HashMap<
          43  +
            ::std::string::String,
          44  +
            ::std::option::Option<::std::string::String>,
          45  +
        >,
          46  +
    > {
          47  +
        self.sparse_string_map.as_ref()
          48  +
    }
          49  +
}
          50  +
impl SparseNullsOperationInput {
          51  +
    /// Creates a new builder-style object to manufacture [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
          52  +
    pub fn builder() -> crate::input::sparse_nulls_operation_input::Builder {
          53  +
        crate::input::sparse_nulls_operation_input::Builder::default()
          54  +
    }
          55  +
}
          56  +
impl crate::constrained::Constrained for crate::input::SparseNullsOperationInput {
          57  +
    type Unconstrained = crate::input::sparse_nulls_operation_input::Builder;
          58  +
}
          59  +
          60  +
#[allow(missing_docs)] // documentation missing in model
          61  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          62  +
pub struct OperationWithDefaultsInput {
          63  +
    #[allow(missing_docs)] // documentation missing in model
          64  +
    pub defaults: ::std::option::Option<crate::model::Defaults>,
          65  +
    #[allow(missing_docs)] // documentation missing in model
          66  +
    pub client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
          67  +
    #[allow(missing_docs)] // documentation missing in model
          68  +
    pub top_level_default: ::std::string::String,
          69  +
    #[allow(missing_docs)] // documentation missing in model
          70  +
    pub other_top_level_default: i32,
          71  +
}
          72  +
impl OperationWithDefaultsInput {
          73  +
    #[allow(missing_docs)] // documentation missing in model
          74  +
    pub fn defaults(&self) -> ::std::option::Option<&crate::model::Defaults> {
          75  +
        self.defaults.as_ref()
          76  +
    }
          77  +
    #[allow(missing_docs)] // documentation missing in model
          78  +
    pub fn client_optional_defaults(
          79  +
        &self,
          80  +
    ) -> ::std::option::Option<&crate::model::ClientOptionalDefaults> {
          81  +
        self.client_optional_defaults.as_ref()
          82  +
    }
          83  +
    #[allow(missing_docs)] // documentation missing in model
          84  +
    pub fn top_level_default(&self) -> &str {
          85  +
        use std::ops::Deref;
          86  +
        self.top_level_default.deref()
          87  +
    }
          88  +
    #[allow(missing_docs)] // documentation missing in model
          89  +
    pub fn other_top_level_default(&self) -> i32 {
          90  +
        self.other_top_level_default
          91  +
    }
          92  +
}
          93  +
impl OperationWithDefaultsInput {
          94  +
    /// Creates a new builder-style object to manufacture [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
          95  +
    pub fn builder() -> crate::input::operation_with_defaults_input::Builder {
          96  +
        crate::input::operation_with_defaults_input::Builder::default()
          97  +
    }
          98  +
}
          99  +
impl crate::constrained::Constrained for crate::input::OperationWithDefaultsInput {
         100  +
    type Unconstrained = crate::input::operation_with_defaults_input::Builder;
         101  +
}
         102  +
         103  +
#[allow(missing_docs)] // documentation missing in model
         104  +
#[derive(
         105  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         106  +
)]
         107  +
pub struct FractionalSecondsInput {}
         108  +
impl FractionalSecondsInput {
         109  +
    /// Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         110  +
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
         111  +
        crate::input::fractional_seconds_input::Builder::default()
         112  +
    }
         113  +
}
         114  +
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
         115  +
    type Unconstrained = crate::input::fractional_seconds_input::Builder;
         116  +
}
         117  +
         118  +
#[allow(missing_docs)] // documentation missing in model
         119  +
#[derive(
         120  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         121  +
)]
         122  +
pub struct GreetingWithErrorsInput {}
         123  +
impl GreetingWithErrorsInput {
         124  +
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
         125  +
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
         126  +
        crate::input::greeting_with_errors_input::Builder::default()
         127  +
    }
         128  +
}
         129  +
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
         130  +
    type Unconstrained = crate::input::greeting_with_errors_input::Builder;
         131  +
}
         132  +
         133  +
#[allow(missing_docs)] // documentation missing in model
         134  +
#[derive(
         135  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         136  +
)]
         137  +
pub struct RecursiveShapesInput {
         138  +
    #[allow(missing_docs)] // documentation missing in model
         139  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         140  +
}
         141  +
impl RecursiveShapesInput {
         142  +
    #[allow(missing_docs)] // documentation missing in model
         143  +
    pub fn nested(
         144  +
        &self,
         145  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
         146  +
        self.nested.as_ref()
         147  +
    }
         148  +
}
         149  +
impl RecursiveShapesInput {
         150  +
    /// Creates a new builder-style object to manufacture [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
         151  +
    pub fn builder() -> crate::input::recursive_shapes_input::Builder {
         152  +
        crate::input::recursive_shapes_input::Builder::default()
         153  +
    }
         154  +
}
         155  +
impl crate::constrained::Constrained for crate::input::RecursiveShapesInput {
         156  +
    type Unconstrained = crate::input::recursive_shapes_input::Builder;
         157  +
}
         158  +
         159  +
#[allow(missing_docs)] // documentation missing in model
         160  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         161  +
pub struct RpcV2CborSparseMapsInput {
         162  +
    #[allow(missing_docs)] // documentation missing in model
         163  +
    pub sparse_struct_map: ::std::option::Option<
         164  +
        ::std::collections::HashMap<
         165  +
            ::std::string::String,
         166  +
            ::std::option::Option<crate::model::GreetingStruct>,
         167  +
        >,
         168  +
    >,
         169  +
    #[allow(missing_docs)] // documentation missing in model
         170  +
    pub sparse_number_map: ::std::option::Option<
         171  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
         172  +
    >,
         173  +
    #[allow(missing_docs)] // documentation missing in model
         174  +
    pub sparse_boolean_map: ::std::option::Option<
         175  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
         176  +
    >,
         177  +
    #[allow(missing_docs)] // documentation missing in model
         178  +
    pub sparse_string_map: ::std::option::Option<
         179  +
        ::std::collections::HashMap<
         180  +
            ::std::string::String,
         181  +
            ::std::option::Option<::std::string::String>,
         182  +
        >,
         183  +
    >,
         184  +
    #[allow(missing_docs)] // documentation missing in model
         185  +
    pub sparse_set_map: ::std::option::Option<
         186  +
        ::std::collections::HashMap<
         187  +
            ::std::string::String,
         188  +
            ::std::option::Option<crate::model::StringSet>,
         189  +
        >,
         190  +
    >,
         191  +
}
         192  +
impl RpcV2CborSparseMapsInput {
         193  +
    #[allow(missing_docs)] // documentation missing in model
         194  +
    pub fn sparse_struct_map(
         195  +
        &self,
         196  +
    ) -> ::std::option::Option<
         197  +
        &::std::collections::HashMap<
         198  +
            ::std::string::String,
         199  +
            ::std::option::Option<crate::model::GreetingStruct>,
         200  +
        >,
         201  +
    > {
         202  +
        self.sparse_struct_map.as_ref()
         203  +
    }
         204  +
    #[allow(missing_docs)] // documentation missing in model
         205  +
    pub fn sparse_number_map(
         206  +
        &self,
         207  +
    ) -> ::std::option::Option<
         208  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
         209  +
    > {
         210  +
        self.sparse_number_map.as_ref()
         211  +
    }
         212  +
    #[allow(missing_docs)] // documentation missing in model
         213  +
    pub fn sparse_boolean_map(
         214  +
        &self,
         215  +
    ) -> ::std::option::Option<
         216  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
         217  +
    > {
         218  +
        self.sparse_boolean_map.as_ref()
         219  +
    }
         220  +
    #[allow(missing_docs)] // documentation missing in model
         221  +
    pub fn sparse_string_map(
         222  +
        &self,
         223  +
    ) -> ::std::option::Option<
         224  +
        &::std::collections::HashMap<
         225  +
            ::std::string::String,
         226  +
            ::std::option::Option<::std::string::String>,
         227  +
        >,
         228  +
    > {
         229  +
        self.sparse_string_map.as_ref()
         230  +
    }
         231  +
    #[allow(missing_docs)] // documentation missing in model
         232  +
    pub fn sparse_set_map(
         233  +
        &self,
         234  +
    ) -> ::std::option::Option<
         235  +
        &::std::collections::HashMap<
         236  +
            ::std::string::String,
         237  +
            ::std::option::Option<crate::model::StringSet>,
         238  +
        >,
         239  +
    > {
         240  +
        self.sparse_set_map.as_ref()
         241  +
    }
         242  +
}
         243  +
impl RpcV2CborSparseMapsInput {
         244  +
    /// Creates a new builder-style object to manufacture [`RpcV2CborSparseMapsInput`](crate::input::RpcV2CborSparseMapsInput).
         245  +
    pub fn builder() -> crate::input::rpc_v2_cbor_sparse_maps_input::Builder {
         246  +
        crate::input::rpc_v2_cbor_sparse_maps_input::Builder::default()
         247  +
    }
         248  +
}
         249  +
impl crate::constrained::Constrained for crate::input::RpcV2CborSparseMapsInput {
         250  +
    type Unconstrained = crate::input::rpc_v2_cbor_sparse_maps_input::Builder;
         251  +
}
         252  +
         253  +
#[allow(missing_docs)] // documentation missing in model
         254  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         255  +
pub struct RpcV2CborDenseMapsInput {
         256  +
    #[allow(missing_docs)] // documentation missing in model
         257  +
    pub dense_struct_map: ::std::option::Option<
         258  +
        ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
         259  +
    >,
         260  +
    #[allow(missing_docs)] // documentation missing in model
         261  +
    pub dense_number_map:
         262  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         263  +
    #[allow(missing_docs)] // documentation missing in model
         264  +
    pub dense_boolean_map:
         265  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
         266  +
    #[allow(missing_docs)] // documentation missing in model
         267  +
    pub dense_string_map: ::std::option::Option<
         268  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         269  +
    >,
         270  +
    #[allow(missing_docs)] // documentation missing in model
         271  +
    pub dense_set_map: ::std::option::Option<
         272  +
        ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
         273  +
    >,
         274  +
}
         275  +
impl RpcV2CborDenseMapsInput {
         276  +
    #[allow(missing_docs)] // documentation missing in model
         277  +
    pub fn dense_struct_map(
         278  +
        &self,
         279  +
    ) -> ::std::option::Option<
         280  +
        &::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
         281  +
    > {
         282  +
        self.dense_struct_map.as_ref()
         283  +
    }
         284  +
    #[allow(missing_docs)] // documentation missing in model
         285  +
    pub fn dense_number_map(
         286  +
        &self,
         287  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         288  +
        self.dense_number_map.as_ref()
         289  +
    }
         290  +
    #[allow(missing_docs)] // documentation missing in model
         291  +
    pub fn dense_boolean_map(
         292  +
        &self,
         293  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, bool>> {
         294  +
        self.dense_boolean_map.as_ref()
         295  +
    }
         296  +
    #[allow(missing_docs)] // documentation missing in model
         297  +
    pub fn dense_string_map(
         298  +
        &self,
         299  +
    ) -> ::std::option::Option<
         300  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         301  +
    > {
         302  +
        self.dense_string_map.as_ref()
         303  +
    }
         304  +
    #[allow(missing_docs)] // documentation missing in model
         305  +
    pub fn dense_set_map(
         306  +
        &self,
         307  +
    ) -> ::std::option::Option<
         308  +
        &::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
         309  +
    > {
         310  +
        self.dense_set_map.as_ref()
         311  +
    }
         312  +
}
         313  +
impl RpcV2CborDenseMapsInput {
         314  +
    /// Creates a new builder-style object to manufacture [`RpcV2CborDenseMapsInput`](crate::input::RpcV2CborDenseMapsInput).
         315  +
    pub fn builder() -> crate::input::rpc_v2_cbor_dense_maps_input::Builder {
         316  +
        crate::input::rpc_v2_cbor_dense_maps_input::Builder::default()
         317  +
    }
         318  +
}
         319  +
impl crate::constrained::Constrained for crate::input::RpcV2CborDenseMapsInput {
         320  +
    type Unconstrained = crate::input::rpc_v2_cbor_dense_maps_input::Builder;
         321  +
}
         322  +
         323  +
#[allow(missing_docs)] // documentation missing in model
         324  +
#[derive(
         325  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         326  +
)]
         327  +
pub struct RpcV2CborListsInput {
         328  +
    #[allow(missing_docs)] // documentation missing in model
         329  +
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         330  +
    #[allow(missing_docs)] // documentation missing in model
         331  +
    pub string_set: ::std::option::Option<crate::model::StringSet>,
         332  +
    #[allow(missing_docs)] // documentation missing in model
         333  +
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
         334  +
    #[allow(missing_docs)] // documentation missing in model
         335  +
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
         336  +
    #[allow(missing_docs)] // documentation missing in model
         337  +
    pub timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
         338  +
    #[allow(missing_docs)] // documentation missing in model
         339  +
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         340  +
    #[allow(missing_docs)] // documentation missing in model
         341  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         342  +
    /// A list of lists of strings.
         343  +
    pub nested_string_list:
         344  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
         345  +
    #[allow(missing_docs)] // documentation missing in model
         346  +
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
         347  +
    #[allow(missing_docs)] // documentation missing in model
         348  +
    pub blob_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::Blob>>,
         349  +
}
         350  +
impl RpcV2CborListsInput {
         351  +
    #[allow(missing_docs)] // documentation missing in model
         352  +
    pub fn string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
         353  +
        self.string_list.as_deref()
         354  +
    }
         355  +
    #[allow(missing_docs)] // documentation missing in model
         356  +
    pub fn string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
         357  +
        self.string_set.as_ref()
         358  +
    }
         359  +
    #[allow(missing_docs)] // documentation missing in model
         360  +
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
         361  +
        self.integer_list.as_deref()
         362  +
    }
         363  +
    #[allow(missing_docs)] // documentation missing in model
         364  +
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
         365  +
        self.boolean_list.as_deref()
         366  +
    }
         367  +
    #[allow(missing_docs)] // documentation missing in model
         368  +
    pub fn timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
         369  +
        self.timestamp_list.as_deref()
         370  +
    }
         371  +
    #[allow(missing_docs)] // documentation missing in model
         372  +
    pub fn enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         373  +
        self.enum_list.as_deref()
         374  +
    }
         375  +
    #[allow(missing_docs)] // documentation missing in model
         376  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
         377  +
        self.int_enum_list.as_deref()
         378  +
    }
         379  +
    /// A list of lists of strings.
         380  +
    pub fn nested_string_list(
         381  +
        &self,
         382  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
         383  +
        self.nested_string_list.as_deref()
         384  +
    }
         385  +
    #[allow(missing_docs)] // documentation missing in model
         386  +
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::StructureListMember]> {
         387  +
        self.structure_list.as_deref()
         388  +
    }
         389  +
    #[allow(missing_docs)] // documentation missing in model
         390  +
    pub fn blob_list(&self) -> ::std::option::Option<&[::aws_smithy_types::Blob]> {
         391  +
        self.blob_list.as_deref()
         392  +
    }
         393  +
}
         394  +
impl RpcV2CborListsInput {
         395  +
    /// Creates a new builder-style object to manufacture [`RpcV2CborListsInput`](crate::input::RpcV2CborListsInput).
         396  +
    pub fn builder() -> crate::input::rpc_v2_cbor_lists_input::Builder {
         397  +
        crate::input::rpc_v2_cbor_lists_input::Builder::default()
         398  +
    }
         399  +
}
         400  +
impl crate::constrained::Constrained for crate::input::RpcV2CborListsInput {
         401  +
    type Unconstrained = crate::input::rpc_v2_cbor_lists_input::Builder;
         402  +
}
         403  +
         404  +
#[allow(missing_docs)] // documentation missing in model
         405  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         406  +
pub struct SimpleScalarPropertiesInput {
         407  +
    #[allow(missing_docs)] // documentation missing in model
         408  +
    pub true_boolean_value: ::std::option::Option<bool>,
         409  +
    #[allow(missing_docs)] // documentation missing in model
         410  +
    pub false_boolean_value: ::std::option::Option<bool>,
         411  +
    #[allow(missing_docs)] // documentation missing in model
         412  +
    pub byte_value: ::std::option::Option<i8>,
         413  +
    #[allow(missing_docs)] // documentation missing in model
         414  +
    pub double_value: ::std::option::Option<f64>,
         415  +
    #[allow(missing_docs)] // documentation missing in model
         416  +
    pub float_value: ::std::option::Option<f32>,
         417  +
    #[allow(missing_docs)] // documentation missing in model
         418  +
    pub integer_value: ::std::option::Option<i32>,
         419  +
    #[allow(missing_docs)] // documentation missing in model
         420  +
    pub long_value: ::std::option::Option<i64>,
         421  +
    #[allow(missing_docs)] // documentation missing in model
         422  +
    pub short_value: ::std::option::Option<i16>,
         423  +
    #[allow(missing_docs)] // documentation missing in model
         424  +
    pub string_value: ::std::option::Option<::std::string::String>,
         425  +
    #[allow(missing_docs)] // documentation missing in model
         426  +
    pub blob_value: ::std::option::Option<::aws_smithy_types::Blob>,
         427  +
}
         428  +
impl SimpleScalarPropertiesInput {
         429  +
    #[allow(missing_docs)] // documentation missing in model
         430  +
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
         431  +
        self.true_boolean_value
         432  +
    }
         433  +
    #[allow(missing_docs)] // documentation missing in model
         434  +
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
         435  +
        self.false_boolean_value
         436  +
    }
         437  +
    #[allow(missing_docs)] // documentation missing in model
         438  +
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
         439  +
        self.byte_value
         440  +
    }
         441  +
    #[allow(missing_docs)] // documentation missing in model
         442  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
         443  +
        self.double_value
         444  +
    }
         445  +
    #[allow(missing_docs)] // documentation missing in model
         446  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
         447  +
        self.float_value
         448  +
    }
         449  +
    #[allow(missing_docs)] // documentation missing in model
         450  +
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
         451  +
        self.integer_value
         452  +
    }
         453  +
    #[allow(missing_docs)] // documentation missing in model
         454  +
    pub fn long_value(&self) -> ::std::option::Option<i64> {
         455  +
        self.long_value
         456  +
    }
         457  +
    #[allow(missing_docs)] // documentation missing in model
         458  +
    pub fn short_value(&self) -> ::std::option::Option<i16> {
         459  +
        self.short_value
         460  +
    }
         461  +
    #[allow(missing_docs)] // documentation missing in model
         462  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
         463  +
        self.string_value.as_deref()
         464  +
    }
         465  +
    #[allow(missing_docs)] // documentation missing in model
         466  +
    pub fn blob_value(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
         467  +
        self.blob_value.as_ref()
         468  +
    }
         469  +
}
         470  +
impl SimpleScalarPropertiesInput {
         471  +
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
         472  +
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
         473  +
        crate::input::simple_scalar_properties_input::Builder::default()
         474  +
    }
         475  +
}
         476  +
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
         477  +
    type Unconstrained = crate::input::simple_scalar_properties_input::Builder;
         478  +
}
         479  +
         480  +
#[allow(missing_docs)] // documentation missing in model
         481  +
#[derive(
         482  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         483  +
)]
         484  +
pub struct OptionalInputOutputInput {
         485  +
    #[allow(missing_docs)] // documentation missing in model
         486  +
    pub value: ::std::option::Option<::std::string::String>,
         487  +
}
         488  +
impl OptionalInputOutputInput {
         489  +
    #[allow(missing_docs)] // documentation missing in model
         490  +
    pub fn value(&self) -> ::std::option::Option<&str> {
         491  +
        self.value.as_deref()
         492  +
    }
         493  +
}
         494  +
impl OptionalInputOutputInput {
         495  +
    /// Creates a new builder-style object to manufacture [`OptionalInputOutputInput`](crate::input::OptionalInputOutputInput).
         496  +
    pub fn builder() -> crate::input::optional_input_output_input::Builder {
         497  +
        crate::input::optional_input_output_input::Builder::default()
         498  +
    }
         499  +
}
         500  +
impl crate::constrained::Constrained for crate::input::OptionalInputOutputInput {
         501  +
    type Unconstrained = crate::input::optional_input_output_input::Builder;
         502  +
}
         503  +
         504  +
#[allow(missing_docs)] // documentation missing in model
         505  +
#[derive(
         506  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         507  +
)]
         508  +
pub struct EmptyInputOutputInput {}
         509  +
impl EmptyInputOutputInput {
         510  +
    /// Creates a new builder-style object to manufacture [`EmptyInputOutputInput`](crate::input::EmptyInputOutputInput).
         511  +
    pub fn builder() -> crate::input::empty_input_output_input::Builder {
         512  +
        crate::input::empty_input_output_input::Builder::default()
         513  +
    }
         514  +
}
         515  +
impl crate::constrained::Constrained for crate::input::EmptyInputOutputInput {
         516  +
    type Unconstrained = crate::input::empty_input_output_input::Builder;
         517  +
}
         518  +
         519  +
#[allow(missing_docs)] // documentation missing in model
         520  +
#[derive(
         521  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         522  +
)]
         523  +
pub struct NoInputOutputInput {}
         524  +
impl NoInputOutputInput {
         525  +
    /// Creates a new builder-style object to manufacture [`NoInputOutputInput`](crate::input::NoInputOutputInput).
         526  +
    pub fn builder() -> crate::input::no_input_output_input::Builder {
         527  +
        crate::input::no_input_output_input::Builder::default()
         528  +
    }
         529  +
}
         530  +
impl crate::constrained::Constrained for crate::input::NoInputOutputInput {
         531  +
    type Unconstrained = crate::input::no_input_output_input::Builder;
         532  +
}
         533  +
/// See [`Float16Input`](crate::input::Float16Input).
         534  +
pub mod float16_input {
         535  +
         536  +
    impl ::std::convert::From<Builder> for crate::input::Float16Input {
         537  +
        fn from(builder: Builder) -> Self {
         538  +
            builder.build()
         539  +
        }
         540  +
    }
         541  +
    /// A builder for [`Float16Input`](crate::input::Float16Input).
         542  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         543  +
    pub struct Builder {}
         544  +
    impl Builder {
         545  +
        /// Consumes the builder and constructs a [`Float16Input`](crate::input::Float16Input).
         546  +
        pub fn build(self) -> crate::input::Float16Input {
         547  +
            self.build_enforcing_all_constraints()
         548  +
        }
         549  +
        fn build_enforcing_all_constraints(self) -> crate::input::Float16Input {
         550  +
            crate::input::Float16Input {}
         551  +
        }
         552  +
    }
         553  +
}
         554  +
/// See [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
         555  +
pub mod sparse_nulls_operation_input {
         556  +
         557  +
    impl ::std::convert::From<Builder> for crate::input::SparseNullsOperationInput {
         558  +
        fn from(builder: Builder) -> Self {
         559  +
            builder.build()
         560  +
        }
         561  +
    }
         562  +
    /// A builder for [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
         563  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         564  +
    pub struct Builder {
         565  +
        pub(crate) sparse_string_list:
         566  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
         567  +
        pub(crate) sparse_string_map: ::std::option::Option<
         568  +
            ::std::collections::HashMap<
         569  +
                ::std::string::String,
         570  +
                ::std::option::Option<::std::string::String>,
         571  +
            >,
         572  +
        >,
         573  +
    }
         574  +
    impl Builder {
         575  +
        #[allow(missing_docs)] // documentation missing in model
         576  +
        pub fn sparse_string_list(
         577  +
            mut self,
         578  +
            input: ::std::option::Option<
         579  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
         580  +
            >,
         581  +
        ) -> Self {
         582  +
            self.sparse_string_list = input;
         583  +
            self
         584  +
        }
         585  +
        #[allow(missing_docs)] // documentation missing in model
         586  +
        pub(crate) fn set_sparse_string_list(
         587  +
            mut self,
         588  +
            input: Option<
         589  +
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
         590  +
            >,
         591  +
        ) -> Self {
         592  +
            self.sparse_string_list = input.map(|v| v.into());
         593  +
            self
         594  +
        }
         595  +
        #[allow(missing_docs)] // documentation missing in model
         596  +
        pub fn sparse_string_map(
         597  +
            mut self,
         598  +
            input: ::std::option::Option<
         599  +
                ::std::collections::HashMap<
         600  +
                    ::std::string::String,
         601  +
                    ::std::option::Option<::std::string::String>,
         602  +
                >,
         603  +
            >,
         604  +
        ) -> Self {
         605  +
            self.sparse_string_map = input;
         606  +
            self
         607  +
        }
         608  +
        #[allow(missing_docs)] // documentation missing in model
         609  +
        pub(crate) fn set_sparse_string_map(
         610  +
            mut self,
         611  +
            input: Option<
         612  +
                impl ::std::convert::Into<
         613  +
                    ::std::collections::HashMap<
         614  +
                        ::std::string::String,
         615  +
                        ::std::option::Option<::std::string::String>,
         616  +
                    >,
         617  +
                >,
         618  +
            >,
         619  +
        ) -> Self {
         620  +
            self.sparse_string_map = input.map(|v| v.into());
         621  +
            self
         622  +
        }
         623  +
        /// Consumes the builder and constructs a [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
         624  +
        pub fn build(self) -> crate::input::SparseNullsOperationInput {
         625  +
            self.build_enforcing_all_constraints()
         626  +
        }
         627  +
        fn build_enforcing_all_constraints(self) -> crate::input::SparseNullsOperationInput {
         628  +
            crate::input::SparseNullsOperationInput {
         629  +
                sparse_string_list: self.sparse_string_list,
         630  +
                sparse_string_map: self.sparse_string_map,
         631  +
            }
         632  +
        }
         633  +
    }
         634  +
}
         635  +
/// See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
         636  +
pub mod operation_with_defaults_input {
         637  +
         638  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         639  +
    /// Holds one variant for each of the ways the builder can fail.
         640  +
    #[non_exhaustive]
         641  +
    #[allow(clippy::enum_variant_names)]
         642  +
    pub enum ConstraintViolation {
         643  +
        /// Constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`.
         644  +
        #[doc(hidden)]
         645  +
        Defaults(crate::model::defaults::ConstraintViolation),
         646  +
    }
         647  +
    impl ::std::fmt::Display for ConstraintViolation {
         648  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         649  +
            match self {
         650  +
                ConstraintViolation::Defaults(_) => write!(f, "constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`"),
         651  +
            }
         652  +
        }
         653  +
    }
         654  +
    impl ::std::error::Error for ConstraintViolation {}
         655  +
    impl ConstraintViolation {
         656  +
        pub(crate) fn as_validation_exception_field(
         657  +
            self,
         658  +
            path: ::std::string::String,
         659  +
        ) -> crate::model::ValidationExceptionField {
         660  +
            match self {
         661  +
                ConstraintViolation::Defaults(inner) => {
         662  +
                    inner.as_validation_exception_field(path + "/defaults")
         663  +
                }
         664  +
            }
         665  +
        }
         666  +
    }
         667  +
    impl ::std::convert::From<ConstraintViolation>
         668  +
        for ::aws_smithy_legacy_http_server::protocol::rpc_v2_cbor::rejection::RequestRejection
         669  +
    {
         670  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
         671  +
            let first_validation_exception_field =
         672  +
                constraint_violation.as_validation_exception_field("".to_owned());
         673  +
            let validation_exception = crate::error::ValidationException {
         674  +
                message: format!(
         675  +
                    "1 validation error detected. {}",
         676  +
                    &first_validation_exception_field.message
         677  +
                ),
         678  +
                field_list: Some(vec![first_validation_exception_field]),
         679  +
            };
         680  +
            Self::ConstraintViolation(
         681  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
         682  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
         683  +
                            )
         684  +
        }
         685  +
    }
         686  +
    impl ::std::convert::From<Builder>
         687  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithDefaultsInput>
         688  +
    {
         689  +
        fn from(builder: Builder) -> Self {
         690  +
            Self::Unconstrained(builder)
         691  +
        }
         692  +
    }
         693  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithDefaultsInput {
         694  +
        type Error = ConstraintViolation;
         695  +
         696  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         697  +
            builder.build()
         698  +
        }
         699  +
    }
         700  +
    /// A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
         701  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         702  +
    pub struct Builder {
         703  +
        pub(crate) defaults:
         704  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
         705  +
        pub(crate) client_optional_defaults:
         706  +
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
         707  +
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
         708  +
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
         709  +
    }
         710  +
    impl Builder {
         711  +
        #[allow(missing_docs)] // documentation missing in model
         712  +
        pub fn defaults(mut self, input: ::std::option::Option<crate::model::Defaults>) -> Self {
         713  +
            self.defaults = input.map(crate::constrained::MaybeConstrained::Constrained);
         714  +
            self
         715  +
        }
         716  +
        #[allow(missing_docs)] // documentation missing in model
         717  +
        pub(crate) fn set_defaults(
         718  +
            mut self,
         719  +
            input: Option<
         720  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
         721  +
            >,
         722  +
        ) -> Self {
         723  +
            self.defaults = input.map(|v| v.into());
         724  +
            self
         725  +
        }
         726  +
        #[allow(missing_docs)] // documentation missing in model
         727  +
        pub fn client_optional_defaults(
         728  +
            mut self,
         729  +
            input: ::std::option::Option<crate::model::ClientOptionalDefaults>,
         730  +
        ) -> Self {
         731  +
            self.client_optional_defaults = input;
         732  +
            self
         733  +
        }
         734  +
        #[allow(missing_docs)] // documentation missing in model
         735  +
        pub(crate) fn set_client_optional_defaults(
         736  +
            mut self,
         737  +
            input: Option<impl ::std::convert::Into<crate::model::ClientOptionalDefaults>>,
         738  +
        ) -> Self {
         739  +
            self.client_optional_defaults = input.map(|v| v.into());
         740  +
            self
         741  +
        }
         742  +
        #[allow(missing_docs)] // documentation missing in model
         743  +
        pub fn top_level_default(mut self, input: ::std::string::String) -> Self {
         744  +
            self.top_level_default = Some(input);
         745  +
            self
         746  +
        }
         747  +
        #[allow(missing_docs)] // documentation missing in model
         748  +
        pub(crate) fn set_top_level_default(
         749  +
            mut self,
         750  +
            input: impl ::std::convert::Into<::std::string::String>,
         751  +
        ) -> Self {
         752  +
            self.top_level_default = Some(input.into());
         753  +
            self
         754  +
        }
         755  +
        #[allow(missing_docs)] // documentation missing in model
         756  +
        pub fn other_top_level_default(mut self, input: i32) -> Self {
         757  +
            self.other_top_level_default = Some(input);
         758  +
            self
         759  +
        }
         760  +
        #[allow(missing_docs)] // documentation missing in model
         761  +
        pub(crate) fn set_other_top_level_default(
         762  +
            mut self,
         763  +
            input: impl ::std::convert::Into<i32>,
         764  +
        ) -> Self {
         765  +
            self.other_top_level_default = Some(input.into());
         766  +
            self
         767  +
        }
         768  +
        /// Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
         769  +
        ///
         770  +
        /// The builder fails to construct a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) if a [`ConstraintViolation`] occurs.
         771  +
        ///
         772  +
        pub fn build(
         773  +
            self,
         774  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
         775  +
            self.build_enforcing_all_constraints()
         776  +
        }
         777  +
        fn build_enforcing_all_constraints(
         778  +
            self,
         779  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
         780  +
            Ok(crate::input::OperationWithDefaultsInput {
         781  +
                defaults: self
         782  +
                    .defaults
         783  +
                    .map(|v| match v {
         784  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
         785  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
         786  +
                    })
         787  +
                    .map(|res| res.map_err(ConstraintViolation::Defaults))
         788  +
                    .transpose()?,
         789  +
                client_optional_defaults: self.client_optional_defaults,
         790  +
                top_level_default: self.top_level_default.unwrap_or_else(|| String::from("hi")),
         791  +
                other_top_level_default: self.other_top_level_default.unwrap_or(0i32),
         792  +
            })
         793  +
        }
         794  +
    }
         795  +
}
         796  +
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         797  +
pub mod fractional_seconds_input {
         798  +
         799  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
         800  +
        fn from(builder: Builder) -> Self {
         801  +
            builder.build()
         802  +
        }
         803  +
    }
         804  +
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         805  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         806  +
    pub struct Builder {}
         807  +
    impl Builder {
         808  +
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         809  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
         810  +
            self.build_enforcing_all_constraints()
         811  +
        }
         812  +
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
         813  +
            crate::input::FractionalSecondsInput {}
         814  +
        }
         815  +
    }
         816  +
}
         817  +
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
         818  +
pub mod greeting_with_errors_input {
         819  +
         820  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
         821  +
        fn from(builder: Builder) -> Self {
         822  +
            builder.build()
         823  +
        }
         824  +
    }
         825  +
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
         826  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         827  +
    pub struct Builder {}
         828  +
    impl Builder {
         829  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
         830  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
         831  +
            self.build_enforcing_all_constraints()
         832  +
        }
         833  +
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
         834  +
            crate::input::GreetingWithErrorsInput {}
         835  +
        }
         836  +
    }
         837  +
}
         838  +
/// See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
         839  +
pub mod recursive_shapes_input {
         840  +
         841  +
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
         842  +
        fn from(builder: Builder) -> Self {
         843  +
            builder.build()
         844  +
        }
         845  +
    }
         846  +
    /// A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
         847  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         848  +
    pub struct Builder {
         849  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         850  +
    }
         851  +
    impl Builder {
         852  +
        #[allow(missing_docs)] // documentation missing in model
         853  +
        pub fn nested(
         854  +
            mut self,
         855  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         856  +
        ) -> Self {
         857  +
            self.nested = input;
         858  +
            self
         859  +
        }
         860  +
        #[allow(missing_docs)] // documentation missing in model
         861  +
        pub(crate) fn set_nested(
         862  +
            mut self,
         863  +
            input: Option<
         864  +
                impl ::std::convert::Into<crate::model::RecursiveShapesInputOutputNested1>,
         865  +
            >,
         866  +
        ) -> Self {
         867  +
            self.nested = input.map(|v| v.into());
         868  +
            self
         869  +
        }
         870  +
        /// Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
         871  +
        pub fn build(self) -> crate::input::RecursiveShapesInput {
         872  +
            self.build_enforcing_all_constraints()
         873  +
        }
         874  +
        fn build_enforcing_all_constraints(self) -> crate::input::RecursiveShapesInput {
         875  +
            crate::input::RecursiveShapesInput {
         876  +
                nested: self.nested,
         877  +
            }
         878  +
        }
         879  +
    }
         880  +
}
         881  +
/// See [`RpcV2CborSparseMapsInput`](crate::input::RpcV2CborSparseMapsInput).
         882  +
pub mod rpc_v2_cbor_sparse_maps_input {
         883  +
         884  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         885  +
    /// Holds one variant for each of the ways the builder can fail.
         886  +
    #[non_exhaustive]
         887  +
    #[allow(clippy::enum_variant_names)]
         888  +
    pub enum ConstraintViolation {
         889  +
        /// Constraint violation occurred building member `sparse_set_map` when building `RpcV2CborSparseMapsInput`.
         890  +
        #[doc(hidden)]
         891  +
        SparseSetMap(crate::model::sparse_set_map::ConstraintViolation),
         892  +
    }
         893  +
    impl ::std::fmt::Display for ConstraintViolation {
         894  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         895  +
            match self {
         896  +
                ConstraintViolation::SparseSetMap(_) => write!(f, "constraint violation occurred building member `sparse_set_map` when building `RpcV2CborSparseMapsInput`"),
         897  +
            }
         898  +
        }
         899  +
    }
         900  +
    impl ::std::error::Error for ConstraintViolation {}
         901  +
    impl ConstraintViolation {
         902  +
        pub(crate) fn as_validation_exception_field(
         903  +
            self,
         904  +
            path: ::std::string::String,
         905  +
        ) -> crate::model::ValidationExceptionField {
         906  +
            match self {
         907  +
                ConstraintViolation::SparseSetMap(inner) => {
         908  +
                    inner.as_validation_exception_field(path + "/sparseSetMap")
         909  +
                }
         910  +
            }
         911  +
        }
         912  +
    }
         913  +
    impl ::std::convert::From<ConstraintViolation>
         914  +
        for ::aws_smithy_legacy_http_server::protocol::rpc_v2_cbor::rejection::RequestRejection
         915  +
    {
         916  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
         917  +
            let first_validation_exception_field =
         918  +
                constraint_violation.as_validation_exception_field("".to_owned());
         919  +
            let validation_exception = crate::error::ValidationException {
         920  +
                message: format!(
         921  +
                    "1 validation error detected. {}",
         922  +
                    &first_validation_exception_field.message
         923  +
                ),
         924  +
                field_list: Some(vec![first_validation_exception_field]),
         925  +
            };
         926  +
            Self::ConstraintViolation(
         927  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
         928  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
         929  +
                            )
         930  +
        }
         931  +
    }
         932  +
    impl ::std::convert::From<Builder>
         933  +
        for crate::constrained::MaybeConstrained<crate::input::RpcV2CborSparseMapsInput>
         934  +
    {
         935  +
        fn from(builder: Builder) -> Self {
         936  +
            Self::Unconstrained(builder)
         937  +
        }
         938  +
    }
         939  +
    impl ::std::convert::TryFrom<Builder> for crate::input::RpcV2CborSparseMapsInput {
         940  +
        type Error = ConstraintViolation;
         941  +
         942  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         943  +
            builder.build()
         944  +
        }
         945  +
    }
         946  +
    /// A builder for [`RpcV2CborSparseMapsInput`](crate::input::RpcV2CborSparseMapsInput).
         947  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         948  +
    pub struct Builder {
         949  +
        pub(crate) sparse_struct_map: ::std::option::Option<
         950  +
            ::std::collections::HashMap<
         951  +
                ::std::string::String,
         952  +
                ::std::option::Option<crate::model::GreetingStruct>,
         953  +
            >,
         954  +
        >,
         955  +
        pub(crate) sparse_number_map: ::std::option::Option<
         956  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
         957  +
        >,
         958  +
        pub(crate) sparse_boolean_map: ::std::option::Option<
         959  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
         960  +
        >,
         961  +
        pub(crate) sparse_string_map: ::std::option::Option<
         962  +
            ::std::collections::HashMap<
         963  +
                ::std::string::String,
         964  +
                ::std::option::Option<::std::string::String>,
         965  +
            >,
         966  +
        >,
         967  +
        pub(crate) sparse_set_map: ::std::option::Option<
         968  +
            crate::constrained::MaybeConstrained<
         969  +
                crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
         970  +
            >,
         971  +
        >,
         972  +
    }
         973  +
    impl Builder {
         974  +
        #[allow(missing_docs)] // documentation missing in model
         975  +
        pub fn sparse_struct_map(
         976  +
            mut self,
         977  +
            input: ::std::option::Option<
         978  +
                ::std::collections::HashMap<
         979  +
                    ::std::string::String,
         980  +
                    ::std::option::Option<crate::model::GreetingStruct>,
         981  +
                >,
         982  +
            >,
         983  +
        ) -> Self {
         984  +
            self.sparse_struct_map = input;
         985  +
            self
         986  +
        }
         987  +
        #[allow(missing_docs)] // documentation missing in model
         988  +
        pub(crate) fn set_sparse_struct_map(
         989  +
            mut self,
         990  +
            input: Option<
         991  +
                impl ::std::convert::Into<
         992  +
                    ::std::collections::HashMap<
         993  +
                        ::std::string::String,
         994  +
                        ::std::option::Option<crate::model::GreetingStruct>,
         995  +
                    >,
         996  +
                >,
         997  +
            >,
         998  +
        ) -> Self {
         999  +
            self.sparse_struct_map = input.map(|v| v.into());
        1000  +
            self
        1001  +
        }
        1002  +
        #[allow(missing_docs)] // documentation missing in model
        1003  +
        pub fn sparse_number_map(
        1004  +
            mut self,
        1005  +
            input: ::std::option::Option<
        1006  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        1007  +
            >,
        1008  +
        ) -> Self {
        1009  +
            self.sparse_number_map = input;
        1010  +
            self
        1011  +
        }
        1012  +
        #[allow(missing_docs)] // documentation missing in model
        1013  +
        pub(crate) fn set_sparse_number_map(
        1014  +
            mut self,
        1015  +
            input: Option<
        1016  +
                impl ::std::convert::Into<
        1017  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        1018  +
                >,
        1019  +
            >,
        1020  +
        ) -> Self {
        1021  +
            self.sparse_number_map = input.map(|v| v.into());
        1022  +
            self
        1023  +
        }
        1024  +
        #[allow(missing_docs)] // documentation missing in model
        1025  +
        pub fn sparse_boolean_map(
        1026  +
            mut self,
        1027  +
            input: ::std::option::Option<
        1028  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        1029  +
            >,
        1030  +
        ) -> Self {
        1031  +
            self.sparse_boolean_map = input;
        1032  +
            self
        1033  +
        }
        1034  +
        #[allow(missing_docs)] // documentation missing in model
        1035  +
        pub(crate) fn set_sparse_boolean_map(
        1036  +
            mut self,
        1037  +
            input: Option<
        1038  +
                impl ::std::convert::Into<
        1039  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        1040  +
                >,
        1041  +
            >,
        1042  +
        ) -> Self {
        1043  +
            self.sparse_boolean_map = input.map(|v| v.into());
        1044  +
            self
        1045  +
        }
        1046  +
        #[allow(missing_docs)] // documentation missing in model
        1047  +
        pub fn sparse_string_map(
        1048  +
            mut self,
        1049  +
            input: ::std::option::Option<
        1050  +
                ::std::collections::HashMap<
        1051  +
                    ::std::string::String,
        1052  +
                    ::std::option::Option<::std::string::String>,
        1053  +
                >,
        1054  +
            >,
        1055  +
        ) -> Self {
        1056  +
            self.sparse_string_map = input;
        1057  +
            self
        1058  +
        }
        1059  +
        #[allow(missing_docs)] // documentation missing in model
        1060  +
        pub(crate) fn set_sparse_string_map(
        1061  +
            mut self,
        1062  +
            input: Option<
        1063  +
                impl ::std::convert::Into<
        1064  +
                    ::std::collections::HashMap<
        1065  +
                        ::std::string::String,
        1066  +
                        ::std::option::Option<::std::string::String>,
        1067  +
                    >,
        1068  +
                >,
        1069  +
            >,
        1070  +
        ) -> Self {
        1071  +
            self.sparse_string_map = input.map(|v| v.into());
        1072  +
            self
        1073  +
        }
        1074  +
        #[allow(missing_docs)] // documentation missing in model
        1075  +
        pub fn sparse_set_map(
        1076  +
            mut self,
        1077  +
            input: ::std::option::Option<
        1078  +
                ::std::collections::HashMap<
        1079  +
                    ::std::string::String,
        1080  +
                    ::std::option::Option<crate::model::StringSet>,
        1081  +
                >,
        1082  +
            >,
        1083  +
        ) -> Self {
        1084  +
            self.sparse_set_map =
        1085  +
                input.map(|v| crate::constrained::MaybeConstrained::Constrained((v).into()));
        1086  +
            self
        1087  +
        }
        1088  +
        #[allow(missing_docs)] // documentation missing in model
        1089  +
        pub(crate) fn set_sparse_set_map(
        1090  +
            mut self,
        1091  +
            input: Option<
        1092  +
                impl ::std::convert::Into<
        1093  +
                    crate::constrained::MaybeConstrained<
        1094  +
                        crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
        1095  +
                    >,
        1096  +
                >,
        1097  +
            >,
        1098  +
        ) -> Self {
        1099  +
            self.sparse_set_map = input.map(|v| v.into());
        1100  +
            self
        1101  +
        }
        1102  +
        /// Consumes the builder and constructs a [`RpcV2CborSparseMapsInput`](crate::input::RpcV2CborSparseMapsInput).
        1103  +
        ///
        1104  +
        /// The builder fails to construct a [`RpcV2CborSparseMapsInput`](crate::input::RpcV2CborSparseMapsInput) if a [`ConstraintViolation`] occurs.
        1105  +
        ///
        1106  +
        pub fn build(self) -> Result<crate::input::RpcV2CborSparseMapsInput, ConstraintViolation> {
        1107  +
            self.build_enforcing_all_constraints()
        1108  +
        }
        1109  +
        fn build_enforcing_all_constraints(
        1110  +
            self,
        1111  +
        ) -> Result<crate::input::RpcV2CborSparseMapsInput, ConstraintViolation> {
        1112  +
            Ok(crate::input::RpcV2CborSparseMapsInput {
        1113  +
                sparse_struct_map: self.sparse_struct_map,
        1114  +
                sparse_number_map: self.sparse_number_map,
        1115  +
                sparse_boolean_map: self.sparse_boolean_map,
        1116  +
                sparse_string_map: self.sparse_string_map,
        1117  +
                sparse_set_map: self
        1118  +
                    .sparse_set_map
        1119  +
                    .map(|v| match v {
        1120  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1121  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1122  +
                    })
        1123  +
                    .map(|res| {
        1124  +
                        res.map(|v| v.into())
        1125  +
                            .map_err(ConstraintViolation::SparseSetMap)
        1126  +
                    })
        1127  +
                    .transpose()?,
        1128  +
            })
        1129  +
        }
        1130  +
    }
        1131  +
}
        1132  +
/// See [`RpcV2CborDenseMapsInput`](crate::input::RpcV2CborDenseMapsInput).
        1133  +
pub mod rpc_v2_cbor_dense_maps_input {
        1134  +
        1135  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1136  +
    /// Holds one variant for each of the ways the builder can fail.
        1137  +
    #[non_exhaustive]
        1138  +
    #[allow(clippy::enum_variant_names)]
        1139  +
    pub enum ConstraintViolation {
        1140  +
        /// Constraint violation occurred building member `dense_set_map` when building `RpcV2CborDenseMapsInput`.
        1141  +
        #[doc(hidden)]
        1142  +
        DenseSetMap(crate::model::dense_set_map::ConstraintViolation),
        1143  +
    }
        1144  +
    impl ::std::fmt::Display for ConstraintViolation {
        1145  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1146  +
            match self {
        1147  +
                ConstraintViolation::DenseSetMap(_) => write!(f, "constraint violation occurred building member `dense_set_map` when building `RpcV2CborDenseMapsInput`"),
        1148  +
            }
        1149  +
        }
        1150  +
    }
        1151  +
    impl ::std::error::Error for ConstraintViolation {}
        1152  +
    impl ConstraintViolation {
        1153  +
        pub(crate) fn as_validation_exception_field(
        1154  +
            self,
        1155  +
            path: ::std::string::String,
        1156  +
        ) -> crate::model::ValidationExceptionField {
        1157  +
            match self {
        1158  +
                ConstraintViolation::DenseSetMap(inner) => {
        1159  +
                    inner.as_validation_exception_field(path + "/denseSetMap")
        1160  +
                }
        1161  +
            }
        1162  +
        }
        1163  +
    }
        1164  +
    impl ::std::convert::From<ConstraintViolation>
        1165  +
        for ::aws_smithy_legacy_http_server::protocol::rpc_v2_cbor::rejection::RequestRejection
        1166  +
    {
        1167  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1168  +
            let first_validation_exception_field =
        1169  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1170  +
            let validation_exception = crate::error::ValidationException {
        1171  +
                message: format!(
        1172  +
                    "1 validation error detected. {}",
        1173  +
                    &first_validation_exception_field.message
        1174  +
                ),
        1175  +
                field_list: Some(vec![first_validation_exception_field]),
        1176  +
            };
        1177  +
            Self::ConstraintViolation(
        1178  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1179  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1180  +
                            )
        1181  +
        }
        1182  +
    }
        1183  +
    impl ::std::convert::From<Builder>
        1184  +
        for crate::constrained::MaybeConstrained<crate::input::RpcV2CborDenseMapsInput>
        1185  +
    {
        1186  +
        fn from(builder: Builder) -> Self {
        1187  +
            Self::Unconstrained(builder)
        1188  +
        }
        1189  +
    }
        1190  +
    impl ::std::convert::TryFrom<Builder> for crate::input::RpcV2CborDenseMapsInput {
        1191  +
        type Error = ConstraintViolation;
        1192  +
        1193  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1194  +
            builder.build()
        1195  +
        }
        1196  +
    }
        1197  +
    /// A builder for [`RpcV2CborDenseMapsInput`](crate::input::RpcV2CborDenseMapsInput).
        1198  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1199  +
    pub struct Builder {
        1200  +
        pub(crate) dense_struct_map: ::std::option::Option<
        1201  +
            ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        1202  +
        >,
        1203  +
        pub(crate) dense_number_map:
        1204  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        1205  +
        pub(crate) dense_boolean_map:
        1206  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
        1207  +
        pub(crate) dense_string_map: ::std::option::Option<
        1208  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1209  +
        >,
        1210  +
        pub(crate) dense_set_map: ::std::option::Option<
        1211  +
            crate::constrained::MaybeConstrained<
        1212  +
                crate::constrained::dense_set_map_constrained::DenseSetMapConstrained,
        1213  +
            >,
        1214  +
        >,
        1215  +
    }
        1216  +
    impl Builder {
        1217  +
        #[allow(missing_docs)] // documentation missing in model
        1218  +
        pub fn dense_struct_map(
        1219  +
            mut self,
        1220  +
            input: ::std::option::Option<
        1221  +
                ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        1222  +
            >,
        1223  +
        ) -> Self {
        1224  +
            self.dense_struct_map = input;
        1225  +
            self
        1226  +
        }
        1227  +
        #[allow(missing_docs)] // documentation missing in model
        1228  +
        pub(crate) fn set_dense_struct_map(
        1229  +
            mut self,
        1230  +
            input: Option<
        1231  +
                impl ::std::convert::Into<
        1232  +
                    ::std::collections::HashMap<
        1233  +
                        ::std::string::String,
        1234  +
                        crate::model::GreetingStruct,
        1235  +
                    >,
        1236  +
                >,
        1237  +
            >,
        1238  +
        ) -> Self {
        1239  +
            self.dense_struct_map = input.map(|v| v.into());
        1240  +
            self
        1241  +
        }
        1242  +
        #[allow(missing_docs)] // documentation missing in model
        1243  +
        pub fn dense_number_map(
        1244  +
            mut self,
        1245  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        1246  +
        ) -> Self {
        1247  +
            self.dense_number_map = input;
        1248  +
            self
        1249  +
        }
        1250  +
        #[allow(missing_docs)] // documentation missing in model
        1251  +
        pub(crate) fn set_dense_number_map(
        1252  +
            mut self,
        1253  +
            input: Option<
        1254  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
        1255  +
            >,
        1256  +
        ) -> Self {
        1257  +
            self.dense_number_map = input.map(|v| v.into());
        1258  +
            self
        1259  +
        }
        1260  +
        #[allow(missing_docs)] // documentation missing in model
        1261  +
        pub fn dense_boolean_map(
        1262  +
            mut self,
        1263  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
        1264  +
        ) -> Self {
        1265  +
            self.dense_boolean_map = input;
        1266  +
            self
        1267  +
        }
        1268  +
        #[allow(missing_docs)] // documentation missing in model
        1269  +
        pub(crate) fn set_dense_boolean_map(
        1270  +
            mut self,
        1271  +
            input: Option<
        1272  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, bool>>,
        1273  +
            >,
        1274  +
        ) -> Self {
        1275  +
            self.dense_boolean_map = input.map(|v| v.into());
        1276  +
            self
        1277  +
        }
        1278  +
        #[allow(missing_docs)] // documentation missing in model
        1279  +
        pub fn dense_string_map(
        1280  +
            mut self,
        1281  +
            input: ::std::option::Option<
        1282  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1283  +
            >,
        1284  +
        ) -> Self {
        1285  +
            self.dense_string_map = input;
        1286  +
            self
        1287  +
        }
        1288  +
        #[allow(missing_docs)] // documentation missing in model
        1289  +
        pub(crate) fn set_dense_string_map(
        1290  +
            mut self,
        1291  +
            input: Option<
        1292  +
                impl ::std::convert::Into<
        1293  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1294  +
                >,
        1295  +
            >,
        1296  +
        ) -> Self {
        1297  +
            self.dense_string_map = input.map(|v| v.into());
        1298  +
            self
        1299  +
        }
        1300  +
        #[allow(missing_docs)] // documentation missing in model
        1301  +
        pub fn dense_set_map(
        1302  +
            mut self,
        1303  +
            input: ::std::option::Option<
        1304  +
                ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
        1305  +
            >,
        1306  +
        ) -> Self {
        1307  +
            self.dense_set_map =
        1308  +
                input.map(|v| crate::constrained::MaybeConstrained::Constrained((v).into()));
        1309  +
            self
        1310  +
        }
        1311  +
        #[allow(missing_docs)] // documentation missing in model
        1312  +
        pub(crate) fn set_dense_set_map(
        1313  +
            mut self,
        1314  +
            input: Option<
        1315  +
                impl ::std::convert::Into<
        1316  +
                    crate::constrained::MaybeConstrained<
        1317  +
                        crate::constrained::dense_set_map_constrained::DenseSetMapConstrained,
        1318  +
                    >,
        1319  +
                >,
        1320  +
            >,
        1321  +
        ) -> Self {
        1322  +
            self.dense_set_map = input.map(|v| v.into());
        1323  +
            self
        1324  +
        }
        1325  +
        /// Consumes the builder and constructs a [`RpcV2CborDenseMapsInput`](crate::input::RpcV2CborDenseMapsInput).
        1326  +
        ///
        1327  +
        /// The builder fails to construct a [`RpcV2CborDenseMapsInput`](crate::input::RpcV2CborDenseMapsInput) if a [`ConstraintViolation`] occurs.
        1328  +
        ///
        1329  +
        pub fn build(self) -> Result<crate::input::RpcV2CborDenseMapsInput, ConstraintViolation> {
        1330  +
            self.build_enforcing_all_constraints()
        1331  +
        }
        1332  +
        fn build_enforcing_all_constraints(
        1333  +
            self,
        1334  +
        ) -> Result<crate::input::RpcV2CborDenseMapsInput, ConstraintViolation> {
        1335  +
            Ok(crate::input::RpcV2CborDenseMapsInput {
        1336  +
                dense_struct_map: self.dense_struct_map,
        1337  +
                dense_number_map: self.dense_number_map,
        1338  +
                dense_boolean_map: self.dense_boolean_map,
        1339  +
                dense_string_map: self.dense_string_map,
        1340  +
                dense_set_map: self
        1341  +
                    .dense_set_map
        1342  +
                    .map(|v| match v {
        1343  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1344  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1345  +
                    })
        1346  +
                    .map(|res| {
        1347  +
                        res.map(|v| v.into())
        1348  +
                            .map_err(ConstraintViolation::DenseSetMap)
        1349  +
                    })
        1350  +
                    .transpose()?,
        1351  +
            })
        1352  +
        }
        1353  +
    }
        1354  +
}
        1355  +
/// See [`RpcV2CborListsInput`](crate::input::RpcV2CborListsInput).
        1356  +
pub mod rpc_v2_cbor_lists_input {
        1357  +
        1358  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1359  +
    /// Holds one variant for each of the ways the builder can fail.
        1360  +
    #[non_exhaustive]
        1361  +
    #[allow(clippy::enum_variant_names)]
        1362  +
    pub enum ConstraintViolation {
        1363  +
        /// Constraint violation occurred building member `string_set` when building `RpcV2CborListsInput`.
        1364  +
        #[doc(hidden)]
        1365  +
        StringSet(crate::model::string_set::ConstraintViolation),
        1366  +
        /// Constraint violation occurred building member `enum_list` when building `RpcV2CborListsInput`.
        1367  +
        #[doc(hidden)]
        1368  +
        EnumList(crate::model::foo_enum_list::ConstraintViolation),
        1369  +
    }
        1370  +
    impl ::std::fmt::Display for ConstraintViolation {
        1371  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1372  +
            match self {
        1373  +
                ConstraintViolation::StringSet(_) => write!(f, "constraint violation occurred building member `string_set` when building `RpcV2CborListsInput`"),
        1374  +
                ConstraintViolation::EnumList(_) => write!(f, "constraint violation occurred building member `enum_list` when building `RpcV2CborListsInput`"),
        1375  +
            }
        1376  +
        }
        1377  +
    }
        1378  +
    impl ::std::error::Error for ConstraintViolation {}
        1379  +
    impl ConstraintViolation {
        1380  +
        pub(crate) fn as_validation_exception_field(
        1381  +
            self,
        1382  +
            path: ::std::string::String,
        1383  +
        ) -> crate::model::ValidationExceptionField {
        1384  +
            match self {
        1385  +
                ConstraintViolation::StringSet(inner) => {
        1386  +
                    inner.as_validation_exception_field(path + "/stringSet")
        1387  +
                }
        1388  +
                ConstraintViolation::EnumList(inner) => {
        1389  +
                    inner.as_validation_exception_field(path + "/enumList")
        1390  +
                }
        1391  +
            }
        1392  +
        }
        1393  +
    }
        1394  +
    impl ::std::convert::From<ConstraintViolation>
        1395  +
        for ::aws_smithy_legacy_http_server::protocol::rpc_v2_cbor::rejection::RequestRejection
        1396  +
    {
        1397  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1398  +
            let first_validation_exception_field =
        1399  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1400  +
            let validation_exception = crate::error::ValidationException {
        1401  +
                message: format!(
        1402  +
                    "1 validation error detected. {}",
        1403  +
                    &first_validation_exception_field.message
        1404  +
                ),
        1405  +
                field_list: Some(vec![first_validation_exception_field]),
        1406  +
            };
        1407  +
            Self::ConstraintViolation(
        1408  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1409  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1410  +
                            )
        1411  +
        }
        1412  +
    }
        1413  +
    impl ::std::convert::From<Builder>
        1414  +
        for crate::constrained::MaybeConstrained<crate::input::RpcV2CborListsInput>
        1415  +
    {
        1416  +
        fn from(builder: Builder) -> Self {
        1417  +
            Self::Unconstrained(builder)
        1418  +
        }
        1419  +
    }
        1420  +
    impl ::std::convert::TryFrom<Builder> for crate::input::RpcV2CborListsInput {
        1421  +
        type Error = ConstraintViolation;
        1422  +
        1423  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1424  +
            builder.build()
        1425  +
        }
        1426  +
    }
        1427  +
    /// A builder for [`RpcV2CborListsInput`](crate::input::RpcV2CborListsInput).
        1428  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1429  +
    pub struct Builder {
        1430  +
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1431  +
        pub(crate) string_set:
        1432  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        1433  +
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1434  +
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        1435  +
        pub(crate) timestamp_list:
        1436  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        1437  +
        pub(crate) enum_list: ::std::option::Option<
        1438  +
            crate::constrained::MaybeConstrained<
        1439  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        1440  +
            >,
        1441  +
        >,
        1442  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1443  +
        pub(crate) nested_string_list:
        1444  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1445  +
        pub(crate) structure_list:
        1446  +
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
        1447  +
        pub(crate) blob_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::Blob>>,
        1448  +
    }
        1449  +
    impl Builder {
        1450  +
        #[allow(missing_docs)] // documentation missing in model
        1451  +
        pub fn string_list(
        1452  +
            mut self,
        1453  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1454  +
        ) -> Self {
        1455  +
            self.string_list = input;
        1456  +
            self
        1457  +
        }
        1458  +
        #[allow(missing_docs)] // documentation missing in model
        1459  +
        pub(crate) fn set_string_list(
        1460  +
            mut self,
        1461  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        1462  +
        ) -> Self {
        1463  +
            self.string_list = input.map(|v| v.into());
        1464  +
            self
        1465  +
        }
        1466  +
        #[allow(missing_docs)] // documentation missing in model
        1467  +
        pub fn string_set(mut self, input: ::std::option::Option<crate::model::StringSet>) -> Self {
        1468  +
            self.string_set = input.map(crate::constrained::MaybeConstrained::Constrained);
        1469  +
            self
        1470  +
        }
        1471  +
        #[allow(missing_docs)] // documentation missing in model
        1472  +
        pub(crate) fn set_string_set(
        1473  +
            mut self,
        1474  +
            input: Option<
        1475  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
        1476  +
            >,
        1477  +
        ) -> Self {
        1478  +
            self.string_set = input.map(|v| v.into());
        1479  +
            self
        1480  +
        }
        1481  +
        #[allow(missing_docs)] // documentation missing in model
        1482  +
        pub fn integer_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
        1483  +
            self.integer_list = input;
        1484  +
            self
        1485  +
        }
        1486  +
        #[allow(missing_docs)] // documentation missing in model
        1487  +
        pub(crate) fn set_integer_list(
        1488  +
            mut self,
        1489  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        1490  +
        ) -> Self {
        1491  +
            self.integer_list = input.map(|v| v.into());
        1492  +
            self
        1493  +
        }
        1494  +
        #[allow(missing_docs)] // documentation missing in model
        1495  +
        pub fn boolean_list(mut self, input: ::std::option::Option<::std::vec::Vec<bool>>) -> Self {
        1496  +
            self.boolean_list = input;
        1497  +
            self
        1498  +
        }
        1499  +
        #[allow(missing_docs)] // documentation missing in model
        1500  +
        pub(crate) fn set_boolean_list(
        1501  +
            mut self,
        1502  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
        1503  +
        ) -> Self {
        1504  +
            self.boolean_list = input.map(|v| v.into());
        1505  +
            self
        1506  +
        }
        1507  +
        #[allow(missing_docs)] // documentation missing in model
        1508  +
        pub fn timestamp_list(
        1509  +
            mut self,
        1510  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        1511  +
        ) -> Self {
        1512  +
            self.timestamp_list = input;
        1513  +
            self
        1514  +
        }
        1515  +
        #[allow(missing_docs)] // documentation missing in model
        1516  +
        pub(crate) fn set_timestamp_list(
        1517  +
            mut self,
        1518  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
        1519  +
        ) -> Self {
        1520  +
            self.timestamp_list = input.map(|v| v.into());
        1521  +
            self
        1522  +
        }
        1523  +
        #[allow(missing_docs)] // documentation missing in model
        1524  +
        pub fn enum_list(
        1525  +
            mut self,
        1526  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1527  +
        ) -> Self {
        1528  +
            self.enum_list =
        1529  +
                input.map(|v| crate::constrained::MaybeConstrained::Constrained((v).into()));
        1530  +
            self
        1531  +
        }
        1532  +
        #[allow(missing_docs)] // documentation missing in model
        1533  +
        pub(crate) fn set_enum_list(
        1534  +
            mut self,
        1535  +
            input: Option<
        1536  +
                impl ::std::convert::Into<
        1537  +
                    crate::constrained::MaybeConstrained<
        1538  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        1539  +
                    >,
        1540  +
                >,
        1541  +
            >,
        1542  +
        ) -> Self {
        1543  +
            self.enum_list = input.map(|v| v.into());
        1544  +
            self
        1545  +
        }
        1546  +
        #[allow(missing_docs)] // documentation missing in model
        1547  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
        1548  +
            self.int_enum_list = input;
        1549  +
            self
        1550  +
        }
        1551  +
        #[allow(missing_docs)] // documentation missing in model
        1552  +
        pub(crate) fn set_int_enum_list(
        1553  +
            mut self,
        1554  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        1555  +
        ) -> Self {
        1556  +
            self.int_enum_list = input.map(|v| v.into());
        1557  +
            self
        1558  +
        }
        1559  +
        /// A list of lists of strings.
        1560  +
        pub fn nested_string_list(
        1561  +
            mut self,
        1562  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1563  +
        ) -> Self {
        1564  +
            self.nested_string_list = input;
        1565  +
            self
        1566  +
        }
        1567  +
        /// A list of lists of strings.
        1568  +
        pub(crate) fn set_nested_string_list(
        1569  +
            mut self,
        1570  +
            input: Option<
        1571  +
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1572  +
            >,
        1573  +
        ) -> Self {
        1574  +
            self.nested_string_list = input.map(|v| v.into());
        1575  +
            self
        1576  +
        }
        1577  +
        #[allow(missing_docs)] // documentation missing in model
        1578  +
        pub fn structure_list(
        1579  +
            mut self,
        1580  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
        1581  +
        ) -> Self {
        1582  +
            self.structure_list = input;
        1583  +
            self
        1584  +
        }
        1585  +
        #[allow(missing_docs)] // documentation missing in model
        1586  +
        pub(crate) fn set_structure_list(
        1587  +
            mut self,
        1588  +
            input: Option<
        1589  +
                impl ::std::convert::Into<::std::vec::Vec<crate::model::StructureListMember>>,
        1590  +
            >,
        1591  +
        ) -> Self {
        1592  +
            self.structure_list = input.map(|v| v.into());
        1593  +
            self
        1594  +
        }
        1595  +
        #[allow(missing_docs)] // documentation missing in model
        1596  +
        pub fn blob_list(
        1597  +
            mut self,
        1598  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::Blob>>,
        1599  +
        ) -> Self {
        1600  +
            self.blob_list = input;
        1601  +
            self
        1602  +
        }
        1603  +
        #[allow(missing_docs)] // documentation missing in model
        1604  +
        pub(crate) fn set_blob_list(
        1605  +
            mut self,
        1606  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::Blob>>>,
        1607  +
        ) -> Self {
        1608  +
            self.blob_list = input.map(|v| v.into());
        1609  +
            self
        1610  +
        }
        1611  +
        /// Consumes the builder and constructs a [`RpcV2CborListsInput`](crate::input::RpcV2CborListsInput).
        1612  +
        ///
        1613  +
        /// The builder fails to construct a [`RpcV2CborListsInput`](crate::input::RpcV2CborListsInput) if a [`ConstraintViolation`] occurs.
        1614  +
        ///
        1615  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        1616  +
        pub fn build(self) -> Result<crate::input::RpcV2CborListsInput, ConstraintViolation> {
        1617  +
            self.build_enforcing_all_constraints()
        1618  +
        }
        1619  +
        fn build_enforcing_all_constraints(
        1620  +
            self,
        1621  +
        ) -> Result<crate::input::RpcV2CborListsInput, ConstraintViolation> {
        1622  +
            Ok(crate::input::RpcV2CborListsInput {
        1623  +
                string_list: self.string_list,
        1624  +
                string_set: self
        1625  +
                    .string_set
        1626  +
                    .map(|v| match v {
        1627  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1628  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1629  +
                    })
        1630  +
                    .map(|res| res.map_err(ConstraintViolation::StringSet))
        1631  +
                    .transpose()?,
        1632  +
                integer_list: self.integer_list,
        1633  +
                boolean_list: self.boolean_list,
        1634  +
                timestamp_list: self.timestamp_list,
        1635  +
                enum_list: self
        1636  +
                    .enum_list
        1637  +
                    .map(|v| match v {
        1638  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1639  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1640  +
                    })
        1641  +
                    .map(|res| res.map(|v| v.into()).map_err(ConstraintViolation::EnumList))
        1642  +
                    .transpose()?,
        1643  +
                int_enum_list: self.int_enum_list,
        1644  +
                nested_string_list: self.nested_string_list,
        1645  +
                structure_list: self.structure_list,
        1646  +
                blob_list: self.blob_list,
        1647  +
            })
        1648  +
        }
        1649  +
    }
        1650  +
}
        1651  +
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        1652  +
pub mod simple_scalar_properties_input {
        1653  +
        1654  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
        1655  +
        fn from(builder: Builder) -> Self {
        1656  +
            builder.build()
        1657  +
        }
        1658  +
    }
        1659  +
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        1660  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1661  +
    pub struct Builder {
        1662  +
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
        1663  +
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
        1664  +
        pub(crate) byte_value: ::std::option::Option<i8>,
        1665  +
        pub(crate) double_value: ::std::option::Option<f64>,
        1666  +
        pub(crate) float_value: ::std::option::Option<f32>,
        1667  +
        pub(crate) integer_value: ::std::option::Option<i32>,
        1668  +
        pub(crate) long_value: ::std::option::Option<i64>,
        1669  +
        pub(crate) short_value: ::std::option::Option<i16>,
        1670  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
        1671  +
        pub(crate) blob_value: ::std::option::Option<::aws_smithy_types::Blob>,
        1672  +
    }
        1673  +
    impl Builder {
        1674  +
        #[allow(missing_docs)] // documentation missing in model
        1675  +
        pub fn true_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
        1676  +
            self.true_boolean_value = input;
        1677  +
            self
        1678  +
        }
        1679  +
        #[allow(missing_docs)] // documentation missing in model
        1680  +
        pub(crate) fn set_true_boolean_value(
        1681  +
            mut self,
        1682  +
            input: Option<impl ::std::convert::Into<bool>>,
        1683  +
        ) -> Self {
        1684  +
            self.true_boolean_value = input.map(|v| v.into());
        1685  +
            self
        1686  +
        }
        1687  +
        #[allow(missing_docs)] // documentation missing in model
        1688  +
        pub fn false_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
        1689  +
            self.false_boolean_value = input;
        1690  +
            self
        1691  +
        }
        1692  +
        #[allow(missing_docs)] // documentation missing in model
        1693  +
        pub(crate) fn set_false_boolean_value(
        1694  +
            mut self,
        1695  +
            input: Option<impl ::std::convert::Into<bool>>,
        1696  +
        ) -> Self {
        1697  +
            self.false_boolean_value = input.map(|v| v.into());
        1698  +
            self
        1699  +
        }
        1700  +
        #[allow(missing_docs)] // documentation missing in model
        1701  +
        pub fn byte_value(mut self, input: ::std::option::Option<i8>) -> Self {
        1702  +
            self.byte_value = input;
        1703  +
            self
        1704  +
        }
        1705  +
        #[allow(missing_docs)] // documentation missing in model
        1706  +
        pub(crate) fn set_byte_value(
        1707  +
            mut self,
        1708  +
            input: Option<impl ::std::convert::Into<i8>>,
        1709  +
        ) -> Self {
        1710  +
            self.byte_value = input.map(|v| v.into());
        1711  +
            self
        1712  +
        }
        1713  +
        #[allow(missing_docs)] // documentation missing in model
        1714  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
        1715  +
            self.double_value = input;
        1716  +
            self
        1717  +
        }
        1718  +
        #[allow(missing_docs)] // documentation missing in model
        1719  +
        pub(crate) fn set_double_value(
        1720  +
            mut self,
        1721  +
            input: Option<impl ::std::convert::Into<f64>>,
        1722  +
        ) -> Self {
        1723  +
            self.double_value = input.map(|v| v.into());
        1724  +
            self
        1725  +
        }
        1726  +
        #[allow(missing_docs)] // documentation missing in model
        1727  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
        1728  +
            self.float_value = input;
        1729  +
            self
        1730  +
        }
        1731  +
        #[allow(missing_docs)] // documentation missing in model
        1732  +
        pub(crate) fn set_float_value(
        1733  +
            mut self,
        1734  +
            input: Option<impl ::std::convert::Into<f32>>,
        1735  +
        ) -> Self {
        1736  +
            self.float_value = input.map(|v| v.into());
        1737  +
            self
        1738  +
        }
        1739  +
        #[allow(missing_docs)] // documentation missing in model
        1740  +
        pub fn integer_value(mut self, input: ::std::option::Option<i32>) -> Self {
        1741  +
            self.integer_value = input;
        1742  +
            self
        1743  +
        }
        1744  +
        #[allow(missing_docs)] // documentation missing in model
        1745  +
        pub(crate) fn set_integer_value(
        1746  +
            mut self,
        1747  +
            input: Option<impl ::std::convert::Into<i32>>,
        1748  +
        ) -> Self {
        1749  +
            self.integer_value = input.map(|v| v.into());
        1750  +
            self
        1751  +
        }
        1752  +
        #[allow(missing_docs)] // documentation missing in model
        1753  +
        pub fn long_value(mut self, input: ::std::option::Option<i64>) -> Self {
        1754  +
            self.long_value = input;
        1755  +
            self
        1756  +
        }
        1757  +
        #[allow(missing_docs)] // documentation missing in model
        1758  +
        pub(crate) fn set_long_value(
        1759  +
            mut self,
        1760  +
            input: Option<impl ::std::convert::Into<i64>>,
        1761  +
        ) -> Self {
        1762  +
            self.long_value = input.map(|v| v.into());
        1763  +
            self
        1764  +
        }
        1765  +
        #[allow(missing_docs)] // documentation missing in model
        1766  +
        pub fn short_value(mut self, input: ::std::option::Option<i16>) -> Self {
        1767  +
            self.short_value = input;
        1768  +
            self
        1769  +
        }
        1770  +
        #[allow(missing_docs)] // documentation missing in model
        1771  +
        pub(crate) fn set_short_value(
        1772  +
            mut self,
        1773  +
            input: Option<impl ::std::convert::Into<i16>>,
        1774  +
        ) -> Self {
        1775  +
            self.short_value = input.map(|v| v.into());
        1776  +
            self
        1777  +
        }
        1778  +
        #[allow(missing_docs)] // documentation missing in model
        1779  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1780  +
            self.string_value = input;
        1781  +
            self
        1782  +
        }
        1783  +
        #[allow(missing_docs)] // documentation missing in model
        1784  +
        pub(crate) fn set_string_value(
        1785  +
            mut self,
        1786  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        1787  +
        ) -> Self {
        1788  +
            self.string_value = input.map(|v| v.into());
        1789  +
            self
        1790  +
        }
        1791  +
        #[allow(missing_docs)] // documentation missing in model
        1792  +
        pub fn blob_value(
        1793  +
            mut self,
        1794  +
            input: ::std::option::Option<::aws_smithy_types::Blob>,
        1795  +
        ) -> Self {
        1796  +
            self.blob_value = input;
        1797  +
            self
        1798  +
        }
        1799  +
        #[allow(missing_docs)] // documentation missing in model
        1800  +
        pub(crate) fn set_blob_value(
        1801  +
            mut self,
        1802  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
        1803  +
        ) -> Self {
        1804  +
            self.blob_value = input.map(|v| v.into());
        1805  +
            self
        1806  +
        }
        1807  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        1808  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
        1809  +
            self.build_enforcing_all_constraints()
        1810  +
        }
        1811  +
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
        1812  +
            crate::input::SimpleScalarPropertiesInput {
        1813  +
                true_boolean_value: self.true_boolean_value,
        1814  +
                false_boolean_value: self.false_boolean_value,
        1815  +
                byte_value: self.byte_value,
        1816  +
                double_value: self.double_value,
        1817  +
                float_value: self.float_value,
        1818  +
                integer_value: self.integer_value,
        1819  +
                long_value: self.long_value,
        1820  +
                short_value: self.short_value,
        1821  +
                string_value: self.string_value,
        1822  +
                blob_value: self.blob_value,
        1823  +
            }
        1824  +
        }
        1825  +
    }
        1826  +
}
        1827  +
/// See [`OptionalInputOutputInput`](crate::input::OptionalInputOutputInput).
        1828  +
pub mod optional_input_output_input {
        1829  +
        1830  +
    impl ::std::convert::From<Builder> for crate::input::OptionalInputOutputInput {
        1831  +
        fn from(builder: Builder) -> Self {
        1832  +
            builder.build()
        1833  +
        }
        1834  +
    }
        1835  +
    /// A builder for [`OptionalInputOutputInput`](crate::input::OptionalInputOutputInput).
        1836  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1837  +
    pub struct Builder {
        1838  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
        1839  +
    }
        1840  +
    impl Builder {
        1841  +
        #[allow(missing_docs)] // documentation missing in model
        1842  +
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1843  +
            self.value = input;
        1844  +
            self
        1845  +
        }
        1846  +
        #[allow(missing_docs)] // documentation missing in model
        1847  +
        pub(crate) fn set_value(
        1848  +
            mut self,
        1849  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        1850  +
        ) -> Self {
        1851  +
            self.value = input.map(|v| v.into());
        1852  +
            self
        1853  +
        }
        1854  +
        /// Consumes the builder and constructs a [`OptionalInputOutputInput`](crate::input::OptionalInputOutputInput).
        1855  +
        pub fn build(self) -> crate::input::OptionalInputOutputInput {
        1856  +
            self.build_enforcing_all_constraints()
        1857  +
        }
        1858  +
        fn build_enforcing_all_constraints(self) -> crate::input::OptionalInputOutputInput {
        1859  +
            crate::input::OptionalInputOutputInput { value: self.value }
        1860  +
        }
        1861  +
    }
        1862  +
}
        1863  +
/// See [`EmptyInputOutputInput`](crate::input::EmptyInputOutputInput).
        1864  +
pub mod empty_input_output_input {
        1865  +
        1866  +
    impl ::std::convert::From<Builder> for crate::input::EmptyInputOutputInput {
        1867  +
        fn from(builder: Builder) -> Self {
        1868  +
            builder.build()
        1869  +
        }
        1870  +
    }
        1871  +
    /// A builder for [`EmptyInputOutputInput`](crate::input::EmptyInputOutputInput).
        1872  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1873  +
    pub struct Builder {}
        1874  +
    impl Builder {
        1875  +
        /// Consumes the builder and constructs a [`EmptyInputOutputInput`](crate::input::EmptyInputOutputInput).
        1876  +
        pub fn build(self) -> crate::input::EmptyInputOutputInput {
        1877  +
            self.build_enforcing_all_constraints()
        1878  +
        }
        1879  +
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyInputOutputInput {
        1880  +
            crate::input::EmptyInputOutputInput {}
        1881  +
        }
        1882  +
    }
        1883  +
}
        1884  +
/// See [`NoInputOutputInput`](crate::input::NoInputOutputInput).
        1885  +
pub mod no_input_output_input {
        1886  +
        1887  +
    impl ::std::convert::From<Builder> for crate::input::NoInputOutputInput {
        1888  +
        fn from(builder: Builder) -> Self {
        1889  +
            builder.build()
        1890  +
        }
        1891  +
    }
        1892  +
    /// A builder for [`NoInputOutputInput`](crate::input::NoInputOutputInput).
        1893  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1894  +
    pub struct Builder {}
        1895  +
    impl Builder {
        1896  +
        /// Consumes the builder and constructs a [`NoInputOutputInput`](crate::input::NoInputOutputInput).
        1897  +
        pub fn build(self) -> crate::input::NoInputOutputInput {
        1898  +
            self.build_enforcing_all_constraints()
        1899  +
        }
        1900  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputOutputInput {
        1901  +
            crate::input::NoInputOutputInput {}
        1902  +
        }
        1903  +
    }
        1904  +
}