Server Test

Server Test

rev. d06a46cae0f385cdae37a9f8264db3469a090ab5 (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,2380 @@
           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 ContentTypeParametersInput {
           7  +
    #[allow(missing_docs)] // documentation missing in model
           8  +
    pub value: ::std::option::Option<i32>,
           9  +
}
          10  +
impl ContentTypeParametersInput {
          11  +
    #[allow(missing_docs)] // documentation missing in model
          12  +
    pub fn value(&self) -> ::std::option::Option<i32> {
          13  +
        self.value
          14  +
    }
          15  +
}
          16  +
impl ContentTypeParametersInput {
          17  +
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
          18  +
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
          19  +
        crate::input::content_type_parameters_input::Builder::default()
          20  +
    }
          21  +
}
          22  +
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
          23  +
    type Unconstrained = crate::input::content_type_parameters_input::Builder;
          24  +
}
          25  +
          26  +
#[allow(missing_docs)] // documentation missing in model
          27  +
#[derive(
          28  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          29  +
)]
          30  +
pub struct PutWithContentEncodingInput {
          31  +
    #[allow(missing_docs)] // documentation missing in model
          32  +
    pub encoding: ::std::option::Option<::std::string::String>,
          33  +
    #[allow(missing_docs)] // documentation missing in model
          34  +
    pub data: ::std::option::Option<::std::string::String>,
          35  +
}
          36  +
impl PutWithContentEncodingInput {
          37  +
    #[allow(missing_docs)] // documentation missing in model
          38  +
    pub fn encoding(&self) -> ::std::option::Option<&str> {
          39  +
        self.encoding.as_deref()
          40  +
    }
          41  +
    #[allow(missing_docs)] // documentation missing in model
          42  +
    pub fn data(&self) -> ::std::option::Option<&str> {
          43  +
        self.data.as_deref()
          44  +
    }
          45  +
}
          46  +
impl PutWithContentEncodingInput {
          47  +
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
          48  +
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
          49  +
        crate::input::put_with_content_encoding_input::Builder::default()
          50  +
    }
          51  +
}
          52  +
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
          53  +
    type Unconstrained = crate::input::put_with_content_encoding_input::Builder;
          54  +
}
          55  +
          56  +
#[allow(missing_docs)] // documentation missing in model
          57  +
#[derive(
          58  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          59  +
)]
          60  +
pub struct FractionalSecondsInput {}
          61  +
impl FractionalSecondsInput {
          62  +
    /// Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
          63  +
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
          64  +
        crate::input::fractional_seconds_input::Builder::default()
          65  +
    }
          66  +
}
          67  +
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
          68  +
    type Unconstrained = crate::input::fractional_seconds_input::Builder;
          69  +
}
          70  +
          71  +
#[allow(missing_docs)] // documentation missing in model
          72  +
#[derive(
          73  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          74  +
)]
          75  +
pub struct DatetimeOffsetsInput {}
          76  +
impl DatetimeOffsetsInput {
          77  +
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
          78  +
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
          79  +
        crate::input::datetime_offsets_input::Builder::default()
          80  +
    }
          81  +
}
          82  +
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
          83  +
    type Unconstrained = crate::input::datetime_offsets_input::Builder;
          84  +
}
          85  +
          86  +
#[allow(missing_docs)] // documentation missing in model
          87  +
#[derive(
          88  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          89  +
)]
          90  +
pub struct HostWithPathOperationInput {}
          91  +
impl HostWithPathOperationInput {
          92  +
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
          93  +
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
          94  +
        crate::input::host_with_path_operation_input::Builder::default()
          95  +
    }
          96  +
}
          97  +
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
          98  +
    type Unconstrained = crate::input::host_with_path_operation_input::Builder;
          99  +
}
         100  +
         101  +
#[allow(missing_docs)] // documentation missing in model
         102  +
#[derive(
         103  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         104  +
)]
         105  +
pub struct EndpointWithHostLabelOperationInput {
         106  +
    #[allow(missing_docs)] // documentation missing in model
         107  +
    pub label: ::std::string::String,
         108  +
}
         109  +
impl EndpointWithHostLabelOperationInput {
         110  +
    #[allow(missing_docs)] // documentation missing in model
         111  +
    pub fn label(&self) -> &str {
         112  +
        use std::ops::Deref;
         113  +
        self.label.deref()
         114  +
    }
         115  +
}
         116  +
impl EndpointWithHostLabelOperationInput {
         117  +
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
         118  +
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
         119  +
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
         120  +
    }
         121  +
}
         122  +
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
         123  +
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input::Builder;
         124  +
}
         125  +
         126  +
#[allow(missing_docs)] // documentation missing in model
         127  +
#[derive(
         128  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         129  +
)]
         130  +
pub struct EndpointOperationInput {}
         131  +
impl EndpointOperationInput {
         132  +
    /// Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
         133  +
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
         134  +
        crate::input::endpoint_operation_input::Builder::default()
         135  +
    }
         136  +
}
         137  +
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
         138  +
    type Unconstrained = crate::input::endpoint_operation_input::Builder;
         139  +
}
         140  +
         141  +
/// A shared structure that contains a single union member.
         142  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         143  +
pub struct JsonUnionsInput {
         144  +
    /// A union with a representative set of types for members.
         145  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
         146  +
}
         147  +
impl JsonUnionsInput {
         148  +
    /// A union with a representative set of types for members.
         149  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
         150  +
        self.contents.as_ref()
         151  +
    }
         152  +
}
         153  +
impl JsonUnionsInput {
         154  +
    /// Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
         155  +
    pub fn builder() -> crate::input::json_unions_input::Builder {
         156  +
        crate::input::json_unions_input::Builder::default()
         157  +
    }
         158  +
}
         159  +
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
         160  +
    type Unconstrained = crate::input::json_unions_input::Builder;
         161  +
}
         162  +
         163  +
#[allow(missing_docs)] // documentation missing in model
         164  +
#[derive(
         165  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         166  +
)]
         167  +
pub struct GreetingWithErrorsInput {}
         168  +
impl GreetingWithErrorsInput {
         169  +
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
         170  +
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
         171  +
        crate::input::greeting_with_errors_input::Builder::default()
         172  +
    }
         173  +
}
         174  +
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
         175  +
    type Unconstrained = crate::input::greeting_with_errors_input::Builder;
         176  +
}
         177  +
         178  +
#[allow(missing_docs)] // documentation missing in model
         179  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         180  +
pub struct SparseNullsOperationInput {
         181  +
    #[allow(missing_docs)] // documentation missing in model
         182  +
    pub sparse_string_list:
         183  +
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
         184  +
    #[allow(missing_docs)] // documentation missing in model
         185  +
    pub sparse_string_map: ::std::option::Option<
         186  +
        ::std::collections::HashMap<
         187  +
            ::std::string::String,
         188  +
            ::std::option::Option<::std::string::String>,
         189  +
        >,
         190  +
    >,
         191  +
}
         192  +
impl SparseNullsOperationInput {
         193  +
    #[allow(missing_docs)] // documentation missing in model
         194  +
    pub fn sparse_string_list(
         195  +
        &self,
         196  +
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
         197  +
        self.sparse_string_list.as_deref()
         198  +
    }
         199  +
    #[allow(missing_docs)] // documentation missing in model
         200  +
    pub fn sparse_string_map(
         201  +
        &self,
         202  +
    ) -> ::std::option::Option<
         203  +
        &::std::collections::HashMap<
         204  +
            ::std::string::String,
         205  +
            ::std::option::Option<::std::string::String>,
         206  +
        >,
         207  +
    > {
         208  +
        self.sparse_string_map.as_ref()
         209  +
    }
         210  +
}
         211  +
impl SparseNullsOperationInput {
         212  +
    /// Creates a new builder-style object to manufacture [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
         213  +
    pub fn builder() -> crate::input::sparse_nulls_operation_input::Builder {
         214  +
        crate::input::sparse_nulls_operation_input::Builder::default()
         215  +
    }
         216  +
}
         217  +
impl crate::constrained::Constrained for crate::input::SparseNullsOperationInput {
         218  +
    type Unconstrained = crate::input::sparse_nulls_operation_input::Builder;
         219  +
}
         220  +
         221  +
#[allow(missing_docs)] // documentation missing in model
         222  +
#[derive(
         223  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         224  +
)]
         225  +
pub struct NullOperationInput {
         226  +
    #[allow(missing_docs)] // documentation missing in model
         227  +
    pub string: ::std::option::Option<::std::string::String>,
         228  +
}
         229  +
impl NullOperationInput {
         230  +
    #[allow(missing_docs)] // documentation missing in model
         231  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         232  +
        self.string.as_deref()
         233  +
    }
         234  +
}
         235  +
impl NullOperationInput {
         236  +
    /// Creates a new builder-style object to manufacture [`NullOperationInput`](crate::input::NullOperationInput).
         237  +
    pub fn builder() -> crate::input::null_operation_input::Builder {
         238  +
        crate::input::null_operation_input::Builder::default()
         239  +
    }
         240  +
}
         241  +
impl crate::constrained::Constrained for crate::input::NullOperationInput {
         242  +
    type Unconstrained = crate::input::null_operation_input::Builder;
         243  +
}
         244  +
         245  +
#[allow(missing_docs)] // documentation missing in model
         246  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         247  +
pub struct JsonIntEnumsInput {
         248  +
    #[allow(missing_docs)] // documentation missing in model
         249  +
    pub int_enum1: ::std::option::Option<i32>,
         250  +
    #[allow(missing_docs)] // documentation missing in model
         251  +
    pub int_enum2: ::std::option::Option<i32>,
         252  +
    #[allow(missing_docs)] // documentation missing in model
         253  +
    pub int_enum3: ::std::option::Option<i32>,
         254  +
    #[allow(missing_docs)] // documentation missing in model
         255  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         256  +
    #[allow(missing_docs)] // documentation missing in model
         257  +
    pub int_enum_set: ::std::option::Option<crate::model::IntegerEnumSet>,
         258  +
    #[allow(missing_docs)] // documentation missing in model
         259  +
    pub int_enum_map:
         260  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         261  +
}
         262  +
impl JsonIntEnumsInput {
         263  +
    #[allow(missing_docs)] // documentation missing in model
         264  +
    pub fn int_enum1(&self) -> ::std::option::Option<i32> {
         265  +
        self.int_enum1
         266  +
    }
         267  +
    #[allow(missing_docs)] // documentation missing in model
         268  +
    pub fn int_enum2(&self) -> ::std::option::Option<i32> {
         269  +
        self.int_enum2
         270  +
    }
         271  +
    #[allow(missing_docs)] // documentation missing in model
         272  +
    pub fn int_enum3(&self) -> ::std::option::Option<i32> {
         273  +
        self.int_enum3
         274  +
    }
         275  +
    #[allow(missing_docs)] // documentation missing in model
         276  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
         277  +
        self.int_enum_list.as_deref()
         278  +
    }
         279  +
    #[allow(missing_docs)] // documentation missing in model
         280  +
    pub fn int_enum_set(&self) -> ::std::option::Option<&crate::model::IntegerEnumSet> {
         281  +
        self.int_enum_set.as_ref()
         282  +
    }
         283  +
    #[allow(missing_docs)] // documentation missing in model
         284  +
    pub fn int_enum_map(
         285  +
        &self,
         286  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         287  +
        self.int_enum_map.as_ref()
         288  +
    }
         289  +
}
         290  +
impl JsonIntEnumsInput {
         291  +
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
         292  +
    pub fn builder() -> crate::input::json_int_enums_input::Builder {
         293  +
        crate::input::json_int_enums_input::Builder::default()
         294  +
    }
         295  +
}
         296  +
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
         297  +
    type Unconstrained = crate::input::json_int_enums_input::Builder;
         298  +
}
         299  +
         300  +
#[allow(missing_docs)] // documentation missing in model
         301  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         302  +
pub struct JsonEnumsInput {
         303  +
    #[allow(missing_docs)] // documentation missing in model
         304  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
         305  +
    #[allow(missing_docs)] // documentation missing in model
         306  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
         307  +
    #[allow(missing_docs)] // documentation missing in model
         308  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
         309  +
    #[allow(missing_docs)] // documentation missing in model
         310  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         311  +
    #[allow(missing_docs)] // documentation missing in model
         312  +
    pub foo_enum_set: ::std::option::Option<crate::model::FooEnumSet>,
         313  +
    #[allow(missing_docs)] // documentation missing in model
         314  +
    pub foo_enum_map: ::std::option::Option<
         315  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         316  +
    >,
         317  +
}
         318  +
impl JsonEnumsInput {
         319  +
    #[allow(missing_docs)] // documentation missing in model
         320  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         321  +
        self.foo_enum1.as_ref()
         322  +
    }
         323  +
    #[allow(missing_docs)] // documentation missing in model
         324  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         325  +
        self.foo_enum2.as_ref()
         326  +
    }
         327  +
    #[allow(missing_docs)] // documentation missing in model
         328  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         329  +
        self.foo_enum3.as_ref()
         330  +
    }
         331  +
    #[allow(missing_docs)] // documentation missing in model
         332  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         333  +
        self.foo_enum_list.as_deref()
         334  +
    }
         335  +
    #[allow(missing_docs)] // documentation missing in model
         336  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&crate::model::FooEnumSet> {
         337  +
        self.foo_enum_set.as_ref()
         338  +
    }
         339  +
    #[allow(missing_docs)] // documentation missing in model
         340  +
    pub fn foo_enum_map(
         341  +
        &self,
         342  +
    ) -> ::std::option::Option<
         343  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         344  +
    > {
         345  +
        self.foo_enum_map.as_ref()
         346  +
    }
         347  +
}
         348  +
impl JsonEnumsInput {
         349  +
    /// Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
         350  +
    pub fn builder() -> crate::input::json_enums_input::Builder {
         351  +
        crate::input::json_enums_input::Builder::default()
         352  +
    }
         353  +
}
         354  +
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
         355  +
    type Unconstrained = crate::input::json_enums_input::Builder;
         356  +
}
         357  +
         358  +
#[allow(missing_docs)] // documentation missing in model
         359  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         360  +
pub struct PutAndGetInlineDocumentsInput {
         361  +
    #[allow(missing_docs)] // documentation missing in model
         362  +
    pub inline_document: ::std::option::Option<::aws_smithy_types::Document>,
         363  +
}
         364  +
impl PutAndGetInlineDocumentsInput {
         365  +
    #[allow(missing_docs)] // documentation missing in model
         366  +
    pub fn inline_document(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
         367  +
        self.inline_document.as_ref()
         368  +
    }
         369  +
}
         370  +
impl PutAndGetInlineDocumentsInput {
         371  +
    /// Creates a new builder-style object to manufacture [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
         372  +
    pub fn builder() -> crate::input::put_and_get_inline_documents_input::Builder {
         373  +
        crate::input::put_and_get_inline_documents_input::Builder::default()
         374  +
    }
         375  +
}
         376  +
impl crate::constrained::Constrained for crate::input::PutAndGetInlineDocumentsInput {
         377  +
    type Unconstrained = crate::input::put_and_get_inline_documents_input::Builder;
         378  +
}
         379  +
         380  +
#[allow(missing_docs)] // documentation missing in model
         381  +
#[derive(
         382  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         383  +
)]
         384  +
pub struct OperationWithOptionalInputOutputInput {
         385  +
    #[allow(missing_docs)] // documentation missing in model
         386  +
    pub value: ::std::option::Option<::std::string::String>,
         387  +
}
         388  +
impl OperationWithOptionalInputOutputInput {
         389  +
    #[allow(missing_docs)] // documentation missing in model
         390  +
    pub fn value(&self) -> ::std::option::Option<&str> {
         391  +
        self.value.as_deref()
         392  +
    }
         393  +
}
         394  +
impl OperationWithOptionalInputOutputInput {
         395  +
    /// Creates a new builder-style object to manufacture [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
         396  +
    pub fn builder() -> crate::input::operation_with_optional_input_output_input::Builder {
         397  +
        crate::input::operation_with_optional_input_output_input::Builder::default()
         398  +
    }
         399  +
}
         400  +
impl crate::constrained::Constrained for crate::input::OperationWithOptionalInputOutputInput {
         401  +
    type Unconstrained = crate::input::operation_with_optional_input_output_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 float_value: ::std::option::Option<f32>,
         409  +
    #[allow(missing_docs)] // documentation missing in model
         410  +
    pub double_value: ::std::option::Option<f64>,
         411  +
}
         412  +
impl SimpleScalarPropertiesInput {
         413  +
    #[allow(missing_docs)] // documentation missing in model
         414  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
         415  +
        self.float_value
         416  +
    }
         417  +
    #[allow(missing_docs)] // documentation missing in model
         418  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
         419  +
        self.double_value
         420  +
    }
         421  +
}
         422  +
impl SimpleScalarPropertiesInput {
         423  +
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
         424  +
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
         425  +
        crate::input::simple_scalar_properties_input::Builder::default()
         426  +
    }
         427  +
}
         428  +
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
         429  +
    type Unconstrained = crate::input::simple_scalar_properties_input::Builder;
         430  +
}
         431  +
         432  +
#[allow(missing_docs)] // documentation missing in model
         433  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         434  +
pub struct KitchenSinkOperationInput {
         435  +
    #[allow(missing_docs)] // documentation missing in model
         436  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
         437  +
    #[allow(missing_docs)] // documentation missing in model
         438  +
    pub boolean: ::std::option::Option<bool>,
         439  +
    #[allow(missing_docs)] // documentation missing in model
         440  +
    pub double: ::std::option::Option<f64>,
         441  +
    #[allow(missing_docs)] // documentation missing in model
         442  +
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
         443  +
    #[allow(missing_docs)] // documentation missing in model
         444  +
    pub float: ::std::option::Option<f32>,
         445  +
    #[allow(missing_docs)] // documentation missing in model
         446  +
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         447  +
    #[allow(missing_docs)] // documentation missing in model
         448  +
    pub integer: ::std::option::Option<i32>,
         449  +
    #[allow(missing_docs)] // documentation missing in model
         450  +
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         451  +
    #[allow(missing_docs)] // documentation missing in model
         452  +
    pub json_value: ::std::option::Option<::std::string::String>,
         453  +
    #[allow(missing_docs)] // documentation missing in model
         454  +
    pub list_of_lists:
         455  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
         456  +
    #[allow(missing_docs)] // documentation missing in model
         457  +
    pub list_of_maps_of_strings: ::std::option::Option<
         458  +
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         459  +
    >,
         460  +
    #[allow(missing_docs)] // documentation missing in model
         461  +
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         462  +
    #[allow(missing_docs)] // documentation missing in model
         463  +
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         464  +
    #[allow(missing_docs)] // documentation missing in model
         465  +
    pub long: ::std::option::Option<i64>,
         466  +
    #[allow(missing_docs)] // documentation missing in model
         467  +
    pub map_of_lists_of_strings: ::std::option::Option<
         468  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         469  +
    >,
         470  +
    #[allow(missing_docs)] // documentation missing in model
         471  +
    pub map_of_maps: ::std::option::Option<
         472  +
        ::std::collections::HashMap<
         473  +
            ::std::string::String,
         474  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         475  +
        >,
         476  +
    >,
         477  +
    #[allow(missing_docs)] // documentation missing in model
         478  +
    pub map_of_strings: ::std::option::Option<
         479  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         480  +
    >,
         481  +
    #[allow(missing_docs)] // documentation missing in model
         482  +
    pub map_of_structs: ::std::option::Option<
         483  +
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         484  +
    >,
         485  +
    #[allow(missing_docs)] // documentation missing in model
         486  +
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         487  +
    #[allow(missing_docs)] // documentation missing in model
         488  +
    pub recursive_map: ::std::option::Option<
         489  +
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         490  +
    >,
         491  +
    #[allow(missing_docs)] // documentation missing in model
         492  +
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         493  +
    #[allow(missing_docs)] // documentation missing in model
         494  +
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
         495  +
    #[allow(missing_docs)] // documentation missing in model
         496  +
    pub string: ::std::option::Option<::std::string::String>,
         497  +
    #[allow(missing_docs)] // documentation missing in model
         498  +
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         499  +
    #[allow(missing_docs)] // documentation missing in model
         500  +
    pub timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         501  +
    #[allow(missing_docs)] // documentation missing in model
         502  +
    pub unix_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         503  +
}
         504  +
impl KitchenSinkOperationInput {
         505  +
    #[allow(missing_docs)] // documentation missing in model
         506  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
         507  +
        self.blob.as_ref()
         508  +
    }
         509  +
    #[allow(missing_docs)] // documentation missing in model
         510  +
    pub fn boolean(&self) -> ::std::option::Option<bool> {
         511  +
        self.boolean
         512  +
    }
         513  +
    #[allow(missing_docs)] // documentation missing in model
         514  +
    pub fn double(&self) -> ::std::option::Option<f64> {
         515  +
        self.double
         516  +
    }
         517  +
    #[allow(missing_docs)] // documentation missing in model
         518  +
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
         519  +
        self.empty_struct.as_ref()
         520  +
    }
         521  +
    #[allow(missing_docs)] // documentation missing in model
         522  +
    pub fn float(&self) -> ::std::option::Option<f32> {
         523  +
        self.float
         524  +
    }
         525  +
    #[allow(missing_docs)] // documentation missing in model
         526  +
    pub fn httpdate_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         527  +
        self.httpdate_timestamp.as_ref()
         528  +
    }
         529  +
    #[allow(missing_docs)] // documentation missing in model
         530  +
    pub fn integer(&self) -> ::std::option::Option<i32> {
         531  +
        self.integer
         532  +
    }
         533  +
    #[allow(missing_docs)] // documentation missing in model
         534  +
    pub fn iso8601_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         535  +
        self.iso8601_timestamp.as_ref()
         536  +
    }
         537  +
    #[allow(missing_docs)] // documentation missing in model
         538  +
    pub fn json_value(&self) -> ::std::option::Option<&str> {
         539  +
        self.json_value.as_deref()
         540  +
    }
         541  +
    #[allow(missing_docs)] // documentation missing in model
         542  +
    pub fn list_of_lists(
         543  +
        &self,
         544  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
         545  +
        self.list_of_lists.as_deref()
         546  +
    }
         547  +
    #[allow(missing_docs)] // documentation missing in model
         548  +
    pub fn list_of_maps_of_strings(
         549  +
        &self,
         550  +
    ) -> ::std::option::Option<
         551  +
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
         552  +
    > {
         553  +
        self.list_of_maps_of_strings.as_deref()
         554  +
    }
         555  +
    #[allow(missing_docs)] // documentation missing in model
         556  +
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
         557  +
        self.list_of_strings.as_deref()
         558  +
    }
         559  +
    #[allow(missing_docs)] // documentation missing in model
         560  +
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
         561  +
        self.list_of_structs.as_deref()
         562  +
    }
         563  +
    #[allow(missing_docs)] // documentation missing in model
         564  +
    pub fn long(&self) -> ::std::option::Option<i64> {
         565  +
        self.long
         566  +
    }
         567  +
    #[allow(missing_docs)] // documentation missing in model
         568  +
    pub fn map_of_lists_of_strings(
         569  +
        &self,
         570  +
    ) -> ::std::option::Option<
         571  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         572  +
    > {
         573  +
        self.map_of_lists_of_strings.as_ref()
         574  +
    }
         575  +
    #[allow(missing_docs)] // documentation missing in model
         576  +
    pub fn map_of_maps(
         577  +
        &self,
         578  +
    ) -> ::std::option::Option<
         579  +
        &::std::collections::HashMap<
         580  +
            ::std::string::String,
         581  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         582  +
        >,
         583  +
    > {
         584  +
        self.map_of_maps.as_ref()
         585  +
    }
         586  +
    #[allow(missing_docs)] // documentation missing in model
         587  +
    pub fn map_of_strings(
         588  +
        &self,
         589  +
    ) -> ::std::option::Option<
         590  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         591  +
    > {
         592  +
        self.map_of_strings.as_ref()
         593  +
    }
         594  +
    #[allow(missing_docs)] // documentation missing in model
         595  +
    pub fn map_of_structs(
         596  +
        &self,
         597  +
    ) -> ::std::option::Option<
         598  +
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         599  +
    > {
         600  +
        self.map_of_structs.as_ref()
         601  +
    }
         602  +
    #[allow(missing_docs)] // documentation missing in model
         603  +
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
         604  +
        self.recursive_list.as_deref()
         605  +
    }
         606  +
    #[allow(missing_docs)] // documentation missing in model
         607  +
    pub fn recursive_map(
         608  +
        &self,
         609  +
    ) -> ::std::option::Option<
         610  +
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         611  +
    > {
         612  +
        self.recursive_map.as_ref()
         613  +
    }
         614  +
    #[allow(missing_docs)] // documentation missing in model
         615  +
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
         616  +
        self.recursive_struct.as_deref()
         617  +
    }
         618  +
    #[allow(missing_docs)] // documentation missing in model
         619  +
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
         620  +
        self.simple_struct.as_ref()
         621  +
    }
         622  +
    #[allow(missing_docs)] // documentation missing in model
         623  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         624  +
        self.string.as_deref()
         625  +
    }
         626  +
    #[allow(missing_docs)] // documentation missing in model
         627  +
    pub fn struct_with_json_name(
         628  +
        &self,
         629  +
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
         630  +
        self.struct_with_json_name.as_ref()
         631  +
    }
         632  +
    #[allow(missing_docs)] // documentation missing in model
         633  +
    pub fn timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         634  +
        self.timestamp.as_ref()
         635  +
    }
         636  +
    #[allow(missing_docs)] // documentation missing in model
         637  +
    pub fn unix_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         638  +
        self.unix_timestamp.as_ref()
         639  +
    }
         640  +
}
         641  +
impl KitchenSinkOperationInput {
         642  +
    /// Creates a new builder-style object to manufacture [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
         643  +
    pub fn builder() -> crate::input::kitchen_sink_operation_input::Builder {
         644  +
        crate::input::kitchen_sink_operation_input::Builder::default()
         645  +
    }
         646  +
}
         647  +
impl crate::constrained::Constrained for crate::input::KitchenSinkOperationInput {
         648  +
    type Unconstrained = crate::input::kitchen_sink_operation_input::Builder;
         649  +
}
         650  +
         651  +
#[allow(missing_docs)] // documentation missing in model
         652  +
#[derive(
         653  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         654  +
)]
         655  +
pub struct EmptyOperationInput {}
         656  +
impl EmptyOperationInput {
         657  +
    /// Creates a new builder-style object to manufacture [`EmptyOperationInput`](crate::input::EmptyOperationInput).
         658  +
    pub fn builder() -> crate::input::empty_operation_input::Builder {
         659  +
        crate::input::empty_operation_input::Builder::default()
         660  +
    }
         661  +
}
         662  +
impl crate::constrained::Constrained for crate::input::EmptyOperationInput {
         663  +
    type Unconstrained = crate::input::empty_operation_input::Builder;
         664  +
}
         665  +
/// See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
         666  +
pub mod content_type_parameters_input {
         667  +
         668  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
         669  +
        fn from(builder: Builder) -> Self {
         670  +
            builder.build()
         671  +
        }
         672  +
    }
         673  +
    /// A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
         674  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         675  +
    pub struct Builder {
         676  +
        pub(crate) value: ::std::option::Option<i32>,
         677  +
    }
         678  +
    impl Builder {
         679  +
        #[allow(missing_docs)] // documentation missing in model
         680  +
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
         681  +
            self.value = input;
         682  +
            self
         683  +
        }
         684  +
        #[allow(missing_docs)] // documentation missing in model
         685  +
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
         686  +
            self.value = input.map(|v| v.into());
         687  +
            self
         688  +
        }
         689  +
        /// Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
         690  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
         691  +
            self.build_enforcing_all_constraints()
         692  +
        }
         693  +
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
         694  +
            crate::input::ContentTypeParametersInput { value: self.value }
         695  +
        }
         696  +
    }
         697  +
}
         698  +
/// See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
         699  +
pub mod put_with_content_encoding_input {
         700  +
         701  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
         702  +
        fn from(builder: Builder) -> Self {
         703  +
            builder.build()
         704  +
        }
         705  +
    }
         706  +
    /// A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
         707  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         708  +
    pub struct Builder {
         709  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
         710  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
         711  +
    }
         712  +
    impl Builder {
         713  +
        #[allow(missing_docs)] // documentation missing in model
         714  +
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         715  +
            self.encoding = input;
         716  +
            self
         717  +
        }
         718  +
        #[allow(missing_docs)] // documentation missing in model
         719  +
        pub(crate) fn set_encoding(
         720  +
            mut self,
         721  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
         722  +
        ) -> Self {
         723  +
            self.encoding = input.map(|v| v.into());
         724  +
            self
         725  +
        }
         726  +
        #[allow(missing_docs)] // documentation missing in model
         727  +
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         728  +
            self.data = input;
         729  +
            self
         730  +
        }
         731  +
        #[allow(missing_docs)] // documentation missing in model
         732  +
        pub(crate) fn set_data(
         733  +
            mut self,
         734  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
         735  +
        ) -> Self {
         736  +
            self.data = input.map(|v| v.into());
         737  +
            self
         738  +
        }
         739  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
         740  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
         741  +
            self.build_enforcing_all_constraints()
         742  +
        }
         743  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
         744  +
            crate::input::PutWithContentEncodingInput {
         745  +
                encoding: self.encoding,
         746  +
                data: self.data,
         747  +
            }
         748  +
        }
         749  +
    }
         750  +
}
         751  +
/// See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         752  +
pub mod fractional_seconds_input {
         753  +
         754  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
         755  +
        fn from(builder: Builder) -> Self {
         756  +
            builder.build()
         757  +
        }
         758  +
    }
         759  +
    /// A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         760  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         761  +
    pub struct Builder {}
         762  +
    impl Builder {
         763  +
        /// Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         764  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
         765  +
            self.build_enforcing_all_constraints()
         766  +
        }
         767  +
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
         768  +
            crate::input::FractionalSecondsInput {}
         769  +
        }
         770  +
    }
         771  +
}
         772  +
/// See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
         773  +
pub mod datetime_offsets_input {
         774  +
         775  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
         776  +
        fn from(builder: Builder) -> Self {
         777  +
            builder.build()
         778  +
        }
         779  +
    }
         780  +
    /// A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
         781  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         782  +
    pub struct Builder {}
         783  +
    impl Builder {
         784  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
         785  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
         786  +
            self.build_enforcing_all_constraints()
         787  +
        }
         788  +
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
         789  +
            crate::input::DatetimeOffsetsInput {}
         790  +
        }
         791  +
    }
         792  +
}
         793  +
/// See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
         794  +
pub mod host_with_path_operation_input {
         795  +
         796  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
         797  +
        fn from(builder: Builder) -> Self {
         798  +
            builder.build()
         799  +
        }
         800  +
    }
         801  +
    /// A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
         802  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         803  +
    pub struct Builder {}
         804  +
    impl Builder {
         805  +
        /// Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
         806  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
         807  +
            self.build_enforcing_all_constraints()
         808  +
        }
         809  +
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
         810  +
            crate::input::HostWithPathOperationInput {}
         811  +
        }
         812  +
    }
         813  +
}
         814  +
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
         815  +
pub mod endpoint_with_host_label_operation_input {
         816  +
         817  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         818  +
    /// Holds one variant for each of the ways the builder can fail.
         819  +
    #[non_exhaustive]
         820  +
    #[allow(clippy::enum_variant_names)]
         821  +
    pub enum ConstraintViolation {
         822  +
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
         823  +
        MissingLabel,
         824  +
    }
         825  +
    impl ::std::fmt::Display for ConstraintViolation {
         826  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         827  +
            match self {
         828  +
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
         829  +
            }
         830  +
        }
         831  +
    }
         832  +
    impl ::std::error::Error for ConstraintViolation {}
         833  +
    impl ConstraintViolation {
         834  +
        pub(crate) fn as_validation_exception_field(
         835  +
            self,
         836  +
            path: ::std::string::String,
         837  +
        ) -> crate::model::ValidationExceptionField {
         838  +
            match self {
         839  +
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
         840  +
                    message: format!(
         841  +
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
         842  +
                        path
         843  +
                    ),
         844  +
                    path: path + "/label",
         845  +
                },
         846  +
            }
         847  +
        }
         848  +
    }
         849  +
    impl ::std::convert::From<ConstraintViolation>
         850  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
         851  +
    {
         852  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
         853  +
            let first_validation_exception_field =
         854  +
                constraint_violation.as_validation_exception_field("".to_owned());
         855  +
            let validation_exception = crate::error::ValidationException {
         856  +
                message: format!(
         857  +
                    "1 validation error detected. {}",
         858  +
                    &first_validation_exception_field.message
         859  +
                ),
         860  +
                field_list: Some(vec![first_validation_exception_field]),
         861  +
            };
         862  +
            Self::ConstraintViolation(
         863  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
         864  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
         865  +
                            )
         866  +
        }
         867  +
    }
         868  +
    impl ::std::convert::From<Builder>
         869  +
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
         870  +
    {
         871  +
        fn from(builder: Builder) -> Self {
         872  +
            Self::Unconstrained(builder)
         873  +
        }
         874  +
    }
         875  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
         876  +
        type Error = ConstraintViolation;
         877  +
         878  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         879  +
            builder.build()
         880  +
        }
         881  +
    }
         882  +
    /// A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
         883  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         884  +
    pub struct Builder {
         885  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
         886  +
    }
         887  +
    impl Builder {
         888  +
        #[allow(missing_docs)] // documentation missing in model
         889  +
        pub fn label(mut self, input: ::std::string::String) -> Self {
         890  +
            self.label = Some(input);
         891  +
            self
         892  +
        }
         893  +
        #[allow(missing_docs)] // documentation missing in model
         894  +
        pub(crate) fn set_label(
         895  +
            mut self,
         896  +
            input: impl ::std::convert::Into<::std::string::String>,
         897  +
        ) -> Self {
         898  +
            self.label = Some(input.into());
         899  +
            self
         900  +
        }
         901  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
         902  +
        ///
         903  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
         904  +
        ///
         905  +
        pub fn build(
         906  +
            self,
         907  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
         908  +
        {
         909  +
            self.build_enforcing_all_constraints()
         910  +
        }
         911  +
        fn build_enforcing_all_constraints(
         912  +
            self,
         913  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
         914  +
        {
         915  +
            Ok(crate::input::EndpointWithHostLabelOperationInput {
         916  +
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
         917  +
            })
         918  +
        }
         919  +
    }
         920  +
}
         921  +
/// See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
         922  +
pub mod endpoint_operation_input {
         923  +
         924  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
         925  +
        fn from(builder: Builder) -> Self {
         926  +
            builder.build()
         927  +
        }
         928  +
    }
         929  +
    /// A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
         930  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         931  +
    pub struct Builder {}
         932  +
    impl Builder {
         933  +
        /// Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
         934  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
         935  +
            self.build_enforcing_all_constraints()
         936  +
        }
         937  +
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
         938  +
            crate::input::EndpointOperationInput {}
         939  +
        }
         940  +
    }
         941  +
}
         942  +
/// See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
         943  +
pub mod json_unions_input {
         944  +
         945  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         946  +
    /// Holds one variant for each of the ways the builder can fail.
         947  +
    #[non_exhaustive]
         948  +
    #[allow(clippy::enum_variant_names)]
         949  +
    pub enum ConstraintViolation {
         950  +
        /// Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
         951  +
        #[doc(hidden)]
         952  +
        Contents(crate::model::my_union::ConstraintViolation),
         953  +
    }
         954  +
    impl ::std::fmt::Display for ConstraintViolation {
         955  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         956  +
            match self {
         957  +
                ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
         958  +
            }
         959  +
        }
         960  +
    }
         961  +
    impl ::std::error::Error for ConstraintViolation {}
         962  +
    impl ConstraintViolation {
         963  +
        pub(crate) fn as_validation_exception_field(
         964  +
            self,
         965  +
            path: ::std::string::String,
         966  +
        ) -> crate::model::ValidationExceptionField {
         967  +
            match self {
         968  +
                ConstraintViolation::Contents(inner) => {
         969  +
                    inner.as_validation_exception_field(path + "/contents")
         970  +
                }
         971  +
            }
         972  +
        }
         973  +
    }
         974  +
    impl ::std::convert::From<ConstraintViolation>
         975  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
         976  +
    {
         977  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
         978  +
            let first_validation_exception_field =
         979  +
                constraint_violation.as_validation_exception_field("".to_owned());
         980  +
            let validation_exception = crate::error::ValidationException {
         981  +
                message: format!(
         982  +
                    "1 validation error detected. {}",
         983  +
                    &first_validation_exception_field.message
         984  +
                ),
         985  +
                field_list: Some(vec![first_validation_exception_field]),
         986  +
            };
         987  +
            Self::ConstraintViolation(
         988  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
         989  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
         990  +
                            )
         991  +
        }
         992  +
    }
         993  +
    impl ::std::convert::From<Builder>
         994  +
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
         995  +
    {
         996  +
        fn from(builder: Builder) -> Self {
         997  +
            Self::Unconstrained(builder)
         998  +
        }
         999  +
    }
        1000  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
        1001  +
        type Error = ConstraintViolation;
        1002  +
        1003  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1004  +
            builder.build()
        1005  +
        }
        1006  +
    }
        1007  +
    /// A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        1008  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1009  +
    pub struct Builder {
        1010  +
        pub(crate) contents:
        1011  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
        1012  +
    }
        1013  +
    impl Builder {
        1014  +
        /// A union with a representative set of types for members.
        1015  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
        1016  +
            self.contents = input.map(crate::constrained::MaybeConstrained::Constrained);
        1017  +
            self
        1018  +
        }
        1019  +
        /// A union with a representative set of types for members.
        1020  +
        pub(crate) fn set_contents(
        1021  +
            mut self,
        1022  +
            input: Option<
        1023  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
        1024  +
            >,
        1025  +
        ) -> Self {
        1026  +
            self.contents = input.map(|v| v.into());
        1027  +
            self
        1028  +
        }
        1029  +
        /// Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        1030  +
        ///
        1031  +
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
        1032  +
        ///
        1033  +
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
        1034  +
            self.build_enforcing_all_constraints()
        1035  +
        }
        1036  +
        fn build_enforcing_all_constraints(
        1037  +
            self,
        1038  +
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
        1039  +
            Ok(crate::input::JsonUnionsInput {
        1040  +
                contents: self
        1041  +
                    .contents
        1042  +
                    .map(|v| match v {
        1043  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1044  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1045  +
                    })
        1046  +
                    .map(|res| res.map_err(ConstraintViolation::Contents))
        1047  +
                    .transpose()?,
        1048  +
            })
        1049  +
        }
        1050  +
    }
        1051  +
}
        1052  +
/// See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        1053  +
pub mod greeting_with_errors_input {
        1054  +
        1055  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
        1056  +
        fn from(builder: Builder) -> Self {
        1057  +
            builder.build()
        1058  +
        }
        1059  +
    }
        1060  +
    /// A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        1061  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1062  +
    pub struct Builder {}
        1063  +
    impl Builder {
        1064  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        1065  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
        1066  +
            self.build_enforcing_all_constraints()
        1067  +
        }
        1068  +
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
        1069  +
            crate::input::GreetingWithErrorsInput {}
        1070  +
        }
        1071  +
    }
        1072  +
}
        1073  +
/// See [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        1074  +
pub mod sparse_nulls_operation_input {
        1075  +
        1076  +
    impl ::std::convert::From<Builder> for crate::input::SparseNullsOperationInput {
        1077  +
        fn from(builder: Builder) -> Self {
        1078  +
            builder.build()
        1079  +
        }
        1080  +
    }
        1081  +
    /// A builder for [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        1082  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1083  +
    pub struct Builder {
        1084  +
        pub(crate) sparse_string_list:
        1085  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        1086  +
        pub(crate) sparse_string_map: ::std::option::Option<
        1087  +
            ::std::collections::HashMap<
        1088  +
                ::std::string::String,
        1089  +
                ::std::option::Option<::std::string::String>,
        1090  +
            >,
        1091  +
        >,
        1092  +
    }
        1093  +
    impl Builder {
        1094  +
        #[allow(missing_docs)] // documentation missing in model
        1095  +
        pub fn sparse_string_list(
        1096  +
            mut self,
        1097  +
            input: ::std::option::Option<
        1098  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
        1099  +
            >,
        1100  +
        ) -> Self {
        1101  +
            self.sparse_string_list = input;
        1102  +
            self
        1103  +
        }
        1104  +
        #[allow(missing_docs)] // documentation missing in model
        1105  +
        pub(crate) fn set_sparse_string_list(
        1106  +
            mut self,
        1107  +
            input: Option<
        1108  +
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        1109  +
            >,
        1110  +
        ) -> Self {
        1111  +
            self.sparse_string_list = input.map(|v| v.into());
        1112  +
            self
        1113  +
        }
        1114  +
        #[allow(missing_docs)] // documentation missing in model
        1115  +
        pub fn sparse_string_map(
        1116  +
            mut self,
        1117  +
            input: ::std::option::Option<
        1118  +
                ::std::collections::HashMap<
        1119  +
                    ::std::string::String,
        1120  +
                    ::std::option::Option<::std::string::String>,
        1121  +
                >,
        1122  +
            >,
        1123  +
        ) -> Self {
        1124  +
            self.sparse_string_map = input;
        1125  +
            self
        1126  +
        }
        1127  +
        #[allow(missing_docs)] // documentation missing in model
        1128  +
        pub(crate) fn set_sparse_string_map(
        1129  +
            mut self,
        1130  +
            input: Option<
        1131  +
                impl ::std::convert::Into<
        1132  +
                    ::std::collections::HashMap<
        1133  +
                        ::std::string::String,
        1134  +
                        ::std::option::Option<::std::string::String>,
        1135  +
                    >,
        1136  +
                >,
        1137  +
            >,
        1138  +
        ) -> Self {
        1139  +
            self.sparse_string_map = input.map(|v| v.into());
        1140  +
            self
        1141  +
        }
        1142  +
        /// Consumes the builder and constructs a [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput).
        1143  +
        pub fn build(self) -> crate::input::SparseNullsOperationInput {
        1144  +
            self.build_enforcing_all_constraints()
        1145  +
        }
        1146  +
        fn build_enforcing_all_constraints(self) -> crate::input::SparseNullsOperationInput {
        1147  +
            crate::input::SparseNullsOperationInput {
        1148  +
                sparse_string_list: self.sparse_string_list,
        1149  +
                sparse_string_map: self.sparse_string_map,
        1150  +
            }
        1151  +
        }
        1152  +
    }
        1153  +
}
        1154  +
/// See [`NullOperationInput`](crate::input::NullOperationInput).
        1155  +
pub mod null_operation_input {
        1156  +
        1157  +
    impl ::std::convert::From<Builder> for crate::input::NullOperationInput {
        1158  +
        fn from(builder: Builder) -> Self {
        1159  +
            builder.build()
        1160  +
        }
        1161  +
    }
        1162  +
    /// A builder for [`NullOperationInput`](crate::input::NullOperationInput).
        1163  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1164  +
    pub struct Builder {
        1165  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1166  +
    }
        1167  +
    impl Builder {
        1168  +
        #[allow(missing_docs)] // documentation missing in model
        1169  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1170  +
            self.string = input;
        1171  +
            self
        1172  +
        }
        1173  +
        #[allow(missing_docs)] // documentation missing in model
        1174  +
        pub(crate) fn set_string(
        1175  +
            mut self,
        1176  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        1177  +
        ) -> Self {
        1178  +
            self.string = input.map(|v| v.into());
        1179  +
            self
        1180  +
        }
        1181  +
        /// Consumes the builder and constructs a [`NullOperationInput`](crate::input::NullOperationInput).
        1182  +
        pub fn build(self) -> crate::input::NullOperationInput {
        1183  +
            self.build_enforcing_all_constraints()
        1184  +
        }
        1185  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullOperationInput {
        1186  +
            crate::input::NullOperationInput {
        1187  +
                string: self.string,
        1188  +
            }
        1189  +
        }
        1190  +
    }
        1191  +
}
        1192  +
/// See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        1193  +
pub mod json_int_enums_input {
        1194  +
        1195  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1196  +
    /// Holds one variant for each of the ways the builder can fail.
        1197  +
    #[non_exhaustive]
        1198  +
    #[allow(clippy::enum_variant_names)]
        1199  +
    pub enum ConstraintViolation {
        1200  +
        /// Constraint violation occurred building member `int_enum_set` when building `JsonIntEnumsInput`.
        1201  +
        #[doc(hidden)]
        1202  +
        IntEnumSet(crate::model::integer_enum_set::ConstraintViolation),
        1203  +
    }
        1204  +
    impl ::std::fmt::Display for ConstraintViolation {
        1205  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1206  +
            match self {
        1207  +
                ConstraintViolation::IntEnumSet(_) => write!(f, "constraint violation occurred building member `int_enum_set` when building `JsonIntEnumsInput`"),
        1208  +
            }
        1209  +
        }
        1210  +
    }
        1211  +
    impl ::std::error::Error for ConstraintViolation {}
        1212  +
    impl ConstraintViolation {
        1213  +
        pub(crate) fn as_validation_exception_field(
        1214  +
            self,
        1215  +
            path: ::std::string::String,
        1216  +
        ) -> crate::model::ValidationExceptionField {
        1217  +
            match self {
        1218  +
                ConstraintViolation::IntEnumSet(inner) => {
        1219  +
                    inner.as_validation_exception_field(path + "/intEnumSet")
        1220  +
                }
        1221  +
            }
        1222  +
        }
        1223  +
    }
        1224  +
    impl ::std::convert::From<ConstraintViolation>
        1225  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
        1226  +
    {
        1227  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1228  +
            let first_validation_exception_field =
        1229  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1230  +
            let validation_exception = crate::error::ValidationException {
        1231  +
                message: format!(
        1232  +
                    "1 validation error detected. {}",
        1233  +
                    &first_validation_exception_field.message
        1234  +
                ),
        1235  +
                field_list: Some(vec![first_validation_exception_field]),
        1236  +
            };
        1237  +
            Self::ConstraintViolation(
        1238  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1239  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1240  +
                            )
        1241  +
        }
        1242  +
    }
        1243  +
    impl ::std::convert::From<Builder>
        1244  +
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
        1245  +
    {
        1246  +
        fn from(builder: Builder) -> Self {
        1247  +
            Self::Unconstrained(builder)
        1248  +
        }
        1249  +
    }
        1250  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
        1251  +
        type Error = ConstraintViolation;
        1252  +
        1253  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1254  +
            builder.build()
        1255  +
        }
        1256  +
    }
        1257  +
    /// A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        1258  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1259  +
    pub struct Builder {
        1260  +
        pub(crate) int_enum1: ::std::option::Option<i32>,
        1261  +
        pub(crate) int_enum2: ::std::option::Option<i32>,
        1262  +
        pub(crate) int_enum3: ::std::option::Option<i32>,
        1263  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        1264  +
        pub(crate) int_enum_set: ::std::option::Option<
        1265  +
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
        1266  +
        >,
        1267  +
        pub(crate) int_enum_map:
        1268  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        1269  +
    }
        1270  +
    impl Builder {
        1271  +
        #[allow(missing_docs)] // documentation missing in model
        1272  +
        pub fn int_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
        1273  +
            self.int_enum1 = input;
        1274  +
            self
        1275  +
        }
        1276  +
        #[allow(missing_docs)] // documentation missing in model
        1277  +
        pub(crate) fn set_int_enum1(
        1278  +
            mut self,
        1279  +
            input: Option<impl ::std::convert::Into<i32>>,
        1280  +
        ) -> Self {
        1281  +
            self.int_enum1 = input.map(|v| v.into());
        1282  +
            self
        1283  +
        }
        1284  +
        #[allow(missing_docs)] // documentation missing in model
        1285  +
        pub fn int_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
        1286  +
            self.int_enum2 = input;
        1287  +
            self
        1288  +
        }
        1289  +
        #[allow(missing_docs)] // documentation missing in model
        1290  +
        pub(crate) fn set_int_enum2(
        1291  +
            mut self,
        1292  +
            input: Option<impl ::std::convert::Into<i32>>,
        1293  +
        ) -> Self {
        1294  +
            self.int_enum2 = input.map(|v| v.into());
        1295  +
            self
        1296  +
        }
        1297  +
        #[allow(missing_docs)] // documentation missing in model
        1298  +
        pub fn int_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
        1299  +
            self.int_enum3 = input;
        1300  +
            self
        1301  +
        }
        1302  +
        #[allow(missing_docs)] // documentation missing in model
        1303  +
        pub(crate) fn set_int_enum3(
        1304  +
            mut self,
        1305  +
            input: Option<impl ::std::convert::Into<i32>>,
        1306  +
        ) -> Self {
        1307  +
            self.int_enum3 = input.map(|v| v.into());
        1308  +
            self
        1309  +
        }
        1310  +
        #[allow(missing_docs)] // documentation missing in model
        1311  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
        1312  +
            self.int_enum_list = input;
        1313  +
            self
        1314  +
        }
        1315  +
        #[allow(missing_docs)] // documentation missing in model
        1316  +
        pub(crate) fn set_int_enum_list(
        1317  +
            mut self,
        1318  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
        1319  +
        ) -> Self {
        1320  +
            self.int_enum_list = input.map(|v| v.into());
        1321  +
            self
        1322  +
        }
        1323  +
        #[allow(missing_docs)] // documentation missing in model
        1324  +
        pub fn int_enum_set(
        1325  +
            mut self,
        1326  +
            input: ::std::option::Option<crate::model::IntegerEnumSet>,
        1327  +
        ) -> Self {
        1328  +
            self.int_enum_set = input.map(crate::constrained::MaybeConstrained::Constrained);
        1329  +
            self
        1330  +
        }
        1331  +
        #[allow(missing_docs)] // documentation missing in model
        1332  +
        pub(crate) fn set_int_enum_set(
        1333  +
            mut self,
        1334  +
            input: Option<
        1335  +
                impl ::std::convert::Into<
        1336  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
        1337  +
                >,
        1338  +
            >,
        1339  +
        ) -> Self {
        1340  +
            self.int_enum_set = input.map(|v| v.into());
        1341  +
            self
        1342  +
        }
        1343  +
        #[allow(missing_docs)] // documentation missing in model
        1344  +
        pub fn int_enum_map(
        1345  +
            mut self,
        1346  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        1347  +
        ) -> Self {
        1348  +
            self.int_enum_map = input;
        1349  +
            self
        1350  +
        }
        1351  +
        #[allow(missing_docs)] // documentation missing in model
        1352  +
        pub(crate) fn set_int_enum_map(
        1353  +
            mut self,
        1354  +
            input: Option<
        1355  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
        1356  +
            >,
        1357  +
        ) -> Self {
        1358  +
            self.int_enum_map = input.map(|v| v.into());
        1359  +
            self
        1360  +
        }
        1361  +
        /// Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        1362  +
        ///
        1363  +
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
        1364  +
        ///
        1365  +
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
        1366  +
            self.build_enforcing_all_constraints()
        1367  +
        }
        1368  +
        fn build_enforcing_all_constraints(
        1369  +
            self,
        1370  +
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
        1371  +
            Ok(crate::input::JsonIntEnumsInput {
        1372  +
                int_enum1: self.int_enum1,
        1373  +
                int_enum2: self.int_enum2,
        1374  +
                int_enum3: self.int_enum3,
        1375  +
                int_enum_list: self.int_enum_list,
        1376  +
                int_enum_set: self
        1377  +
                    .int_enum_set
        1378  +
                    .map(|v| match v {
        1379  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1380  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1381  +
                    })
        1382  +
                    .map(|res| res.map_err(ConstraintViolation::IntEnumSet))
        1383  +
                    .transpose()?,
        1384  +
                int_enum_map: self.int_enum_map,
        1385  +
            })
        1386  +
        }
        1387  +
    }
        1388  +
}
        1389  +
/// See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        1390  +
pub mod json_enums_input {
        1391  +
        1392  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1393  +
    /// Holds one variant for each of the ways the builder can fail.
        1394  +
    #[non_exhaustive]
        1395  +
    #[allow(clippy::enum_variant_names)]
        1396  +
    pub enum ConstraintViolation {
        1397  +
        /// Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
        1398  +
        #[doc(hidden)]
        1399  +
        FooEnum1(crate::model::foo_enum::ConstraintViolation),
        1400  +
        /// Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
        1401  +
        #[doc(hidden)]
        1402  +
        FooEnum2(crate::model::foo_enum::ConstraintViolation),
        1403  +
        /// Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
        1404  +
        #[doc(hidden)]
        1405  +
        FooEnum3(crate::model::foo_enum::ConstraintViolation),
        1406  +
        /// Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
        1407  +
        #[doc(hidden)]
        1408  +
        FooEnumList(crate::model::foo_enum_list::ConstraintViolation),
        1409  +
        /// Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
        1410  +
        #[doc(hidden)]
        1411  +
        FooEnumSet(crate::model::foo_enum_set::ConstraintViolation),
        1412  +
        /// Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
        1413  +
        #[doc(hidden)]
        1414  +
        FooEnumMap(crate::model::foo_enum_map::ConstraintViolation),
        1415  +
    }
        1416  +
    impl ::std::fmt::Display for ConstraintViolation {
        1417  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1418  +
            match self {
        1419  +
                ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
        1420  +
                ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
        1421  +
                ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
        1422  +
                ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
        1423  +
                ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
        1424  +
                ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
        1425  +
            }
        1426  +
        }
        1427  +
    }
        1428  +
    impl ::std::error::Error for ConstraintViolation {}
        1429  +
    impl ConstraintViolation {
        1430  +
        pub(crate) fn as_validation_exception_field(
        1431  +
            self,
        1432  +
            path: ::std::string::String,
        1433  +
        ) -> crate::model::ValidationExceptionField {
        1434  +
            match self {
        1435  +
                ConstraintViolation::FooEnum1(inner) => {
        1436  +
                    inner.as_validation_exception_field(path + "/fooEnum1")
        1437  +
                }
        1438  +
                ConstraintViolation::FooEnum2(inner) => {
        1439  +
                    inner.as_validation_exception_field(path + "/fooEnum2")
        1440  +
                }
        1441  +
                ConstraintViolation::FooEnum3(inner) => {
        1442  +
                    inner.as_validation_exception_field(path + "/fooEnum3")
        1443  +
                }
        1444  +
                ConstraintViolation::FooEnumList(inner) => {
        1445  +
                    inner.as_validation_exception_field(path + "/fooEnumList")
        1446  +
                }
        1447  +
                ConstraintViolation::FooEnumSet(inner) => {
        1448  +
                    inner.as_validation_exception_field(path + "/fooEnumSet")
        1449  +
                }
        1450  +
                ConstraintViolation::FooEnumMap(inner) => {
        1451  +
                    inner.as_validation_exception_field(path + "/fooEnumMap")
        1452  +
                }
        1453  +
            }
        1454  +
        }
        1455  +
    }
        1456  +
    impl ::std::convert::From<ConstraintViolation>
        1457  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
        1458  +
    {
        1459  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        1460  +
            let first_validation_exception_field =
        1461  +
                constraint_violation.as_validation_exception_field("".to_owned());
        1462  +
            let validation_exception = crate::error::ValidationException {
        1463  +
                message: format!(
        1464  +
                    "1 validation error detected. {}",
        1465  +
                    &first_validation_exception_field.message
        1466  +
                ),
        1467  +
                field_list: Some(vec![first_validation_exception_field]),
        1468  +
            };
        1469  +
            Self::ConstraintViolation(
        1470  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        1471  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        1472  +
                            )
        1473  +
        }
        1474  +
    }
        1475  +
    impl ::std::convert::From<Builder>
        1476  +
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
        1477  +
    {
        1478  +
        fn from(builder: Builder) -> Self {
        1479  +
            Self::Unconstrained(builder)
        1480  +
        }
        1481  +
    }
        1482  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
        1483  +
        type Error = ConstraintViolation;
        1484  +
        1485  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        1486  +
            builder.build()
        1487  +
        }
        1488  +
    }
        1489  +
    /// A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        1490  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1491  +
    pub struct Builder {
        1492  +
        pub(crate) foo_enum1:
        1493  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        1494  +
        pub(crate) foo_enum2:
        1495  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        1496  +
        pub(crate) foo_enum3:
        1497  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        1498  +
        pub(crate) foo_enum_list: ::std::option::Option<
        1499  +
            crate::constrained::MaybeConstrained<
        1500  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        1501  +
            >,
        1502  +
        >,
        1503  +
        pub(crate) foo_enum_set:
        1504  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
        1505  +
        pub(crate) foo_enum_map: ::std::option::Option<
        1506  +
            crate::constrained::MaybeConstrained<
        1507  +
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
        1508  +
            >,
        1509  +
        >,
        1510  +
    }
        1511  +
    impl Builder {
        1512  +
        #[allow(missing_docs)] // documentation missing in model
        1513  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1514  +
            self.foo_enum1 = input.map(crate::constrained::MaybeConstrained::Constrained);
        1515  +
            self
        1516  +
        }
        1517  +
        #[allow(missing_docs)] // documentation missing in model
        1518  +
        pub(crate) fn set_foo_enum1(
        1519  +
            mut self,
        1520  +
            input: Option<
        1521  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        1522  +
            >,
        1523  +
        ) -> Self {
        1524  +
            self.foo_enum1 = input.map(|v| v.into());
        1525  +
            self
        1526  +
        }
        1527  +
        #[allow(missing_docs)] // documentation missing in model
        1528  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1529  +
            self.foo_enum2 = input.map(crate::constrained::MaybeConstrained::Constrained);
        1530  +
            self
        1531  +
        }
        1532  +
        #[allow(missing_docs)] // documentation missing in model
        1533  +
        pub(crate) fn set_foo_enum2(
        1534  +
            mut self,
        1535  +
            input: Option<
        1536  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        1537  +
            >,
        1538  +
        ) -> Self {
        1539  +
            self.foo_enum2 = input.map(|v| v.into());
        1540  +
            self
        1541  +
        }
        1542  +
        #[allow(missing_docs)] // documentation missing in model
        1543  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1544  +
            self.foo_enum3 = input.map(crate::constrained::MaybeConstrained::Constrained);
        1545  +
            self
        1546  +
        }
        1547  +
        #[allow(missing_docs)] // documentation missing in model
        1548  +
        pub(crate) fn set_foo_enum3(
        1549  +
            mut self,
        1550  +
            input: Option<
        1551  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
        1552  +
            >,
        1553  +
        ) -> Self {
        1554  +
            self.foo_enum3 = input.map(|v| v.into());
        1555  +
            self
        1556  +
        }
        1557  +
        #[allow(missing_docs)] // documentation missing in model
        1558  +
        pub fn foo_enum_list(
        1559  +
            mut self,
        1560  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1561  +
        ) -> Self {
        1562  +
            self.foo_enum_list =
        1563  +
                input.map(|v| crate::constrained::MaybeConstrained::Constrained((v).into()));
        1564  +
            self
        1565  +
        }
        1566  +
        #[allow(missing_docs)] // documentation missing in model
        1567  +
        pub(crate) fn set_foo_enum_list(
        1568  +
            mut self,
        1569  +
            input: Option<
        1570  +
                impl ::std::convert::Into<
        1571  +
                    crate::constrained::MaybeConstrained<
        1572  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
        1573  +
                    >,
        1574  +
                >,
        1575  +
            >,
        1576  +
        ) -> Self {
        1577  +
            self.foo_enum_list = input.map(|v| v.into());
        1578  +
            self
        1579  +
        }
        1580  +
        #[allow(missing_docs)] // documentation missing in model
        1581  +
        pub fn foo_enum_set(
        1582  +
            mut self,
        1583  +
            input: ::std::option::Option<crate::model::FooEnumSet>,
        1584  +
        ) -> Self {
        1585  +
            self.foo_enum_set = input.map(crate::constrained::MaybeConstrained::Constrained);
        1586  +
            self
        1587  +
        }
        1588  +
        #[allow(missing_docs)] // documentation missing in model
        1589  +
        pub(crate) fn set_foo_enum_set(
        1590  +
            mut self,
        1591  +
            input: Option<
        1592  +
                impl ::std::convert::Into<
        1593  +
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
        1594  +
                >,
        1595  +
            >,
        1596  +
        ) -> Self {
        1597  +
            self.foo_enum_set = input.map(|v| v.into());
        1598  +
            self
        1599  +
        }
        1600  +
        #[allow(missing_docs)] // documentation missing in model
        1601  +
        pub fn foo_enum_map(
        1602  +
            mut self,
        1603  +
            input: ::std::option::Option<
        1604  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        1605  +
            >,
        1606  +
        ) -> Self {
        1607  +
            self.foo_enum_map =
        1608  +
                input.map(|v| crate::constrained::MaybeConstrained::Constrained((v).into()));
        1609  +
            self
        1610  +
        }
        1611  +
        #[allow(missing_docs)] // documentation missing in model
        1612  +
        pub(crate) fn set_foo_enum_map(
        1613  +
            mut self,
        1614  +
            input: Option<
        1615  +
                impl ::std::convert::Into<
        1616  +
                    crate::constrained::MaybeConstrained<
        1617  +
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
        1618  +
                    >,
        1619  +
                >,
        1620  +
            >,
        1621  +
        ) -> Self {
        1622  +
            self.foo_enum_map = input.map(|v| v.into());
        1623  +
            self
        1624  +
        }
        1625  +
        /// Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        1626  +
        ///
        1627  +
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
        1628  +
        ///
        1629  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        1630  +
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
        1631  +
            self.build_enforcing_all_constraints()
        1632  +
        }
        1633  +
        fn build_enforcing_all_constraints(
        1634  +
            self,
        1635  +
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
        1636  +
            Ok(crate::input::JsonEnumsInput {
        1637  +
                foo_enum1: self
        1638  +
                    .foo_enum1
        1639  +
                    .map(|v| match v {
        1640  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1641  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1642  +
                    })
        1643  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum1))
        1644  +
                    .transpose()?,
        1645  +
                foo_enum2: self
        1646  +
                    .foo_enum2
        1647  +
                    .map(|v| match v {
        1648  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1649  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1650  +
                    })
        1651  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum2))
        1652  +
                    .transpose()?,
        1653  +
                foo_enum3: self
        1654  +
                    .foo_enum3
        1655  +
                    .map(|v| match v {
        1656  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1657  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1658  +
                    })
        1659  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnum3))
        1660  +
                    .transpose()?,
        1661  +
                foo_enum_list: self
        1662  +
                    .foo_enum_list
        1663  +
                    .map(|v| match v {
        1664  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1665  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1666  +
                    })
        1667  +
                    .map(|res| {
        1668  +
                        res.map(|v| v.into())
        1669  +
                            .map_err(ConstraintViolation::FooEnumList)
        1670  +
                    })
        1671  +
                    .transpose()?,
        1672  +
                foo_enum_set: self
        1673  +
                    .foo_enum_set
        1674  +
                    .map(|v| match v {
        1675  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1676  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1677  +
                    })
        1678  +
                    .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
        1679  +
                    .transpose()?,
        1680  +
                foo_enum_map: self
        1681  +
                    .foo_enum_map
        1682  +
                    .map(|v| match v {
        1683  +
                        crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        1684  +
                        crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        1685  +
                    })
        1686  +
                    .map(|res| {
        1687  +
                        res.map(|v| v.into())
        1688  +
                            .map_err(ConstraintViolation::FooEnumMap)
        1689  +
                    })
        1690  +
                    .transpose()?,
        1691  +
            })
        1692  +
        }
        1693  +
    }
        1694  +
}
        1695  +
/// See [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        1696  +
pub mod put_and_get_inline_documents_input {
        1697  +
        1698  +
    impl ::std::convert::From<Builder> for crate::input::PutAndGetInlineDocumentsInput {
        1699  +
        fn from(builder: Builder) -> Self {
        1700  +
            builder.build()
        1701  +
        }
        1702  +
    }
        1703  +
    /// A builder for [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        1704  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1705  +
    pub struct Builder {
        1706  +
        pub(crate) inline_document: ::std::option::Option<::aws_smithy_types::Document>,
        1707  +
    }
        1708  +
    impl Builder {
        1709  +
        #[allow(missing_docs)] // documentation missing in model
        1710  +
        pub fn inline_document(
        1711  +
            mut self,
        1712  +
            input: ::std::option::Option<::aws_smithy_types::Document>,
        1713  +
        ) -> Self {
        1714  +
            self.inline_document = input;
        1715  +
            self
        1716  +
        }
        1717  +
        #[allow(missing_docs)] // documentation missing in model
        1718  +
        pub(crate) fn set_inline_document(
        1719  +
            mut self,
        1720  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
        1721  +
        ) -> Self {
        1722  +
            self.inline_document = input.map(|v| v.into());
        1723  +
            self
        1724  +
        }
        1725  +
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput).
        1726  +
        pub fn build(self) -> crate::input::PutAndGetInlineDocumentsInput {
        1727  +
            self.build_enforcing_all_constraints()
        1728  +
        }
        1729  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutAndGetInlineDocumentsInput {
        1730  +
            crate::input::PutAndGetInlineDocumentsInput {
        1731  +
                inline_document: self.inline_document,
        1732  +
            }
        1733  +
        }
        1734  +
    }
        1735  +
}
        1736  +
/// See [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        1737  +
pub mod operation_with_optional_input_output_input {
        1738  +
        1739  +
    impl ::std::convert::From<Builder> for crate::input::OperationWithOptionalInputOutputInput {
        1740  +
        fn from(builder: Builder) -> Self {
        1741  +
            builder.build()
        1742  +
        }
        1743  +
    }
        1744  +
    /// A builder for [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        1745  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1746  +
    pub struct Builder {
        1747  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
        1748  +
    }
        1749  +
    impl Builder {
        1750  +
        #[allow(missing_docs)] // documentation missing in model
        1751  +
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1752  +
            self.value = input;
        1753  +
            self
        1754  +
        }
        1755  +
        #[allow(missing_docs)] // documentation missing in model
        1756  +
        pub(crate) fn set_value(
        1757  +
            mut self,
        1758  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        1759  +
        ) -> Self {
        1760  +
            self.value = input.map(|v| v.into());
        1761  +
            self
        1762  +
        }
        1763  +
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput).
        1764  +
        pub fn build(self) -> crate::input::OperationWithOptionalInputOutputInput {
        1765  +
            self.build_enforcing_all_constraints()
        1766  +
        }
        1767  +
        fn build_enforcing_all_constraints(
        1768  +
            self,
        1769  +
        ) -> crate::input::OperationWithOptionalInputOutputInput {
        1770  +
            crate::input::OperationWithOptionalInputOutputInput { value: self.value }
        1771  +
        }
        1772  +
    }
        1773  +
}
        1774  +
/// See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        1775  +
pub mod simple_scalar_properties_input {
        1776  +
        1777  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
        1778  +
        fn from(builder: Builder) -> Self {
        1779  +
            builder.build()
        1780  +
        }
        1781  +
    }
        1782  +
    /// A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        1783  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1784  +
    pub struct Builder {
        1785  +
        pub(crate) float_value: ::std::option::Option<f32>,
        1786  +
        pub(crate) double_value: ::std::option::Option<f64>,
        1787  +
    }
        1788  +
    impl Builder {
        1789  +
        #[allow(missing_docs)] // documentation missing in model
        1790  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
        1791  +
            self.float_value = input;
        1792  +
            self
        1793  +
        }
        1794  +
        #[allow(missing_docs)] // documentation missing in model
        1795  +
        pub(crate) fn set_float_value(
        1796  +
            mut self,
        1797  +
            input: Option<impl ::std::convert::Into<f32>>,
        1798  +
        ) -> Self {
        1799  +
            self.float_value = input.map(|v| v.into());
        1800  +
            self
        1801  +
        }
        1802  +
        #[allow(missing_docs)] // documentation missing in model
        1803  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
        1804  +
            self.double_value = input;
        1805  +
            self
        1806  +
        }
        1807  +
        #[allow(missing_docs)] // documentation missing in model
        1808  +
        pub(crate) fn set_double_value(
        1809  +
            mut self,
        1810  +
            input: Option<impl ::std::convert::Into<f64>>,
        1811  +
        ) -> Self {
        1812  +
            self.double_value = input.map(|v| v.into());
        1813  +
            self
        1814  +
        }
        1815  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        1816  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
        1817  +
            self.build_enforcing_all_constraints()
        1818  +
        }
        1819  +
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
        1820  +
            crate::input::SimpleScalarPropertiesInput {
        1821  +
                float_value: self.float_value,
        1822  +
                double_value: self.double_value,
        1823  +
            }
        1824  +
        }
        1825  +
    }
        1826  +
}
        1827  +
/// See [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        1828  +
pub mod kitchen_sink_operation_input {
        1829  +
        1830  +
    impl ::std::convert::From<Builder> for crate::input::KitchenSinkOperationInput {
        1831  +
        fn from(builder: Builder) -> Self {
        1832  +
            builder.build()
        1833  +
        }
        1834  +
    }
        1835  +
    /// A builder for [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        1836  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1837  +
    pub struct Builder {
        1838  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1839  +
        pub(crate) boolean: ::std::option::Option<bool>,
        1840  +
        pub(crate) double: ::std::option::Option<f64>,
        1841  +
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        1842  +
        pub(crate) float: ::std::option::Option<f32>,
        1843  +
        pub(crate) httpdate_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1844  +
        pub(crate) integer: ::std::option::Option<i32>,
        1845  +
        pub(crate) iso8601_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1846  +
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        1847  +
        pub(crate) list_of_lists:
        1848  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1849  +
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
        1850  +
            ::std::vec::Vec<
        1851  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1852  +
            >,
        1853  +
        >,
        1854  +
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1855  +
        pub(crate) list_of_structs:
        1856  +
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1857  +
        pub(crate) long: ::std::option::Option<i64>,
        1858  +
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
        1859  +
            ::std::collections::HashMap<
        1860  +
                ::std::string::String,
        1861  +
                ::std::vec::Vec<::std::string::String>,
        1862  +
            >,
        1863  +
        >,
        1864  +
        pub(crate) map_of_maps: ::std::option::Option<
        1865  +
            ::std::collections::HashMap<
        1866  +
                ::std::string::String,
        1867  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1868  +
            >,
        1869  +
        >,
        1870  +
        pub(crate) map_of_strings: ::std::option::Option<
        1871  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1872  +
        >,
        1873  +
        pub(crate) map_of_structs: ::std::option::Option<
        1874  +
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1875  +
        >,
        1876  +
        pub(crate) recursive_list:
        1877  +
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1878  +
        pub(crate) recursive_map: ::std::option::Option<
        1879  +
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1880  +
        >,
        1881  +
        pub(crate) recursive_struct:
        1882  +
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1883  +
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1884  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1885  +
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1886  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1887  +
        pub(crate) unix_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1888  +
    }
        1889  +
    impl Builder {
        1890  +
        #[allow(missing_docs)] // documentation missing in model
        1891  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        1892  +
            self.blob = input;
        1893  +
            self
        1894  +
        }
        1895  +
        #[allow(missing_docs)] // documentation missing in model
        1896  +
        pub(crate) fn set_blob(
        1897  +
            mut self,
        1898  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
        1899  +
        ) -> Self {
        1900  +
            self.blob = input.map(|v| v.into());
        1901  +
            self
        1902  +
        }
        1903  +
        #[allow(missing_docs)] // documentation missing in model
        1904  +
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
        1905  +
            self.boolean = input;
        1906  +
            self
        1907  +
        }
        1908  +
        #[allow(missing_docs)] // documentation missing in model
        1909  +
        pub(crate) fn set_boolean(
        1910  +
            mut self,
        1911  +
            input: Option<impl ::std::convert::Into<bool>>,
        1912  +
        ) -> Self {
        1913  +
            self.boolean = input.map(|v| v.into());
        1914  +
            self
        1915  +
        }
        1916  +
        #[allow(missing_docs)] // documentation missing in model
        1917  +
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
        1918  +
            self.double = input;
        1919  +
            self
        1920  +
        }
        1921  +
        #[allow(missing_docs)] // documentation missing in model
        1922  +
        pub(crate) fn set_double(mut self, input: Option<impl ::std::convert::Into<f64>>) -> Self {
        1923  +
            self.double = input.map(|v| v.into());
        1924  +
            self
        1925  +
        }
        1926  +
        #[allow(missing_docs)] // documentation missing in model
        1927  +
        pub fn empty_struct(
        1928  +
            mut self,
        1929  +
            input: ::std::option::Option<crate::model::EmptyStruct>,
        1930  +
        ) -> Self {
        1931  +
            self.empty_struct = input;
        1932  +
            self
        1933  +
        }
        1934  +
        #[allow(missing_docs)] // documentation missing in model
        1935  +
        pub(crate) fn set_empty_struct(
        1936  +
            mut self,
        1937  +
            input: Option<impl ::std::convert::Into<crate::model::EmptyStruct>>,
        1938  +
        ) -> Self {
        1939  +
            self.empty_struct = input.map(|v| v.into());
        1940  +
            self
        1941  +
        }
        1942  +
        #[allow(missing_docs)] // documentation missing in model
        1943  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
        1944  +
            self.float = input;
        1945  +
            self
        1946  +
        }
        1947  +
        #[allow(missing_docs)] // documentation missing in model
        1948  +
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
        1949  +
            self.float = input.map(|v| v.into());
        1950  +
            self
        1951  +
        }
        1952  +
        #[allow(missing_docs)] // documentation missing in model
        1953  +
        pub fn httpdate_timestamp(
        1954  +
            mut self,
        1955  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1956  +
        ) -> Self {
        1957  +
            self.httpdate_timestamp = input;
        1958  +
            self
        1959  +
        }
        1960  +
        #[allow(missing_docs)] // documentation missing in model
        1961  +
        pub(crate) fn set_httpdate_timestamp(
        1962  +
            mut self,
        1963  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        1964  +
        ) -> Self {
        1965  +
            self.httpdate_timestamp = input.map(|v| v.into());
        1966  +
            self
        1967  +
        }
        1968  +
        #[allow(missing_docs)] // documentation missing in model
        1969  +
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
        1970  +
            self.integer = input;
        1971  +
            self
        1972  +
        }
        1973  +
        #[allow(missing_docs)] // documentation missing in model
        1974  +
        pub(crate) fn set_integer(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        1975  +
            self.integer = input.map(|v| v.into());
        1976  +
            self
        1977  +
        }
        1978  +
        #[allow(missing_docs)] // documentation missing in model
        1979  +
        pub fn iso8601_timestamp(
        1980  +
            mut self,
        1981  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1982  +
        ) -> Self {
        1983  +
            self.iso8601_timestamp = input;
        1984  +
            self
        1985  +
        }
        1986  +
        #[allow(missing_docs)] // documentation missing in model
        1987  +
        pub(crate) fn set_iso8601_timestamp(
        1988  +
            mut self,
        1989  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        1990  +
        ) -> Self {
        1991  +
            self.iso8601_timestamp = input.map(|v| v.into());
        1992  +
            self
        1993  +
        }
        1994  +
        #[allow(missing_docs)] // documentation missing in model
        1995  +
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1996  +
            self.json_value = input;
        1997  +
            self
        1998  +
        }
        1999  +
        #[allow(missing_docs)] // documentation missing in model
        2000  +
        pub(crate) fn set_json_value(
        2001  +
            mut self,
        2002  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        2003  +
        ) -> Self {
        2004  +
            self.json_value = input.map(|v| v.into());
        2005  +
            self
        2006  +
        }
        2007  +
        #[allow(missing_docs)] // documentation missing in model
        2008  +
        pub fn list_of_lists(
        2009  +
            mut self,
        2010  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2011  +
        ) -> Self {
        2012  +
            self.list_of_lists = input;
        2013  +
            self
        2014  +
        }
        2015  +
        #[allow(missing_docs)] // documentation missing in model
        2016  +
        pub(crate) fn set_list_of_lists(
        2017  +
            mut self,
        2018  +
            input: Option<
        2019  +
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2020  +
            >,
        2021  +
        ) -> Self {
        2022  +
            self.list_of_lists = input.map(|v| v.into());
        2023  +
            self
        2024  +
        }
        2025  +
        #[allow(missing_docs)] // documentation missing in model
        2026  +
        pub fn list_of_maps_of_strings(
        2027  +
            mut self,
        2028  +
            input: ::std::option::Option<
        2029  +
                ::std::vec::Vec<
        2030  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2031  +
                >,
        2032  +
            >,
        2033  +
        ) -> Self {
        2034  +
            self.list_of_maps_of_strings = input;
        2035  +
            self
        2036  +
        }
        2037  +
        #[allow(missing_docs)] // documentation missing in model
        2038  +
        pub(crate) fn set_list_of_maps_of_strings(
        2039  +
            mut self,
        2040  +
            input: Option<
        2041  +
                impl ::std::convert::Into<
        2042  +
                    ::std::vec::Vec<
        2043  +
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2044  +
                    >,
        2045  +
                >,
        2046  +
            >,
        2047  +
        ) -> Self {
        2048  +
            self.list_of_maps_of_strings = input.map(|v| v.into());
        2049  +
            self
        2050  +
        }
        2051  +
        #[allow(missing_docs)] // documentation missing in model
        2052  +
        pub fn list_of_strings(
        2053  +
            mut self,
        2054  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        2055  +
        ) -> Self {
        2056  +
            self.list_of_strings = input;
        2057  +
            self
        2058  +
        }
        2059  +
        #[allow(missing_docs)] // documentation missing in model
        2060  +
        pub(crate) fn set_list_of_strings(
        2061  +
            mut self,
        2062  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
        2063  +
        ) -> Self {
        2064  +
            self.list_of_strings = input.map(|v| v.into());
        2065  +
            self
        2066  +
        }
        2067  +
        #[allow(missing_docs)] // documentation missing in model
        2068  +
        pub fn list_of_structs(
        2069  +
            mut self,
        2070  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        2071  +
        ) -> Self {
        2072  +
            self.list_of_structs = input;
        2073  +
            self
        2074  +
        }
        2075  +
        #[allow(missing_docs)] // documentation missing in model
        2076  +
        pub(crate) fn set_list_of_structs(
        2077  +
            mut self,
        2078  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::SimpleStruct>>>,
        2079  +
        ) -> Self {
        2080  +
            self.list_of_structs = input.map(|v| v.into());
        2081  +
            self
        2082  +
        }
        2083  +
        #[allow(missing_docs)] // documentation missing in model
        2084  +
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
        2085  +
            self.long = input;
        2086  +
            self
        2087  +
        }
        2088  +
        #[allow(missing_docs)] // documentation missing in model
        2089  +
        pub(crate) fn set_long(mut self, input: Option<impl ::std::convert::Into<i64>>) -> Self {
        2090  +
            self.long = input.map(|v| v.into());
        2091  +
            self
        2092  +
        }
        2093  +
        #[allow(missing_docs)] // documentation missing in model
        2094  +
        pub fn map_of_lists_of_strings(
        2095  +
            mut self,
        2096  +
            input: ::std::option::Option<
        2097  +
                ::std::collections::HashMap<
        2098  +
                    ::std::string::String,
        2099  +
                    ::std::vec::Vec<::std::string::String>,
        2100  +
                >,
        2101  +
            >,
        2102  +
        ) -> Self {
        2103  +
            self.map_of_lists_of_strings = input;
        2104  +
            self
        2105  +
        }
        2106  +
        #[allow(missing_docs)] // documentation missing in model
        2107  +
        pub(crate) fn set_map_of_lists_of_strings(
        2108  +
            mut self,
        2109  +
            input: Option<
        2110  +
                impl ::std::convert::Into<
        2111  +
                    ::std::collections::HashMap<
        2112  +
                        ::std::string::String,
        2113  +
                        ::std::vec::Vec<::std::string::String>,
        2114  +
                    >,
        2115  +
                >,
        2116  +
            >,
        2117  +
        ) -> Self {
        2118  +
            self.map_of_lists_of_strings = input.map(|v| v.into());
        2119  +
            self
        2120  +
        }
        2121  +
        #[allow(missing_docs)] // documentation missing in model
        2122  +
        pub fn map_of_maps(
        2123  +
            mut self,
        2124  +
            input: ::std::option::Option<
        2125  +
                ::std::collections::HashMap<
        2126  +
                    ::std::string::String,
        2127  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2128  +
                >,
        2129  +
            >,
        2130  +
        ) -> Self {
        2131  +
            self.map_of_maps = input;
        2132  +
            self
        2133  +
        }
        2134  +
        #[allow(missing_docs)] // documentation missing in model
        2135  +
        pub(crate) fn set_map_of_maps(
        2136  +
            mut self,
        2137  +
            input: Option<
        2138  +
                impl ::std::convert::Into<
        2139  +
                    ::std::collections::HashMap<
        2140  +
                        ::std::string::String,
        2141  +
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2142  +
                    >,
        2143  +
                >,
        2144  +
            >,
        2145  +
        ) -> Self {
        2146  +
            self.map_of_maps = input.map(|v| v.into());
        2147  +
            self
        2148  +
        }
        2149  +
        #[allow(missing_docs)] // documentation missing in model
        2150  +
        pub fn map_of_strings(
        2151  +
            mut self,
        2152  +
            input: ::std::option::Option<
        2153  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2154  +
            >,
        2155  +
        ) -> Self {
        2156  +
            self.map_of_strings = input;
        2157  +
            self
        2158  +
        }
        2159  +
        #[allow(missing_docs)] // documentation missing in model
        2160  +
        pub(crate) fn set_map_of_strings(
        2161  +
            mut self,
        2162  +
            input: Option<
        2163  +
                impl ::std::convert::Into<
        2164  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2165  +
                >,
        2166  +
            >,
        2167  +
        ) -> Self {
        2168  +
            self.map_of_strings = input.map(|v| v.into());
        2169  +
            self
        2170  +
        }
        2171  +
        #[allow(missing_docs)] // documentation missing in model
        2172  +
        pub fn map_of_structs(
        2173  +
            mut self,
        2174  +
            input: ::std::option::Option<
        2175  +
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        2176  +
            >,
        2177  +
        ) -> Self {
        2178  +
            self.map_of_structs = input;
        2179  +
            self
        2180  +
        }
        2181  +
        #[allow(missing_docs)] // documentation missing in model
        2182  +
        pub(crate) fn set_map_of_structs(
        2183  +
            mut self,
        2184  +
            input: Option<
        2185  +
                impl ::std::convert::Into<
        2186  +
                    ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        2187  +
                >,
        2188  +
            >,
        2189  +
        ) -> Self {
        2190  +
            self.map_of_structs = input.map(|v| v.into());
        2191  +
            self
        2192  +
        }
        2193  +
        #[allow(missing_docs)] // documentation missing in model
        2194  +
        pub fn recursive_list(
        2195  +
            mut self,
        2196  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        2197  +
        ) -> Self {
        2198  +
            self.recursive_list = input;
        2199  +
            self
        2200  +
        }
        2201  +
        #[allow(missing_docs)] // documentation missing in model
        2202  +
        pub(crate) fn set_recursive_list(
        2203  +
            mut self,
        2204  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::KitchenSink>>>,
        2205  +
        ) -> Self {
        2206  +
            self.recursive_list = input.map(|v| v.into());
        2207  +
            self
        2208  +
        }
        2209  +
        #[allow(missing_docs)] // documentation missing in model
        2210  +
        pub fn recursive_map(
        2211  +
            mut self,
        2212  +
            input: ::std::option::Option<
        2213  +
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        2214  +
            >,
        2215  +
        ) -> Self {
        2216  +
            self.recursive_map = input;
        2217  +
            self
        2218  +
        }
        2219  +
        #[allow(missing_docs)] // documentation missing in model
        2220  +
        pub(crate) fn set_recursive_map(
        2221  +
            mut self,
        2222  +
            input: Option<
        2223  +
                impl ::std::convert::Into<
        2224  +
                    ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        2225  +
                >,
        2226  +
            >,
        2227  +
        ) -> Self {
        2228  +
            self.recursive_map = input.map(|v| v.into());
        2229  +
            self
        2230  +
        }
        2231  +
        #[allow(missing_docs)] // documentation missing in model
        2232  +
        pub fn recursive_struct(
        2233  +
            mut self,
        2234  +
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        2235  +
        ) -> Self {
        2236  +
            self.recursive_struct = input;
        2237  +
            self
        2238  +
        }
        2239  +
        #[allow(missing_docs)] // documentation missing in model
        2240  +
        pub(crate) fn set_recursive_struct(
        2241  +
            mut self,
        2242  +
            input: Option<impl ::std::convert::Into<::std::boxed::Box<crate::model::KitchenSink>>>,
        2243  +
        ) -> Self {
        2244  +
            self.recursive_struct = input.map(|v| v.into());
        2245  +
            self
        2246  +
        }
        2247  +
        #[allow(missing_docs)] // documentation missing in model
        2248  +
        pub fn simple_struct(
        2249  +
            mut self,
        2250  +
            input: ::std::option::Option<crate::model::SimpleStruct>,
        2251  +
        ) -> Self {
        2252  +
            self.simple_struct = input;
        2253  +
            self
        2254  +
        }
        2255  +
        #[allow(missing_docs)] // documentation missing in model
        2256  +
        pub(crate) fn set_simple_struct(
        2257  +
            mut self,
        2258  +
            input: Option<impl ::std::convert::Into<crate::model::SimpleStruct>>,
        2259  +
        ) -> Self {
        2260  +
            self.simple_struct = input.map(|v| v.into());
        2261  +
            self
        2262  +
        }
        2263  +
        #[allow(missing_docs)] // documentation missing in model
        2264  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        2265  +
            self.string = input;
        2266  +
            self
        2267  +
        }
        2268  +
        #[allow(missing_docs)] // documentation missing in model
        2269  +
        pub(crate) fn set_string(
        2270  +
            mut self,
        2271  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        2272  +
        ) -> Self {
        2273  +
            self.string = input.map(|v| v.into());
        2274  +
            self
        2275  +
        }
        2276  +
        #[allow(missing_docs)] // documentation missing in model
        2277  +
        pub fn struct_with_json_name(
        2278  +
            mut self,
        2279  +
            input: ::std::option::Option<crate::model::StructWithJsonName>,
        2280  +
        ) -> Self {
        2281  +
            self.struct_with_json_name = input;
        2282  +
            self
        2283  +
        }
        2284  +
        #[allow(missing_docs)] // documentation missing in model
        2285  +
        pub(crate) fn set_struct_with_json_name(
        2286  +
            mut self,
        2287  +
            input: Option<impl ::std::convert::Into<crate::model::StructWithJsonName>>,
        2288  +
        ) -> Self {
        2289  +
            self.struct_with_json_name = input.map(|v| v.into());
        2290  +
            self
        2291  +
        }
        2292  +
        #[allow(missing_docs)] // documentation missing in model
        2293  +
        pub fn timestamp(
        2294  +
            mut self,
        2295  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        2296  +
        ) -> Self {
        2297  +
            self.timestamp = input;
        2298  +
            self
        2299  +
        }
        2300  +
        #[allow(missing_docs)] // documentation missing in model
        2301  +
        pub(crate) fn set_timestamp(
        2302  +
            mut self,
        2303  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        2304  +
        ) -> Self {
        2305  +
            self.timestamp = input.map(|v| v.into());
        2306  +
            self
        2307  +
        }
        2308  +
        #[allow(missing_docs)] // documentation missing in model
        2309  +
        pub fn unix_timestamp(
        2310  +
            mut self,
        2311  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        2312  +
        ) -> Self {
        2313  +
            self.unix_timestamp = input;
        2314  +
            self
        2315  +
        }
        2316  +
        #[allow(missing_docs)] // documentation missing in model
        2317  +
        pub(crate) fn set_unix_timestamp(
        2318  +
            mut self,
        2319  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
        2320  +
        ) -> Self {
        2321  +
            self.unix_timestamp = input.map(|v| v.into());
        2322  +
            self
        2323  +
        }
        2324  +
        /// Consumes the builder and constructs a [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput).
        2325  +
        pub fn build(self) -> crate::input::KitchenSinkOperationInput {
        2326  +
            self.build_enforcing_all_constraints()
        2327  +
        }
        2328  +
        fn build_enforcing_all_constraints(self) -> crate::input::KitchenSinkOperationInput {
        2329  +
            crate::input::KitchenSinkOperationInput {
        2330  +
                blob: self.blob,
        2331  +
                boolean: self.boolean,
        2332  +
                double: self.double,
        2333  +
                empty_struct: self.empty_struct,
        2334  +
                float: self.float,
        2335  +
                httpdate_timestamp: self.httpdate_timestamp,
        2336  +
                integer: self.integer,
        2337  +
                iso8601_timestamp: self.iso8601_timestamp,
        2338  +
                json_value: self.json_value,
        2339  +
                list_of_lists: self.list_of_lists,
        2340  +
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        2341  +
                list_of_strings: self.list_of_strings,
        2342  +
                list_of_structs: self.list_of_structs,
        2343  +
                long: self.long,
        2344  +
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        2345  +
                map_of_maps: self.map_of_maps,
        2346  +
                map_of_strings: self.map_of_strings,
        2347  +
                map_of_structs: self.map_of_structs,
        2348  +
                recursive_list: self.recursive_list,
        2349  +
                recursive_map: self.recursive_map,
        2350  +
                recursive_struct: self.recursive_struct,
        2351  +
                simple_struct: self.simple_struct,
        2352  +
                string: self.string,
        2353  +
                struct_with_json_name: self.struct_with_json_name,
        2354  +
                timestamp: self.timestamp,
        2355  +
                unix_timestamp: self.unix_timestamp,
        2356  +
            }
        2357  +
        }
        2358  +
    }
        2359  +
}
        2360  +
/// See [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        2361  +
pub mod empty_operation_input {
        2362  +
        2363  +
    impl ::std::convert::From<Builder> for crate::input::EmptyOperationInput {
        2364  +
        fn from(builder: Builder) -> Self {
        2365  +
            builder.build()
        2366  +
        }
        2367  +
    }
        2368  +
    /// A builder for [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        2369  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2370  +
    pub struct Builder {}
        2371  +
    impl Builder {
        2372  +
        /// Consumes the builder and constructs a [`EmptyOperationInput`](crate::input::EmptyOperationInput).
        2373  +
        pub fn build(self) -> crate::input::EmptyOperationInput {
        2374  +
            self.build_enforcing_all_constraints()
        2375  +
        }
        2376  +
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyOperationInput {
        2377  +
            crate::input::EmptyOperationInput {}
        2378  +
        }
        2379  +
    }
        2380  +
}