Server Test

Server Test

rev. d06a46cae0f385cdae37a9f8264db3469a090ab5

Files changed:

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

@@ -0,1 +0,20024 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
           3  +
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:534 */
           5  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub /* StructureGenerator.kt:201 */ struct OperationWithNestedStructureInput {
           7  +
    /* StructureGenerator.kt:231 */
           8  +
    #[allow(missing_docs)] // documentation missing in model
           9  +
    pub top_level: crate::model::TopLevel,
          10  +
    /* StructureGenerator.kt:201 */
          11  +
}
          12  +
/* StructureGenerator.kt:135 */
          13  +
impl OperationWithNestedStructureInput {
          14  +
    /* StructureGenerator.kt:231 */
          15  +
    #[allow(missing_docs)] // documentation missing in model
          16  +
                           /* StructureGenerator.kt:166 */
          17  +
    pub fn top_level(&self) -> &crate::model::TopLevel {
          18  +
        /* StructureGenerator.kt:172 */
          19  +
        &self.top_level
          20  +
        /* StructureGenerator.kt:166 */
          21  +
    }
          22  +
    /* StructureGenerator.kt:135 */
          23  +
}
          24  +
/* ServerCodegenVisitor.kt:356 */
          25  +
impl OperationWithNestedStructureInput {
          26  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
          27  +
    /* ServerBuilderGenerator.kt:295 */
          28  +
    pub fn builder() -> crate::input::operation_with_nested_structure_input::Builder {
          29  +
        /* ServerBuilderGenerator.kt:296 */
          30  +
        crate::input::operation_with_nested_structure_input::Builder::default()
          31  +
        /* ServerBuilderGenerator.kt:295 */
          32  +
    }
          33  +
    /* ServerCodegenVisitor.kt:356 */
          34  +
}
          35  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
          36  +
impl crate::constrained::Constrained for crate::input::OperationWithNestedStructureInput {
          37  +
    type Unconstrained = crate::input::operation_with_nested_structure_input::Builder;
          38  +
}
          39  +
          40  +
/* StructureGenerator.kt:197 */
          41  +
#[allow(missing_docs)] // documentation missing in model
          42  +
/* RustType.kt:534 */
          43  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          44  +
pub /* StructureGenerator.kt:201 */ struct OperationWithDefaultsInput {
          45  +
    /* StructureGenerator.kt:231 */
          46  +
    #[allow(missing_docs)] // documentation missing in model
          47  +
    pub defaults: ::std::option::Option<crate::model::Defaults>,
          48  +
    /* StructureGenerator.kt:231 */
          49  +
    #[allow(missing_docs)] // documentation missing in model
          50  +
    pub client_optional_defaults: ::std::option::Option<crate::model::ClientOptionalDefaults>,
          51  +
    /* StructureGenerator.kt:231 */
          52  +
    #[allow(missing_docs)] // documentation missing in model
          53  +
    pub top_level_default: ::std::string::String,
          54  +
    /* StructureGenerator.kt:231 */
          55  +
    #[allow(missing_docs)] // documentation missing in model
          56  +
    pub other_top_level_default: i32,
          57  +
    /* StructureGenerator.kt:201 */
          58  +
}
          59  +
/* StructureGenerator.kt:135 */
          60  +
impl OperationWithDefaultsInput {
          61  +
    /* StructureGenerator.kt:231 */
          62  +
    #[allow(missing_docs)] // documentation missing in model
          63  +
                           /* StructureGenerator.kt:166 */
          64  +
    pub fn defaults(&self) -> ::std::option::Option<&crate::model::Defaults> {
          65  +
        /* StructureGenerator.kt:170 */
          66  +
        self.defaults.as_ref()
          67  +
        /* StructureGenerator.kt:166 */
          68  +
    }
          69  +
    /* StructureGenerator.kt:231 */
          70  +
    #[allow(missing_docs)] // documentation missing in model
          71  +
                           /* StructureGenerator.kt:166 */
          72  +
    pub fn client_optional_defaults(
          73  +
        &self,
          74  +
    ) -> ::std::option::Option<&crate::model::ClientOptionalDefaults> {
          75  +
        /* StructureGenerator.kt:170 */
          76  +
        self.client_optional_defaults.as_ref()
          77  +
        /* StructureGenerator.kt:166 */
          78  +
    }
          79  +
    /* StructureGenerator.kt:231 */
          80  +
    #[allow(missing_docs)] // documentation missing in model
          81  +
                           /* StructureGenerator.kt:166 */
          82  +
    pub fn top_level_default(&self) -> &str {
          83  +
        /* StructureGenerator.kt:171 */
          84  +
        use std::ops::Deref;
          85  +
        self.top_level_default.deref()
          86  +
        /* StructureGenerator.kt:166 */
          87  +
    }
          88  +
    /* StructureGenerator.kt:231 */
          89  +
    #[allow(missing_docs)] // documentation missing in model
          90  +
                           /* StructureGenerator.kt:166 */
          91  +
    pub fn other_top_level_default(&self) -> i32 {
          92  +
        /* StructureGenerator.kt:168 */
          93  +
        self.other_top_level_default
          94  +
        /* StructureGenerator.kt:166 */
          95  +
    }
          96  +
    /* StructureGenerator.kt:135 */
          97  +
}
          98  +
/* ServerCodegenVisitor.kt:356 */
          99  +
impl OperationWithDefaultsInput {
         100  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
         101  +
    /* ServerBuilderGenerator.kt:295 */
         102  +
    pub fn builder() -> crate::input::operation_with_defaults_input::Builder {
         103  +
        /* ServerBuilderGenerator.kt:296 */
         104  +
        crate::input::operation_with_defaults_input::Builder::default()
         105  +
        /* ServerBuilderGenerator.kt:295 */
         106  +
    }
         107  +
    /* ServerCodegenVisitor.kt:356 */
         108  +
}
         109  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         110  +
impl crate::constrained::Constrained for crate::input::OperationWithDefaultsInput {
         111  +
    type Unconstrained = crate::input::operation_with_defaults_input::Builder;
         112  +
}
         113  +
         114  +
/* StructureGenerator.kt:197 */
         115  +
#[allow(missing_docs)] // documentation missing in model
         116  +
/* RustType.kt:534 */
         117  +
#[derive(
         118  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         119  +
)]
         120  +
pub /* StructureGenerator.kt:201 */ struct ContentTypeParametersInput {
         121  +
    /* StructureGenerator.kt:231 */
         122  +
    #[allow(missing_docs)] // documentation missing in model
         123  +
    pub value: ::std::option::Option<i32>,
         124  +
    /* StructureGenerator.kt:201 */
         125  +
}
         126  +
/* StructureGenerator.kt:135 */
         127  +
impl ContentTypeParametersInput {
         128  +
    /* StructureGenerator.kt:231 */
         129  +
    #[allow(missing_docs)] // documentation missing in model
         130  +
                           /* StructureGenerator.kt:166 */
         131  +
    pub fn value(&self) -> ::std::option::Option<i32> {
         132  +
        /* StructureGenerator.kt:168 */
         133  +
        self.value
         134  +
        /* StructureGenerator.kt:166 */
         135  +
    }
         136  +
    /* StructureGenerator.kt:135 */
         137  +
}
         138  +
/* ServerCodegenVisitor.kt:356 */
         139  +
impl ContentTypeParametersInput {
         140  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
         141  +
    /* ServerBuilderGenerator.kt:295 */
         142  +
    pub fn builder() -> crate::input::content_type_parameters_input::Builder {
         143  +
        /* ServerBuilderGenerator.kt:296 */
         144  +
        crate::input::content_type_parameters_input::Builder::default()
         145  +
        /* ServerBuilderGenerator.kt:295 */
         146  +
    }
         147  +
    /* ServerCodegenVisitor.kt:356 */
         148  +
}
         149  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         150  +
impl crate::constrained::Constrained for crate::input::ContentTypeParametersInput {
         151  +
    type Unconstrained = crate::input::content_type_parameters_input::Builder;
         152  +
}
         153  +
         154  +
/* StructureGenerator.kt:197 */
         155  +
#[allow(missing_docs)] // documentation missing in model
         156  +
/* RustType.kt:534 */
         157  +
#[derive(
         158  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         159  +
)]
         160  +
pub /* StructureGenerator.kt:201 */ struct PutWithContentEncodingInput {
         161  +
    /* StructureGenerator.kt:231 */
         162  +
    #[allow(missing_docs)] // documentation missing in model
         163  +
    pub encoding: ::std::option::Option<::std::string::String>,
         164  +
    /* StructureGenerator.kt:231 */
         165  +
    #[allow(missing_docs)] // documentation missing in model
         166  +
    pub data: ::std::option::Option<::std::string::String>,
         167  +
    /* StructureGenerator.kt:201 */
         168  +
}
         169  +
/* StructureGenerator.kt:135 */
         170  +
impl PutWithContentEncodingInput {
         171  +
    /* StructureGenerator.kt:231 */
         172  +
    #[allow(missing_docs)] // documentation missing in model
         173  +
                           /* StructureGenerator.kt:166 */
         174  +
    pub fn encoding(&self) -> ::std::option::Option<&str> {
         175  +
        /* StructureGenerator.kt:169 */
         176  +
        self.encoding.as_deref()
         177  +
        /* StructureGenerator.kt:166 */
         178  +
    }
         179  +
    /* StructureGenerator.kt:231 */
         180  +
    #[allow(missing_docs)] // documentation missing in model
         181  +
                           /* StructureGenerator.kt:166 */
         182  +
    pub fn data(&self) -> ::std::option::Option<&str> {
         183  +
        /* StructureGenerator.kt:169 */
         184  +
        self.data.as_deref()
         185  +
        /* StructureGenerator.kt:166 */
         186  +
    }
         187  +
    /* StructureGenerator.kt:135 */
         188  +
}
         189  +
/* ServerCodegenVisitor.kt:356 */
         190  +
impl PutWithContentEncodingInput {
         191  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
         192  +
    /* ServerBuilderGenerator.kt:295 */
         193  +
    pub fn builder() -> crate::input::put_with_content_encoding_input::Builder {
         194  +
        /* ServerBuilderGenerator.kt:296 */
         195  +
        crate::input::put_with_content_encoding_input::Builder::default()
         196  +
        /* ServerBuilderGenerator.kt:295 */
         197  +
    }
         198  +
    /* ServerCodegenVisitor.kt:356 */
         199  +
}
         200  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         201  +
impl crate::constrained::Constrained for crate::input::PutWithContentEncodingInput {
         202  +
    type Unconstrained = crate::input::put_with_content_encoding_input::Builder;
         203  +
}
         204  +
         205  +
/* StructureGenerator.kt:197 */
         206  +
#[allow(missing_docs)] // documentation missing in model
         207  +
/* RustType.kt:534 */
         208  +
#[derive(
         209  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         210  +
)]
         211  +
pub /* StructureGenerator.kt:201 */ struct FractionalSecondsInput {/* StructureGenerator.kt:201 */}
         212  +
/* ServerCodegenVisitor.kt:356 */
         213  +
impl FractionalSecondsInput {
         214  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
         215  +
    /* ServerBuilderGenerator.kt:295 */
         216  +
    pub fn builder() -> crate::input::fractional_seconds_input::Builder {
         217  +
        /* ServerBuilderGenerator.kt:296 */
         218  +
        crate::input::fractional_seconds_input::Builder::default()
         219  +
        /* ServerBuilderGenerator.kt:295 */
         220  +
    }
         221  +
    /* ServerCodegenVisitor.kt:356 */
         222  +
}
         223  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         224  +
impl crate::constrained::Constrained for crate::input::FractionalSecondsInput {
         225  +
    type Unconstrained = crate::input::fractional_seconds_input::Builder;
         226  +
}
         227  +
         228  +
/* StructureGenerator.kt:197 */
         229  +
#[allow(missing_docs)] // documentation missing in model
         230  +
/* RustType.kt:534 */
         231  +
#[derive(
         232  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         233  +
)]
         234  +
pub /* StructureGenerator.kt:201 */ struct DatetimeOffsetsInput {/* StructureGenerator.kt:201 */}
         235  +
/* ServerCodegenVisitor.kt:356 */
         236  +
impl DatetimeOffsetsInput {
         237  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
         238  +
    /* ServerBuilderGenerator.kt:295 */
         239  +
    pub fn builder() -> crate::input::datetime_offsets_input::Builder {
         240  +
        /* ServerBuilderGenerator.kt:296 */
         241  +
        crate::input::datetime_offsets_input::Builder::default()
         242  +
        /* ServerBuilderGenerator.kt:295 */
         243  +
    }
         244  +
    /* ServerCodegenVisitor.kt:356 */
         245  +
}
         246  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         247  +
impl crate::constrained::Constrained for crate::input::DatetimeOffsetsInput {
         248  +
    type Unconstrained = crate::input::datetime_offsets_input::Builder;
         249  +
}
         250  +
         251  +
/* StructureGenerator.kt:197 */
         252  +
#[allow(missing_docs)] // documentation missing in model
         253  +
/* RustType.kt:534 */
         254  +
#[derive(
         255  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         256  +
)]
         257  +
pub /* StructureGenerator.kt:201 */ struct TestPostNoInputNoPayloadInput {/* StructureGenerator.kt:201 */}
         258  +
/* ServerCodegenVisitor.kt:356 */
         259  +
impl TestPostNoInputNoPayloadInput {
         260  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
         261  +
    /* ServerBuilderGenerator.kt:295 */
         262  +
    pub fn builder() -> crate::input::test_post_no_input_no_payload_input::Builder {
         263  +
        /* ServerBuilderGenerator.kt:296 */
         264  +
        crate::input::test_post_no_input_no_payload_input::Builder::default()
         265  +
        /* ServerBuilderGenerator.kt:295 */
         266  +
    }
         267  +
    /* ServerCodegenVisitor.kt:356 */
         268  +
}
         269  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         270  +
impl crate::constrained::Constrained for crate::input::TestPostNoInputNoPayloadInput {
         271  +
    type Unconstrained = crate::input::test_post_no_input_no_payload_input::Builder;
         272  +
}
         273  +
         274  +
/* StructureGenerator.kt:197 */
         275  +
#[allow(missing_docs)] // documentation missing in model
         276  +
/* RustType.kt:534 */
         277  +
#[derive(
         278  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         279  +
)]
         280  +
pub /* StructureGenerator.kt:201 */ struct TestGetNoInputNoPayloadInput {/* StructureGenerator.kt:201 */}
         281  +
/* ServerCodegenVisitor.kt:356 */
         282  +
impl TestGetNoInputNoPayloadInput {
         283  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
         284  +
    /* ServerBuilderGenerator.kt:295 */
         285  +
    pub fn builder() -> crate::input::test_get_no_input_no_payload_input::Builder {
         286  +
        /* ServerBuilderGenerator.kt:296 */
         287  +
        crate::input::test_get_no_input_no_payload_input::Builder::default()
         288  +
        /* ServerBuilderGenerator.kt:295 */
         289  +
    }
         290  +
    /* ServerCodegenVisitor.kt:356 */
         291  +
}
         292  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         293  +
impl crate::constrained::Constrained for crate::input::TestGetNoInputNoPayloadInput {
         294  +
    type Unconstrained = crate::input::test_get_no_input_no_payload_input::Builder;
         295  +
}
         296  +
         297  +
/* StructureGenerator.kt:197 */
         298  +
#[allow(missing_docs)] // documentation missing in model
         299  +
/* RustType.kt:534 */
         300  +
#[derive(
         301  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         302  +
)]
         303  +
pub /* StructureGenerator.kt:201 */ struct TestPostNoPayloadInput {
         304  +
    /* StructureGenerator.kt:231 */
         305  +
    #[allow(missing_docs)] // documentation missing in model
         306  +
    pub test_id: ::std::option::Option<::std::string::String>,
         307  +
    /* StructureGenerator.kt:201 */
         308  +
}
         309  +
/* StructureGenerator.kt:135 */
         310  +
impl TestPostNoPayloadInput {
         311  +
    /* StructureGenerator.kt:231 */
         312  +
    #[allow(missing_docs)] // documentation missing in model
         313  +
                           /* StructureGenerator.kt:166 */
         314  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
         315  +
        /* StructureGenerator.kt:169 */
         316  +
        self.test_id.as_deref()
         317  +
        /* StructureGenerator.kt:166 */
         318  +
    }
         319  +
    /* StructureGenerator.kt:135 */
         320  +
}
         321  +
/* ServerCodegenVisitor.kt:356 */
         322  +
impl TestPostNoPayloadInput {
         323  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
         324  +
    /* ServerBuilderGenerator.kt:295 */
         325  +
    pub fn builder() -> crate::input::test_post_no_payload_input::Builder {
         326  +
        /* ServerBuilderGenerator.kt:296 */
         327  +
        crate::input::test_post_no_payload_input::Builder::default()
         328  +
        /* ServerBuilderGenerator.kt:295 */
         329  +
    }
         330  +
    /* ServerCodegenVisitor.kt:356 */
         331  +
}
         332  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         333  +
impl crate::constrained::Constrained for crate::input::TestPostNoPayloadInput {
         334  +
    type Unconstrained = crate::input::test_post_no_payload_input::Builder;
         335  +
}
         336  +
         337  +
/* StructureGenerator.kt:197 */
         338  +
#[allow(missing_docs)] // documentation missing in model
         339  +
/* RustType.kt:534 */
         340  +
#[derive(
         341  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         342  +
)]
         343  +
pub /* StructureGenerator.kt:201 */ struct TestGetNoPayloadInput {
         344  +
    /* StructureGenerator.kt:231 */
         345  +
    #[allow(missing_docs)] // documentation missing in model
         346  +
    pub test_id: ::std::option::Option<::std::string::String>,
         347  +
    /* StructureGenerator.kt:201 */
         348  +
}
         349  +
/* StructureGenerator.kt:135 */
         350  +
impl TestGetNoPayloadInput {
         351  +
    /* StructureGenerator.kt:231 */
         352  +
    #[allow(missing_docs)] // documentation missing in model
         353  +
                           /* StructureGenerator.kt:166 */
         354  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
         355  +
        /* StructureGenerator.kt:169 */
         356  +
        self.test_id.as_deref()
         357  +
        /* StructureGenerator.kt:166 */
         358  +
    }
         359  +
    /* StructureGenerator.kt:135 */
         360  +
}
         361  +
/* ServerCodegenVisitor.kt:356 */
         362  +
impl TestGetNoPayloadInput {
         363  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
         364  +
    /* ServerBuilderGenerator.kt:295 */
         365  +
    pub fn builder() -> crate::input::test_get_no_payload_input::Builder {
         366  +
        /* ServerBuilderGenerator.kt:296 */
         367  +
        crate::input::test_get_no_payload_input::Builder::default()
         368  +
        /* ServerBuilderGenerator.kt:295 */
         369  +
    }
         370  +
    /* ServerCodegenVisitor.kt:356 */
         371  +
}
         372  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         373  +
impl crate::constrained::Constrained for crate::input::TestGetNoPayloadInput {
         374  +
    type Unconstrained = crate::input::test_get_no_payload_input::Builder;
         375  +
}
         376  +
         377  +
/* StructureGenerator.kt:197 */
         378  +
#[allow(missing_docs)] // documentation missing in model
         379  +
/* RustType.kt:534 */
         380  +
#[derive(
         381  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         382  +
)]
         383  +
pub /* StructureGenerator.kt:201 */ struct TestPayloadBlobInput {
         384  +
    /* StructureGenerator.kt:231 */
         385  +
    #[allow(missing_docs)] // documentation missing in model
         386  +
    pub content_type: ::std::option::Option<::std::string::String>,
         387  +
    /* StructureGenerator.kt:231 */
         388  +
    #[allow(missing_docs)] // documentation missing in model
         389  +
    pub data: ::std::option::Option<::aws_smithy_types::Blob>,
         390  +
    /* StructureGenerator.kt:201 */
         391  +
}
         392  +
/* StructureGenerator.kt:135 */
         393  +
impl TestPayloadBlobInput {
         394  +
    /* StructureGenerator.kt:231 */
         395  +
    #[allow(missing_docs)] // documentation missing in model
         396  +
                           /* StructureGenerator.kt:166 */
         397  +
    pub fn content_type(&self) -> ::std::option::Option<&str> {
         398  +
        /* StructureGenerator.kt:169 */
         399  +
        self.content_type.as_deref()
         400  +
        /* StructureGenerator.kt:166 */
         401  +
    }
         402  +
    /* StructureGenerator.kt:231 */
         403  +
    #[allow(missing_docs)] // documentation missing in model
         404  +
                           /* StructureGenerator.kt:166 */
         405  +
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
         406  +
        /* StructureGenerator.kt:170 */
         407  +
        self.data.as_ref()
         408  +
        /* StructureGenerator.kt:166 */
         409  +
    }
         410  +
    /* StructureGenerator.kt:135 */
         411  +
}
         412  +
/* ServerCodegenVisitor.kt:356 */
         413  +
impl TestPayloadBlobInput {
         414  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
         415  +
    /* ServerBuilderGenerator.kt:295 */
         416  +
    pub fn builder() -> crate::input::test_payload_blob_input::Builder {
         417  +
        /* ServerBuilderGenerator.kt:296 */
         418  +
        crate::input::test_payload_blob_input::Builder::default()
         419  +
        /* ServerBuilderGenerator.kt:295 */
         420  +
    }
         421  +
    /* ServerCodegenVisitor.kt:356 */
         422  +
}
         423  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         424  +
impl crate::constrained::Constrained for crate::input::TestPayloadBlobInput {
         425  +
    type Unconstrained = crate::input::test_payload_blob_input::Builder;
         426  +
}
         427  +
         428  +
/* StructureGenerator.kt:197 */
         429  +
#[allow(missing_docs)] // documentation missing in model
         430  +
/* RustType.kt:534 */
         431  +
#[derive(
         432  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         433  +
)]
         434  +
pub /* StructureGenerator.kt:201 */ struct TestPayloadStructureInput {
         435  +
    /* StructureGenerator.kt:231 */
         436  +
    #[allow(missing_docs)] // documentation missing in model
         437  +
    pub test_id: ::std::option::Option<::std::string::String>,
         438  +
    /* StructureGenerator.kt:231 */
         439  +
    #[allow(missing_docs)] // documentation missing in model
         440  +
    pub payload_config: ::std::option::Option<crate::model::PayloadConfig>,
         441  +
    /* StructureGenerator.kt:201 */
         442  +
}
         443  +
/* StructureGenerator.kt:135 */
         444  +
impl TestPayloadStructureInput {
         445  +
    /* StructureGenerator.kt:231 */
         446  +
    #[allow(missing_docs)] // documentation missing in model
         447  +
                           /* StructureGenerator.kt:166 */
         448  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
         449  +
        /* StructureGenerator.kt:169 */
         450  +
        self.test_id.as_deref()
         451  +
        /* StructureGenerator.kt:166 */
         452  +
    }
         453  +
    /* StructureGenerator.kt:231 */
         454  +
    #[allow(missing_docs)] // documentation missing in model
         455  +
                           /* StructureGenerator.kt:166 */
         456  +
    pub fn payload_config(&self) -> ::std::option::Option<&crate::model::PayloadConfig> {
         457  +
        /* StructureGenerator.kt:170 */
         458  +
        self.payload_config.as_ref()
         459  +
        /* StructureGenerator.kt:166 */
         460  +
    }
         461  +
    /* StructureGenerator.kt:135 */
         462  +
}
         463  +
/* ServerCodegenVisitor.kt:356 */
         464  +
impl TestPayloadStructureInput {
         465  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
         466  +
    /* ServerBuilderGenerator.kt:295 */
         467  +
    pub fn builder() -> crate::input::test_payload_structure_input::Builder {
         468  +
        /* ServerBuilderGenerator.kt:296 */
         469  +
        crate::input::test_payload_structure_input::Builder::default()
         470  +
        /* ServerBuilderGenerator.kt:295 */
         471  +
    }
         472  +
    /* ServerCodegenVisitor.kt:356 */
         473  +
}
         474  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         475  +
impl crate::constrained::Constrained for crate::input::TestPayloadStructureInput {
         476  +
    type Unconstrained = crate::input::test_payload_structure_input::Builder;
         477  +
}
         478  +
         479  +
/* StructureGenerator.kt:197 */
         480  +
#[allow(missing_docs)] // documentation missing in model
         481  +
/* RustType.kt:534 */
         482  +
#[derive(
         483  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         484  +
)]
         485  +
pub /* StructureGenerator.kt:201 */ struct TestBodyStructureInput {
         486  +
    /* StructureGenerator.kt:231 */
         487  +
    #[allow(missing_docs)] // documentation missing in model
         488  +
    pub test_id: ::std::option::Option<::std::string::String>,
         489  +
    /* StructureGenerator.kt:231 */
         490  +
    #[allow(missing_docs)] // documentation missing in model
         491  +
    pub test_config: ::std::option::Option<crate::model::TestConfig>,
         492  +
    /* StructureGenerator.kt:201 */
         493  +
}
         494  +
/* StructureGenerator.kt:135 */
         495  +
impl TestBodyStructureInput {
         496  +
    /* StructureGenerator.kt:231 */
         497  +
    #[allow(missing_docs)] // documentation missing in model
         498  +
                           /* StructureGenerator.kt:166 */
         499  +
    pub fn test_id(&self) -> ::std::option::Option<&str> {
         500  +
        /* StructureGenerator.kt:169 */
         501  +
        self.test_id.as_deref()
         502  +
        /* StructureGenerator.kt:166 */
         503  +
    }
         504  +
    /* StructureGenerator.kt:231 */
         505  +
    #[allow(missing_docs)] // documentation missing in model
         506  +
                           /* StructureGenerator.kt:166 */
         507  +
    pub fn test_config(&self) -> ::std::option::Option<&crate::model::TestConfig> {
         508  +
        /* StructureGenerator.kt:170 */
         509  +
        self.test_config.as_ref()
         510  +
        /* StructureGenerator.kt:166 */
         511  +
    }
         512  +
    /* StructureGenerator.kt:135 */
         513  +
}
         514  +
/* ServerCodegenVisitor.kt:356 */
         515  +
impl TestBodyStructureInput {
         516  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
         517  +
    /* ServerBuilderGenerator.kt:295 */
         518  +
    pub fn builder() -> crate::input::test_body_structure_input::Builder {
         519  +
        /* ServerBuilderGenerator.kt:296 */
         520  +
        crate::input::test_body_structure_input::Builder::default()
         521  +
        /* ServerBuilderGenerator.kt:295 */
         522  +
    }
         523  +
    /* ServerCodegenVisitor.kt:356 */
         524  +
}
         525  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         526  +
impl crate::constrained::Constrained for crate::input::TestBodyStructureInput {
         527  +
    type Unconstrained = crate::input::test_body_structure_input::Builder;
         528  +
}
         529  +
         530  +
/* StructureGenerator.kt:197 */
         531  +
#[allow(missing_docs)] // documentation missing in model
         532  +
/* RustType.kt:534 */
         533  +
#[derive(
         534  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         535  +
)]
         536  +
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithGenericStringInput {/* StructureGenerator.kt:201 */}
         537  +
/* ServerCodegenVisitor.kt:356 */
         538  +
impl MalformedAcceptWithGenericStringInput {
         539  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
         540  +
    /* ServerBuilderGenerator.kt:295 */
         541  +
    pub fn builder() -> crate::input::malformed_accept_with_generic_string_input::Builder {
         542  +
        /* ServerBuilderGenerator.kt:296 */
         543  +
        crate::input::malformed_accept_with_generic_string_input::Builder::default()
         544  +
        /* ServerBuilderGenerator.kt:295 */
         545  +
    }
         546  +
    /* ServerCodegenVisitor.kt:356 */
         547  +
}
         548  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         549  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithGenericStringInput {
         550  +
    type Unconstrained = crate::input::malformed_accept_with_generic_string_input::Builder;
         551  +
}
         552  +
         553  +
/* StructureGenerator.kt:197 */
         554  +
#[allow(missing_docs)] // documentation missing in model
         555  +
/* RustType.kt:534 */
         556  +
#[derive(
         557  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         558  +
)]
         559  +
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithPayloadInput {/* StructureGenerator.kt:201 */}
         560  +
/* ServerCodegenVisitor.kt:356 */
         561  +
impl MalformedAcceptWithPayloadInput {
         562  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
         563  +
    /* ServerBuilderGenerator.kt:295 */
         564  +
    pub fn builder() -> crate::input::malformed_accept_with_payload_input::Builder {
         565  +
        /* ServerBuilderGenerator.kt:296 */
         566  +
        crate::input::malformed_accept_with_payload_input::Builder::default()
         567  +
        /* ServerBuilderGenerator.kt:295 */
         568  +
    }
         569  +
    /* ServerCodegenVisitor.kt:356 */
         570  +
}
         571  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         572  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithPayloadInput {
         573  +
    type Unconstrained = crate::input::malformed_accept_with_payload_input::Builder;
         574  +
}
         575  +
         576  +
/* StructureGenerator.kt:197 */
         577  +
#[allow(missing_docs)] // documentation missing in model
         578  +
/* RustType.kt:534 */
         579  +
#[derive(
         580  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         581  +
)]
         582  +
pub /* StructureGenerator.kt:201 */ struct MalformedAcceptWithBodyInput {/* StructureGenerator.kt:201 */}
         583  +
/* ServerCodegenVisitor.kt:356 */
         584  +
impl MalformedAcceptWithBodyInput {
         585  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
         586  +
    /* ServerBuilderGenerator.kt:295 */
         587  +
    pub fn builder() -> crate::input::malformed_accept_with_body_input::Builder {
         588  +
        /* ServerBuilderGenerator.kt:296 */
         589  +
        crate::input::malformed_accept_with_body_input::Builder::default()
         590  +
        /* ServerBuilderGenerator.kt:295 */
         591  +
    }
         592  +
    /* ServerCodegenVisitor.kt:356 */
         593  +
}
         594  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         595  +
impl crate::constrained::Constrained for crate::input::MalformedAcceptWithBodyInput {
         596  +
    type Unconstrained = crate::input::malformed_accept_with_body_input::Builder;
         597  +
}
         598  +
         599  +
/* StructureGenerator.kt:197 */
         600  +
#[allow(missing_docs)] // documentation missing in model
         601  +
/* RustType.kt:534 */
         602  +
#[derive(
         603  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         604  +
)]
         605  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithGenericStringInput {
         606  +
    /* StructureGenerator.kt:231 */
         607  +
    #[allow(missing_docs)] // documentation missing in model
         608  +
    pub payload: ::std::option::Option<::std::string::String>,
         609  +
    /* StructureGenerator.kt:201 */
         610  +
}
         611  +
/* StructureGenerator.kt:135 */
         612  +
impl MalformedContentTypeWithGenericStringInput {
         613  +
    /* StructureGenerator.kt:231 */
         614  +
    #[allow(missing_docs)] // documentation missing in model
         615  +
                           /* StructureGenerator.kt:166 */
         616  +
    pub fn payload(&self) -> ::std::option::Option<&str> {
         617  +
        /* StructureGenerator.kt:169 */
         618  +
        self.payload.as_deref()
         619  +
        /* StructureGenerator.kt:166 */
         620  +
    }
         621  +
    /* StructureGenerator.kt:135 */
         622  +
}
         623  +
/* ServerCodegenVisitor.kt:356 */
         624  +
impl MalformedContentTypeWithGenericStringInput {
         625  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
         626  +
    /* ServerBuilderGenerator.kt:295 */
         627  +
    pub fn builder() -> crate::input::malformed_content_type_with_generic_string_input::Builder {
         628  +
        /* ServerBuilderGenerator.kt:296 */
         629  +
        crate::input::malformed_content_type_with_generic_string_input::Builder::default()
         630  +
        /* ServerBuilderGenerator.kt:295 */
         631  +
    }
         632  +
    /* ServerCodegenVisitor.kt:356 */
         633  +
}
         634  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         635  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithGenericStringInput {
         636  +
    type Unconstrained = crate::input::malformed_content_type_with_generic_string_input::Builder;
         637  +
}
         638  +
         639  +
/* StructureGenerator.kt:197 */
         640  +
#[allow(missing_docs)] // documentation missing in model
         641  +
/* RustType.kt:534 */
         642  +
#[derive(
         643  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         644  +
)]
         645  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithPayloadInput {
         646  +
    /* StructureGenerator.kt:231 */
         647  +
    #[allow(missing_docs)] // documentation missing in model
         648  +
    pub payload: ::std::option::Option<::aws_smithy_types::Blob>,
         649  +
    /* StructureGenerator.kt:201 */
         650  +
}
         651  +
/* StructureGenerator.kt:135 */
         652  +
impl MalformedContentTypeWithPayloadInput {
         653  +
    /* StructureGenerator.kt:231 */
         654  +
    #[allow(missing_docs)] // documentation missing in model
         655  +
                           /* StructureGenerator.kt:166 */
         656  +
    pub fn payload(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
         657  +
        /* StructureGenerator.kt:170 */
         658  +
        self.payload.as_ref()
         659  +
        /* StructureGenerator.kt:166 */
         660  +
    }
         661  +
    /* StructureGenerator.kt:135 */
         662  +
}
         663  +
/* ServerCodegenVisitor.kt:356 */
         664  +
impl MalformedContentTypeWithPayloadInput {
         665  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
         666  +
    /* ServerBuilderGenerator.kt:295 */
         667  +
    pub fn builder() -> crate::input::malformed_content_type_with_payload_input::Builder {
         668  +
        /* ServerBuilderGenerator.kt:296 */
         669  +
        crate::input::malformed_content_type_with_payload_input::Builder::default()
         670  +
        /* ServerBuilderGenerator.kt:295 */
         671  +
    }
         672  +
    /* ServerCodegenVisitor.kt:356 */
         673  +
}
         674  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         675  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithPayloadInput {
         676  +
    type Unconstrained = crate::input::malformed_content_type_with_payload_input::Builder;
         677  +
}
         678  +
         679  +
/* StructureGenerator.kt:197 */
         680  +
#[allow(missing_docs)] // documentation missing in model
         681  +
/* RustType.kt:534 */
         682  +
#[derive(
         683  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         684  +
)]
         685  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithBodyInput {
         686  +
    /* StructureGenerator.kt:231 */
         687  +
    #[allow(missing_docs)] // documentation missing in model
         688  +
    pub hi: ::std::option::Option<::std::string::String>,
         689  +
    /* StructureGenerator.kt:201 */
         690  +
}
         691  +
/* StructureGenerator.kt:135 */
         692  +
impl MalformedContentTypeWithBodyInput {
         693  +
    /* StructureGenerator.kt:231 */
         694  +
    #[allow(missing_docs)] // documentation missing in model
         695  +
                           /* StructureGenerator.kt:166 */
         696  +
    pub fn hi(&self) -> ::std::option::Option<&str> {
         697  +
        /* StructureGenerator.kt:169 */
         698  +
        self.hi.as_deref()
         699  +
        /* StructureGenerator.kt:166 */
         700  +
    }
         701  +
    /* StructureGenerator.kt:135 */
         702  +
}
         703  +
/* ServerCodegenVisitor.kt:356 */
         704  +
impl MalformedContentTypeWithBodyInput {
         705  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
         706  +
    /* ServerBuilderGenerator.kt:295 */
         707  +
    pub fn builder() -> crate::input::malformed_content_type_with_body_input::Builder {
         708  +
        /* ServerBuilderGenerator.kt:296 */
         709  +
        crate::input::malformed_content_type_with_body_input::Builder::default()
         710  +
        /* ServerBuilderGenerator.kt:295 */
         711  +
    }
         712  +
    /* ServerCodegenVisitor.kt:356 */
         713  +
}
         714  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         715  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithBodyInput {
         716  +
    type Unconstrained = crate::input::malformed_content_type_with_body_input::Builder;
         717  +
}
         718  +
         719  +
/* StructureGenerator.kt:197 */
         720  +
#[allow(missing_docs)] // documentation missing in model
         721  +
/* RustType.kt:534 */
         722  +
#[derive(
         723  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         724  +
)]
         725  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithoutBodyEmptyInputInput {
         726  +
    /* StructureGenerator.kt:231 */
         727  +
    #[allow(missing_docs)] // documentation missing in model
         728  +
    pub header: ::std::option::Option<::std::string::String>,
         729  +
    /* StructureGenerator.kt:201 */
         730  +
}
         731  +
/* StructureGenerator.kt:135 */
         732  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
         733  +
    /* StructureGenerator.kt:231 */
         734  +
    #[allow(missing_docs)] // documentation missing in model
         735  +
                           /* StructureGenerator.kt:166 */
         736  +
    pub fn header(&self) -> ::std::option::Option<&str> {
         737  +
        /* StructureGenerator.kt:169 */
         738  +
        self.header.as_deref()
         739  +
        /* StructureGenerator.kt:166 */
         740  +
    }
         741  +
    /* StructureGenerator.kt:135 */
         742  +
}
         743  +
/* ServerCodegenVisitor.kt:356 */
         744  +
impl MalformedContentTypeWithoutBodyEmptyInputInput {
         745  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
         746  +
    /* ServerBuilderGenerator.kt:295 */
         747  +
    pub fn builder() -> crate::input::malformed_content_type_without_body_empty_input_input::Builder
         748  +
    {
         749  +
        /* ServerBuilderGenerator.kt:296 */
         750  +
        crate::input::malformed_content_type_without_body_empty_input_input::Builder::default()
         751  +
        /* ServerBuilderGenerator.kt:295 */
         752  +
    }
         753  +
    /* ServerCodegenVisitor.kt:356 */
         754  +
}
         755  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         756  +
impl crate::constrained::Constrained
         757  +
    for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
         758  +
{
         759  +
    type Unconstrained =
         760  +
        crate::input::malformed_content_type_without_body_empty_input_input::Builder;
         761  +
}
         762  +
         763  +
/* StructureGenerator.kt:197 */
         764  +
#[allow(missing_docs)] // documentation missing in model
         765  +
/* RustType.kt:534 */
         766  +
#[derive(
         767  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         768  +
)]
         769  +
pub /* StructureGenerator.kt:201 */ struct MalformedContentTypeWithoutBodyInput {/* StructureGenerator.kt:201 */}
         770  +
/* ServerCodegenVisitor.kt:356 */
         771  +
impl MalformedContentTypeWithoutBodyInput {
         772  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
         773  +
    /* ServerBuilderGenerator.kt:295 */
         774  +
    pub fn builder() -> crate::input::malformed_content_type_without_body_input::Builder {
         775  +
        /* ServerBuilderGenerator.kt:296 */
         776  +
        crate::input::malformed_content_type_without_body_input::Builder::default()
         777  +
        /* ServerBuilderGenerator.kt:295 */
         778  +
    }
         779  +
    /* ServerCodegenVisitor.kt:356 */
         780  +
}
         781  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         782  +
impl crate::constrained::Constrained for crate::input::MalformedContentTypeWithoutBodyInput {
         783  +
    type Unconstrained = crate::input::malformed_content_type_without_body_input::Builder;
         784  +
}
         785  +
         786  +
/* StructureGenerator.kt:197 */
         787  +
#[allow(missing_docs)] // documentation missing in model
         788  +
/* RustType.kt:534 */
         789  +
#[derive(
         790  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         791  +
)]
         792  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyHttpDateInput {
         793  +
    /* StructureGenerator.kt:231 */
         794  +
    #[allow(missing_docs)] // documentation missing in model
         795  +
    pub timestamp: ::aws_smithy_types::DateTime,
         796  +
    /* StructureGenerator.kt:201 */
         797  +
}
         798  +
/* StructureGenerator.kt:135 */
         799  +
impl MalformedTimestampBodyHttpDateInput {
         800  +
    /* StructureGenerator.kt:231 */
         801  +
    #[allow(missing_docs)] // documentation missing in model
         802  +
                           /* StructureGenerator.kt:166 */
         803  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         804  +
        /* StructureGenerator.kt:172 */
         805  +
        &self.timestamp
         806  +
        /* StructureGenerator.kt:166 */
         807  +
    }
         808  +
    /* StructureGenerator.kt:135 */
         809  +
}
         810  +
/* ServerCodegenVisitor.kt:356 */
         811  +
impl MalformedTimestampBodyHttpDateInput {
         812  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
         813  +
    /* ServerBuilderGenerator.kt:295 */
         814  +
    pub fn builder() -> crate::input::malformed_timestamp_body_http_date_input::Builder {
         815  +
        /* ServerBuilderGenerator.kt:296 */
         816  +
        crate::input::malformed_timestamp_body_http_date_input::Builder::default()
         817  +
        /* ServerBuilderGenerator.kt:295 */
         818  +
    }
         819  +
    /* ServerCodegenVisitor.kt:356 */
         820  +
}
         821  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         822  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyHttpDateInput {
         823  +
    type Unconstrained = crate::input::malformed_timestamp_body_http_date_input::Builder;
         824  +
}
         825  +
         826  +
/* StructureGenerator.kt:197 */
         827  +
#[allow(missing_docs)] // documentation missing in model
         828  +
/* RustType.kt:534 */
         829  +
#[derive(
         830  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         831  +
)]
         832  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyDateTimeInput {
         833  +
    /* StructureGenerator.kt:231 */
         834  +
    #[allow(missing_docs)] // documentation missing in model
         835  +
    pub timestamp: ::aws_smithy_types::DateTime,
         836  +
    /* StructureGenerator.kt:201 */
         837  +
}
         838  +
/* StructureGenerator.kt:135 */
         839  +
impl MalformedTimestampBodyDateTimeInput {
         840  +
    /* StructureGenerator.kt:231 */
         841  +
    #[allow(missing_docs)] // documentation missing in model
         842  +
                           /* StructureGenerator.kt:166 */
         843  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         844  +
        /* StructureGenerator.kt:172 */
         845  +
        &self.timestamp
         846  +
        /* StructureGenerator.kt:166 */
         847  +
    }
         848  +
    /* StructureGenerator.kt:135 */
         849  +
}
         850  +
/* ServerCodegenVisitor.kt:356 */
         851  +
impl MalformedTimestampBodyDateTimeInput {
         852  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
         853  +
    /* ServerBuilderGenerator.kt:295 */
         854  +
    pub fn builder() -> crate::input::malformed_timestamp_body_date_time_input::Builder {
         855  +
        /* ServerBuilderGenerator.kt:296 */
         856  +
        crate::input::malformed_timestamp_body_date_time_input::Builder::default()
         857  +
        /* ServerBuilderGenerator.kt:295 */
         858  +
    }
         859  +
    /* ServerCodegenVisitor.kt:356 */
         860  +
}
         861  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         862  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDateTimeInput {
         863  +
    type Unconstrained = crate::input::malformed_timestamp_body_date_time_input::Builder;
         864  +
}
         865  +
         866  +
/* StructureGenerator.kt:197 */
         867  +
#[allow(missing_docs)] // documentation missing in model
         868  +
/* RustType.kt:534 */
         869  +
#[derive(
         870  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         871  +
)]
         872  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampBodyDefaultInput {
         873  +
    /* StructureGenerator.kt:231 */
         874  +
    #[allow(missing_docs)] // documentation missing in model
         875  +
    pub timestamp: ::aws_smithy_types::DateTime,
         876  +
    /* StructureGenerator.kt:201 */
         877  +
}
         878  +
/* StructureGenerator.kt:135 */
         879  +
impl MalformedTimestampBodyDefaultInput {
         880  +
    /* StructureGenerator.kt:231 */
         881  +
    #[allow(missing_docs)] // documentation missing in model
         882  +
                           /* StructureGenerator.kt:166 */
         883  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         884  +
        /* StructureGenerator.kt:172 */
         885  +
        &self.timestamp
         886  +
        /* StructureGenerator.kt:166 */
         887  +
    }
         888  +
    /* StructureGenerator.kt:135 */
         889  +
}
         890  +
/* ServerCodegenVisitor.kt:356 */
         891  +
impl MalformedTimestampBodyDefaultInput {
         892  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
         893  +
    /* ServerBuilderGenerator.kt:295 */
         894  +
    pub fn builder() -> crate::input::malformed_timestamp_body_default_input::Builder {
         895  +
        /* ServerBuilderGenerator.kt:296 */
         896  +
        crate::input::malformed_timestamp_body_default_input::Builder::default()
         897  +
        /* ServerBuilderGenerator.kt:295 */
         898  +
    }
         899  +
    /* ServerCodegenVisitor.kt:356 */
         900  +
}
         901  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         902  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampBodyDefaultInput {
         903  +
    type Unconstrained = crate::input::malformed_timestamp_body_default_input::Builder;
         904  +
}
         905  +
         906  +
/* StructureGenerator.kt:197 */
         907  +
#[allow(missing_docs)] // documentation missing in model
         908  +
/* RustType.kt:534 */
         909  +
#[derive(
         910  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         911  +
)]
         912  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderEpochInput {
         913  +
    /* StructureGenerator.kt:231 */
         914  +
    #[allow(missing_docs)] // documentation missing in model
         915  +
    pub timestamp: ::aws_smithy_types::DateTime,
         916  +
    /* StructureGenerator.kt:201 */
         917  +
}
         918  +
/* StructureGenerator.kt:135 */
         919  +
impl MalformedTimestampHeaderEpochInput {
         920  +
    /* StructureGenerator.kt:231 */
         921  +
    #[allow(missing_docs)] // documentation missing in model
         922  +
                           /* StructureGenerator.kt:166 */
         923  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         924  +
        /* StructureGenerator.kt:172 */
         925  +
        &self.timestamp
         926  +
        /* StructureGenerator.kt:166 */
         927  +
    }
         928  +
    /* StructureGenerator.kt:135 */
         929  +
}
         930  +
/* ServerCodegenVisitor.kt:356 */
         931  +
impl MalformedTimestampHeaderEpochInput {
         932  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
         933  +
    /* ServerBuilderGenerator.kt:295 */
         934  +
    pub fn builder() -> crate::input::malformed_timestamp_header_epoch_input::Builder {
         935  +
        /* ServerBuilderGenerator.kt:296 */
         936  +
        crate::input::malformed_timestamp_header_epoch_input::Builder::default()
         937  +
        /* ServerBuilderGenerator.kt:295 */
         938  +
    }
         939  +
    /* ServerCodegenVisitor.kt:356 */
         940  +
}
         941  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         942  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderEpochInput {
         943  +
    type Unconstrained = crate::input::malformed_timestamp_header_epoch_input::Builder;
         944  +
}
         945  +
         946  +
/* StructureGenerator.kt:197 */
         947  +
#[allow(missing_docs)] // documentation missing in model
         948  +
/* RustType.kt:534 */
         949  +
#[derive(
         950  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         951  +
)]
         952  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderDateTimeInput {
         953  +
    /* StructureGenerator.kt:231 */
         954  +
    #[allow(missing_docs)] // documentation missing in model
         955  +
    pub timestamp: ::aws_smithy_types::DateTime,
         956  +
    /* StructureGenerator.kt:201 */
         957  +
}
         958  +
/* StructureGenerator.kt:135 */
         959  +
impl MalformedTimestampHeaderDateTimeInput {
         960  +
    /* StructureGenerator.kt:231 */
         961  +
    #[allow(missing_docs)] // documentation missing in model
         962  +
                           /* StructureGenerator.kt:166 */
         963  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
         964  +
        /* StructureGenerator.kt:172 */
         965  +
        &self.timestamp
         966  +
        /* StructureGenerator.kt:166 */
         967  +
    }
         968  +
    /* StructureGenerator.kt:135 */
         969  +
}
         970  +
/* ServerCodegenVisitor.kt:356 */
         971  +
impl MalformedTimestampHeaderDateTimeInput {
         972  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
         973  +
    /* ServerBuilderGenerator.kt:295 */
         974  +
    pub fn builder() -> crate::input::malformed_timestamp_header_date_time_input::Builder {
         975  +
        /* ServerBuilderGenerator.kt:296 */
         976  +
        crate::input::malformed_timestamp_header_date_time_input::Builder::default()
         977  +
        /* ServerBuilderGenerator.kt:295 */
         978  +
    }
         979  +
    /* ServerCodegenVisitor.kt:356 */
         980  +
}
         981  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
         982  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDateTimeInput {
         983  +
    type Unconstrained = crate::input::malformed_timestamp_header_date_time_input::Builder;
         984  +
}
         985  +
         986  +
/* StructureGenerator.kt:197 */
         987  +
#[allow(missing_docs)] // documentation missing in model
         988  +
/* RustType.kt:534 */
         989  +
#[derive(
         990  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         991  +
)]
         992  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampHeaderDefaultInput {
         993  +
    /* StructureGenerator.kt:231 */
         994  +
    #[allow(missing_docs)] // documentation missing in model
         995  +
    pub timestamp: ::aws_smithy_types::DateTime,
         996  +
    /* StructureGenerator.kt:201 */
         997  +
}
         998  +
/* StructureGenerator.kt:135 */
         999  +
impl MalformedTimestampHeaderDefaultInput {
        1000  +
    /* StructureGenerator.kt:231 */
        1001  +
    #[allow(missing_docs)] // documentation missing in model
        1002  +
                           /* StructureGenerator.kt:166 */
        1003  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1004  +
        /* StructureGenerator.kt:172 */
        1005  +
        &self.timestamp
        1006  +
        /* StructureGenerator.kt:166 */
        1007  +
    }
        1008  +
    /* StructureGenerator.kt:135 */
        1009  +
}
        1010  +
/* ServerCodegenVisitor.kt:356 */
        1011  +
impl MalformedTimestampHeaderDefaultInput {
        1012  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
        1013  +
    /* ServerBuilderGenerator.kt:295 */
        1014  +
    pub fn builder() -> crate::input::malformed_timestamp_header_default_input::Builder {
        1015  +
        /* ServerBuilderGenerator.kt:296 */
        1016  +
        crate::input::malformed_timestamp_header_default_input::Builder::default()
        1017  +
        /* ServerBuilderGenerator.kt:295 */
        1018  +
    }
        1019  +
    /* ServerCodegenVisitor.kt:356 */
        1020  +
}
        1021  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1022  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampHeaderDefaultInput {
        1023  +
    type Unconstrained = crate::input::malformed_timestamp_header_default_input::Builder;
        1024  +
}
        1025  +
        1026  +
/* StructureGenerator.kt:197 */
        1027  +
#[allow(missing_docs)] // documentation missing in model
        1028  +
/* RustType.kt:534 */
        1029  +
#[derive(
        1030  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1031  +
)]
        1032  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryEpochInput {
        1033  +
    /* StructureGenerator.kt:231 */
        1034  +
    #[allow(missing_docs)] // documentation missing in model
        1035  +
    pub timestamp: ::aws_smithy_types::DateTime,
        1036  +
    /* StructureGenerator.kt:201 */
        1037  +
}
        1038  +
/* StructureGenerator.kt:135 */
        1039  +
impl MalformedTimestampQueryEpochInput {
        1040  +
    /* StructureGenerator.kt:231 */
        1041  +
    #[allow(missing_docs)] // documentation missing in model
        1042  +
                           /* StructureGenerator.kt:166 */
        1043  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1044  +
        /* StructureGenerator.kt:172 */
        1045  +
        &self.timestamp
        1046  +
        /* StructureGenerator.kt:166 */
        1047  +
    }
        1048  +
    /* StructureGenerator.kt:135 */
        1049  +
}
        1050  +
/* ServerCodegenVisitor.kt:356 */
        1051  +
impl MalformedTimestampQueryEpochInput {
        1052  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
        1053  +
    /* ServerBuilderGenerator.kt:295 */
        1054  +
    pub fn builder() -> crate::input::malformed_timestamp_query_epoch_input::Builder {
        1055  +
        /* ServerBuilderGenerator.kt:296 */
        1056  +
        crate::input::malformed_timestamp_query_epoch_input::Builder::default()
        1057  +
        /* ServerBuilderGenerator.kt:295 */
        1058  +
    }
        1059  +
    /* ServerCodegenVisitor.kt:356 */
        1060  +
}
        1061  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1062  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryEpochInput {
        1063  +
    type Unconstrained = crate::input::malformed_timestamp_query_epoch_input::Builder;
        1064  +
}
        1065  +
        1066  +
/* StructureGenerator.kt:197 */
        1067  +
#[allow(missing_docs)] // documentation missing in model
        1068  +
/* RustType.kt:534 */
        1069  +
#[derive(
        1070  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1071  +
)]
        1072  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryHttpDateInput {
        1073  +
    /* StructureGenerator.kt:231 */
        1074  +
    #[allow(missing_docs)] // documentation missing in model
        1075  +
    pub timestamp: ::aws_smithy_types::DateTime,
        1076  +
    /* StructureGenerator.kt:201 */
        1077  +
}
        1078  +
/* StructureGenerator.kt:135 */
        1079  +
impl MalformedTimestampQueryHttpDateInput {
        1080  +
    /* StructureGenerator.kt:231 */
        1081  +
    #[allow(missing_docs)] // documentation missing in model
        1082  +
                           /* StructureGenerator.kt:166 */
        1083  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1084  +
        /* StructureGenerator.kt:172 */
        1085  +
        &self.timestamp
        1086  +
        /* StructureGenerator.kt:166 */
        1087  +
    }
        1088  +
    /* StructureGenerator.kt:135 */
        1089  +
}
        1090  +
/* ServerCodegenVisitor.kt:356 */
        1091  +
impl MalformedTimestampQueryHttpDateInput {
        1092  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
        1093  +
    /* ServerBuilderGenerator.kt:295 */
        1094  +
    pub fn builder() -> crate::input::malformed_timestamp_query_http_date_input::Builder {
        1095  +
        /* ServerBuilderGenerator.kt:296 */
        1096  +
        crate::input::malformed_timestamp_query_http_date_input::Builder::default()
        1097  +
        /* ServerBuilderGenerator.kt:295 */
        1098  +
    }
        1099  +
    /* ServerCodegenVisitor.kt:356 */
        1100  +
}
        1101  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1102  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryHttpDateInput {
        1103  +
    type Unconstrained = crate::input::malformed_timestamp_query_http_date_input::Builder;
        1104  +
}
        1105  +
        1106  +
/* StructureGenerator.kt:197 */
        1107  +
#[allow(missing_docs)] // documentation missing in model
        1108  +
/* RustType.kt:534 */
        1109  +
#[derive(
        1110  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1111  +
)]
        1112  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampQueryDefaultInput {
        1113  +
    /* StructureGenerator.kt:231 */
        1114  +
    #[allow(missing_docs)] // documentation missing in model
        1115  +
    pub timestamp: ::aws_smithy_types::DateTime,
        1116  +
    /* StructureGenerator.kt:201 */
        1117  +
}
        1118  +
/* StructureGenerator.kt:135 */
        1119  +
impl MalformedTimestampQueryDefaultInput {
        1120  +
    /* StructureGenerator.kt:231 */
        1121  +
    #[allow(missing_docs)] // documentation missing in model
        1122  +
                           /* StructureGenerator.kt:166 */
        1123  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1124  +
        /* StructureGenerator.kt:172 */
        1125  +
        &self.timestamp
        1126  +
        /* StructureGenerator.kt:166 */
        1127  +
    }
        1128  +
    /* StructureGenerator.kt:135 */
        1129  +
}
        1130  +
/* ServerCodegenVisitor.kt:356 */
        1131  +
impl MalformedTimestampQueryDefaultInput {
        1132  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
        1133  +
    /* ServerBuilderGenerator.kt:295 */
        1134  +
    pub fn builder() -> crate::input::malformed_timestamp_query_default_input::Builder {
        1135  +
        /* ServerBuilderGenerator.kt:296 */
        1136  +
        crate::input::malformed_timestamp_query_default_input::Builder::default()
        1137  +
        /* ServerBuilderGenerator.kt:295 */
        1138  +
    }
        1139  +
    /* ServerCodegenVisitor.kt:356 */
        1140  +
}
        1141  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1142  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampQueryDefaultInput {
        1143  +
    type Unconstrained = crate::input::malformed_timestamp_query_default_input::Builder;
        1144  +
}
        1145  +
        1146  +
/* StructureGenerator.kt:197 */
        1147  +
#[allow(missing_docs)] // documentation missing in model
        1148  +
/* RustType.kt:534 */
        1149  +
#[derive(
        1150  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1151  +
)]
        1152  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathEpochInput {
        1153  +
    /* StructureGenerator.kt:231 */
        1154  +
    #[allow(missing_docs)] // documentation missing in model
        1155  +
    pub timestamp: ::aws_smithy_types::DateTime,
        1156  +
    /* StructureGenerator.kt:201 */
        1157  +
}
        1158  +
/* StructureGenerator.kt:135 */
        1159  +
impl MalformedTimestampPathEpochInput {
        1160  +
    /* StructureGenerator.kt:231 */
        1161  +
    #[allow(missing_docs)] // documentation missing in model
        1162  +
                           /* StructureGenerator.kt:166 */
        1163  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1164  +
        /* StructureGenerator.kt:172 */
        1165  +
        &self.timestamp
        1166  +
        /* StructureGenerator.kt:166 */
        1167  +
    }
        1168  +
    /* StructureGenerator.kt:135 */
        1169  +
}
        1170  +
/* ServerCodegenVisitor.kt:356 */
        1171  +
impl MalformedTimestampPathEpochInput {
        1172  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        1173  +
    /* ServerBuilderGenerator.kt:295 */
        1174  +
    pub fn builder() -> crate::input::malformed_timestamp_path_epoch_input::Builder {
        1175  +
        /* ServerBuilderGenerator.kt:296 */
        1176  +
        crate::input::malformed_timestamp_path_epoch_input::Builder::default()
        1177  +
        /* ServerBuilderGenerator.kt:295 */
        1178  +
    }
        1179  +
    /* ServerCodegenVisitor.kt:356 */
        1180  +
}
        1181  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1182  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathEpochInput {
        1183  +
    type Unconstrained = crate::input::malformed_timestamp_path_epoch_input::Builder;
        1184  +
}
        1185  +
        1186  +
/* StructureGenerator.kt:197 */
        1187  +
#[allow(missing_docs)] // documentation missing in model
        1188  +
/* RustType.kt:534 */
        1189  +
#[derive(
        1190  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1191  +
)]
        1192  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathHttpDateInput {
        1193  +
    /* StructureGenerator.kt:231 */
        1194  +
    #[allow(missing_docs)] // documentation missing in model
        1195  +
    pub timestamp: ::aws_smithy_types::DateTime,
        1196  +
    /* StructureGenerator.kt:201 */
        1197  +
}
        1198  +
/* StructureGenerator.kt:135 */
        1199  +
impl MalformedTimestampPathHttpDateInput {
        1200  +
    /* StructureGenerator.kt:231 */
        1201  +
    #[allow(missing_docs)] // documentation missing in model
        1202  +
                           /* StructureGenerator.kt:166 */
        1203  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1204  +
        /* StructureGenerator.kt:172 */
        1205  +
        &self.timestamp
        1206  +
        /* StructureGenerator.kt:166 */
        1207  +
    }
        1208  +
    /* StructureGenerator.kt:135 */
        1209  +
}
        1210  +
/* ServerCodegenVisitor.kt:356 */
        1211  +
impl MalformedTimestampPathHttpDateInput {
        1212  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        1213  +
    /* ServerBuilderGenerator.kt:295 */
        1214  +
    pub fn builder() -> crate::input::malformed_timestamp_path_http_date_input::Builder {
        1215  +
        /* ServerBuilderGenerator.kt:296 */
        1216  +
        crate::input::malformed_timestamp_path_http_date_input::Builder::default()
        1217  +
        /* ServerBuilderGenerator.kt:295 */
        1218  +
    }
        1219  +
    /* ServerCodegenVisitor.kt:356 */
        1220  +
}
        1221  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1222  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathHttpDateInput {
        1223  +
    type Unconstrained = crate::input::malformed_timestamp_path_http_date_input::Builder;
        1224  +
}
        1225  +
        1226  +
/* StructureGenerator.kt:197 */
        1227  +
#[allow(missing_docs)] // documentation missing in model
        1228  +
/* RustType.kt:534 */
        1229  +
#[derive(
        1230  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1231  +
)]
        1232  +
pub /* StructureGenerator.kt:201 */ struct MalformedTimestampPathDefaultInput {
        1233  +
    /* StructureGenerator.kt:231 */
        1234  +
    #[allow(missing_docs)] // documentation missing in model
        1235  +
    pub timestamp: ::aws_smithy_types::DateTime,
        1236  +
    /* StructureGenerator.kt:201 */
        1237  +
}
        1238  +
/* StructureGenerator.kt:135 */
        1239  +
impl MalformedTimestampPathDefaultInput {
        1240  +
    /* StructureGenerator.kt:231 */
        1241  +
    #[allow(missing_docs)] // documentation missing in model
        1242  +
                           /* StructureGenerator.kt:166 */
        1243  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        1244  +
        /* StructureGenerator.kt:172 */
        1245  +
        &self.timestamp
        1246  +
        /* StructureGenerator.kt:166 */
        1247  +
    }
        1248  +
    /* StructureGenerator.kt:135 */
        1249  +
}
        1250  +
/* ServerCodegenVisitor.kt:356 */
        1251  +
impl MalformedTimestampPathDefaultInput {
        1252  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
        1253  +
    /* ServerBuilderGenerator.kt:295 */
        1254  +
    pub fn builder() -> crate::input::malformed_timestamp_path_default_input::Builder {
        1255  +
        /* ServerBuilderGenerator.kt:296 */
        1256  +
        crate::input::malformed_timestamp_path_default_input::Builder::default()
        1257  +
        /* ServerBuilderGenerator.kt:295 */
        1258  +
    }
        1259  +
    /* ServerCodegenVisitor.kt:356 */
        1260  +
}
        1261  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1262  +
impl crate::constrained::Constrained for crate::input::MalformedTimestampPathDefaultInput {
        1263  +
    type Unconstrained = crate::input::malformed_timestamp_path_default_input::Builder;
        1264  +
}
        1265  +
        1266  +
/* StructureGenerator.kt:197 */
        1267  +
#[allow(missing_docs)] // documentation missing in model
        1268  +
/* RustType.kt:534 */
        1269  +
#[derive(
        1270  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1271  +
)]
        1272  +
pub /* StructureGenerator.kt:201 */ struct MalformedStringInput {
        1273  +
    /* StructureGenerator.kt:231 */
        1274  +
    #[allow(missing_docs)] // documentation missing in model
        1275  +
    pub blob: ::std::option::Option<::std::string::String>,
        1276  +
    /* StructureGenerator.kt:201 */
        1277  +
}
        1278  +
/* StructureGenerator.kt:135 */
        1279  +
impl MalformedStringInput {
        1280  +
    /* StructureGenerator.kt:231 */
        1281  +
    #[allow(missing_docs)] // documentation missing in model
        1282  +
                           /* StructureGenerator.kt:166 */
        1283  +
    pub fn blob(&self) -> ::std::option::Option<&str> {
        1284  +
        /* StructureGenerator.kt:169 */
        1285  +
        self.blob.as_deref()
        1286  +
        /* StructureGenerator.kt:166 */
        1287  +
    }
        1288  +
    /* StructureGenerator.kt:135 */
        1289  +
}
        1290  +
/* ServerCodegenVisitor.kt:356 */
        1291  +
impl MalformedStringInput {
        1292  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedStringInput`](crate::input::MalformedStringInput).
        1293  +
    /* ServerBuilderGenerator.kt:295 */
        1294  +
    pub fn builder() -> crate::input::malformed_string_input::Builder {
        1295  +
        /* ServerBuilderGenerator.kt:296 */
        1296  +
        crate::input::malformed_string_input::Builder::default()
        1297  +
        /* ServerBuilderGenerator.kt:295 */
        1298  +
    }
        1299  +
    /* ServerCodegenVisitor.kt:356 */
        1300  +
}
        1301  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1302  +
impl crate::constrained::Constrained for crate::input::MalformedStringInput {
        1303  +
    type Unconstrained = crate::input::malformed_string_input::Builder;
        1304  +
}
        1305  +
        1306  +
/* StructureGenerator.kt:197 */
        1307  +
#[allow(missing_docs)] // documentation missing in model
        1308  +
/* RustType.kt:534 */
        1309  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1310  +
pub /* StructureGenerator.kt:201 */ struct MalformedDoubleInput {
        1311  +
    /* StructureGenerator.kt:231 */
        1312  +
    #[allow(missing_docs)] // documentation missing in model
        1313  +
    pub double_in_body: ::std::option::Option<f64>,
        1314  +
    /* StructureGenerator.kt:231 */
        1315  +
    #[allow(missing_docs)] // documentation missing in model
        1316  +
    pub double_in_path: f64,
        1317  +
    /* StructureGenerator.kt:231 */
        1318  +
    #[allow(missing_docs)] // documentation missing in model
        1319  +
    pub double_in_query: ::std::option::Option<f64>,
        1320  +
    /* StructureGenerator.kt:231 */
        1321  +
    #[allow(missing_docs)] // documentation missing in model
        1322  +
    pub double_in_header: ::std::option::Option<f64>,
        1323  +
    /* StructureGenerator.kt:201 */
        1324  +
}
        1325  +
/* StructureGenerator.kt:135 */
        1326  +
impl MalformedDoubleInput {
        1327  +
    /* StructureGenerator.kt:231 */
        1328  +
    #[allow(missing_docs)] // documentation missing in model
        1329  +
                           /* StructureGenerator.kt:166 */
        1330  +
    pub fn double_in_body(&self) -> ::std::option::Option<f64> {
        1331  +
        /* StructureGenerator.kt:168 */
        1332  +
        self.double_in_body
        1333  +
        /* StructureGenerator.kt:166 */
        1334  +
    }
        1335  +
    /* StructureGenerator.kt:231 */
        1336  +
    #[allow(missing_docs)] // documentation missing in model
        1337  +
                           /* StructureGenerator.kt:166 */
        1338  +
    pub fn double_in_path(&self) -> f64 {
        1339  +
        /* StructureGenerator.kt:168 */
        1340  +
        self.double_in_path
        1341  +
        /* StructureGenerator.kt:166 */
        1342  +
    }
        1343  +
    /* StructureGenerator.kt:231 */
        1344  +
    #[allow(missing_docs)] // documentation missing in model
        1345  +
                           /* StructureGenerator.kt:166 */
        1346  +
    pub fn double_in_query(&self) -> ::std::option::Option<f64> {
        1347  +
        /* StructureGenerator.kt:168 */
        1348  +
        self.double_in_query
        1349  +
        /* StructureGenerator.kt:166 */
        1350  +
    }
        1351  +
    /* StructureGenerator.kt:231 */
        1352  +
    #[allow(missing_docs)] // documentation missing in model
        1353  +
                           /* StructureGenerator.kt:166 */
        1354  +
    pub fn double_in_header(&self) -> ::std::option::Option<f64> {
        1355  +
        /* StructureGenerator.kt:168 */
        1356  +
        self.double_in_header
        1357  +
        /* StructureGenerator.kt:166 */
        1358  +
    }
        1359  +
    /* StructureGenerator.kt:135 */
        1360  +
}
        1361  +
/* ServerCodegenVisitor.kt:356 */
        1362  +
impl MalformedDoubleInput {
        1363  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
        1364  +
    /* ServerBuilderGenerator.kt:295 */
        1365  +
    pub fn builder() -> crate::input::malformed_double_input::Builder {
        1366  +
        /* ServerBuilderGenerator.kt:296 */
        1367  +
        crate::input::malformed_double_input::Builder::default()
        1368  +
        /* ServerBuilderGenerator.kt:295 */
        1369  +
    }
        1370  +
    /* ServerCodegenVisitor.kt:356 */
        1371  +
}
        1372  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1373  +
impl crate::constrained::Constrained for crate::input::MalformedDoubleInput {
        1374  +
    type Unconstrained = crate::input::malformed_double_input::Builder;
        1375  +
}
        1376  +
        1377  +
/* StructureGenerator.kt:197 */
        1378  +
#[allow(missing_docs)] // documentation missing in model
        1379  +
/* RustType.kt:534 */
        1380  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1381  +
pub /* StructureGenerator.kt:201 */ struct MalformedFloatInput {
        1382  +
    /* StructureGenerator.kt:231 */
        1383  +
    #[allow(missing_docs)] // documentation missing in model
        1384  +
    pub float_in_body: ::std::option::Option<f32>,
        1385  +
    /* StructureGenerator.kt:231 */
        1386  +
    #[allow(missing_docs)] // documentation missing in model
        1387  +
    pub float_in_path: f32,
        1388  +
    /* StructureGenerator.kt:231 */
        1389  +
    #[allow(missing_docs)] // documentation missing in model
        1390  +
    pub float_in_query: ::std::option::Option<f32>,
        1391  +
    /* StructureGenerator.kt:231 */
        1392  +
    #[allow(missing_docs)] // documentation missing in model
        1393  +
    pub float_in_header: ::std::option::Option<f32>,
        1394  +
    /* StructureGenerator.kt:201 */
        1395  +
}
        1396  +
/* StructureGenerator.kt:135 */
        1397  +
impl MalformedFloatInput {
        1398  +
    /* StructureGenerator.kt:231 */
        1399  +
    #[allow(missing_docs)] // documentation missing in model
        1400  +
                           /* StructureGenerator.kt:166 */
        1401  +
    pub fn float_in_body(&self) -> ::std::option::Option<f32> {
        1402  +
        /* StructureGenerator.kt:168 */
        1403  +
        self.float_in_body
        1404  +
        /* StructureGenerator.kt:166 */
        1405  +
    }
        1406  +
    /* StructureGenerator.kt:231 */
        1407  +
    #[allow(missing_docs)] // documentation missing in model
        1408  +
                           /* StructureGenerator.kt:166 */
        1409  +
    pub fn float_in_path(&self) -> f32 {
        1410  +
        /* StructureGenerator.kt:168 */
        1411  +
        self.float_in_path
        1412  +
        /* StructureGenerator.kt:166 */
        1413  +
    }
        1414  +
    /* StructureGenerator.kt:231 */
        1415  +
    #[allow(missing_docs)] // documentation missing in model
        1416  +
                           /* StructureGenerator.kt:166 */
        1417  +
    pub fn float_in_query(&self) -> ::std::option::Option<f32> {
        1418  +
        /* StructureGenerator.kt:168 */
        1419  +
        self.float_in_query
        1420  +
        /* StructureGenerator.kt:166 */
        1421  +
    }
        1422  +
    /* StructureGenerator.kt:231 */
        1423  +
    #[allow(missing_docs)] // documentation missing in model
        1424  +
                           /* StructureGenerator.kt:166 */
        1425  +
    pub fn float_in_header(&self) -> ::std::option::Option<f32> {
        1426  +
        /* StructureGenerator.kt:168 */
        1427  +
        self.float_in_header
        1428  +
        /* StructureGenerator.kt:166 */
        1429  +
    }
        1430  +
    /* StructureGenerator.kt:135 */
        1431  +
}
        1432  +
/* ServerCodegenVisitor.kt:356 */
        1433  +
impl MalformedFloatInput {
        1434  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedFloatInput`](crate::input::MalformedFloatInput).
        1435  +
    /* ServerBuilderGenerator.kt:295 */
        1436  +
    pub fn builder() -> crate::input::malformed_float_input::Builder {
        1437  +
        /* ServerBuilderGenerator.kt:296 */
        1438  +
        crate::input::malformed_float_input::Builder::default()
        1439  +
        /* ServerBuilderGenerator.kt:295 */
        1440  +
    }
        1441  +
    /* ServerCodegenVisitor.kt:356 */
        1442  +
}
        1443  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1444  +
impl crate::constrained::Constrained for crate::input::MalformedFloatInput {
        1445  +
    type Unconstrained = crate::input::malformed_float_input::Builder;
        1446  +
}
        1447  +
        1448  +
/* StructureGenerator.kt:197 */
        1449  +
#[allow(missing_docs)] // documentation missing in model
        1450  +
/* RustType.kt:534 */
        1451  +
#[derive(
        1452  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1453  +
)]
        1454  +
pub /* StructureGenerator.kt:201 */ struct MalformedLongInput {
        1455  +
    /* StructureGenerator.kt:231 */
        1456  +
    #[allow(missing_docs)] // documentation missing in model
        1457  +
    pub long_in_body: ::std::option::Option<i64>,
        1458  +
    /* StructureGenerator.kt:231 */
        1459  +
    #[allow(missing_docs)] // documentation missing in model
        1460  +
    pub long_in_path: i64,
        1461  +
    /* StructureGenerator.kt:231 */
        1462  +
    #[allow(missing_docs)] // documentation missing in model
        1463  +
    pub long_in_query: ::std::option::Option<i64>,
        1464  +
    /* StructureGenerator.kt:231 */
        1465  +
    #[allow(missing_docs)] // documentation missing in model
        1466  +
    pub long_in_header: ::std::option::Option<i64>,
        1467  +
    /* StructureGenerator.kt:201 */
        1468  +
}
        1469  +
/* StructureGenerator.kt:135 */
        1470  +
impl MalformedLongInput {
        1471  +
    /* StructureGenerator.kt:231 */
        1472  +
    #[allow(missing_docs)] // documentation missing in model
        1473  +
                           /* StructureGenerator.kt:166 */
        1474  +
    pub fn long_in_body(&self) -> ::std::option::Option<i64> {
        1475  +
        /* StructureGenerator.kt:168 */
        1476  +
        self.long_in_body
        1477  +
        /* StructureGenerator.kt:166 */
        1478  +
    }
        1479  +
    /* StructureGenerator.kt:231 */
        1480  +
    #[allow(missing_docs)] // documentation missing in model
        1481  +
                           /* StructureGenerator.kt:166 */
        1482  +
    pub fn long_in_path(&self) -> i64 {
        1483  +
        /* StructureGenerator.kt:168 */
        1484  +
        self.long_in_path
        1485  +
        /* StructureGenerator.kt:166 */
        1486  +
    }
        1487  +
    /* StructureGenerator.kt:231 */
        1488  +
    #[allow(missing_docs)] // documentation missing in model
        1489  +
                           /* StructureGenerator.kt:166 */
        1490  +
    pub fn long_in_query(&self) -> ::std::option::Option<i64> {
        1491  +
        /* StructureGenerator.kt:168 */
        1492  +
        self.long_in_query
        1493  +
        /* StructureGenerator.kt:166 */
        1494  +
    }
        1495  +
    /* StructureGenerator.kt:231 */
        1496  +
    #[allow(missing_docs)] // documentation missing in model
        1497  +
                           /* StructureGenerator.kt:166 */
        1498  +
    pub fn long_in_header(&self) -> ::std::option::Option<i64> {
        1499  +
        /* StructureGenerator.kt:168 */
        1500  +
        self.long_in_header
        1501  +
        /* StructureGenerator.kt:166 */
        1502  +
    }
        1503  +
    /* StructureGenerator.kt:135 */
        1504  +
}
        1505  +
/* ServerCodegenVisitor.kt:356 */
        1506  +
impl MalformedLongInput {
        1507  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedLongInput`](crate::input::MalformedLongInput).
        1508  +
    /* ServerBuilderGenerator.kt:295 */
        1509  +
    pub fn builder() -> crate::input::malformed_long_input::Builder {
        1510  +
        /* ServerBuilderGenerator.kt:296 */
        1511  +
        crate::input::malformed_long_input::Builder::default()
        1512  +
        /* ServerBuilderGenerator.kt:295 */
        1513  +
    }
        1514  +
    /* ServerCodegenVisitor.kt:356 */
        1515  +
}
        1516  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1517  +
impl crate::constrained::Constrained for crate::input::MalformedLongInput {
        1518  +
    type Unconstrained = crate::input::malformed_long_input::Builder;
        1519  +
}
        1520  +
        1521  +
/* StructureGenerator.kt:197 */
        1522  +
#[allow(missing_docs)] // documentation missing in model
        1523  +
/* RustType.kt:534 */
        1524  +
#[derive(
        1525  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1526  +
)]
        1527  +
pub /* StructureGenerator.kt:201 */ struct MalformedShortInput {
        1528  +
    /* StructureGenerator.kt:231 */
        1529  +
    #[allow(missing_docs)] // documentation missing in model
        1530  +
    pub short_in_body: ::std::option::Option<i16>,
        1531  +
    /* StructureGenerator.kt:231 */
        1532  +
    #[allow(missing_docs)] // documentation missing in model
        1533  +
    pub short_in_path: i16,
        1534  +
    /* StructureGenerator.kt:231 */
        1535  +
    #[allow(missing_docs)] // documentation missing in model
        1536  +
    pub short_in_query: ::std::option::Option<i16>,
        1537  +
    /* StructureGenerator.kt:231 */
        1538  +
    #[allow(missing_docs)] // documentation missing in model
        1539  +
    pub short_in_header: ::std::option::Option<i16>,
        1540  +
    /* StructureGenerator.kt:201 */
        1541  +
}
        1542  +
/* StructureGenerator.kt:135 */
        1543  +
impl MalformedShortInput {
        1544  +
    /* StructureGenerator.kt:231 */
        1545  +
    #[allow(missing_docs)] // documentation missing in model
        1546  +
                           /* StructureGenerator.kt:166 */
        1547  +
    pub fn short_in_body(&self) -> ::std::option::Option<i16> {
        1548  +
        /* StructureGenerator.kt:168 */
        1549  +
        self.short_in_body
        1550  +
        /* StructureGenerator.kt:166 */
        1551  +
    }
        1552  +
    /* StructureGenerator.kt:231 */
        1553  +
    #[allow(missing_docs)] // documentation missing in model
        1554  +
                           /* StructureGenerator.kt:166 */
        1555  +
    pub fn short_in_path(&self) -> i16 {
        1556  +
        /* StructureGenerator.kt:168 */
        1557  +
        self.short_in_path
        1558  +
        /* StructureGenerator.kt:166 */
        1559  +
    }
        1560  +
    /* StructureGenerator.kt:231 */
        1561  +
    #[allow(missing_docs)] // documentation missing in model
        1562  +
                           /* StructureGenerator.kt:166 */
        1563  +
    pub fn short_in_query(&self) -> ::std::option::Option<i16> {
        1564  +
        /* StructureGenerator.kt:168 */
        1565  +
        self.short_in_query
        1566  +
        /* StructureGenerator.kt:166 */
        1567  +
    }
        1568  +
    /* StructureGenerator.kt:231 */
        1569  +
    #[allow(missing_docs)] // documentation missing in model
        1570  +
                           /* StructureGenerator.kt:166 */
        1571  +
    pub fn short_in_header(&self) -> ::std::option::Option<i16> {
        1572  +
        /* StructureGenerator.kt:168 */
        1573  +
        self.short_in_header
        1574  +
        /* StructureGenerator.kt:166 */
        1575  +
    }
        1576  +
    /* StructureGenerator.kt:135 */
        1577  +
}
        1578  +
/* ServerCodegenVisitor.kt:356 */
        1579  +
impl MalformedShortInput {
        1580  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedShortInput`](crate::input::MalformedShortInput).
        1581  +
    /* ServerBuilderGenerator.kt:295 */
        1582  +
    pub fn builder() -> crate::input::malformed_short_input::Builder {
        1583  +
        /* ServerBuilderGenerator.kt:296 */
        1584  +
        crate::input::malformed_short_input::Builder::default()
        1585  +
        /* ServerBuilderGenerator.kt:295 */
        1586  +
    }
        1587  +
    /* ServerCodegenVisitor.kt:356 */
        1588  +
}
        1589  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1590  +
impl crate::constrained::Constrained for crate::input::MalformedShortInput {
        1591  +
    type Unconstrained = crate::input::malformed_short_input::Builder;
        1592  +
}
        1593  +
        1594  +
/* StructureGenerator.kt:197 */
        1595  +
#[allow(missing_docs)] // documentation missing in model
        1596  +
/* RustType.kt:534 */
        1597  +
#[derive(
        1598  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1599  +
)]
        1600  +
pub /* StructureGenerator.kt:201 */ struct MalformedByteInput {
        1601  +
    /* StructureGenerator.kt:231 */
        1602  +
    #[allow(missing_docs)] // documentation missing in model
        1603  +
    pub byte_in_body: ::std::option::Option<i8>,
        1604  +
    /* StructureGenerator.kt:231 */
        1605  +
    #[allow(missing_docs)] // documentation missing in model
        1606  +
    pub byte_in_path: i8,
        1607  +
    /* StructureGenerator.kt:231 */
        1608  +
    #[allow(missing_docs)] // documentation missing in model
        1609  +
    pub byte_in_query: ::std::option::Option<i8>,
        1610  +
    /* StructureGenerator.kt:231 */
        1611  +
    #[allow(missing_docs)] // documentation missing in model
        1612  +
    pub byte_in_header: ::std::option::Option<i8>,
        1613  +
    /* StructureGenerator.kt:201 */
        1614  +
}
        1615  +
/* StructureGenerator.kt:135 */
        1616  +
impl MalformedByteInput {
        1617  +
    /* StructureGenerator.kt:231 */
        1618  +
    #[allow(missing_docs)] // documentation missing in model
        1619  +
                           /* StructureGenerator.kt:166 */
        1620  +
    pub fn byte_in_body(&self) -> ::std::option::Option<i8> {
        1621  +
        /* StructureGenerator.kt:168 */
        1622  +
        self.byte_in_body
        1623  +
        /* StructureGenerator.kt:166 */
        1624  +
    }
        1625  +
    /* StructureGenerator.kt:231 */
        1626  +
    #[allow(missing_docs)] // documentation missing in model
        1627  +
                           /* StructureGenerator.kt:166 */
        1628  +
    pub fn byte_in_path(&self) -> i8 {
        1629  +
        /* StructureGenerator.kt:168 */
        1630  +
        self.byte_in_path
        1631  +
        /* StructureGenerator.kt:166 */
        1632  +
    }
        1633  +
    /* StructureGenerator.kt:231 */
        1634  +
    #[allow(missing_docs)] // documentation missing in model
        1635  +
                           /* StructureGenerator.kt:166 */
        1636  +
    pub fn byte_in_query(&self) -> ::std::option::Option<i8> {
        1637  +
        /* StructureGenerator.kt:168 */
        1638  +
        self.byte_in_query
        1639  +
        /* StructureGenerator.kt:166 */
        1640  +
    }
        1641  +
    /* StructureGenerator.kt:231 */
        1642  +
    #[allow(missing_docs)] // documentation missing in model
        1643  +
                           /* StructureGenerator.kt:166 */
        1644  +
    pub fn byte_in_header(&self) -> ::std::option::Option<i8> {
        1645  +
        /* StructureGenerator.kt:168 */
        1646  +
        self.byte_in_header
        1647  +
        /* StructureGenerator.kt:166 */
        1648  +
    }
        1649  +
    /* StructureGenerator.kt:135 */
        1650  +
}
        1651  +
/* ServerCodegenVisitor.kt:356 */
        1652  +
impl MalformedByteInput {
        1653  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedByteInput`](crate::input::MalformedByteInput).
        1654  +
    /* ServerBuilderGenerator.kt:295 */
        1655  +
    pub fn builder() -> crate::input::malformed_byte_input::Builder {
        1656  +
        /* ServerBuilderGenerator.kt:296 */
        1657  +
        crate::input::malformed_byte_input::Builder::default()
        1658  +
        /* ServerBuilderGenerator.kt:295 */
        1659  +
    }
        1660  +
    /* ServerCodegenVisitor.kt:356 */
        1661  +
}
        1662  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1663  +
impl crate::constrained::Constrained for crate::input::MalformedByteInput {
        1664  +
    type Unconstrained = crate::input::malformed_byte_input::Builder;
        1665  +
}
        1666  +
        1667  +
/* StructureGenerator.kt:197 */
        1668  +
#[allow(missing_docs)] // documentation missing in model
        1669  +
/* RustType.kt:534 */
        1670  +
#[derive(
        1671  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1672  +
)]
        1673  +
pub /* StructureGenerator.kt:201 */ struct MalformedBlobInput {
        1674  +
    /* StructureGenerator.kt:231 */
        1675  +
    #[allow(missing_docs)] // documentation missing in model
        1676  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1677  +
    /* StructureGenerator.kt:201 */
        1678  +
}
        1679  +
/* StructureGenerator.kt:135 */
        1680  +
impl MalformedBlobInput {
        1681  +
    /* StructureGenerator.kt:231 */
        1682  +
    #[allow(missing_docs)] // documentation missing in model
        1683  +
                           /* StructureGenerator.kt:166 */
        1684  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        1685  +
        /* StructureGenerator.kt:170 */
        1686  +
        self.blob.as_ref()
        1687  +
        /* StructureGenerator.kt:166 */
        1688  +
    }
        1689  +
    /* StructureGenerator.kt:135 */
        1690  +
}
        1691  +
/* ServerCodegenVisitor.kt:356 */
        1692  +
impl MalformedBlobInput {
        1693  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedBlobInput`](crate::input::MalformedBlobInput).
        1694  +
    /* ServerBuilderGenerator.kt:295 */
        1695  +
    pub fn builder() -> crate::input::malformed_blob_input::Builder {
        1696  +
        /* ServerBuilderGenerator.kt:296 */
        1697  +
        crate::input::malformed_blob_input::Builder::default()
        1698  +
        /* ServerBuilderGenerator.kt:295 */
        1699  +
    }
        1700  +
    /* ServerCodegenVisitor.kt:356 */
        1701  +
}
        1702  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1703  +
impl crate::constrained::Constrained for crate::input::MalformedBlobInput {
        1704  +
    type Unconstrained = crate::input::malformed_blob_input::Builder;
        1705  +
}
        1706  +
        1707  +
/* StructureGenerator.kt:197 */
        1708  +
#[allow(missing_docs)] // documentation missing in model
        1709  +
/* RustType.kt:534 */
        1710  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1711  +
pub /* StructureGenerator.kt:201 */ struct MalformedMapInput {
        1712  +
    /* StructureGenerator.kt:231 */
        1713  +
    #[allow(missing_docs)] // documentation missing in model
        1714  +
    pub body_map: ::std::option::Option<
        1715  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1716  +
    >,
        1717  +
    /* StructureGenerator.kt:201 */
        1718  +
}
        1719  +
/* StructureGenerator.kt:135 */
        1720  +
impl MalformedMapInput {
        1721  +
    /* StructureGenerator.kt:231 */
        1722  +
    #[allow(missing_docs)] // documentation missing in model
        1723  +
                           /* StructureGenerator.kt:166 */
        1724  +
    pub fn body_map(
        1725  +
        &self,
        1726  +
    ) -> ::std::option::Option<
        1727  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1728  +
    > {
        1729  +
        /* StructureGenerator.kt:170 */
        1730  +
        self.body_map.as_ref()
        1731  +
        /* StructureGenerator.kt:166 */
        1732  +
    }
        1733  +
    /* StructureGenerator.kt:135 */
        1734  +
}
        1735  +
/* ServerCodegenVisitor.kt:356 */
        1736  +
impl MalformedMapInput {
        1737  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedMapInput`](crate::input::MalformedMapInput).
        1738  +
    /* ServerBuilderGenerator.kt:295 */
        1739  +
    pub fn builder() -> crate::input::malformed_map_input::Builder {
        1740  +
        /* ServerBuilderGenerator.kt:296 */
        1741  +
        crate::input::malformed_map_input::Builder::default()
        1742  +
        /* ServerBuilderGenerator.kt:295 */
        1743  +
    }
        1744  +
    /* ServerCodegenVisitor.kt:356 */
        1745  +
}
        1746  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1747  +
impl crate::constrained::Constrained for crate::input::MalformedMapInput {
        1748  +
    type Unconstrained = crate::input::malformed_map_input::Builder;
        1749  +
}
        1750  +
        1751  +
/* StructureGenerator.kt:197 */
        1752  +
#[allow(missing_docs)] // documentation missing in model
        1753  +
/* RustType.kt:534 */
        1754  +
#[derive(
        1755  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1756  +
)]
        1757  +
pub /* StructureGenerator.kt:201 */ struct MalformedListInput {
        1758  +
    /* StructureGenerator.kt:231 */
        1759  +
    #[allow(missing_docs)] // documentation missing in model
        1760  +
    pub body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1761  +
    /* StructureGenerator.kt:201 */
        1762  +
}
        1763  +
/* StructureGenerator.kt:135 */
        1764  +
impl MalformedListInput {
        1765  +
    /* StructureGenerator.kt:231 */
        1766  +
    #[allow(missing_docs)] // documentation missing in model
        1767  +
                           /* StructureGenerator.kt:166 */
        1768  +
    pub fn body_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        1769  +
        /* StructureGenerator.kt:169 */
        1770  +
        self.body_list.as_deref()
        1771  +
        /* StructureGenerator.kt:166 */
        1772  +
    }
        1773  +
    /* StructureGenerator.kt:135 */
        1774  +
}
        1775  +
/* ServerCodegenVisitor.kt:356 */
        1776  +
impl MalformedListInput {
        1777  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedListInput`](crate::input::MalformedListInput).
        1778  +
    /* ServerBuilderGenerator.kt:295 */
        1779  +
    pub fn builder() -> crate::input::malformed_list_input::Builder {
        1780  +
        /* ServerBuilderGenerator.kt:296 */
        1781  +
        crate::input::malformed_list_input::Builder::default()
        1782  +
        /* ServerBuilderGenerator.kt:295 */
        1783  +
    }
        1784  +
    /* ServerCodegenVisitor.kt:356 */
        1785  +
}
        1786  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1787  +
impl crate::constrained::Constrained for crate::input::MalformedListInput {
        1788  +
    type Unconstrained = crate::input::malformed_list_input::Builder;
        1789  +
}
        1790  +
        1791  +
/* StructureGenerator.kt:197 */
        1792  +
#[allow(missing_docs)] // documentation missing in model
        1793  +
/* RustType.kt:534 */
        1794  +
#[derive(
        1795  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1796  +
)]
        1797  +
pub /* StructureGenerator.kt:201 */ struct MalformedBooleanInput {
        1798  +
    /* StructureGenerator.kt:231 */
        1799  +
    #[allow(missing_docs)] // documentation missing in model
        1800  +
    pub boolean_in_body: ::std::option::Option<bool>,
        1801  +
    /* StructureGenerator.kt:231 */
        1802  +
    #[allow(missing_docs)] // documentation missing in model
        1803  +
    pub boolean_in_path: bool,
        1804  +
    /* StructureGenerator.kt:231 */
        1805  +
    #[allow(missing_docs)] // documentation missing in model
        1806  +
    pub boolean_in_query: ::std::option::Option<bool>,
        1807  +
    /* StructureGenerator.kt:231 */
        1808  +
    #[allow(missing_docs)] // documentation missing in model
        1809  +
    pub boolean_in_header: ::std::option::Option<bool>,
        1810  +
    /* StructureGenerator.kt:201 */
        1811  +
}
        1812  +
/* StructureGenerator.kt:135 */
        1813  +
impl MalformedBooleanInput {
        1814  +
    /* StructureGenerator.kt:231 */
        1815  +
    #[allow(missing_docs)] // documentation missing in model
        1816  +
                           /* StructureGenerator.kt:166 */
        1817  +
    pub fn boolean_in_body(&self) -> ::std::option::Option<bool> {
        1818  +
        /* StructureGenerator.kt:168 */
        1819  +
        self.boolean_in_body
        1820  +
        /* StructureGenerator.kt:166 */
        1821  +
    }
        1822  +
    /* StructureGenerator.kt:231 */
        1823  +
    #[allow(missing_docs)] // documentation missing in model
        1824  +
                           /* StructureGenerator.kt:166 */
        1825  +
    pub fn boolean_in_path(&self) -> bool {
        1826  +
        /* StructureGenerator.kt:168 */
        1827  +
        self.boolean_in_path
        1828  +
        /* StructureGenerator.kt:166 */
        1829  +
    }
        1830  +
    /* StructureGenerator.kt:231 */
        1831  +
    #[allow(missing_docs)] // documentation missing in model
        1832  +
                           /* StructureGenerator.kt:166 */
        1833  +
    pub fn boolean_in_query(&self) -> ::std::option::Option<bool> {
        1834  +
        /* StructureGenerator.kt:168 */
        1835  +
        self.boolean_in_query
        1836  +
        /* StructureGenerator.kt:166 */
        1837  +
    }
        1838  +
    /* StructureGenerator.kt:231 */
        1839  +
    #[allow(missing_docs)] // documentation missing in model
        1840  +
                           /* StructureGenerator.kt:166 */
        1841  +
    pub fn boolean_in_header(&self) -> ::std::option::Option<bool> {
        1842  +
        /* StructureGenerator.kt:168 */
        1843  +
        self.boolean_in_header
        1844  +
        /* StructureGenerator.kt:166 */
        1845  +
    }
        1846  +
    /* StructureGenerator.kt:135 */
        1847  +
}
        1848  +
/* ServerCodegenVisitor.kt:356 */
        1849  +
impl MalformedBooleanInput {
        1850  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
        1851  +
    /* ServerBuilderGenerator.kt:295 */
        1852  +
    pub fn builder() -> crate::input::malformed_boolean_input::Builder {
        1853  +
        /* ServerBuilderGenerator.kt:296 */
        1854  +
        crate::input::malformed_boolean_input::Builder::default()
        1855  +
        /* ServerBuilderGenerator.kt:295 */
        1856  +
    }
        1857  +
    /* ServerCodegenVisitor.kt:356 */
        1858  +
}
        1859  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1860  +
impl crate::constrained::Constrained for crate::input::MalformedBooleanInput {
        1861  +
    type Unconstrained = crate::input::malformed_boolean_input::Builder;
        1862  +
}
        1863  +
        1864  +
/* StructureGenerator.kt:197 */
        1865  +
#[allow(missing_docs)] // documentation missing in model
        1866  +
/* RustType.kt:534 */
        1867  +
#[derive(
        1868  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1869  +
)]
        1870  +
pub /* StructureGenerator.kt:201 */ struct MalformedUnionInput {
        1871  +
    /* StructureGenerator.kt:231 */
        1872  +
    #[allow(missing_docs)] // documentation missing in model
        1873  +
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
        1874  +
    /* StructureGenerator.kt:201 */
        1875  +
}
        1876  +
/* StructureGenerator.kt:135 */
        1877  +
impl MalformedUnionInput {
        1878  +
    /* StructureGenerator.kt:231 */
        1879  +
    #[allow(missing_docs)] // documentation missing in model
        1880  +
                           /* StructureGenerator.kt:166 */
        1881  +
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
        1882  +
        /* StructureGenerator.kt:170 */
        1883  +
        self.union.as_ref()
        1884  +
        /* StructureGenerator.kt:166 */
        1885  +
    }
        1886  +
    /* StructureGenerator.kt:135 */
        1887  +
}
        1888  +
/* ServerCodegenVisitor.kt:356 */
        1889  +
impl MalformedUnionInput {
        1890  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedUnionInput`](crate::input::MalformedUnionInput).
        1891  +
    /* ServerBuilderGenerator.kt:295 */
        1892  +
    pub fn builder() -> crate::input::malformed_union_input::Builder {
        1893  +
        /* ServerBuilderGenerator.kt:296 */
        1894  +
        crate::input::malformed_union_input::Builder::default()
        1895  +
        /* ServerBuilderGenerator.kt:295 */
        1896  +
    }
        1897  +
    /* ServerCodegenVisitor.kt:356 */
        1898  +
}
        1899  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1900  +
impl crate::constrained::Constrained for crate::input::MalformedUnionInput {
        1901  +
    type Unconstrained = crate::input::malformed_union_input::Builder;
        1902  +
}
        1903  +
        1904  +
/* StructureGenerator.kt:197 */
        1905  +
#[allow(missing_docs)] // documentation missing in model
        1906  +
/* RustType.kt:534 */
        1907  +
#[derive(
        1908  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1909  +
)]
        1910  +
pub /* StructureGenerator.kt:201 */ struct MalformedIntegerInput {
        1911  +
    /* StructureGenerator.kt:231 */
        1912  +
    #[allow(missing_docs)] // documentation missing in model
        1913  +
    pub integer_in_body: ::std::option::Option<i32>,
        1914  +
    /* StructureGenerator.kt:231 */
        1915  +
    #[allow(missing_docs)] // documentation missing in model
        1916  +
    pub integer_in_path: i32,
        1917  +
    /* StructureGenerator.kt:231 */
        1918  +
    #[allow(missing_docs)] // documentation missing in model
        1919  +
    pub integer_in_query: ::std::option::Option<i32>,
        1920  +
    /* StructureGenerator.kt:231 */
        1921  +
    #[allow(missing_docs)] // documentation missing in model
        1922  +
    pub integer_in_header: ::std::option::Option<i32>,
        1923  +
    /* StructureGenerator.kt:201 */
        1924  +
}
        1925  +
/* StructureGenerator.kt:135 */
        1926  +
impl MalformedIntegerInput {
        1927  +
    /* StructureGenerator.kt:231 */
        1928  +
    #[allow(missing_docs)] // documentation missing in model
        1929  +
                           /* StructureGenerator.kt:166 */
        1930  +
    pub fn integer_in_body(&self) -> ::std::option::Option<i32> {
        1931  +
        /* StructureGenerator.kt:168 */
        1932  +
        self.integer_in_body
        1933  +
        /* StructureGenerator.kt:166 */
        1934  +
    }
        1935  +
    /* StructureGenerator.kt:231 */
        1936  +
    #[allow(missing_docs)] // documentation missing in model
        1937  +
                           /* StructureGenerator.kt:166 */
        1938  +
    pub fn integer_in_path(&self) -> i32 {
        1939  +
        /* StructureGenerator.kt:168 */
        1940  +
        self.integer_in_path
        1941  +
        /* StructureGenerator.kt:166 */
        1942  +
    }
        1943  +
    /* StructureGenerator.kt:231 */
        1944  +
    #[allow(missing_docs)] // documentation missing in model
        1945  +
                           /* StructureGenerator.kt:166 */
        1946  +
    pub fn integer_in_query(&self) -> ::std::option::Option<i32> {
        1947  +
        /* StructureGenerator.kt:168 */
        1948  +
        self.integer_in_query
        1949  +
        /* StructureGenerator.kt:166 */
        1950  +
    }
        1951  +
    /* StructureGenerator.kt:231 */
        1952  +
    #[allow(missing_docs)] // documentation missing in model
        1953  +
                           /* StructureGenerator.kt:166 */
        1954  +
    pub fn integer_in_header(&self) -> ::std::option::Option<i32> {
        1955  +
        /* StructureGenerator.kt:168 */
        1956  +
        self.integer_in_header
        1957  +
        /* StructureGenerator.kt:166 */
        1958  +
    }
        1959  +
    /* StructureGenerator.kt:135 */
        1960  +
}
        1961  +
/* ServerCodegenVisitor.kt:356 */
        1962  +
impl MalformedIntegerInput {
        1963  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
        1964  +
    /* ServerBuilderGenerator.kt:295 */
        1965  +
    pub fn builder() -> crate::input::malformed_integer_input::Builder {
        1966  +
        /* ServerBuilderGenerator.kt:296 */
        1967  +
        crate::input::malformed_integer_input::Builder::default()
        1968  +
        /* ServerBuilderGenerator.kt:295 */
        1969  +
    }
        1970  +
    /* ServerCodegenVisitor.kt:356 */
        1971  +
}
        1972  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        1973  +
impl crate::constrained::Constrained for crate::input::MalformedIntegerInput {
        1974  +
    type Unconstrained = crate::input::malformed_integer_input::Builder;
        1975  +
}
        1976  +
        1977  +
/* StructureGenerator.kt:197 */
        1978  +
#[allow(missing_docs)] // documentation missing in model
        1979  +
/* RustType.kt:534 */
        1980  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        1981  +
pub /* StructureGenerator.kt:201 */ struct MalformedRequestBodyInput {
        1982  +
    /* StructureGenerator.kt:231 */
        1983  +
    #[allow(missing_docs)] // documentation missing in model
        1984  +
    pub int: ::std::option::Option<i32>,
        1985  +
    /* StructureGenerator.kt:231 */
        1986  +
    #[allow(missing_docs)] // documentation missing in model
        1987  +
    pub float: ::std::option::Option<f32>,
        1988  +
    /* StructureGenerator.kt:201 */
        1989  +
}
        1990  +
/* StructureGenerator.kt:135 */
        1991  +
impl MalformedRequestBodyInput {
        1992  +
    /* StructureGenerator.kt:231 */
        1993  +
    #[allow(missing_docs)] // documentation missing in model
        1994  +
                           /* StructureGenerator.kt:166 */
        1995  +
    pub fn int(&self) -> ::std::option::Option<i32> {
        1996  +
        /* StructureGenerator.kt:168 */
        1997  +
        self.int
        1998  +
        /* StructureGenerator.kt:166 */
        1999  +
    }
        2000  +
    /* StructureGenerator.kt:231 */
        2001  +
    #[allow(missing_docs)] // documentation missing in model
        2002  +
                           /* StructureGenerator.kt:166 */
        2003  +
    pub fn float(&self) -> ::std::option::Option<f32> {
        2004  +
        /* StructureGenerator.kt:168 */
        2005  +
        self.float
        2006  +
        /* StructureGenerator.kt:166 */
        2007  +
    }
        2008  +
    /* StructureGenerator.kt:135 */
        2009  +
}
        2010  +
/* ServerCodegenVisitor.kt:356 */
        2011  +
impl MalformedRequestBodyInput {
        2012  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
        2013  +
    /* ServerBuilderGenerator.kt:295 */
        2014  +
    pub fn builder() -> crate::input::malformed_request_body_input::Builder {
        2015  +
        /* ServerBuilderGenerator.kt:296 */
        2016  +
        crate::input::malformed_request_body_input::Builder::default()
        2017  +
        /* ServerBuilderGenerator.kt:295 */
        2018  +
    }
        2019  +
    /* ServerCodegenVisitor.kt:356 */
        2020  +
}
        2021  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2022  +
impl crate::constrained::Constrained for crate::input::MalformedRequestBodyInput {
        2023  +
    type Unconstrained = crate::input::malformed_request_body_input::Builder;
        2024  +
}
        2025  +
        2026  +
/* StructureGenerator.kt:197 */
        2027  +
#[allow(missing_docs)] // documentation missing in model
        2028  +
/* RustType.kt:534 */
        2029  +
#[derive(
        2030  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2031  +
)]
        2032  +
pub /* StructureGenerator.kt:201 */ struct HttpChecksumRequiredInput {
        2033  +
    /* StructureGenerator.kt:231 */
        2034  +
    #[allow(missing_docs)] // documentation missing in model
        2035  +
    pub foo: ::std::option::Option<::std::string::String>,
        2036  +
    /* StructureGenerator.kt:201 */
        2037  +
}
        2038  +
/* StructureGenerator.kt:135 */
        2039  +
impl HttpChecksumRequiredInput {
        2040  +
    /* StructureGenerator.kt:231 */
        2041  +
    #[allow(missing_docs)] // documentation missing in model
        2042  +
                           /* StructureGenerator.kt:166 */
        2043  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        2044  +
        /* StructureGenerator.kt:169 */
        2045  +
        self.foo.as_deref()
        2046  +
        /* StructureGenerator.kt:166 */
        2047  +
    }
        2048  +
    /* StructureGenerator.kt:135 */
        2049  +
}
        2050  +
/* ServerCodegenVisitor.kt:356 */
        2051  +
impl HttpChecksumRequiredInput {
        2052  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
        2053  +
    /* ServerBuilderGenerator.kt:295 */
        2054  +
    pub fn builder() -> crate::input::http_checksum_required_input::Builder {
        2055  +
        /* ServerBuilderGenerator.kt:296 */
        2056  +
        crate::input::http_checksum_required_input::Builder::default()
        2057  +
        /* ServerBuilderGenerator.kt:295 */
        2058  +
    }
        2059  +
    /* ServerCodegenVisitor.kt:356 */
        2060  +
}
        2061  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2062  +
impl crate::constrained::Constrained for crate::input::HttpChecksumRequiredInput {
        2063  +
    type Unconstrained = crate::input::http_checksum_required_input::Builder;
        2064  +
}
        2065  +
        2066  +
/* StructureGenerator.kt:197 */
        2067  +
#[allow(missing_docs)] // documentation missing in model
        2068  +
/* RustType.kt:534 */
        2069  +
#[derive(
        2070  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2071  +
)]
        2072  +
pub /* StructureGenerator.kt:201 */ struct HostWithPathOperationInput {/* StructureGenerator.kt:201 */}
        2073  +
/* ServerCodegenVisitor.kt:356 */
        2074  +
impl HostWithPathOperationInput {
        2075  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
        2076  +
    /* ServerBuilderGenerator.kt:295 */
        2077  +
    pub fn builder() -> crate::input::host_with_path_operation_input::Builder {
        2078  +
        /* ServerBuilderGenerator.kt:296 */
        2079  +
        crate::input::host_with_path_operation_input::Builder::default()
        2080  +
        /* ServerBuilderGenerator.kt:295 */
        2081  +
    }
        2082  +
    /* ServerCodegenVisitor.kt:356 */
        2083  +
}
        2084  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2085  +
impl crate::constrained::Constrained for crate::input::HostWithPathOperationInput {
        2086  +
    type Unconstrained = crate::input::host_with_path_operation_input::Builder;
        2087  +
}
        2088  +
        2089  +
/* StructureGenerator.kt:197 */
        2090  +
#[allow(missing_docs)] // documentation missing in model
        2091  +
/* RustType.kt:534 */
        2092  +
#[derive(
        2093  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2094  +
)]
        2095  +
pub /* StructureGenerator.kt:201 */ struct EndpointWithHostLabelOperationInput {
        2096  +
    /* StructureGenerator.kt:231 */
        2097  +
    #[allow(missing_docs)] // documentation missing in model
        2098  +
    pub label: ::std::string::String,
        2099  +
    /* StructureGenerator.kt:201 */
        2100  +
}
        2101  +
/* StructureGenerator.kt:135 */
        2102  +
impl EndpointWithHostLabelOperationInput {
        2103  +
    /* StructureGenerator.kt:231 */
        2104  +
    #[allow(missing_docs)] // documentation missing in model
        2105  +
                           /* StructureGenerator.kt:166 */
        2106  +
    pub fn label(&self) -> &str {
        2107  +
        /* StructureGenerator.kt:171 */
        2108  +
        use std::ops::Deref;
        2109  +
        self.label.deref()
        2110  +
        /* StructureGenerator.kt:166 */
        2111  +
    }
        2112  +
    /* StructureGenerator.kt:135 */
        2113  +
}
        2114  +
/* ServerCodegenVisitor.kt:356 */
        2115  +
impl EndpointWithHostLabelOperationInput {
        2116  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
        2117  +
    /* ServerBuilderGenerator.kt:295 */
        2118  +
    pub fn builder() -> crate::input::endpoint_with_host_label_operation_input::Builder {
        2119  +
        /* ServerBuilderGenerator.kt:296 */
        2120  +
        crate::input::endpoint_with_host_label_operation_input::Builder::default()
        2121  +
        /* ServerBuilderGenerator.kt:295 */
        2122  +
    }
        2123  +
    /* ServerCodegenVisitor.kt:356 */
        2124  +
}
        2125  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2126  +
impl crate::constrained::Constrained for crate::input::EndpointWithHostLabelOperationInput {
        2127  +
    type Unconstrained = crate::input::endpoint_with_host_label_operation_input::Builder;
        2128  +
}
        2129  +
        2130  +
/* StructureGenerator.kt:197 */
        2131  +
#[allow(missing_docs)] // documentation missing in model
        2132  +
/* RustType.kt:534 */
        2133  +
#[derive(
        2134  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2135  +
)]
        2136  +
pub /* StructureGenerator.kt:201 */ struct EndpointOperationInput {/* StructureGenerator.kt:201 */}
        2137  +
/* ServerCodegenVisitor.kt:356 */
        2138  +
impl EndpointOperationInput {
        2139  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EndpointOperationInput`](crate::input::EndpointOperationInput).
        2140  +
    /* ServerBuilderGenerator.kt:295 */
        2141  +
    pub fn builder() -> crate::input::endpoint_operation_input::Builder {
        2142  +
        /* ServerBuilderGenerator.kt:296 */
        2143  +
        crate::input::endpoint_operation_input::Builder::default()
        2144  +
        /* ServerBuilderGenerator.kt:295 */
        2145  +
    }
        2146  +
    /* ServerCodegenVisitor.kt:356 */
        2147  +
}
        2148  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2149  +
impl crate::constrained::Constrained for crate::input::EndpointOperationInput {
        2150  +
    type Unconstrained = crate::input::endpoint_operation_input::Builder;
        2151  +
}
        2152  +
        2153  +
/* StructureGenerator.kt:197 */
        2154  +
#[allow(missing_docs)] // documentation missing in model
        2155  +
/* RustType.kt:534 */
        2156  +
#[derive(
        2157  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2158  +
)]
        2159  +
pub /* StructureGenerator.kt:201 */ struct PostUnionWithJsonNameInput {
        2160  +
    /* StructureGenerator.kt:231 */
        2161  +
    #[allow(missing_docs)] // documentation missing in model
        2162  +
    pub value: ::std::option::Option<crate::model::UnionWithJsonName>,
        2163  +
    /* StructureGenerator.kt:201 */
        2164  +
}
        2165  +
/* StructureGenerator.kt:135 */
        2166  +
impl PostUnionWithJsonNameInput {
        2167  +
    /* StructureGenerator.kt:231 */
        2168  +
    #[allow(missing_docs)] // documentation missing in model
        2169  +
                           /* StructureGenerator.kt:166 */
        2170  +
    pub fn value(&self) -> ::std::option::Option<&crate::model::UnionWithJsonName> {
        2171  +
        /* StructureGenerator.kt:170 */
        2172  +
        self.value.as_ref()
        2173  +
        /* StructureGenerator.kt:166 */
        2174  +
    }
        2175  +
    /* StructureGenerator.kt:135 */
        2176  +
}
        2177  +
/* ServerCodegenVisitor.kt:356 */
        2178  +
impl PostUnionWithJsonNameInput {
        2179  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
        2180  +
    /* ServerBuilderGenerator.kt:295 */
        2181  +
    pub fn builder() -> crate::input::post_union_with_json_name_input::Builder {
        2182  +
        /* ServerBuilderGenerator.kt:296 */
        2183  +
        crate::input::post_union_with_json_name_input::Builder::default()
        2184  +
        /* ServerBuilderGenerator.kt:295 */
        2185  +
    }
        2186  +
    /* ServerCodegenVisitor.kt:356 */
        2187  +
}
        2188  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2189  +
impl crate::constrained::Constrained for crate::input::PostUnionWithJsonNameInput {
        2190  +
    type Unconstrained = crate::input::post_union_with_json_name_input::Builder;
        2191  +
}
        2192  +
        2193  +
/* StructureGenerator.kt:197 */
        2194  +
#[allow(missing_docs)] // documentation missing in model
        2195  +
/* RustType.kt:534 */
        2196  +
#[derive(
        2197  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2198  +
)]
        2199  +
pub /* StructureGenerator.kt:201 */ struct PostPlayerActionInput {
        2200  +
    /* StructureGenerator.kt:231 */
        2201  +
    #[allow(missing_docs)] // documentation missing in model
        2202  +
    pub action: ::std::option::Option<crate::model::PlayerAction>,
        2203  +
    /* StructureGenerator.kt:201 */
        2204  +
}
        2205  +
/* StructureGenerator.kt:135 */
        2206  +
impl PostPlayerActionInput {
        2207  +
    /* StructureGenerator.kt:231 */
        2208  +
    #[allow(missing_docs)] // documentation missing in model
        2209  +
                           /* StructureGenerator.kt:166 */
        2210  +
    pub fn action(&self) -> ::std::option::Option<&crate::model::PlayerAction> {
        2211  +
        /* StructureGenerator.kt:170 */
        2212  +
        self.action.as_ref()
        2213  +
        /* StructureGenerator.kt:166 */
        2214  +
    }
        2215  +
    /* StructureGenerator.kt:135 */
        2216  +
}
        2217  +
/* ServerCodegenVisitor.kt:356 */
        2218  +
impl PostPlayerActionInput {
        2219  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
        2220  +
    /* ServerBuilderGenerator.kt:295 */
        2221  +
    pub fn builder() -> crate::input::post_player_action_input::Builder {
        2222  +
        /* ServerBuilderGenerator.kt:296 */
        2223  +
        crate::input::post_player_action_input::Builder::default()
        2224  +
        /* ServerBuilderGenerator.kt:295 */
        2225  +
    }
        2226  +
    /* ServerCodegenVisitor.kt:356 */
        2227  +
}
        2228  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2229  +
impl crate::constrained::Constrained for crate::input::PostPlayerActionInput {
        2230  +
    type Unconstrained = crate::input::post_player_action_input::Builder;
        2231  +
}
        2232  +
        2233  +
/// /* StructureGenerator.kt:197 */A shared structure that contains a single union member.
        2234  +
/* RustType.kt:534 */
        2235  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2236  +
pub /* StructureGenerator.kt:201 */ struct JsonUnionsInput {
        2237  +
    /// /* StructureGenerator.kt:231 */A union with a representative set of types for members.
        2238  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
        2239  +
    /* StructureGenerator.kt:201 */
        2240  +
}
        2241  +
/* StructureGenerator.kt:135 */
        2242  +
impl JsonUnionsInput {
        2243  +
    /// /* StructureGenerator.kt:231 */A union with a representative set of types for members.
        2244  +
    /* StructureGenerator.kt:166 */
        2245  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
        2246  +
        /* StructureGenerator.kt:170 */
        2247  +
        self.contents.as_ref()
        2248  +
        /* StructureGenerator.kt:166 */
        2249  +
    }
        2250  +
    /* StructureGenerator.kt:135 */
        2251  +
}
        2252  +
/* ServerCodegenVisitor.kt:356 */
        2253  +
impl JsonUnionsInput {
        2254  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonUnionsInput`](crate::input::JsonUnionsInput).
        2255  +
    /* ServerBuilderGenerator.kt:295 */
        2256  +
    pub fn builder() -> crate::input::json_unions_input::Builder {
        2257  +
        /* ServerBuilderGenerator.kt:296 */
        2258  +
        crate::input::json_unions_input::Builder::default()
        2259  +
        /* ServerBuilderGenerator.kt:295 */
        2260  +
    }
        2261  +
    /* ServerCodegenVisitor.kt:356 */
        2262  +
}
        2263  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2264  +
impl crate::constrained::Constrained for crate::input::JsonUnionsInput {
        2265  +
    type Unconstrained = crate::input::json_unions_input::Builder;
        2266  +
}
        2267  +
        2268  +
/* StructureGenerator.kt:197 */
        2269  +
#[allow(missing_docs)] // documentation missing in model
        2270  +
/* RustType.kt:534 */
        2271  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2272  +
pub /* StructureGenerator.kt:201 */ struct DocumentTypeAsMapValueInput {
        2273  +
    /* StructureGenerator.kt:231 */
        2274  +
    #[allow(missing_docs)] // documentation missing in model
        2275  +
    pub doc_valued_map: ::std::option::Option<
        2276  +
        ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
        2277  +
    >,
        2278  +
    /* StructureGenerator.kt:201 */
        2279  +
}
        2280  +
/* StructureGenerator.kt:135 */
        2281  +
impl DocumentTypeAsMapValueInput {
        2282  +
    /* StructureGenerator.kt:231 */
        2283  +
    #[allow(missing_docs)] // documentation missing in model
        2284  +
                           /* StructureGenerator.kt:166 */
        2285  +
    pub fn doc_valued_map(
        2286  +
        &self,
        2287  +
    ) -> ::std::option::Option<
        2288  +
        &::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
        2289  +
    > {
        2290  +
        /* StructureGenerator.kt:170 */
        2291  +
        self.doc_valued_map.as_ref()
        2292  +
        /* StructureGenerator.kt:166 */
        2293  +
    }
        2294  +
    /* StructureGenerator.kt:135 */
        2295  +
}
        2296  +
/* ServerCodegenVisitor.kt:356 */
        2297  +
impl DocumentTypeAsMapValueInput {
        2298  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
        2299  +
    /* ServerBuilderGenerator.kt:295 */
        2300  +
    pub fn builder() -> crate::input::document_type_as_map_value_input::Builder {
        2301  +
        /* ServerBuilderGenerator.kt:296 */
        2302  +
        crate::input::document_type_as_map_value_input::Builder::default()
        2303  +
        /* ServerBuilderGenerator.kt:295 */
        2304  +
    }
        2305  +
    /* ServerCodegenVisitor.kt:356 */
        2306  +
}
        2307  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2308  +
impl crate::constrained::Constrained for crate::input::DocumentTypeAsMapValueInput {
        2309  +
    type Unconstrained = crate::input::document_type_as_map_value_input::Builder;
        2310  +
}
        2311  +
        2312  +
/* StructureGenerator.kt:197 */
        2313  +
#[allow(missing_docs)] // documentation missing in model
        2314  +
/* RustType.kt:534 */
        2315  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2316  +
pub /* StructureGenerator.kt:201 */ struct DocumentTypeAsPayloadInput {
        2317  +
    /* StructureGenerator.kt:231 */
        2318  +
    #[allow(missing_docs)] // documentation missing in model
        2319  +
    pub document_value: ::std::option::Option<::aws_smithy_types::Document>,
        2320  +
    /* StructureGenerator.kt:201 */
        2321  +
}
        2322  +
/* StructureGenerator.kt:135 */
        2323  +
impl DocumentTypeAsPayloadInput {
        2324  +
    /* StructureGenerator.kt:231 */
        2325  +
    #[allow(missing_docs)] // documentation missing in model
        2326  +
                           /* StructureGenerator.kt:166 */
        2327  +
    pub fn document_value(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
        2328  +
        /* StructureGenerator.kt:170 */
        2329  +
        self.document_value.as_ref()
        2330  +
        /* StructureGenerator.kt:166 */
        2331  +
    }
        2332  +
    /* StructureGenerator.kt:135 */
        2333  +
}
        2334  +
/* ServerCodegenVisitor.kt:356 */
        2335  +
impl DocumentTypeAsPayloadInput {
        2336  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
        2337  +
    /* ServerBuilderGenerator.kt:295 */
        2338  +
    pub fn builder() -> crate::input::document_type_as_payload_input::Builder {
        2339  +
        /* ServerBuilderGenerator.kt:296 */
        2340  +
        crate::input::document_type_as_payload_input::Builder::default()
        2341  +
        /* ServerBuilderGenerator.kt:295 */
        2342  +
    }
        2343  +
    /* ServerCodegenVisitor.kt:356 */
        2344  +
}
        2345  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2346  +
impl crate::constrained::Constrained for crate::input::DocumentTypeAsPayloadInput {
        2347  +
    type Unconstrained = crate::input::document_type_as_payload_input::Builder;
        2348  +
}
        2349  +
        2350  +
/* StructureGenerator.kt:197 */
        2351  +
#[allow(missing_docs)] // documentation missing in model
        2352  +
/* RustType.kt:534 */
        2353  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2354  +
pub /* StructureGenerator.kt:201 */ struct DocumentTypeInput {
        2355  +
    /* StructureGenerator.kt:231 */
        2356  +
    #[allow(missing_docs)] // documentation missing in model
        2357  +
    pub string_value: ::std::option::Option<::std::string::String>,
        2358  +
    /* StructureGenerator.kt:231 */
        2359  +
    #[allow(missing_docs)] // documentation missing in model
        2360  +
    pub document_value: ::std::option::Option<::aws_smithy_types::Document>,
        2361  +
    /* StructureGenerator.kt:201 */
        2362  +
}
        2363  +
/* StructureGenerator.kt:135 */
        2364  +
impl DocumentTypeInput {
        2365  +
    /* StructureGenerator.kt:231 */
        2366  +
    #[allow(missing_docs)] // documentation missing in model
        2367  +
                           /* StructureGenerator.kt:166 */
        2368  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
        2369  +
        /* StructureGenerator.kt:169 */
        2370  +
        self.string_value.as_deref()
        2371  +
        /* StructureGenerator.kt:166 */
        2372  +
    }
        2373  +
    /* StructureGenerator.kt:231 */
        2374  +
    #[allow(missing_docs)] // documentation missing in model
        2375  +
                           /* StructureGenerator.kt:166 */
        2376  +
    pub fn document_value(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
        2377  +
        /* StructureGenerator.kt:170 */
        2378  +
        self.document_value.as_ref()
        2379  +
        /* StructureGenerator.kt:166 */
        2380  +
    }
        2381  +
    /* StructureGenerator.kt:135 */
        2382  +
}
        2383  +
/* ServerCodegenVisitor.kt:356 */
        2384  +
impl DocumentTypeInput {
        2385  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DocumentTypeInput`](crate::input::DocumentTypeInput).
        2386  +
    /* ServerBuilderGenerator.kt:295 */
        2387  +
    pub fn builder() -> crate::input::document_type_input::Builder {
        2388  +
        /* ServerBuilderGenerator.kt:296 */
        2389  +
        crate::input::document_type_input::Builder::default()
        2390  +
        /* ServerBuilderGenerator.kt:295 */
        2391  +
    }
        2392  +
    /* ServerCodegenVisitor.kt:356 */
        2393  +
}
        2394  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2395  +
impl crate::constrained::Constrained for crate::input::DocumentTypeInput {
        2396  +
    type Unconstrained = crate::input::document_type_input::Builder;
        2397  +
}
        2398  +
        2399  +
/* StructureGenerator.kt:197 */
        2400  +
#[allow(missing_docs)] // documentation missing in model
        2401  +
/* RustType.kt:534 */
        2402  +
#[derive(
        2403  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2404  +
)]
        2405  +
pub /* StructureGenerator.kt:201 */ struct JsonBlobsInput {
        2406  +
    /* StructureGenerator.kt:231 */
        2407  +
    #[allow(missing_docs)] // documentation missing in model
        2408  +
    pub data: ::std::option::Option<::aws_smithy_types::Blob>,
        2409  +
    /* StructureGenerator.kt:201 */
        2410  +
}
        2411  +
/* StructureGenerator.kt:135 */
        2412  +
impl JsonBlobsInput {
        2413  +
    /* StructureGenerator.kt:231 */
        2414  +
    #[allow(missing_docs)] // documentation missing in model
        2415  +
                           /* StructureGenerator.kt:166 */
        2416  +
    pub fn data(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        2417  +
        /* StructureGenerator.kt:170 */
        2418  +
        self.data.as_ref()
        2419  +
        /* StructureGenerator.kt:166 */
        2420  +
    }
        2421  +
    /* StructureGenerator.kt:135 */
        2422  +
}
        2423  +
/* ServerCodegenVisitor.kt:356 */
        2424  +
impl JsonBlobsInput {
        2425  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonBlobsInput`](crate::input::JsonBlobsInput).
        2426  +
    /* ServerBuilderGenerator.kt:295 */
        2427  +
    pub fn builder() -> crate::input::json_blobs_input::Builder {
        2428  +
        /* ServerBuilderGenerator.kt:296 */
        2429  +
        crate::input::json_blobs_input::Builder::default()
        2430  +
        /* ServerBuilderGenerator.kt:295 */
        2431  +
    }
        2432  +
    /* ServerCodegenVisitor.kt:356 */
        2433  +
}
        2434  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2435  +
impl crate::constrained::Constrained for crate::input::JsonBlobsInput {
        2436  +
    type Unconstrained = crate::input::json_blobs_input::Builder;
        2437  +
}
        2438  +
        2439  +
/* StructureGenerator.kt:197 */
        2440  +
#[allow(missing_docs)] // documentation missing in model
        2441  +
/* RustType.kt:534 */
        2442  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2443  +
pub /* StructureGenerator.kt:201 */ struct SparseJsonMapsInput {
        2444  +
    /* StructureGenerator.kt:231 */
        2445  +
    #[allow(missing_docs)] // documentation missing in model
        2446  +
    pub sparse_struct_map: ::std::option::Option<
        2447  +
        ::std::collections::HashMap<
        2448  +
            ::std::string::String,
        2449  +
            ::std::option::Option<crate::model::GreetingStruct>,
        2450  +
        >,
        2451  +
    >,
        2452  +
    /* StructureGenerator.kt:231 */
        2453  +
    #[allow(missing_docs)] // documentation missing in model
        2454  +
    pub sparse_number_map: ::std::option::Option<
        2455  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        2456  +
    >,
        2457  +
    /* StructureGenerator.kt:231 */
        2458  +
    #[allow(missing_docs)] // documentation missing in model
        2459  +
    pub sparse_boolean_map: ::std::option::Option<
        2460  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        2461  +
    >,
        2462  +
    /* StructureGenerator.kt:231 */
        2463  +
    #[allow(missing_docs)] // documentation missing in model
        2464  +
    pub sparse_string_map: ::std::option::Option<
        2465  +
        ::std::collections::HashMap<
        2466  +
            ::std::string::String,
        2467  +
            ::std::option::Option<::std::string::String>,
        2468  +
        >,
        2469  +
    >,
        2470  +
    /* StructureGenerator.kt:231 */
        2471  +
    #[allow(missing_docs)] // documentation missing in model
        2472  +
    pub sparse_set_map: ::std::option::Option<
        2473  +
        ::std::collections::HashMap<
        2474  +
            ::std::string::String,
        2475  +
            ::std::option::Option<crate::model::StringSet>,
        2476  +
        >,
        2477  +
    >,
        2478  +
    /* StructureGenerator.kt:201 */
        2479  +
}
        2480  +
/* StructureGenerator.kt:135 */
        2481  +
impl SparseJsonMapsInput {
        2482  +
    /* StructureGenerator.kt:231 */
        2483  +
    #[allow(missing_docs)] // documentation missing in model
        2484  +
                           /* StructureGenerator.kt:166 */
        2485  +
    pub fn sparse_struct_map(
        2486  +
        &self,
        2487  +
    ) -> ::std::option::Option<
        2488  +
        &::std::collections::HashMap<
        2489  +
            ::std::string::String,
        2490  +
            ::std::option::Option<crate::model::GreetingStruct>,
        2491  +
        >,
        2492  +
    > {
        2493  +
        /* StructureGenerator.kt:170 */
        2494  +
        self.sparse_struct_map.as_ref()
        2495  +
        /* StructureGenerator.kt:166 */
        2496  +
    }
        2497  +
    /* StructureGenerator.kt:231 */
        2498  +
    #[allow(missing_docs)] // documentation missing in model
        2499  +
                           /* StructureGenerator.kt:166 */
        2500  +
    pub fn sparse_number_map(
        2501  +
        &self,
        2502  +
    ) -> ::std::option::Option<
        2503  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        2504  +
    > {
        2505  +
        /* StructureGenerator.kt:170 */
        2506  +
        self.sparse_number_map.as_ref()
        2507  +
        /* StructureGenerator.kt:166 */
        2508  +
    }
        2509  +
    /* StructureGenerator.kt:231 */
        2510  +
    #[allow(missing_docs)] // documentation missing in model
        2511  +
                           /* StructureGenerator.kt:166 */
        2512  +
    pub fn sparse_boolean_map(
        2513  +
        &self,
        2514  +
    ) -> ::std::option::Option<
        2515  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        2516  +
    > {
        2517  +
        /* StructureGenerator.kt:170 */
        2518  +
        self.sparse_boolean_map.as_ref()
        2519  +
        /* StructureGenerator.kt:166 */
        2520  +
    }
        2521  +
    /* StructureGenerator.kt:231 */
        2522  +
    #[allow(missing_docs)] // documentation missing in model
        2523  +
                           /* StructureGenerator.kt:166 */
        2524  +
    pub fn sparse_string_map(
        2525  +
        &self,
        2526  +
    ) -> ::std::option::Option<
        2527  +
        &::std::collections::HashMap<
        2528  +
            ::std::string::String,
        2529  +
            ::std::option::Option<::std::string::String>,
        2530  +
        >,
        2531  +
    > {
        2532  +
        /* StructureGenerator.kt:170 */
        2533  +
        self.sparse_string_map.as_ref()
        2534  +
        /* StructureGenerator.kt:166 */
        2535  +
    }
        2536  +
    /* StructureGenerator.kt:231 */
        2537  +
    #[allow(missing_docs)] // documentation missing in model
        2538  +
                           /* StructureGenerator.kt:166 */
        2539  +
    pub fn sparse_set_map(
        2540  +
        &self,
        2541  +
    ) -> ::std::option::Option<
        2542  +
        &::std::collections::HashMap<
        2543  +
            ::std::string::String,
        2544  +
            ::std::option::Option<crate::model::StringSet>,
        2545  +
        >,
        2546  +
    > {
        2547  +
        /* StructureGenerator.kt:170 */
        2548  +
        self.sparse_set_map.as_ref()
        2549  +
        /* StructureGenerator.kt:166 */
        2550  +
    }
        2551  +
    /* StructureGenerator.kt:135 */
        2552  +
}
        2553  +
/* ServerCodegenVisitor.kt:356 */
        2554  +
impl SparseJsonMapsInput {
        2555  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
        2556  +
    /* ServerBuilderGenerator.kt:295 */
        2557  +
    pub fn builder() -> crate::input::sparse_json_maps_input::Builder {
        2558  +
        /* ServerBuilderGenerator.kt:296 */
        2559  +
        crate::input::sparse_json_maps_input::Builder::default()
        2560  +
        /* ServerBuilderGenerator.kt:295 */
        2561  +
    }
        2562  +
    /* ServerCodegenVisitor.kt:356 */
        2563  +
}
        2564  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2565  +
impl crate::constrained::Constrained for crate::input::SparseJsonMapsInput {
        2566  +
    type Unconstrained = crate::input::sparse_json_maps_input::Builder;
        2567  +
}
        2568  +
        2569  +
/* StructureGenerator.kt:197 */
        2570  +
#[allow(missing_docs)] // documentation missing in model
        2571  +
/* RustType.kt:534 */
        2572  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2573  +
pub /* StructureGenerator.kt:201 */ struct JsonMapsInput {
        2574  +
    /* StructureGenerator.kt:231 */
        2575  +
    #[allow(missing_docs)] // documentation missing in model
        2576  +
    pub dense_struct_map: ::std::option::Option<
        2577  +
        ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        2578  +
    >,
        2579  +
    /* StructureGenerator.kt:231 */
        2580  +
    #[allow(missing_docs)] // documentation missing in model
        2581  +
    pub dense_number_map:
        2582  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2583  +
    /* StructureGenerator.kt:231 */
        2584  +
    #[allow(missing_docs)] // documentation missing in model
        2585  +
    pub dense_boolean_map:
        2586  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
        2587  +
    /* StructureGenerator.kt:231 */
        2588  +
    #[allow(missing_docs)] // documentation missing in model
        2589  +
    pub dense_string_map: ::std::option::Option<
        2590  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2591  +
    >,
        2592  +
    /* StructureGenerator.kt:231 */
        2593  +
    #[allow(missing_docs)] // documentation missing in model
        2594  +
    pub dense_set_map: ::std::option::Option<
        2595  +
        ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
        2596  +
    >,
        2597  +
    /* StructureGenerator.kt:201 */
        2598  +
}
        2599  +
/* StructureGenerator.kt:135 */
        2600  +
impl JsonMapsInput {
        2601  +
    /* StructureGenerator.kt:231 */
        2602  +
    #[allow(missing_docs)] // documentation missing in model
        2603  +
                           /* StructureGenerator.kt:166 */
        2604  +
    pub fn dense_struct_map(
        2605  +
        &self,
        2606  +
    ) -> ::std::option::Option<
        2607  +
        &::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        2608  +
    > {
        2609  +
        /* StructureGenerator.kt:170 */
        2610  +
        self.dense_struct_map.as_ref()
        2611  +
        /* StructureGenerator.kt:166 */
        2612  +
    }
        2613  +
    /* StructureGenerator.kt:231 */
        2614  +
    #[allow(missing_docs)] // documentation missing in model
        2615  +
                           /* StructureGenerator.kt:166 */
        2616  +
    pub fn dense_number_map(
        2617  +
        &self,
        2618  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
        2619  +
        /* StructureGenerator.kt:170 */
        2620  +
        self.dense_number_map.as_ref()
        2621  +
        /* StructureGenerator.kt:166 */
        2622  +
    }
        2623  +
    /* StructureGenerator.kt:231 */
        2624  +
    #[allow(missing_docs)] // documentation missing in model
        2625  +
                           /* StructureGenerator.kt:166 */
        2626  +
    pub fn dense_boolean_map(
        2627  +
        &self,
        2628  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, bool>> {
        2629  +
        /* StructureGenerator.kt:170 */
        2630  +
        self.dense_boolean_map.as_ref()
        2631  +
        /* StructureGenerator.kt:166 */
        2632  +
    }
        2633  +
    /* StructureGenerator.kt:231 */
        2634  +
    #[allow(missing_docs)] // documentation missing in model
        2635  +
                           /* StructureGenerator.kt:166 */
        2636  +
    pub fn dense_string_map(
        2637  +
        &self,
        2638  +
    ) -> ::std::option::Option<
        2639  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        2640  +
    > {
        2641  +
        /* StructureGenerator.kt:170 */
        2642  +
        self.dense_string_map.as_ref()
        2643  +
        /* StructureGenerator.kt:166 */
        2644  +
    }
        2645  +
    /* StructureGenerator.kt:231 */
        2646  +
    #[allow(missing_docs)] // documentation missing in model
        2647  +
                           /* StructureGenerator.kt:166 */
        2648  +
    pub fn dense_set_map(
        2649  +
        &self,
        2650  +
    ) -> ::std::option::Option<
        2651  +
        &::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
        2652  +
    > {
        2653  +
        /* StructureGenerator.kt:170 */
        2654  +
        self.dense_set_map.as_ref()
        2655  +
        /* StructureGenerator.kt:166 */
        2656  +
    }
        2657  +
    /* StructureGenerator.kt:135 */
        2658  +
}
        2659  +
/* ServerCodegenVisitor.kt:356 */
        2660  +
impl JsonMapsInput {
        2661  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonMapsInput`](crate::input::JsonMapsInput).
        2662  +
    /* ServerBuilderGenerator.kt:295 */
        2663  +
    pub fn builder() -> crate::input::json_maps_input::Builder {
        2664  +
        /* ServerBuilderGenerator.kt:296 */
        2665  +
        crate::input::json_maps_input::Builder::default()
        2666  +
        /* ServerBuilderGenerator.kt:295 */
        2667  +
    }
        2668  +
    /* ServerCodegenVisitor.kt:356 */
        2669  +
}
        2670  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2671  +
impl crate::constrained::Constrained for crate::input::JsonMapsInput {
        2672  +
    type Unconstrained = crate::input::json_maps_input::Builder;
        2673  +
}
        2674  +
        2675  +
/* StructureGenerator.kt:197 */
        2676  +
#[allow(missing_docs)] // documentation missing in model
        2677  +
/* RustType.kt:534 */
        2678  +
#[derive(
        2679  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2680  +
)]
        2681  +
pub /* StructureGenerator.kt:201 */ struct SparseJsonListsInput {
        2682  +
    /* StructureGenerator.kt:231 */
        2683  +
    #[allow(missing_docs)] // documentation missing in model
        2684  +
    pub sparse_string_list:
        2685  +
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        2686  +
    /* StructureGenerator.kt:231 */
        2687  +
    #[allow(missing_docs)] // documentation missing in model
        2688  +
    pub sparse_short_list: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
        2689  +
    /* StructureGenerator.kt:201 */
        2690  +
}
        2691  +
/* StructureGenerator.kt:135 */
        2692  +
impl SparseJsonListsInput {
        2693  +
    /* StructureGenerator.kt:231 */
        2694  +
    #[allow(missing_docs)] // documentation missing in model
        2695  +
                           /* StructureGenerator.kt:166 */
        2696  +
    pub fn sparse_string_list(
        2697  +
        &self,
        2698  +
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
        2699  +
        /* StructureGenerator.kt:169 */
        2700  +
        self.sparse_string_list.as_deref()
        2701  +
        /* StructureGenerator.kt:166 */
        2702  +
    }
        2703  +
    /* StructureGenerator.kt:231 */
        2704  +
    #[allow(missing_docs)] // documentation missing in model
        2705  +
                           /* StructureGenerator.kt:166 */
        2706  +
    pub fn sparse_short_list(&self) -> ::std::option::Option<&[::std::option::Option<i16>]> {
        2707  +
        /* StructureGenerator.kt:169 */
        2708  +
        self.sparse_short_list.as_deref()
        2709  +
        /* StructureGenerator.kt:166 */
        2710  +
    }
        2711  +
    /* StructureGenerator.kt:135 */
        2712  +
}
        2713  +
/* ServerCodegenVisitor.kt:356 */
        2714  +
impl SparseJsonListsInput {
        2715  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
        2716  +
    /* ServerBuilderGenerator.kt:295 */
        2717  +
    pub fn builder() -> crate::input::sparse_json_lists_input::Builder {
        2718  +
        /* ServerBuilderGenerator.kt:296 */
        2719  +
        crate::input::sparse_json_lists_input::Builder::default()
        2720  +
        /* ServerBuilderGenerator.kt:295 */
        2721  +
    }
        2722  +
    /* ServerCodegenVisitor.kt:356 */
        2723  +
}
        2724  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2725  +
impl crate::constrained::Constrained for crate::input::SparseJsonListsInput {
        2726  +
    type Unconstrained = crate::input::sparse_json_lists_input::Builder;
        2727  +
}
        2728  +
        2729  +
/* StructureGenerator.kt:197 */
        2730  +
#[allow(missing_docs)] // documentation missing in model
        2731  +
/* RustType.kt:534 */
        2732  +
#[derive(
        2733  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2734  +
)]
        2735  +
pub /* StructureGenerator.kt:201 */ struct JsonListsInput {
        2736  +
    /* StructureGenerator.kt:231 */
        2737  +
    #[allow(missing_docs)] // documentation missing in model
        2738  +
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        2739  +
    /* StructureGenerator.kt:231 */
        2740  +
    #[allow(missing_docs)] // documentation missing in model
        2741  +
    pub string_set: ::std::option::Option<crate::model::StringSet>,
        2742  +
    /* StructureGenerator.kt:231 */
        2743  +
    #[allow(missing_docs)] // documentation missing in model
        2744  +
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2745  +
    /* StructureGenerator.kt:231 */
        2746  +
    #[allow(missing_docs)] // documentation missing in model
        2747  +
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        2748  +
    /* StructureGenerator.kt:231 */
        2749  +
    #[allow(missing_docs)] // documentation missing in model
        2750  +
    pub timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        2751  +
    /* StructureGenerator.kt:231 */
        2752  +
    #[allow(missing_docs)] // documentation missing in model
        2753  +
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2754  +
    /* StructureGenerator.kt:231 */
        2755  +
    #[allow(missing_docs)] // documentation missing in model
        2756  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2757  +
    /// /* StructureGenerator.kt:231 */A list of lists of strings.
        2758  +
    pub nested_string_list:
        2759  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2760  +
    /* StructureGenerator.kt:231 */
        2761  +
    #[allow(missing_docs)] // documentation missing in model
        2762  +
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
        2763  +
    /* StructureGenerator.kt:201 */
        2764  +
}
        2765  +
/* StructureGenerator.kt:135 */
        2766  +
impl JsonListsInput {
        2767  +
    /* StructureGenerator.kt:231 */
        2768  +
    #[allow(missing_docs)] // documentation missing in model
        2769  +
                           /* StructureGenerator.kt:166 */
        2770  +
    pub fn string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        2771  +
        /* StructureGenerator.kt:169 */
        2772  +
        self.string_list.as_deref()
        2773  +
        /* StructureGenerator.kt:166 */
        2774  +
    }
        2775  +
    /* StructureGenerator.kt:231 */
        2776  +
    #[allow(missing_docs)] // documentation missing in model
        2777  +
                           /* StructureGenerator.kt:166 */
        2778  +
    pub fn string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
        2779  +
        /* StructureGenerator.kt:170 */
        2780  +
        self.string_set.as_ref()
        2781  +
        /* StructureGenerator.kt:166 */
        2782  +
    }
        2783  +
    /* StructureGenerator.kt:231 */
        2784  +
    #[allow(missing_docs)] // documentation missing in model
        2785  +
                           /* StructureGenerator.kt:166 */
        2786  +
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
        2787  +
        /* StructureGenerator.kt:169 */
        2788  +
        self.integer_list.as_deref()
        2789  +
        /* StructureGenerator.kt:166 */
        2790  +
    }
        2791  +
    /* StructureGenerator.kt:231 */
        2792  +
    #[allow(missing_docs)] // documentation missing in model
        2793  +
                           /* StructureGenerator.kt:166 */
        2794  +
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
        2795  +
        /* StructureGenerator.kt:169 */
        2796  +
        self.boolean_list.as_deref()
        2797  +
        /* StructureGenerator.kt:166 */
        2798  +
    }
        2799  +
    /* StructureGenerator.kt:231 */
        2800  +
    #[allow(missing_docs)] // documentation missing in model
        2801  +
                           /* StructureGenerator.kt:166 */
        2802  +
    pub fn timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        2803  +
        /* StructureGenerator.kt:169 */
        2804  +
        self.timestamp_list.as_deref()
        2805  +
        /* StructureGenerator.kt:166 */
        2806  +
    }
        2807  +
    /* StructureGenerator.kt:231 */
        2808  +
    #[allow(missing_docs)] // documentation missing in model
        2809  +
                           /* StructureGenerator.kt:166 */
        2810  +
    pub fn enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        2811  +
        /* StructureGenerator.kt:169 */
        2812  +
        self.enum_list.as_deref()
        2813  +
        /* StructureGenerator.kt:166 */
        2814  +
    }
        2815  +
    /* StructureGenerator.kt:231 */
        2816  +
    #[allow(missing_docs)] // documentation missing in model
        2817  +
                           /* StructureGenerator.kt:166 */
        2818  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
        2819  +
        /* StructureGenerator.kt:169 */
        2820  +
        self.int_enum_list.as_deref()
        2821  +
        /* StructureGenerator.kt:166 */
        2822  +
    }
        2823  +
    /// /* StructureGenerator.kt:231 */A list of lists of strings.
        2824  +
    /* StructureGenerator.kt:166 */
        2825  +
    pub fn nested_string_list(
        2826  +
        &self,
        2827  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
        2828  +
        /* StructureGenerator.kt:169 */
        2829  +
        self.nested_string_list.as_deref()
        2830  +
        /* StructureGenerator.kt:166 */
        2831  +
    }
        2832  +
    /* StructureGenerator.kt:231 */
        2833  +
    #[allow(missing_docs)] // documentation missing in model
        2834  +
                           /* StructureGenerator.kt:166 */
        2835  +
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::StructureListMember]> {
        2836  +
        /* StructureGenerator.kt:169 */
        2837  +
        self.structure_list.as_deref()
        2838  +
        /* StructureGenerator.kt:166 */
        2839  +
    }
        2840  +
    /* StructureGenerator.kt:135 */
        2841  +
}
        2842  +
/* ServerCodegenVisitor.kt:356 */
        2843  +
impl JsonListsInput {
        2844  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonListsInput`](crate::input::JsonListsInput).
        2845  +
    /* ServerBuilderGenerator.kt:295 */
        2846  +
    pub fn builder() -> crate::input::json_lists_input::Builder {
        2847  +
        /* ServerBuilderGenerator.kt:296 */
        2848  +
        crate::input::json_lists_input::Builder::default()
        2849  +
        /* ServerBuilderGenerator.kt:295 */
        2850  +
    }
        2851  +
    /* ServerCodegenVisitor.kt:356 */
        2852  +
}
        2853  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2854  +
impl crate::constrained::Constrained for crate::input::JsonListsInput {
        2855  +
    type Unconstrained = crate::input::json_lists_input::Builder;
        2856  +
}
        2857  +
        2858  +
/* StructureGenerator.kt:197 */
        2859  +
#[allow(missing_docs)] // documentation missing in model
        2860  +
/* RustType.kt:534 */
        2861  +
#[derive(
        2862  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        2863  +
)]
        2864  +
pub /* StructureGenerator.kt:201 */ struct RecursiveShapesInput {
        2865  +
    /* StructureGenerator.kt:231 */
        2866  +
    #[allow(missing_docs)] // documentation missing in model
        2867  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
        2868  +
    /* StructureGenerator.kt:201 */
        2869  +
}
        2870  +
/* StructureGenerator.kt:135 */
        2871  +
impl RecursiveShapesInput {
        2872  +
    /* StructureGenerator.kt:231 */
        2873  +
    #[allow(missing_docs)] // documentation missing in model
        2874  +
                           /* StructureGenerator.kt:166 */
        2875  +
    pub fn nested(
        2876  +
        &self,
        2877  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
        2878  +
        /* StructureGenerator.kt:170 */
        2879  +
        self.nested.as_ref()
        2880  +
        /* StructureGenerator.kt:166 */
        2881  +
    }
        2882  +
    /* StructureGenerator.kt:135 */
        2883  +
}
        2884  +
/* ServerCodegenVisitor.kt:356 */
        2885  +
impl RecursiveShapesInput {
        2886  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
        2887  +
    /* ServerBuilderGenerator.kt:295 */
        2888  +
    pub fn builder() -> crate::input::recursive_shapes_input::Builder {
        2889  +
        /* ServerBuilderGenerator.kt:296 */
        2890  +
        crate::input::recursive_shapes_input::Builder::default()
        2891  +
        /* ServerBuilderGenerator.kt:295 */
        2892  +
    }
        2893  +
    /* ServerCodegenVisitor.kt:356 */
        2894  +
}
        2895  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2896  +
impl crate::constrained::Constrained for crate::input::RecursiveShapesInput {
        2897  +
    type Unconstrained = crate::input::recursive_shapes_input::Builder;
        2898  +
}
        2899  +
        2900  +
/* StructureGenerator.kt:197 */
        2901  +
#[allow(missing_docs)] // documentation missing in model
        2902  +
/* RustType.kt:534 */
        2903  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        2904  +
pub /* StructureGenerator.kt:201 */ struct JsonIntEnumsInput {
        2905  +
    /* StructureGenerator.kt:231 */
        2906  +
    #[allow(missing_docs)] // documentation missing in model
        2907  +
    pub integer_enum1: ::std::option::Option<i32>,
        2908  +
    /* StructureGenerator.kt:231 */
        2909  +
    #[allow(missing_docs)] // documentation missing in model
        2910  +
    pub integer_enum2: ::std::option::Option<i32>,
        2911  +
    /* StructureGenerator.kt:231 */
        2912  +
    #[allow(missing_docs)] // documentation missing in model
        2913  +
    pub integer_enum3: ::std::option::Option<i32>,
        2914  +
    /* StructureGenerator.kt:231 */
        2915  +
    #[allow(missing_docs)] // documentation missing in model
        2916  +
    pub integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        2917  +
    /* StructureGenerator.kt:231 */
        2918  +
    #[allow(missing_docs)] // documentation missing in model
        2919  +
    pub integer_enum_set: ::std::option::Option<crate::model::IntegerEnumSet>,
        2920  +
    /* StructureGenerator.kt:231 */
        2921  +
    #[allow(missing_docs)] // documentation missing in model
        2922  +
    pub integer_enum_map:
        2923  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        2924  +
    /* StructureGenerator.kt:201 */
        2925  +
}
        2926  +
/* StructureGenerator.kt:135 */
        2927  +
impl JsonIntEnumsInput {
        2928  +
    /* StructureGenerator.kt:231 */
        2929  +
    #[allow(missing_docs)] // documentation missing in model
        2930  +
                           /* StructureGenerator.kt:166 */
        2931  +
    pub fn integer_enum1(&self) -> ::std::option::Option<i32> {
        2932  +
        /* StructureGenerator.kt:168 */
        2933  +
        self.integer_enum1
        2934  +
        /* StructureGenerator.kt:166 */
        2935  +
    }
        2936  +
    /* StructureGenerator.kt:231 */
        2937  +
    #[allow(missing_docs)] // documentation missing in model
        2938  +
                           /* StructureGenerator.kt:166 */
        2939  +
    pub fn integer_enum2(&self) -> ::std::option::Option<i32> {
        2940  +
        /* StructureGenerator.kt:168 */
        2941  +
        self.integer_enum2
        2942  +
        /* StructureGenerator.kt:166 */
        2943  +
    }
        2944  +
    /* StructureGenerator.kt:231 */
        2945  +
    #[allow(missing_docs)] // documentation missing in model
        2946  +
                           /* StructureGenerator.kt:166 */
        2947  +
    pub fn integer_enum3(&self) -> ::std::option::Option<i32> {
        2948  +
        /* StructureGenerator.kt:168 */
        2949  +
        self.integer_enum3
        2950  +
        /* StructureGenerator.kt:166 */
        2951  +
    }
        2952  +
    /* StructureGenerator.kt:231 */
        2953  +
    #[allow(missing_docs)] // documentation missing in model
        2954  +
                           /* StructureGenerator.kt:166 */
        2955  +
    pub fn integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        2956  +
        /* StructureGenerator.kt:169 */
        2957  +
        self.integer_enum_list.as_deref()
        2958  +
        /* StructureGenerator.kt:166 */
        2959  +
    }
        2960  +
    /* StructureGenerator.kt:231 */
        2961  +
    #[allow(missing_docs)] // documentation missing in model
        2962  +
                           /* StructureGenerator.kt:166 */
        2963  +
    pub fn integer_enum_set(&self) -> ::std::option::Option<&crate::model::IntegerEnumSet> {
        2964  +
        /* StructureGenerator.kt:170 */
        2965  +
        self.integer_enum_set.as_ref()
        2966  +
        /* StructureGenerator.kt:166 */
        2967  +
    }
        2968  +
    /* StructureGenerator.kt:231 */
        2969  +
    #[allow(missing_docs)] // documentation missing in model
        2970  +
                           /* StructureGenerator.kt:166 */
        2971  +
    pub fn integer_enum_map(
        2972  +
        &self,
        2973  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
        2974  +
        /* StructureGenerator.kt:170 */
        2975  +
        self.integer_enum_map.as_ref()
        2976  +
        /* StructureGenerator.kt:166 */
        2977  +
    }
        2978  +
    /* StructureGenerator.kt:135 */
        2979  +
}
        2980  +
/* ServerCodegenVisitor.kt:356 */
        2981  +
impl JsonIntEnumsInput {
        2982  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
        2983  +
    /* ServerBuilderGenerator.kt:295 */
        2984  +
    pub fn builder() -> crate::input::json_int_enums_input::Builder {
        2985  +
        /* ServerBuilderGenerator.kt:296 */
        2986  +
        crate::input::json_int_enums_input::Builder::default()
        2987  +
        /* ServerBuilderGenerator.kt:295 */
        2988  +
    }
        2989  +
    /* ServerCodegenVisitor.kt:356 */
        2990  +
}
        2991  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        2992  +
impl crate::constrained::Constrained for crate::input::JsonIntEnumsInput {
        2993  +
    type Unconstrained = crate::input::json_int_enums_input::Builder;
        2994  +
}
        2995  +
        2996  +
/* StructureGenerator.kt:197 */
        2997  +
#[allow(missing_docs)] // documentation missing in model
        2998  +
/* RustType.kt:534 */
        2999  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3000  +
pub /* StructureGenerator.kt:201 */ struct JsonEnumsInput {
        3001  +
    /* StructureGenerator.kt:231 */
        3002  +
    #[allow(missing_docs)] // documentation missing in model
        3003  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        3004  +
    /* StructureGenerator.kt:231 */
        3005  +
    #[allow(missing_docs)] // documentation missing in model
        3006  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        3007  +
    /* StructureGenerator.kt:231 */
        3008  +
    #[allow(missing_docs)] // documentation missing in model
        3009  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        3010  +
    /* StructureGenerator.kt:231 */
        3011  +
    #[allow(missing_docs)] // documentation missing in model
        3012  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        3013  +
    /* StructureGenerator.kt:231 */
        3014  +
    #[allow(missing_docs)] // documentation missing in model
        3015  +
    pub foo_enum_set: ::std::option::Option<crate::model::FooEnumSet>,
        3016  +
    /* StructureGenerator.kt:231 */
        3017  +
    #[allow(missing_docs)] // documentation missing in model
        3018  +
    pub foo_enum_map: ::std::option::Option<
        3019  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3020  +
    >,
        3021  +
    /* StructureGenerator.kt:201 */
        3022  +
}
        3023  +
/* StructureGenerator.kt:135 */
        3024  +
impl JsonEnumsInput {
        3025  +
    /* StructureGenerator.kt:231 */
        3026  +
    #[allow(missing_docs)] // documentation missing in model
        3027  +
                           /* StructureGenerator.kt:166 */
        3028  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        3029  +
        /* StructureGenerator.kt:170 */
        3030  +
        self.foo_enum1.as_ref()
        3031  +
        /* StructureGenerator.kt:166 */
        3032  +
    }
        3033  +
    /* StructureGenerator.kt:231 */
        3034  +
    #[allow(missing_docs)] // documentation missing in model
        3035  +
                           /* StructureGenerator.kt:166 */
        3036  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        3037  +
        /* StructureGenerator.kt:170 */
        3038  +
        self.foo_enum2.as_ref()
        3039  +
        /* StructureGenerator.kt:166 */
        3040  +
    }
        3041  +
    /* StructureGenerator.kt:231 */
        3042  +
    #[allow(missing_docs)] // documentation missing in model
        3043  +
                           /* StructureGenerator.kt:166 */
        3044  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        3045  +
        /* StructureGenerator.kt:170 */
        3046  +
        self.foo_enum3.as_ref()
        3047  +
        /* StructureGenerator.kt:166 */
        3048  +
    }
        3049  +
    /* StructureGenerator.kt:231 */
        3050  +
    #[allow(missing_docs)] // documentation missing in model
        3051  +
                           /* StructureGenerator.kt:166 */
        3052  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        3053  +
        /* StructureGenerator.kt:169 */
        3054  +
        self.foo_enum_list.as_deref()
        3055  +
        /* StructureGenerator.kt:166 */
        3056  +
    }
        3057  +
    /* StructureGenerator.kt:231 */
        3058  +
    #[allow(missing_docs)] // documentation missing in model
        3059  +
                           /* StructureGenerator.kt:166 */
        3060  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&crate::model::FooEnumSet> {
        3061  +
        /* StructureGenerator.kt:170 */
        3062  +
        self.foo_enum_set.as_ref()
        3063  +
        /* StructureGenerator.kt:166 */
        3064  +
    }
        3065  +
    /* StructureGenerator.kt:231 */
        3066  +
    #[allow(missing_docs)] // documentation missing in model
        3067  +
                           /* StructureGenerator.kt:166 */
        3068  +
    pub fn foo_enum_map(
        3069  +
        &self,
        3070  +
    ) -> ::std::option::Option<
        3071  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        3072  +
    > {
        3073  +
        /* StructureGenerator.kt:170 */
        3074  +
        self.foo_enum_map.as_ref()
        3075  +
        /* StructureGenerator.kt:166 */
        3076  +
    }
        3077  +
    /* StructureGenerator.kt:135 */
        3078  +
}
        3079  +
/* ServerCodegenVisitor.kt:356 */
        3080  +
impl JsonEnumsInput {
        3081  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonEnumsInput`](crate::input::JsonEnumsInput).
        3082  +
    /* ServerBuilderGenerator.kt:295 */
        3083  +
    pub fn builder() -> crate::input::json_enums_input::Builder {
        3084  +
        /* ServerBuilderGenerator.kt:296 */
        3085  +
        crate::input::json_enums_input::Builder::default()
        3086  +
        /* ServerBuilderGenerator.kt:295 */
        3087  +
    }
        3088  +
    /* ServerCodegenVisitor.kt:356 */
        3089  +
}
        3090  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3091  +
impl crate::constrained::Constrained for crate::input::JsonEnumsInput {
        3092  +
    type Unconstrained = crate::input::json_enums_input::Builder;
        3093  +
}
        3094  +
        3095  +
/* StructureGenerator.kt:197 */
        3096  +
#[allow(missing_docs)] // documentation missing in model
        3097  +
/* RustType.kt:534 */
        3098  +
#[derive(
        3099  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3100  +
)]
        3101  +
pub /* StructureGenerator.kt:201 */ struct JsonTimestampsInput {
        3102  +
    /* StructureGenerator.kt:231 */
        3103  +
    #[allow(missing_docs)] // documentation missing in model
        3104  +
    pub normal: ::std::option::Option<::aws_smithy_types::DateTime>,
        3105  +
    /* StructureGenerator.kt:231 */
        3106  +
    #[allow(missing_docs)] // documentation missing in model
        3107  +
    pub date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
        3108  +
    /* StructureGenerator.kt:231 */
        3109  +
    #[allow(missing_docs)] // documentation missing in model
        3110  +
    pub date_time_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
        3111  +
    /* StructureGenerator.kt:231 */
        3112  +
    #[allow(missing_docs)] // documentation missing in model
        3113  +
    pub epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        3114  +
    /* StructureGenerator.kt:231 */
        3115  +
    #[allow(missing_docs)] // documentation missing in model
        3116  +
    pub epoch_seconds_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
        3117  +
    /* StructureGenerator.kt:231 */
        3118  +
    #[allow(missing_docs)] // documentation missing in model
        3119  +
    pub http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        3120  +
    /* StructureGenerator.kt:231 */
        3121  +
    #[allow(missing_docs)] // documentation missing in model
        3122  +
    pub http_date_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
        3123  +
    /* StructureGenerator.kt:201 */
        3124  +
}
        3125  +
/* StructureGenerator.kt:135 */
        3126  +
impl JsonTimestampsInput {
        3127  +
    /* StructureGenerator.kt:231 */
        3128  +
    #[allow(missing_docs)] // documentation missing in model
        3129  +
                           /* StructureGenerator.kt:166 */
        3130  +
    pub fn normal(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3131  +
        /* StructureGenerator.kt:170 */
        3132  +
        self.normal.as_ref()
        3133  +
        /* StructureGenerator.kt:166 */
        3134  +
    }
        3135  +
    /* StructureGenerator.kt:231 */
        3136  +
    #[allow(missing_docs)] // documentation missing in model
        3137  +
                           /* StructureGenerator.kt:166 */
        3138  +
    pub fn date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3139  +
        /* StructureGenerator.kt:170 */
        3140  +
        self.date_time.as_ref()
        3141  +
        /* StructureGenerator.kt:166 */
        3142  +
    }
        3143  +
    /* StructureGenerator.kt:231 */
        3144  +
    #[allow(missing_docs)] // documentation missing in model
        3145  +
                           /* StructureGenerator.kt:166 */
        3146  +
    pub fn date_time_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3147  +
        /* StructureGenerator.kt:170 */
        3148  +
        self.date_time_on_target.as_ref()
        3149  +
        /* StructureGenerator.kt:166 */
        3150  +
    }
        3151  +
    /* StructureGenerator.kt:231 */
        3152  +
    #[allow(missing_docs)] // documentation missing in model
        3153  +
                           /* StructureGenerator.kt:166 */
        3154  +
    pub fn epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3155  +
        /* StructureGenerator.kt:170 */
        3156  +
        self.epoch_seconds.as_ref()
        3157  +
        /* StructureGenerator.kt:166 */
        3158  +
    }
        3159  +
    /* StructureGenerator.kt:231 */
        3160  +
    #[allow(missing_docs)] // documentation missing in model
        3161  +
                           /* StructureGenerator.kt:166 */
        3162  +
    pub fn epoch_seconds_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3163  +
        /* StructureGenerator.kt:170 */
        3164  +
        self.epoch_seconds_on_target.as_ref()
        3165  +
        /* StructureGenerator.kt:166 */
        3166  +
    }
        3167  +
    /* StructureGenerator.kt:231 */
        3168  +
    #[allow(missing_docs)] // documentation missing in model
        3169  +
                           /* StructureGenerator.kt:166 */
        3170  +
    pub fn http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3171  +
        /* StructureGenerator.kt:170 */
        3172  +
        self.http_date.as_ref()
        3173  +
        /* StructureGenerator.kt:166 */
        3174  +
    }
        3175  +
    /* StructureGenerator.kt:231 */
        3176  +
    #[allow(missing_docs)] // documentation missing in model
        3177  +
                           /* StructureGenerator.kt:166 */
        3178  +
    pub fn http_date_on_target(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        3179  +
        /* StructureGenerator.kt:170 */
        3180  +
        self.http_date_on_target.as_ref()
        3181  +
        /* StructureGenerator.kt:166 */
        3182  +
    }
        3183  +
    /* StructureGenerator.kt:135 */
        3184  +
}
        3185  +
/* ServerCodegenVisitor.kt:356 */
        3186  +
impl JsonTimestampsInput {
        3187  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
        3188  +
    /* ServerBuilderGenerator.kt:295 */
        3189  +
    pub fn builder() -> crate::input::json_timestamps_input::Builder {
        3190  +
        /* ServerBuilderGenerator.kt:296 */
        3191  +
        crate::input::json_timestamps_input::Builder::default()
        3192  +
        /* ServerBuilderGenerator.kt:295 */
        3193  +
    }
        3194  +
    /* ServerCodegenVisitor.kt:356 */
        3195  +
}
        3196  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3197  +
impl crate::constrained::Constrained for crate::input::JsonTimestampsInput {
        3198  +
    type Unconstrained = crate::input::json_timestamps_input::Builder;
        3199  +
}
        3200  +
        3201  +
/* StructureGenerator.kt:197 */
        3202  +
#[allow(missing_docs)] // documentation missing in model
        3203  +
/* RustType.kt:534 */
        3204  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3205  +
pub /* StructureGenerator.kt:201 */ struct SimpleScalarPropertiesInput {
        3206  +
    /* StructureGenerator.kt:231 */
        3207  +
    #[allow(missing_docs)] // documentation missing in model
        3208  +
    pub foo: ::std::option::Option<::std::string::String>,
        3209  +
    /* StructureGenerator.kt:231 */
        3210  +
    #[allow(missing_docs)] // documentation missing in model
        3211  +
    pub string_value: ::std::option::Option<::std::string::String>,
        3212  +
    /* StructureGenerator.kt:231 */
        3213  +
    #[allow(missing_docs)] // documentation missing in model
        3214  +
    pub true_boolean_value: ::std::option::Option<bool>,
        3215  +
    /* StructureGenerator.kt:231 */
        3216  +
    #[allow(missing_docs)] // documentation missing in model
        3217  +
    pub false_boolean_value: ::std::option::Option<bool>,
        3218  +
    /* StructureGenerator.kt:231 */
        3219  +
    #[allow(missing_docs)] // documentation missing in model
        3220  +
    pub byte_value: ::std::option::Option<i8>,
        3221  +
    /* StructureGenerator.kt:231 */
        3222  +
    #[allow(missing_docs)] // documentation missing in model
        3223  +
    pub short_value: ::std::option::Option<i16>,
        3224  +
    /* StructureGenerator.kt:231 */
        3225  +
    #[allow(missing_docs)] // documentation missing in model
        3226  +
    pub integer_value: ::std::option::Option<i32>,
        3227  +
    /* StructureGenerator.kt:231 */
        3228  +
    #[allow(missing_docs)] // documentation missing in model
        3229  +
    pub long_value: ::std::option::Option<i64>,
        3230  +
    /* StructureGenerator.kt:231 */
        3231  +
    #[allow(missing_docs)] // documentation missing in model
        3232  +
    pub float_value: ::std::option::Option<f32>,
        3233  +
    /* StructureGenerator.kt:231 */
        3234  +
    #[allow(missing_docs)] // documentation missing in model
        3235  +
    pub double_value: ::std::option::Option<f64>,
        3236  +
    /* StructureGenerator.kt:201 */
        3237  +
}
        3238  +
/* StructureGenerator.kt:135 */
        3239  +
impl SimpleScalarPropertiesInput {
        3240  +
    /* StructureGenerator.kt:231 */
        3241  +
    #[allow(missing_docs)] // documentation missing in model
        3242  +
                           /* StructureGenerator.kt:166 */
        3243  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3244  +
        /* StructureGenerator.kt:169 */
        3245  +
        self.foo.as_deref()
        3246  +
        /* StructureGenerator.kt:166 */
        3247  +
    }
        3248  +
    /* StructureGenerator.kt:231 */
        3249  +
    #[allow(missing_docs)] // documentation missing in model
        3250  +
                           /* StructureGenerator.kt:166 */
        3251  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
        3252  +
        /* StructureGenerator.kt:169 */
        3253  +
        self.string_value.as_deref()
        3254  +
        /* StructureGenerator.kt:166 */
        3255  +
    }
        3256  +
    /* StructureGenerator.kt:231 */
        3257  +
    #[allow(missing_docs)] // documentation missing in model
        3258  +
                           /* StructureGenerator.kt:166 */
        3259  +
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
        3260  +
        /* StructureGenerator.kt:168 */
        3261  +
        self.true_boolean_value
        3262  +
        /* StructureGenerator.kt:166 */
        3263  +
    }
        3264  +
    /* StructureGenerator.kt:231 */
        3265  +
    #[allow(missing_docs)] // documentation missing in model
        3266  +
                           /* StructureGenerator.kt:166 */
        3267  +
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
        3268  +
        /* StructureGenerator.kt:168 */
        3269  +
        self.false_boolean_value
        3270  +
        /* StructureGenerator.kt:166 */
        3271  +
    }
        3272  +
    /* StructureGenerator.kt:231 */
        3273  +
    #[allow(missing_docs)] // documentation missing in model
        3274  +
                           /* StructureGenerator.kt:166 */
        3275  +
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
        3276  +
        /* StructureGenerator.kt:168 */
        3277  +
        self.byte_value
        3278  +
        /* StructureGenerator.kt:166 */
        3279  +
    }
        3280  +
    /* StructureGenerator.kt:231 */
        3281  +
    #[allow(missing_docs)] // documentation missing in model
        3282  +
                           /* StructureGenerator.kt:166 */
        3283  +
    pub fn short_value(&self) -> ::std::option::Option<i16> {
        3284  +
        /* StructureGenerator.kt:168 */
        3285  +
        self.short_value
        3286  +
        /* StructureGenerator.kt:166 */
        3287  +
    }
        3288  +
    /* StructureGenerator.kt:231 */
        3289  +
    #[allow(missing_docs)] // documentation missing in model
        3290  +
                           /* StructureGenerator.kt:166 */
        3291  +
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
        3292  +
        /* StructureGenerator.kt:168 */
        3293  +
        self.integer_value
        3294  +
        /* StructureGenerator.kt:166 */
        3295  +
    }
        3296  +
    /* StructureGenerator.kt:231 */
        3297  +
    #[allow(missing_docs)] // documentation missing in model
        3298  +
                           /* StructureGenerator.kt:166 */
        3299  +
    pub fn long_value(&self) -> ::std::option::Option<i64> {
        3300  +
        /* StructureGenerator.kt:168 */
        3301  +
        self.long_value
        3302  +
        /* StructureGenerator.kt:166 */
        3303  +
    }
        3304  +
    /* StructureGenerator.kt:231 */
        3305  +
    #[allow(missing_docs)] // documentation missing in model
        3306  +
                           /* StructureGenerator.kt:166 */
        3307  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
        3308  +
        /* StructureGenerator.kt:168 */
        3309  +
        self.float_value
        3310  +
        /* StructureGenerator.kt:166 */
        3311  +
    }
        3312  +
    /* StructureGenerator.kt:231 */
        3313  +
    #[allow(missing_docs)] // documentation missing in model
        3314  +
                           /* StructureGenerator.kt:166 */
        3315  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
        3316  +
        /* StructureGenerator.kt:168 */
        3317  +
        self.double_value
        3318  +
        /* StructureGenerator.kt:166 */
        3319  +
    }
        3320  +
    /* StructureGenerator.kt:135 */
        3321  +
}
        3322  +
/* ServerCodegenVisitor.kt:356 */
        3323  +
impl SimpleScalarPropertiesInput {
        3324  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
        3325  +
    /* ServerBuilderGenerator.kt:295 */
        3326  +
    pub fn builder() -> crate::input::simple_scalar_properties_input::Builder {
        3327  +
        /* ServerBuilderGenerator.kt:296 */
        3328  +
        crate::input::simple_scalar_properties_input::Builder::default()
        3329  +
        /* ServerBuilderGenerator.kt:295 */
        3330  +
    }
        3331  +
    /* ServerCodegenVisitor.kt:356 */
        3332  +
}
        3333  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3334  +
impl crate::constrained::Constrained for crate::input::SimpleScalarPropertiesInput {
        3335  +
    type Unconstrained = crate::input::simple_scalar_properties_input::Builder;
        3336  +
}
        3337  +
        3338  +
/* StructureGenerator.kt:197 */
        3339  +
#[allow(missing_docs)] // documentation missing in model
        3340  +
/* RustType.kt:534 */
        3341  +
#[derive(
        3342  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3343  +
)]
        3344  +
pub /* StructureGenerator.kt:201 */ struct GreetingWithErrorsInput {/* StructureGenerator.kt:201 */}
        3345  +
/* ServerCodegenVisitor.kt:356 */
        3346  +
impl GreetingWithErrorsInput {
        3347  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
        3348  +
    /* ServerBuilderGenerator.kt:295 */
        3349  +
    pub fn builder() -> crate::input::greeting_with_errors_input::Builder {
        3350  +
        /* ServerBuilderGenerator.kt:296 */
        3351  +
        crate::input::greeting_with_errors_input::Builder::default()
        3352  +
        /* ServerBuilderGenerator.kt:295 */
        3353  +
    }
        3354  +
    /* ServerCodegenVisitor.kt:356 */
        3355  +
}
        3356  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3357  +
impl crate::constrained::Constrained for crate::input::GreetingWithErrorsInput {
        3358  +
    type Unconstrained = crate::input::greeting_with_errors_input::Builder;
        3359  +
}
        3360  +
        3361  +
/* StructureGenerator.kt:197 */
        3362  +
#[allow(missing_docs)] // documentation missing in model
        3363  +
/* RustType.kt:534 */
        3364  +
#[derive(::std::fmt::Debug)]
        3365  +
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsWithMediaTypeInput {
        3366  +
    /* StructureGenerator.kt:231 */
        3367  +
    #[allow(missing_docs)] // documentation missing in model
        3368  +
    pub foo: ::std::option::Option<::std::string::String>,
        3369  +
    /* StructureGenerator.kt:231 */
        3370  +
    #[allow(missing_docs)] // documentation missing in model
        3371  +
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
        3372  +
    /* StructureGenerator.kt:201 */
        3373  +
}
        3374  +
/* StructureGenerator.kt:135 */
        3375  +
impl StreamingTraitsWithMediaTypeInput {
        3376  +
    /* StructureGenerator.kt:231 */
        3377  +
    #[allow(missing_docs)] // documentation missing in model
        3378  +
                           /* StructureGenerator.kt:166 */
        3379  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3380  +
        /* StructureGenerator.kt:169 */
        3381  +
        self.foo.as_deref()
        3382  +
        /* StructureGenerator.kt:166 */
        3383  +
    }
        3384  +
    /* StructureGenerator.kt:231 */
        3385  +
    #[allow(missing_docs)] // documentation missing in model
        3386  +
                           /* StructureGenerator.kt:166 */
        3387  +
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
        3388  +
        /* StructureGenerator.kt:172 */
        3389  +
        &self.blob
        3390  +
        /* StructureGenerator.kt:166 */
        3391  +
    }
        3392  +
    /* StructureGenerator.kt:135 */
        3393  +
}
        3394  +
/* ServerCodegenVisitor.kt:356 */
        3395  +
impl StreamingTraitsWithMediaTypeInput {
        3396  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
        3397  +
    /* ServerBuilderGenerator.kt:295 */
        3398  +
    pub fn builder() -> crate::input::streaming_traits_with_media_type_input::Builder {
        3399  +
        /* ServerBuilderGenerator.kt:296 */
        3400  +
        crate::input::streaming_traits_with_media_type_input::Builder::default()
        3401  +
        /* ServerBuilderGenerator.kt:295 */
        3402  +
    }
        3403  +
    /* ServerCodegenVisitor.kt:356 */
        3404  +
}
        3405  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3406  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsWithMediaTypeInput {
        3407  +
    type Unconstrained = crate::input::streaming_traits_with_media_type_input::Builder;
        3408  +
}
        3409  +
        3410  +
/* StructureGenerator.kt:197 */
        3411  +
#[allow(missing_docs)] // documentation missing in model
        3412  +
/* RustType.kt:534 */
        3413  +
#[derive(::std::fmt::Debug)]
        3414  +
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsRequireLengthInput {
        3415  +
    /* StructureGenerator.kt:231 */
        3416  +
    #[allow(missing_docs)] // documentation missing in model
        3417  +
    pub foo: ::std::option::Option<::std::string::String>,
        3418  +
    /* StructureGenerator.kt:231 */
        3419  +
    #[allow(missing_docs)] // documentation missing in model
        3420  +
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
        3421  +
    /* StructureGenerator.kt:201 */
        3422  +
}
        3423  +
/* StructureGenerator.kt:135 */
        3424  +
impl StreamingTraitsRequireLengthInput {
        3425  +
    /* StructureGenerator.kt:231 */
        3426  +
    #[allow(missing_docs)] // documentation missing in model
        3427  +
                           /* StructureGenerator.kt:166 */
        3428  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3429  +
        /* StructureGenerator.kt:169 */
        3430  +
        self.foo.as_deref()
        3431  +
        /* StructureGenerator.kt:166 */
        3432  +
    }
        3433  +
    /* StructureGenerator.kt:231 */
        3434  +
    #[allow(missing_docs)] // documentation missing in model
        3435  +
                           /* StructureGenerator.kt:166 */
        3436  +
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
        3437  +
        /* StructureGenerator.kt:172 */
        3438  +
        &self.blob
        3439  +
        /* StructureGenerator.kt:166 */
        3440  +
    }
        3441  +
    /* StructureGenerator.kt:135 */
        3442  +
}
        3443  +
/* ServerCodegenVisitor.kt:356 */
        3444  +
impl StreamingTraitsRequireLengthInput {
        3445  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
        3446  +
    /* ServerBuilderGenerator.kt:295 */
        3447  +
    pub fn builder() -> crate::input::streaming_traits_require_length_input::Builder {
        3448  +
        /* ServerBuilderGenerator.kt:296 */
        3449  +
        crate::input::streaming_traits_require_length_input::Builder::default()
        3450  +
        /* ServerBuilderGenerator.kt:295 */
        3451  +
    }
        3452  +
    /* ServerCodegenVisitor.kt:356 */
        3453  +
}
        3454  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3455  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsRequireLengthInput {
        3456  +
    type Unconstrained = crate::input::streaming_traits_require_length_input::Builder;
        3457  +
}
        3458  +
        3459  +
/* StructureGenerator.kt:197 */
        3460  +
#[allow(missing_docs)] // documentation missing in model
        3461  +
/* RustType.kt:534 */
        3462  +
#[derive(::std::fmt::Debug)]
        3463  +
pub /* StructureGenerator.kt:201 */ struct StreamingTraitsInput {
        3464  +
    /* StructureGenerator.kt:231 */
        3465  +
    #[allow(missing_docs)] // documentation missing in model
        3466  +
    pub foo: ::std::option::Option<::std::string::String>,
        3467  +
    /* StructureGenerator.kt:231 */
        3468  +
    #[allow(missing_docs)] // documentation missing in model
        3469  +
    pub blob: ::aws_smithy_types::byte_stream::ByteStream,
        3470  +
    /* StructureGenerator.kt:201 */
        3471  +
}
        3472  +
/* StructureGenerator.kt:135 */
        3473  +
impl StreamingTraitsInput {
        3474  +
    /* StructureGenerator.kt:231 */
        3475  +
    #[allow(missing_docs)] // documentation missing in model
        3476  +
                           /* StructureGenerator.kt:166 */
        3477  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3478  +
        /* StructureGenerator.kt:169 */
        3479  +
        self.foo.as_deref()
        3480  +
        /* StructureGenerator.kt:166 */
        3481  +
    }
        3482  +
    /* StructureGenerator.kt:231 */
        3483  +
    #[allow(missing_docs)] // documentation missing in model
        3484  +
                           /* StructureGenerator.kt:166 */
        3485  +
    pub fn blob(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
        3486  +
        /* StructureGenerator.kt:172 */
        3487  +
        &self.blob
        3488  +
        /* StructureGenerator.kt:166 */
        3489  +
    }
        3490  +
    /* StructureGenerator.kt:135 */
        3491  +
}
        3492  +
/* ServerCodegenVisitor.kt:356 */
        3493  +
impl StreamingTraitsInput {
        3494  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
        3495  +
    /* ServerBuilderGenerator.kt:295 */
        3496  +
    pub fn builder() -> crate::input::streaming_traits_input::Builder {
        3497  +
        /* ServerBuilderGenerator.kt:296 */
        3498  +
        crate::input::streaming_traits_input::Builder::default()
        3499  +
        /* ServerBuilderGenerator.kt:295 */
        3500  +
    }
        3501  +
    /* ServerCodegenVisitor.kt:356 */
        3502  +
}
        3503  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3504  +
impl crate::constrained::Constrained for crate::input::StreamingTraitsInput {
        3505  +
    type Unconstrained = crate::input::streaming_traits_input::Builder;
        3506  +
}
        3507  +
        3508  +
/* StructureGenerator.kt:197 */
        3509  +
#[allow(missing_docs)] // documentation missing in model
        3510  +
/* RustType.kt:534 */
        3511  +
#[derive(
        3512  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3513  +
)]
        3514  +
pub /* StructureGenerator.kt:201 */ struct ResponseCodeHttpFallbackInput {/* StructureGenerator.kt:201 */}
        3515  +
/* ServerCodegenVisitor.kt:356 */
        3516  +
impl ResponseCodeHttpFallbackInput {
        3517  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
        3518  +
    /* ServerBuilderGenerator.kt:295 */
        3519  +
    pub fn builder() -> crate::input::response_code_http_fallback_input::Builder {
        3520  +
        /* ServerBuilderGenerator.kt:296 */
        3521  +
        crate::input::response_code_http_fallback_input::Builder::default()
        3522  +
        /* ServerBuilderGenerator.kt:295 */
        3523  +
    }
        3524  +
    /* ServerCodegenVisitor.kt:356 */
        3525  +
}
        3526  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3527  +
impl crate::constrained::Constrained for crate::input::ResponseCodeHttpFallbackInput {
        3528  +
    type Unconstrained = crate::input::response_code_http_fallback_input::Builder;
        3529  +
}
        3530  +
        3531  +
/* StructureGenerator.kt:197 */
        3532  +
#[allow(missing_docs)] // documentation missing in model
        3533  +
/* RustType.kt:534 */
        3534  +
#[derive(
        3535  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3536  +
)]
        3537  +
pub /* StructureGenerator.kt:201 */ struct ResponseCodeRequiredInput {/* StructureGenerator.kt:201 */}
        3538  +
/* ServerCodegenVisitor.kt:356 */
        3539  +
impl ResponseCodeRequiredInput {
        3540  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
        3541  +
    /* ServerBuilderGenerator.kt:295 */
        3542  +
    pub fn builder() -> crate::input::response_code_required_input::Builder {
        3543  +
        /* ServerBuilderGenerator.kt:296 */
        3544  +
        crate::input::response_code_required_input::Builder::default()
        3545  +
        /* ServerBuilderGenerator.kt:295 */
        3546  +
    }
        3547  +
    /* ServerCodegenVisitor.kt:356 */
        3548  +
}
        3549  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3550  +
impl crate::constrained::Constrained for crate::input::ResponseCodeRequiredInput {
        3551  +
    type Unconstrained = crate::input::response_code_required_input::Builder;
        3552  +
}
        3553  +
        3554  +
/* StructureGenerator.kt:197 */
        3555  +
#[allow(missing_docs)] // documentation missing in model
        3556  +
/* RustType.kt:534 */
        3557  +
#[derive(
        3558  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3559  +
)]
        3560  +
pub /* StructureGenerator.kt:201 */ struct HttpResponseCodeInput {/* StructureGenerator.kt:201 */}
        3561  +
/* ServerCodegenVisitor.kt:356 */
        3562  +
impl HttpResponseCodeInput {
        3563  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
        3564  +
    /* ServerBuilderGenerator.kt:295 */
        3565  +
    pub fn builder() -> crate::input::http_response_code_input::Builder {
        3566  +
        /* ServerBuilderGenerator.kt:296 */
        3567  +
        crate::input::http_response_code_input::Builder::default()
        3568  +
        /* ServerBuilderGenerator.kt:295 */
        3569  +
    }
        3570  +
    /* ServerCodegenVisitor.kt:356 */
        3571  +
}
        3572  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3573  +
impl crate::constrained::Constrained for crate::input::HttpResponseCodeInput {
        3574  +
    type Unconstrained = crate::input::http_response_code_input::Builder;
        3575  +
}
        3576  +
        3577  +
/* StructureGenerator.kt:197 */
        3578  +
#[allow(missing_docs)] // documentation missing in model
        3579  +
/* RustType.kt:534 */
        3580  +
#[derive(
        3581  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3582  +
)]
        3583  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadWithUnionInput {
        3584  +
    /* StructureGenerator.kt:231 */
        3585  +
    #[allow(missing_docs)] // documentation missing in model
        3586  +
    pub nested: ::std::option::Option<crate::model::UnionPayload>,
        3587  +
    /* StructureGenerator.kt:201 */
        3588  +
}
        3589  +
/* StructureGenerator.kt:135 */
        3590  +
impl HttpPayloadWithUnionInput {
        3591  +
    /* StructureGenerator.kt:231 */
        3592  +
    #[allow(missing_docs)] // documentation missing in model
        3593  +
                           /* StructureGenerator.kt:166 */
        3594  +
    pub fn nested(&self) -> ::std::option::Option<&crate::model::UnionPayload> {
        3595  +
        /* StructureGenerator.kt:170 */
        3596  +
        self.nested.as_ref()
        3597  +
        /* StructureGenerator.kt:166 */
        3598  +
    }
        3599  +
    /* StructureGenerator.kt:135 */
        3600  +
}
        3601  +
/* ServerCodegenVisitor.kt:356 */
        3602  +
impl HttpPayloadWithUnionInput {
        3603  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
        3604  +
    /* ServerBuilderGenerator.kt:295 */
        3605  +
    pub fn builder() -> crate::input::http_payload_with_union_input::Builder {
        3606  +
        /* ServerBuilderGenerator.kt:296 */
        3607  +
        crate::input::http_payload_with_union_input::Builder::default()
        3608  +
        /* ServerBuilderGenerator.kt:295 */
        3609  +
    }
        3610  +
    /* ServerCodegenVisitor.kt:356 */
        3611  +
}
        3612  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3613  +
impl crate::constrained::Constrained for crate::input::HttpPayloadWithUnionInput {
        3614  +
    type Unconstrained = crate::input::http_payload_with_union_input::Builder;
        3615  +
}
        3616  +
        3617  +
/* StructureGenerator.kt:197 */
        3618  +
#[allow(missing_docs)] // documentation missing in model
        3619  +
/* RustType.kt:534 */
        3620  +
#[derive(
        3621  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3622  +
)]
        3623  +
pub /* StructureGenerator.kt:201 */ struct HttpStringPayloadInput {
        3624  +
    /* StructureGenerator.kt:231 */
        3625  +
    #[allow(missing_docs)] // documentation missing in model
        3626  +
    pub payload: ::std::option::Option<::std::string::String>,
        3627  +
    /* StructureGenerator.kt:201 */
        3628  +
}
        3629  +
/* StructureGenerator.kt:135 */
        3630  +
impl HttpStringPayloadInput {
        3631  +
    /* StructureGenerator.kt:231 */
        3632  +
    #[allow(missing_docs)] // documentation missing in model
        3633  +
                           /* StructureGenerator.kt:166 */
        3634  +
    pub fn payload(&self) -> ::std::option::Option<&str> {
        3635  +
        /* StructureGenerator.kt:169 */
        3636  +
        self.payload.as_deref()
        3637  +
        /* StructureGenerator.kt:166 */
        3638  +
    }
        3639  +
    /* StructureGenerator.kt:135 */
        3640  +
}
        3641  +
/* ServerCodegenVisitor.kt:356 */
        3642  +
impl HttpStringPayloadInput {
        3643  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
        3644  +
    /* ServerBuilderGenerator.kt:295 */
        3645  +
    pub fn builder() -> crate::input::http_string_payload_input::Builder {
        3646  +
        /* ServerBuilderGenerator.kt:296 */
        3647  +
        crate::input::http_string_payload_input::Builder::default()
        3648  +
        /* ServerBuilderGenerator.kt:295 */
        3649  +
    }
        3650  +
    /* ServerCodegenVisitor.kt:356 */
        3651  +
}
        3652  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3653  +
impl crate::constrained::Constrained for crate::input::HttpStringPayloadInput {
        3654  +
    type Unconstrained = crate::input::http_string_payload_input::Builder;
        3655  +
}
        3656  +
        3657  +
/* StructureGenerator.kt:197 */
        3658  +
#[allow(missing_docs)] // documentation missing in model
        3659  +
/* RustType.kt:534 */
        3660  +
#[derive(
        3661  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3662  +
)]
        3663  +
pub /* StructureGenerator.kt:201 */ struct HttpEnumPayloadInput {
        3664  +
    /* StructureGenerator.kt:231 */
        3665  +
    #[allow(missing_docs)] // documentation missing in model
        3666  +
    pub payload: ::std::option::Option<crate::model::StringEnum>,
        3667  +
    /* StructureGenerator.kt:201 */
        3668  +
}
        3669  +
/* StructureGenerator.kt:135 */
        3670  +
impl HttpEnumPayloadInput {
        3671  +
    /* StructureGenerator.kt:231 */
        3672  +
    #[allow(missing_docs)] // documentation missing in model
        3673  +
                           /* StructureGenerator.kt:166 */
        3674  +
    pub fn payload(&self) -> ::std::option::Option<&crate::model::StringEnum> {
        3675  +
        /* StructureGenerator.kt:170 */
        3676  +
        self.payload.as_ref()
        3677  +
        /* StructureGenerator.kt:166 */
        3678  +
    }
        3679  +
    /* StructureGenerator.kt:135 */
        3680  +
}
        3681  +
/* ServerCodegenVisitor.kt:356 */
        3682  +
impl HttpEnumPayloadInput {
        3683  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
        3684  +
    /* ServerBuilderGenerator.kt:295 */
        3685  +
    pub fn builder() -> crate::input::http_enum_payload_input::Builder {
        3686  +
        /* ServerBuilderGenerator.kt:296 */
        3687  +
        crate::input::http_enum_payload_input::Builder::default()
        3688  +
        /* ServerBuilderGenerator.kt:295 */
        3689  +
    }
        3690  +
    /* ServerCodegenVisitor.kt:356 */
        3691  +
}
        3692  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3693  +
impl crate::constrained::Constrained for crate::input::HttpEnumPayloadInput {
        3694  +
    type Unconstrained = crate::input::http_enum_payload_input::Builder;
        3695  +
}
        3696  +
        3697  +
/* StructureGenerator.kt:197 */
        3698  +
#[allow(missing_docs)] // documentation missing in model
        3699  +
/* RustType.kt:534 */
        3700  +
#[derive(
        3701  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3702  +
)]
        3703  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadWithStructureInput {
        3704  +
    /* StructureGenerator.kt:231 */
        3705  +
    #[allow(missing_docs)] // documentation missing in model
        3706  +
    pub nested: ::std::option::Option<crate::model::NestedPayload>,
        3707  +
    /* StructureGenerator.kt:201 */
        3708  +
}
        3709  +
/* StructureGenerator.kt:135 */
        3710  +
impl HttpPayloadWithStructureInput {
        3711  +
    /* StructureGenerator.kt:231 */
        3712  +
    #[allow(missing_docs)] // documentation missing in model
        3713  +
                           /* StructureGenerator.kt:166 */
        3714  +
    pub fn nested(&self) -> ::std::option::Option<&crate::model::NestedPayload> {
        3715  +
        /* StructureGenerator.kt:170 */
        3716  +
        self.nested.as_ref()
        3717  +
        /* StructureGenerator.kt:166 */
        3718  +
    }
        3719  +
    /* StructureGenerator.kt:135 */
        3720  +
}
        3721  +
/* ServerCodegenVisitor.kt:356 */
        3722  +
impl HttpPayloadWithStructureInput {
        3723  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
        3724  +
    /* ServerBuilderGenerator.kt:295 */
        3725  +
    pub fn builder() -> crate::input::http_payload_with_structure_input::Builder {
        3726  +
        /* ServerBuilderGenerator.kt:296 */
        3727  +
        crate::input::http_payload_with_structure_input::Builder::default()
        3728  +
        /* ServerBuilderGenerator.kt:295 */
        3729  +
    }
        3730  +
    /* ServerCodegenVisitor.kt:356 */
        3731  +
}
        3732  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3733  +
impl crate::constrained::Constrained for crate::input::HttpPayloadWithStructureInput {
        3734  +
    type Unconstrained = crate::input::http_payload_with_structure_input::Builder;
        3735  +
}
        3736  +
        3737  +
/* StructureGenerator.kt:197 */
        3738  +
#[allow(missing_docs)] // documentation missing in model
        3739  +
/* RustType.kt:534 */
        3740  +
#[derive(
        3741  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3742  +
)]
        3743  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadTraitsWithMediaTypeInput {
        3744  +
    /* StructureGenerator.kt:231 */
        3745  +
    #[allow(missing_docs)] // documentation missing in model
        3746  +
    pub foo: ::std::option::Option<::std::string::String>,
        3747  +
    /* StructureGenerator.kt:231 */
        3748  +
    #[allow(missing_docs)] // documentation missing in model
        3749  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
        3750  +
    /* StructureGenerator.kt:201 */
        3751  +
}
        3752  +
/* StructureGenerator.kt:135 */
        3753  +
impl HttpPayloadTraitsWithMediaTypeInput {
        3754  +
    /* StructureGenerator.kt:231 */
        3755  +
    #[allow(missing_docs)] // documentation missing in model
        3756  +
                           /* StructureGenerator.kt:166 */
        3757  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3758  +
        /* StructureGenerator.kt:169 */
        3759  +
        self.foo.as_deref()
        3760  +
        /* StructureGenerator.kt:166 */
        3761  +
    }
        3762  +
    /* StructureGenerator.kt:231 */
        3763  +
    #[allow(missing_docs)] // documentation missing in model
        3764  +
                           /* StructureGenerator.kt:166 */
        3765  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        3766  +
        /* StructureGenerator.kt:170 */
        3767  +
        self.blob.as_ref()
        3768  +
        /* StructureGenerator.kt:166 */
        3769  +
    }
        3770  +
    /* StructureGenerator.kt:135 */
        3771  +
}
        3772  +
/* ServerCodegenVisitor.kt:356 */
        3773  +
impl HttpPayloadTraitsWithMediaTypeInput {
        3774  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
        3775  +
    /* ServerBuilderGenerator.kt:295 */
        3776  +
    pub fn builder() -> crate::input::http_payload_traits_with_media_type_input::Builder {
        3777  +
        /* ServerBuilderGenerator.kt:296 */
        3778  +
        crate::input::http_payload_traits_with_media_type_input::Builder::default()
        3779  +
        /* ServerBuilderGenerator.kt:295 */
        3780  +
    }
        3781  +
    /* ServerCodegenVisitor.kt:356 */
        3782  +
}
        3783  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3784  +
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsWithMediaTypeInput {
        3785  +
    type Unconstrained = crate::input::http_payload_traits_with_media_type_input::Builder;
        3786  +
}
        3787  +
        3788  +
/* StructureGenerator.kt:197 */
        3789  +
#[allow(missing_docs)] // documentation missing in model
        3790  +
/* RustType.kt:534 */
        3791  +
#[derive(
        3792  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3793  +
)]
        3794  +
pub /* StructureGenerator.kt:201 */ struct HttpPayloadTraitsInput {
        3795  +
    /* StructureGenerator.kt:231 */
        3796  +
    #[allow(missing_docs)] // documentation missing in model
        3797  +
    pub foo: ::std::option::Option<::std::string::String>,
        3798  +
    /* StructureGenerator.kt:231 */
        3799  +
    #[allow(missing_docs)] // documentation missing in model
        3800  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
        3801  +
    /* StructureGenerator.kt:201 */
        3802  +
}
        3803  +
/* StructureGenerator.kt:135 */
        3804  +
impl HttpPayloadTraitsInput {
        3805  +
    /* StructureGenerator.kt:231 */
        3806  +
    #[allow(missing_docs)] // documentation missing in model
        3807  +
                           /* StructureGenerator.kt:166 */
        3808  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3809  +
        /* StructureGenerator.kt:169 */
        3810  +
        self.foo.as_deref()
        3811  +
        /* StructureGenerator.kt:166 */
        3812  +
    }
        3813  +
    /* StructureGenerator.kt:231 */
        3814  +
    #[allow(missing_docs)] // documentation missing in model
        3815  +
                           /* StructureGenerator.kt:166 */
        3816  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
        3817  +
        /* StructureGenerator.kt:170 */
        3818  +
        self.blob.as_ref()
        3819  +
        /* StructureGenerator.kt:166 */
        3820  +
    }
        3821  +
    /* StructureGenerator.kt:135 */
        3822  +
}
        3823  +
/* ServerCodegenVisitor.kt:356 */
        3824  +
impl HttpPayloadTraitsInput {
        3825  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
        3826  +
    /* ServerBuilderGenerator.kt:295 */
        3827  +
    pub fn builder() -> crate::input::http_payload_traits_input::Builder {
        3828  +
        /* ServerBuilderGenerator.kt:296 */
        3829  +
        crate::input::http_payload_traits_input::Builder::default()
        3830  +
        /* ServerBuilderGenerator.kt:295 */
        3831  +
    }
        3832  +
    /* ServerCodegenVisitor.kt:356 */
        3833  +
}
        3834  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3835  +
impl crate::constrained::Constrained for crate::input::HttpPayloadTraitsInput {
        3836  +
    type Unconstrained = crate::input::http_payload_traits_input::Builder;
        3837  +
}
        3838  +
        3839  +
/* StructureGenerator.kt:197 */
        3840  +
#[allow(missing_docs)] // documentation missing in model
        3841  +
/* RustType.kt:534 */
        3842  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3843  +
pub /* StructureGenerator.kt:201 */ struct HttpEmptyPrefixHeadersInput {
        3844  +
    /* StructureGenerator.kt:231 */
        3845  +
    #[allow(missing_docs)] // documentation missing in model
        3846  +
    pub prefix_headers: ::std::option::Option<
        3847  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3848  +
    >,
        3849  +
    /* StructureGenerator.kt:231 */
        3850  +
    #[allow(missing_docs)] // documentation missing in model
        3851  +
    pub specific_header: ::std::option::Option<::std::string::String>,
        3852  +
    /* StructureGenerator.kt:201 */
        3853  +
}
        3854  +
/* StructureGenerator.kt:135 */
        3855  +
impl HttpEmptyPrefixHeadersInput {
        3856  +
    /* StructureGenerator.kt:231 */
        3857  +
    #[allow(missing_docs)] // documentation missing in model
        3858  +
                           /* StructureGenerator.kt:166 */
        3859  +
    pub fn prefix_headers(
        3860  +
        &self,
        3861  +
    ) -> ::std::option::Option<
        3862  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3863  +
    > {
        3864  +
        /* StructureGenerator.kt:170 */
        3865  +
        self.prefix_headers.as_ref()
        3866  +
        /* StructureGenerator.kt:166 */
        3867  +
    }
        3868  +
    /* StructureGenerator.kt:231 */
        3869  +
    #[allow(missing_docs)] // documentation missing in model
        3870  +
                           /* StructureGenerator.kt:166 */
        3871  +
    pub fn specific_header(&self) -> ::std::option::Option<&str> {
        3872  +
        /* StructureGenerator.kt:169 */
        3873  +
        self.specific_header.as_deref()
        3874  +
        /* StructureGenerator.kt:166 */
        3875  +
    }
        3876  +
    /* StructureGenerator.kt:135 */
        3877  +
}
        3878  +
/* ServerCodegenVisitor.kt:356 */
        3879  +
impl HttpEmptyPrefixHeadersInput {
        3880  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
        3881  +
    /* ServerBuilderGenerator.kt:295 */
        3882  +
    pub fn builder() -> crate::input::http_empty_prefix_headers_input::Builder {
        3883  +
        /* ServerBuilderGenerator.kt:296 */
        3884  +
        crate::input::http_empty_prefix_headers_input::Builder::default()
        3885  +
        /* ServerBuilderGenerator.kt:295 */
        3886  +
    }
        3887  +
    /* ServerCodegenVisitor.kt:356 */
        3888  +
}
        3889  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3890  +
impl crate::constrained::Constrained for crate::input::HttpEmptyPrefixHeadersInput {
        3891  +
    type Unconstrained = crate::input::http_empty_prefix_headers_input::Builder;
        3892  +
}
        3893  +
        3894  +
/* StructureGenerator.kt:197 */
        3895  +
#[allow(missing_docs)] // documentation missing in model
        3896  +
/* RustType.kt:534 */
        3897  +
#[derive(
        3898  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        3899  +
)]
        3900  +
pub /* StructureGenerator.kt:201 */ struct HttpPrefixHeadersInResponseInput {/* StructureGenerator.kt:201 */}
        3901  +
/* ServerCodegenVisitor.kt:356 */
        3902  +
impl HttpPrefixHeadersInResponseInput {
        3903  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
        3904  +
    /* ServerBuilderGenerator.kt:295 */
        3905  +
    pub fn builder() -> crate::input::http_prefix_headers_in_response_input::Builder {
        3906  +
        /* ServerBuilderGenerator.kt:296 */
        3907  +
        crate::input::http_prefix_headers_in_response_input::Builder::default()
        3908  +
        /* ServerBuilderGenerator.kt:295 */
        3909  +
    }
        3910  +
    /* ServerCodegenVisitor.kt:356 */
        3911  +
}
        3912  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3913  +
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInResponseInput {
        3914  +
    type Unconstrained = crate::input::http_prefix_headers_in_response_input::Builder;
        3915  +
}
        3916  +
        3917  +
/* StructureGenerator.kt:197 */
        3918  +
#[allow(missing_docs)] // documentation missing in model
        3919  +
/* RustType.kt:534 */
        3920  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3921  +
pub /* StructureGenerator.kt:201 */ struct HttpPrefixHeadersInput {
        3922  +
    /* StructureGenerator.kt:231 */
        3923  +
    #[allow(missing_docs)] // documentation missing in model
        3924  +
    pub foo: ::std::option::Option<::std::string::String>,
        3925  +
    /* StructureGenerator.kt:231 */
        3926  +
    #[allow(missing_docs)] // documentation missing in model
        3927  +
    pub foo_map: ::std::option::Option<
        3928  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3929  +
    >,
        3930  +
    /* StructureGenerator.kt:201 */
        3931  +
}
        3932  +
/* StructureGenerator.kt:135 */
        3933  +
impl HttpPrefixHeadersInput {
        3934  +
    /* StructureGenerator.kt:231 */
        3935  +
    #[allow(missing_docs)] // documentation missing in model
        3936  +
                           /* StructureGenerator.kt:166 */
        3937  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        3938  +
        /* StructureGenerator.kt:169 */
        3939  +
        self.foo.as_deref()
        3940  +
        /* StructureGenerator.kt:166 */
        3941  +
    }
        3942  +
    /* StructureGenerator.kt:231 */
        3943  +
    #[allow(missing_docs)] // documentation missing in model
        3944  +
                           /* StructureGenerator.kt:166 */
        3945  +
    pub fn foo_map(
        3946  +
        &self,
        3947  +
    ) -> ::std::option::Option<
        3948  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        3949  +
    > {
        3950  +
        /* StructureGenerator.kt:170 */
        3951  +
        self.foo_map.as_ref()
        3952  +
        /* StructureGenerator.kt:166 */
        3953  +
    }
        3954  +
    /* StructureGenerator.kt:135 */
        3955  +
}
        3956  +
/* ServerCodegenVisitor.kt:356 */
        3957  +
impl HttpPrefixHeadersInput {
        3958  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
        3959  +
    /* ServerBuilderGenerator.kt:295 */
        3960  +
    pub fn builder() -> crate::input::http_prefix_headers_input::Builder {
        3961  +
        /* ServerBuilderGenerator.kt:296 */
        3962  +
        crate::input::http_prefix_headers_input::Builder::default()
        3963  +
        /* ServerBuilderGenerator.kt:295 */
        3964  +
    }
        3965  +
    /* ServerCodegenVisitor.kt:356 */
        3966  +
}
        3967  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        3968  +
impl crate::constrained::Constrained for crate::input::HttpPrefixHeadersInput {
        3969  +
    type Unconstrained = crate::input::http_prefix_headers_input::Builder;
        3970  +
}
        3971  +
        3972  +
/* StructureGenerator.kt:197 */
        3973  +
#[allow(missing_docs)] // documentation missing in model
        3974  +
/* RustType.kt:534 */
        3975  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        3976  +
pub /* StructureGenerator.kt:201 */ struct QueryParamsAsStringListMapInput {
        3977  +
    /* StructureGenerator.kt:231 */
        3978  +
    #[allow(missing_docs)] // documentation missing in model
        3979  +
    pub qux: ::std::option::Option<::std::string::String>,
        3980  +
    /* StructureGenerator.kt:231 */
        3981  +
    #[allow(missing_docs)] // documentation missing in model
        3982  +
    pub foo: ::std::option::Option<
        3983  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        3984  +
    >,
        3985  +
    /* StructureGenerator.kt:201 */
        3986  +
}
        3987  +
/* StructureGenerator.kt:135 */
        3988  +
impl QueryParamsAsStringListMapInput {
        3989  +
    /* StructureGenerator.kt:231 */
        3990  +
    #[allow(missing_docs)] // documentation missing in model
        3991  +
                           /* StructureGenerator.kt:166 */
        3992  +
    pub fn qux(&self) -> ::std::option::Option<&str> {
        3993  +
        /* StructureGenerator.kt:169 */
        3994  +
        self.qux.as_deref()
        3995  +
        /* StructureGenerator.kt:166 */
        3996  +
    }
        3997  +
    /* StructureGenerator.kt:231 */
        3998  +
    #[allow(missing_docs)] // documentation missing in model
        3999  +
                           /* StructureGenerator.kt:166 */
        4000  +
    pub fn foo(
        4001  +
        &self,
        4002  +
    ) -> ::std::option::Option<
        4003  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        4004  +
    > {
        4005  +
        /* StructureGenerator.kt:170 */
        4006  +
        self.foo.as_ref()
        4007  +
        /* StructureGenerator.kt:166 */
        4008  +
    }
        4009  +
    /* StructureGenerator.kt:135 */
        4010  +
}
        4011  +
/* ServerCodegenVisitor.kt:356 */
        4012  +
impl QueryParamsAsStringListMapInput {
        4013  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
        4014  +
    /* ServerBuilderGenerator.kt:295 */
        4015  +
    pub fn builder() -> crate::input::query_params_as_string_list_map_input::Builder {
        4016  +
        /* ServerBuilderGenerator.kt:296 */
        4017  +
        crate::input::query_params_as_string_list_map_input::Builder::default()
        4018  +
        /* ServerBuilderGenerator.kt:295 */
        4019  +
    }
        4020  +
    /* ServerCodegenVisitor.kt:356 */
        4021  +
}
        4022  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4023  +
impl crate::constrained::Constrained for crate::input::QueryParamsAsStringListMapInput {
        4024  +
    type Unconstrained = crate::input::query_params_as_string_list_map_input::Builder;
        4025  +
}
        4026  +
        4027  +
/* StructureGenerator.kt:197 */
        4028  +
#[allow(missing_docs)] // documentation missing in model
        4029  +
/* RustType.kt:534 */
        4030  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4031  +
pub /* StructureGenerator.kt:201 */ struct QueryPrecedenceInput {
        4032  +
    /* StructureGenerator.kt:231 */
        4033  +
    #[allow(missing_docs)] // documentation missing in model
        4034  +
    pub foo: ::std::option::Option<::std::string::String>,
        4035  +
    /* StructureGenerator.kt:231 */
        4036  +
    #[allow(missing_docs)] // documentation missing in model
        4037  +
    pub baz: ::std::option::Option<
        4038  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        4039  +
    >,
        4040  +
    /* StructureGenerator.kt:201 */
        4041  +
}
        4042  +
/* StructureGenerator.kt:135 */
        4043  +
impl QueryPrecedenceInput {
        4044  +
    /* StructureGenerator.kt:231 */
        4045  +
    #[allow(missing_docs)] // documentation missing in model
        4046  +
                           /* StructureGenerator.kt:166 */
        4047  +
    pub fn foo(&self) -> ::std::option::Option<&str> {
        4048  +
        /* StructureGenerator.kt:169 */
        4049  +
        self.foo.as_deref()
        4050  +
        /* StructureGenerator.kt:166 */
        4051  +
    }
        4052  +
    /* StructureGenerator.kt:231 */
        4053  +
    #[allow(missing_docs)] // documentation missing in model
        4054  +
                           /* StructureGenerator.kt:166 */
        4055  +
    pub fn baz(
        4056  +
        &self,
        4057  +
    ) -> ::std::option::Option<
        4058  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
        4059  +
    > {
        4060  +
        /* StructureGenerator.kt:170 */
        4061  +
        self.baz.as_ref()
        4062  +
        /* StructureGenerator.kt:166 */
        4063  +
    }
        4064  +
    /* StructureGenerator.kt:135 */
        4065  +
}
        4066  +
/* ServerCodegenVisitor.kt:356 */
        4067  +
impl QueryPrecedenceInput {
        4068  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
        4069  +
    /* ServerBuilderGenerator.kt:295 */
        4070  +
    pub fn builder() -> crate::input::query_precedence_input::Builder {
        4071  +
        /* ServerBuilderGenerator.kt:296 */
        4072  +
        crate::input::query_precedence_input::Builder::default()
        4073  +
        /* ServerBuilderGenerator.kt:295 */
        4074  +
    }
        4075  +
    /* ServerCodegenVisitor.kt:356 */
        4076  +
}
        4077  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4078  +
impl crate::constrained::Constrained for crate::input::QueryPrecedenceInput {
        4079  +
    type Unconstrained = crate::input::query_precedence_input::Builder;
        4080  +
}
        4081  +
        4082  +
/* StructureGenerator.kt:197 */
        4083  +
#[allow(missing_docs)] // documentation missing in model
        4084  +
/* RustType.kt:534 */
        4085  +
#[derive(
        4086  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4087  +
)]
        4088  +
pub /* StructureGenerator.kt:201 */ struct QueryIdempotencyTokenAutoFillInput {
        4089  +
    /* StructureGenerator.kt:231 */
        4090  +
    #[allow(missing_docs)] // documentation missing in model
        4091  +
    pub token: ::std::option::Option<::std::string::String>,
        4092  +
    /* StructureGenerator.kt:201 */
        4093  +
}
        4094  +
/* StructureGenerator.kt:135 */
        4095  +
impl QueryIdempotencyTokenAutoFillInput {
        4096  +
    /* StructureGenerator.kt:231 */
        4097  +
    #[allow(missing_docs)] // documentation missing in model
        4098  +
                           /* StructureGenerator.kt:166 */
        4099  +
    pub fn token(&self) -> ::std::option::Option<&str> {
        4100  +
        /* StructureGenerator.kt:169 */
        4101  +
        self.token.as_deref()
        4102  +
        /* StructureGenerator.kt:166 */
        4103  +
    }
        4104  +
    /* StructureGenerator.kt:135 */
        4105  +
}
        4106  +
/* ServerCodegenVisitor.kt:356 */
        4107  +
impl QueryIdempotencyTokenAutoFillInput {
        4108  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
        4109  +
    /* ServerBuilderGenerator.kt:295 */
        4110  +
    pub fn builder() -> crate::input::query_idempotency_token_auto_fill_input::Builder {
        4111  +
        /* ServerBuilderGenerator.kt:296 */
        4112  +
        crate::input::query_idempotency_token_auto_fill_input::Builder::default()
        4113  +
        /* ServerBuilderGenerator.kt:295 */
        4114  +
    }
        4115  +
    /* ServerCodegenVisitor.kt:356 */
        4116  +
}
        4117  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4118  +
impl crate::constrained::Constrained for crate::input::QueryIdempotencyTokenAutoFillInput {
        4119  +
    type Unconstrained = crate::input::query_idempotency_token_auto_fill_input::Builder;
        4120  +
}
        4121  +
        4122  +
/* StructureGenerator.kt:197 */
        4123  +
#[allow(missing_docs)] // documentation missing in model
        4124  +
/* RustType.kt:534 */
        4125  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4126  +
pub /* StructureGenerator.kt:201 */ struct OmitsSerializingEmptyListsInput {
        4127  +
    /* StructureGenerator.kt:231 */
        4128  +
    #[allow(missing_docs)] // documentation missing in model
        4129  +
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4130  +
    /* StructureGenerator.kt:231 */
        4131  +
    #[allow(missing_docs)] // documentation missing in model
        4132  +
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        4133  +
    /* StructureGenerator.kt:231 */
        4134  +
    #[allow(missing_docs)] // documentation missing in model
        4135  +
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        4136  +
    /* StructureGenerator.kt:231 */
        4137  +
    #[allow(missing_docs)] // documentation missing in model
        4138  +
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        4139  +
    /* StructureGenerator.kt:231 */
        4140  +
    #[allow(missing_docs)] // documentation missing in model
        4141  +
    pub query_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        4142  +
    /* StructureGenerator.kt:231 */
        4143  +
    #[allow(missing_docs)] // documentation missing in model
        4144  +
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        4145  +
    /* StructureGenerator.kt:231 */
        4146  +
    #[allow(missing_docs)] // documentation missing in model
        4147  +
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        4148  +
    /* StructureGenerator.kt:201 */
        4149  +
}
        4150  +
/* StructureGenerator.kt:135 */
        4151  +
impl OmitsSerializingEmptyListsInput {
        4152  +
    /* StructureGenerator.kt:231 */
        4153  +
    #[allow(missing_docs)] // documentation missing in model
        4154  +
                           /* StructureGenerator.kt:166 */
        4155  +
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        4156  +
        /* StructureGenerator.kt:169 */
        4157  +
        self.query_string_list.as_deref()
        4158  +
        /* StructureGenerator.kt:166 */
        4159  +
    }
        4160  +
    /* StructureGenerator.kt:231 */
        4161  +
    #[allow(missing_docs)] // documentation missing in model
        4162  +
                           /* StructureGenerator.kt:166 */
        4163  +
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        4164  +
        /* StructureGenerator.kt:169 */
        4165  +
        self.query_integer_list.as_deref()
        4166  +
        /* StructureGenerator.kt:166 */
        4167  +
    }
        4168  +
    /* StructureGenerator.kt:231 */
        4169  +
    #[allow(missing_docs)] // documentation missing in model
        4170  +
                           /* StructureGenerator.kt:166 */
        4171  +
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
        4172  +
        /* StructureGenerator.kt:169 */
        4173  +
        self.query_double_list.as_deref()
        4174  +
        /* StructureGenerator.kt:166 */
        4175  +
    }
        4176  +
    /* StructureGenerator.kt:231 */
        4177  +
    #[allow(missing_docs)] // documentation missing in model
        4178  +
                           /* StructureGenerator.kt:166 */
        4179  +
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        4180  +
        /* StructureGenerator.kt:169 */
        4181  +
        self.query_boolean_list.as_deref()
        4182  +
        /* StructureGenerator.kt:166 */
        4183  +
    }
        4184  +
    /* StructureGenerator.kt:231 */
        4185  +
    #[allow(missing_docs)] // documentation missing in model
        4186  +
                           /* StructureGenerator.kt:166 */
        4187  +
    pub fn query_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        4188  +
        /* StructureGenerator.kt:169 */
        4189  +
        self.query_timestamp_list.as_deref()
        4190  +
        /* StructureGenerator.kt:166 */
        4191  +
    }
        4192  +
    /* StructureGenerator.kt:231 */
        4193  +
    #[allow(missing_docs)] // documentation missing in model
        4194  +
                           /* StructureGenerator.kt:166 */
        4195  +
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        4196  +
        /* StructureGenerator.kt:169 */
        4197  +
        self.query_enum_list.as_deref()
        4198  +
        /* StructureGenerator.kt:166 */
        4199  +
    }
        4200  +
    /* StructureGenerator.kt:231 */
        4201  +
    #[allow(missing_docs)] // documentation missing in model
        4202  +
                           /* StructureGenerator.kt:166 */
        4203  +
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        4204  +
        /* StructureGenerator.kt:169 */
        4205  +
        self.query_integer_enum_list.as_deref()
        4206  +
        /* StructureGenerator.kt:166 */
        4207  +
    }
        4208  +
    /* StructureGenerator.kt:135 */
        4209  +
}
        4210  +
/* ServerCodegenVisitor.kt:356 */
        4211  +
impl OmitsSerializingEmptyListsInput {
        4212  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
        4213  +
    /* ServerBuilderGenerator.kt:295 */
        4214  +
    pub fn builder() -> crate::input::omits_serializing_empty_lists_input::Builder {
        4215  +
        /* ServerBuilderGenerator.kt:296 */
        4216  +
        crate::input::omits_serializing_empty_lists_input::Builder::default()
        4217  +
        /* ServerBuilderGenerator.kt:295 */
        4218  +
    }
        4219  +
    /* ServerCodegenVisitor.kt:356 */
        4220  +
}
        4221  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4222  +
impl crate::constrained::Constrained for crate::input::OmitsSerializingEmptyListsInput {
        4223  +
    type Unconstrained = crate::input::omits_serializing_empty_lists_input::Builder;
        4224  +
}
        4225  +
        4226  +
/* StructureGenerator.kt:197 */
        4227  +
#[allow(missing_docs)] // documentation missing in model
        4228  +
/* RustType.kt:534 */
        4229  +
#[derive(
        4230  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4231  +
)]
        4232  +
pub /* StructureGenerator.kt:201 */ struct OmitsNullSerializesEmptyStringInput {
        4233  +
    /* StructureGenerator.kt:231 */
        4234  +
    #[allow(missing_docs)] // documentation missing in model
        4235  +
    pub null_value: ::std::option::Option<::std::string::String>,
        4236  +
    /* StructureGenerator.kt:231 */
        4237  +
    #[allow(missing_docs)] // documentation missing in model
        4238  +
    pub empty_string: ::std::option::Option<::std::string::String>,
        4239  +
    /* StructureGenerator.kt:201 */
        4240  +
}
        4241  +
/* StructureGenerator.kt:135 */
        4242  +
impl OmitsNullSerializesEmptyStringInput {
        4243  +
    /* StructureGenerator.kt:231 */
        4244  +
    #[allow(missing_docs)] // documentation missing in model
        4245  +
                           /* StructureGenerator.kt:166 */
        4246  +
    pub fn null_value(&self) -> ::std::option::Option<&str> {
        4247  +
        /* StructureGenerator.kt:169 */
        4248  +
        self.null_value.as_deref()
        4249  +
        /* StructureGenerator.kt:166 */
        4250  +
    }
        4251  +
    /* StructureGenerator.kt:231 */
        4252  +
    #[allow(missing_docs)] // documentation missing in model
        4253  +
                           /* StructureGenerator.kt:166 */
        4254  +
    pub fn empty_string(&self) -> ::std::option::Option<&str> {
        4255  +
        /* StructureGenerator.kt:169 */
        4256  +
        self.empty_string.as_deref()
        4257  +
        /* StructureGenerator.kt:166 */
        4258  +
    }
        4259  +
    /* StructureGenerator.kt:135 */
        4260  +
}
        4261  +
/* ServerCodegenVisitor.kt:356 */
        4262  +
impl OmitsNullSerializesEmptyStringInput {
        4263  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
        4264  +
    /* ServerBuilderGenerator.kt:295 */
        4265  +
    pub fn builder() -> crate::input::omits_null_serializes_empty_string_input::Builder {
        4266  +
        /* ServerBuilderGenerator.kt:296 */
        4267  +
        crate::input::omits_null_serializes_empty_string_input::Builder::default()
        4268  +
        /* ServerBuilderGenerator.kt:295 */
        4269  +
    }
        4270  +
    /* ServerCodegenVisitor.kt:356 */
        4271  +
}
        4272  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4273  +
impl crate::constrained::Constrained for crate::input::OmitsNullSerializesEmptyStringInput {
        4274  +
    type Unconstrained = crate::input::omits_null_serializes_empty_string_input::Builder;
        4275  +
}
        4276  +
        4277  +
/* StructureGenerator.kt:197 */
        4278  +
#[allow(missing_docs)] // documentation missing in model
        4279  +
/* RustType.kt:534 */
        4280  +
#[derive(
        4281  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4282  +
)]
        4283  +
pub /* StructureGenerator.kt:201 */ struct IgnoreQueryParamsInResponseInput {/* StructureGenerator.kt:201 */}
        4284  +
/* ServerCodegenVisitor.kt:356 */
        4285  +
impl IgnoreQueryParamsInResponseInput {
        4286  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
        4287  +
    /* ServerBuilderGenerator.kt:295 */
        4288  +
    pub fn builder() -> crate::input::ignore_query_params_in_response_input::Builder {
        4289  +
        /* ServerBuilderGenerator.kt:296 */
        4290  +
        crate::input::ignore_query_params_in_response_input::Builder::default()
        4291  +
        /* ServerBuilderGenerator.kt:295 */
        4292  +
    }
        4293  +
    /* ServerCodegenVisitor.kt:356 */
        4294  +
}
        4295  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4296  +
impl crate::constrained::Constrained for crate::input::IgnoreQueryParamsInResponseInput {
        4297  +
    type Unconstrained = crate::input::ignore_query_params_in_response_input::Builder;
        4298  +
}
        4299  +
        4300  +
/* StructureGenerator.kt:197 */
        4301  +
#[allow(missing_docs)] // documentation missing in model
        4302  +
/* RustType.kt:534 */
        4303  +
#[derive(
        4304  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4305  +
)]
        4306  +
pub /* StructureGenerator.kt:201 */ struct ConstantAndVariableQueryStringInput {
        4307  +
    /* StructureGenerator.kt:231 */
        4308  +
    #[allow(missing_docs)] // documentation missing in model
        4309  +
    pub baz: ::std::option::Option<::std::string::String>,
        4310  +
    /* StructureGenerator.kt:231 */
        4311  +
    #[allow(missing_docs)] // documentation missing in model
        4312  +
    pub maybe_set: ::std::option::Option<::std::string::String>,
        4313  +
    /* StructureGenerator.kt:201 */
        4314  +
}
        4315  +
/* StructureGenerator.kt:135 */
        4316  +
impl ConstantAndVariableQueryStringInput {
        4317  +
    /* StructureGenerator.kt:231 */
        4318  +
    #[allow(missing_docs)] // documentation missing in model
        4319  +
                           /* StructureGenerator.kt:166 */
        4320  +
    pub fn baz(&self) -> ::std::option::Option<&str> {
        4321  +
        /* StructureGenerator.kt:169 */
        4322  +
        self.baz.as_deref()
        4323  +
        /* StructureGenerator.kt:166 */
        4324  +
    }
        4325  +
    /* StructureGenerator.kt:231 */
        4326  +
    #[allow(missing_docs)] // documentation missing in model
        4327  +
                           /* StructureGenerator.kt:166 */
        4328  +
    pub fn maybe_set(&self) -> ::std::option::Option<&str> {
        4329  +
        /* StructureGenerator.kt:169 */
        4330  +
        self.maybe_set.as_deref()
        4331  +
        /* StructureGenerator.kt:166 */
        4332  +
    }
        4333  +
    /* StructureGenerator.kt:135 */
        4334  +
}
        4335  +
/* ServerCodegenVisitor.kt:356 */
        4336  +
impl ConstantAndVariableQueryStringInput {
        4337  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
        4338  +
    /* ServerBuilderGenerator.kt:295 */
        4339  +
    pub fn builder() -> crate::input::constant_and_variable_query_string_input::Builder {
        4340  +
        /* ServerBuilderGenerator.kt:296 */
        4341  +
        crate::input::constant_and_variable_query_string_input::Builder::default()
        4342  +
        /* ServerBuilderGenerator.kt:295 */
        4343  +
    }
        4344  +
    /* ServerCodegenVisitor.kt:356 */
        4345  +
}
        4346  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4347  +
impl crate::constrained::Constrained for crate::input::ConstantAndVariableQueryStringInput {
        4348  +
    type Unconstrained = crate::input::constant_and_variable_query_string_input::Builder;
        4349  +
}
        4350  +
        4351  +
/* StructureGenerator.kt:197 */
        4352  +
#[allow(missing_docs)] // documentation missing in model
        4353  +
/* RustType.kt:534 */
        4354  +
#[derive(
        4355  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4356  +
)]
        4357  +
pub /* StructureGenerator.kt:201 */ struct ConstantQueryStringInput {
        4358  +
    /* StructureGenerator.kt:231 */
        4359  +
    #[allow(missing_docs)] // documentation missing in model
        4360  +
    pub hello: ::std::string::String,
        4361  +
    /* StructureGenerator.kt:201 */
        4362  +
}
        4363  +
/* StructureGenerator.kt:135 */
        4364  +
impl ConstantQueryStringInput {
        4365  +
    /* StructureGenerator.kt:231 */
        4366  +
    #[allow(missing_docs)] // documentation missing in model
        4367  +
                           /* StructureGenerator.kt:166 */
        4368  +
    pub fn hello(&self) -> &str {
        4369  +
        /* StructureGenerator.kt:171 */
        4370  +
        use std::ops::Deref;
        4371  +
        self.hello.deref()
        4372  +
        /* StructureGenerator.kt:166 */
        4373  +
    }
        4374  +
    /* StructureGenerator.kt:135 */
        4375  +
}
        4376  +
/* ServerCodegenVisitor.kt:356 */
        4377  +
impl ConstantQueryStringInput {
        4378  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
        4379  +
    /* ServerBuilderGenerator.kt:295 */
        4380  +
    pub fn builder() -> crate::input::constant_query_string_input::Builder {
        4381  +
        /* ServerBuilderGenerator.kt:296 */
        4382  +
        crate::input::constant_query_string_input::Builder::default()
        4383  +
        /* ServerBuilderGenerator.kt:295 */
        4384  +
    }
        4385  +
    /* ServerCodegenVisitor.kt:356 */
        4386  +
}
        4387  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4388  +
impl crate::constrained::Constrained for crate::input::ConstantQueryStringInput {
        4389  +
    type Unconstrained = crate::input::constant_query_string_input::Builder;
        4390  +
}
        4391  +
        4392  +
/* StructureGenerator.kt:197 */
        4393  +
#[allow(missing_docs)] // documentation missing in model
        4394  +
/* RustType.kt:534 */
        4395  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4396  +
pub /* StructureGenerator.kt:201 */ struct AllQueryStringTypesInput {
        4397  +
    /* StructureGenerator.kt:231 */
        4398  +
    #[allow(missing_docs)] // documentation missing in model
        4399  +
    pub query_string: ::std::option::Option<::std::string::String>,
        4400  +
    /* StructureGenerator.kt:231 */
        4401  +
    #[allow(missing_docs)] // documentation missing in model
        4402  +
    pub query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        4403  +
    /* StructureGenerator.kt:231 */
        4404  +
    #[allow(missing_docs)] // documentation missing in model
        4405  +
    pub query_string_set: ::std::option::Option<crate::model::StringSet>,
        4406  +
    /* StructureGenerator.kt:231 */
        4407  +
    #[allow(missing_docs)] // documentation missing in model
        4408  +
    pub query_byte: ::std::option::Option<i8>,
        4409  +
    /* StructureGenerator.kt:231 */
        4410  +
    #[allow(missing_docs)] // documentation missing in model
        4411  +
    pub query_short: ::std::option::Option<i16>,
        4412  +
    /* StructureGenerator.kt:231 */
        4413  +
    #[allow(missing_docs)] // documentation missing in model
        4414  +
    pub query_integer: ::std::option::Option<i32>,
        4415  +
    /* StructureGenerator.kt:231 */
        4416  +
    #[allow(missing_docs)] // documentation missing in model
        4417  +
    pub query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        4418  +
    /* StructureGenerator.kt:231 */
        4419  +
    #[allow(missing_docs)] // documentation missing in model
        4420  +
    pub query_integer_set: ::std::option::Option<crate::model::IntegerSet>,
        4421  +
    /* StructureGenerator.kt:231 */
        4422  +
    #[allow(missing_docs)] // documentation missing in model
        4423  +
    pub query_long: ::std::option::Option<i64>,
        4424  +
    /* StructureGenerator.kt:231 */
        4425  +
    #[allow(missing_docs)] // documentation missing in model
        4426  +
    pub query_float: ::std::option::Option<f32>,
        4427  +
    /* StructureGenerator.kt:231 */
        4428  +
    #[allow(missing_docs)] // documentation missing in model
        4429  +
    pub query_double: ::std::option::Option<f64>,
        4430  +
    /* StructureGenerator.kt:231 */
        4431  +
    #[allow(missing_docs)] // documentation missing in model
        4432  +
    pub query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
        4433  +
    /* StructureGenerator.kt:231 */
        4434  +
    #[allow(missing_docs)] // documentation missing in model
        4435  +
    pub query_boolean: ::std::option::Option<bool>,
        4436  +
    /* StructureGenerator.kt:231 */
        4437  +
    #[allow(missing_docs)] // documentation missing in model
        4438  +
    pub query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        4439  +
    /* StructureGenerator.kt:231 */
        4440  +
    #[allow(missing_docs)] // documentation missing in model
        4441  +
    pub query_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        4442  +
    /* StructureGenerator.kt:231 */
        4443  +
    #[allow(missing_docs)] // documentation missing in model
        4444  +
    pub query_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        4445  +
    /* StructureGenerator.kt:231 */
        4446  +
    #[allow(missing_docs)] // documentation missing in model
        4447  +
    pub query_enum: ::std::option::Option<crate::model::FooEnum>,
        4448  +
    /* StructureGenerator.kt:231 */
        4449  +
    #[allow(missing_docs)] // documentation missing in model
        4450  +
    pub query_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        4451  +
    /* StructureGenerator.kt:231 */
        4452  +
    #[allow(missing_docs)] // documentation missing in model
        4453  +
    pub query_integer_enum: ::std::option::Option<i32>,
        4454  +
    /* StructureGenerator.kt:231 */
        4455  +
    #[allow(missing_docs)] // documentation missing in model
        4456  +
    pub query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        4457  +
    /* StructureGenerator.kt:231 */
        4458  +
    #[allow(missing_docs)] // documentation missing in model
        4459  +
    pub query_params_map_of_string_list: ::std::option::Option<
        4460  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        4461  +
    >,
        4462  +
    /* StructureGenerator.kt:201 */
        4463  +
}
        4464  +
/* StructureGenerator.kt:135 */
        4465  +
impl AllQueryStringTypesInput {
        4466  +
    /* StructureGenerator.kt:231 */
        4467  +
    #[allow(missing_docs)] // documentation missing in model
        4468  +
                           /* StructureGenerator.kt:166 */
        4469  +
    pub fn query_string(&self) -> ::std::option::Option<&str> {
        4470  +
        /* StructureGenerator.kt:169 */
        4471  +
        self.query_string.as_deref()
        4472  +
        /* StructureGenerator.kt:166 */
        4473  +
    }
        4474  +
    /* StructureGenerator.kt:231 */
        4475  +
    #[allow(missing_docs)] // documentation missing in model
        4476  +
                           /* StructureGenerator.kt:166 */
        4477  +
    pub fn query_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        4478  +
        /* StructureGenerator.kt:169 */
        4479  +
        self.query_string_list.as_deref()
        4480  +
        /* StructureGenerator.kt:166 */
        4481  +
    }
        4482  +
    /* StructureGenerator.kt:231 */
        4483  +
    #[allow(missing_docs)] // documentation missing in model
        4484  +
                           /* StructureGenerator.kt:166 */
        4485  +
    pub fn query_string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
        4486  +
        /* StructureGenerator.kt:170 */
        4487  +
        self.query_string_set.as_ref()
        4488  +
        /* StructureGenerator.kt:166 */
        4489  +
    }
        4490  +
    /* StructureGenerator.kt:231 */
        4491  +
    #[allow(missing_docs)] // documentation missing in model
        4492  +
                           /* StructureGenerator.kt:166 */
        4493  +
    pub fn query_byte(&self) -> ::std::option::Option<i8> {
        4494  +
        /* StructureGenerator.kt:168 */
        4495  +
        self.query_byte
        4496  +
        /* StructureGenerator.kt:166 */
        4497  +
    }
        4498  +
    /* StructureGenerator.kt:231 */
        4499  +
    #[allow(missing_docs)] // documentation missing in model
        4500  +
                           /* StructureGenerator.kt:166 */
        4501  +
    pub fn query_short(&self) -> ::std::option::Option<i16> {
        4502  +
        /* StructureGenerator.kt:168 */
        4503  +
        self.query_short
        4504  +
        /* StructureGenerator.kt:166 */
        4505  +
    }
        4506  +
    /* StructureGenerator.kt:231 */
        4507  +
    #[allow(missing_docs)] // documentation missing in model
        4508  +
                           /* StructureGenerator.kt:166 */
        4509  +
    pub fn query_integer(&self) -> ::std::option::Option<i32> {
        4510  +
        /* StructureGenerator.kt:168 */
        4511  +
        self.query_integer
        4512  +
        /* StructureGenerator.kt:166 */
        4513  +
    }
        4514  +
    /* StructureGenerator.kt:231 */
        4515  +
    #[allow(missing_docs)] // documentation missing in model
        4516  +
                           /* StructureGenerator.kt:166 */
        4517  +
    pub fn query_integer_list(&self) -> ::std::option::Option<&[i32]> {
        4518  +
        /* StructureGenerator.kt:169 */
        4519  +
        self.query_integer_list.as_deref()
        4520  +
        /* StructureGenerator.kt:166 */
        4521  +
    }
        4522  +
    /* StructureGenerator.kt:231 */
        4523  +
    #[allow(missing_docs)] // documentation missing in model
        4524  +
                           /* StructureGenerator.kt:166 */
        4525  +
    pub fn query_integer_set(&self) -> ::std::option::Option<&crate::model::IntegerSet> {
        4526  +
        /* StructureGenerator.kt:170 */
        4527  +
        self.query_integer_set.as_ref()
        4528  +
        /* StructureGenerator.kt:166 */
        4529  +
    }
        4530  +
    /* StructureGenerator.kt:231 */
        4531  +
    #[allow(missing_docs)] // documentation missing in model
        4532  +
                           /* StructureGenerator.kt:166 */
        4533  +
    pub fn query_long(&self) -> ::std::option::Option<i64> {
        4534  +
        /* StructureGenerator.kt:168 */
        4535  +
        self.query_long
        4536  +
        /* StructureGenerator.kt:166 */
        4537  +
    }
        4538  +
    /* StructureGenerator.kt:231 */
        4539  +
    #[allow(missing_docs)] // documentation missing in model
        4540  +
                           /* StructureGenerator.kt:166 */
        4541  +
    pub fn query_float(&self) -> ::std::option::Option<f32> {
        4542  +
        /* StructureGenerator.kt:168 */
        4543  +
        self.query_float
        4544  +
        /* StructureGenerator.kt:166 */
        4545  +
    }
        4546  +
    /* StructureGenerator.kt:231 */
        4547  +
    #[allow(missing_docs)] // documentation missing in model
        4548  +
                           /* StructureGenerator.kt:166 */
        4549  +
    pub fn query_double(&self) -> ::std::option::Option<f64> {
        4550  +
        /* StructureGenerator.kt:168 */
        4551  +
        self.query_double
        4552  +
        /* StructureGenerator.kt:166 */
        4553  +
    }
        4554  +
    /* StructureGenerator.kt:231 */
        4555  +
    #[allow(missing_docs)] // documentation missing in model
        4556  +
                           /* StructureGenerator.kt:166 */
        4557  +
    pub fn query_double_list(&self) -> ::std::option::Option<&[f64]> {
        4558  +
        /* StructureGenerator.kt:169 */
        4559  +
        self.query_double_list.as_deref()
        4560  +
        /* StructureGenerator.kt:166 */
        4561  +
    }
        4562  +
    /* StructureGenerator.kt:231 */
        4563  +
    #[allow(missing_docs)] // documentation missing in model
        4564  +
                           /* StructureGenerator.kt:166 */
        4565  +
    pub fn query_boolean(&self) -> ::std::option::Option<bool> {
        4566  +
        /* StructureGenerator.kt:168 */
        4567  +
        self.query_boolean
        4568  +
        /* StructureGenerator.kt:166 */
        4569  +
    }
        4570  +
    /* StructureGenerator.kt:231 */
        4571  +
    #[allow(missing_docs)] // documentation missing in model
        4572  +
                           /* StructureGenerator.kt:166 */
        4573  +
    pub fn query_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        4574  +
        /* StructureGenerator.kt:169 */
        4575  +
        self.query_boolean_list.as_deref()
        4576  +
        /* StructureGenerator.kt:166 */
        4577  +
    }
        4578  +
    /* StructureGenerator.kt:231 */
        4579  +
    #[allow(missing_docs)] // documentation missing in model
        4580  +
                           /* StructureGenerator.kt:166 */
        4581  +
    pub fn query_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        4582  +
        /* StructureGenerator.kt:170 */
        4583  +
        self.query_timestamp.as_ref()
        4584  +
        /* StructureGenerator.kt:166 */
        4585  +
    }
        4586  +
    /* StructureGenerator.kt:231 */
        4587  +
    #[allow(missing_docs)] // documentation missing in model
        4588  +
                           /* StructureGenerator.kt:166 */
        4589  +
    pub fn query_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        4590  +
        /* StructureGenerator.kt:169 */
        4591  +
        self.query_timestamp_list.as_deref()
        4592  +
        /* StructureGenerator.kt:166 */
        4593  +
    }
        4594  +
    /* StructureGenerator.kt:231 */
        4595  +
    #[allow(missing_docs)] // documentation missing in model
        4596  +
                           /* StructureGenerator.kt:166 */
        4597  +
    pub fn query_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        4598  +
        /* StructureGenerator.kt:170 */
        4599  +
        self.query_enum.as_ref()
        4600  +
        /* StructureGenerator.kt:166 */
        4601  +
    }
        4602  +
    /* StructureGenerator.kt:231 */
        4603  +
    #[allow(missing_docs)] // documentation missing in model
        4604  +
                           /* StructureGenerator.kt:166 */
        4605  +
    pub fn query_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        4606  +
        /* StructureGenerator.kt:169 */
        4607  +
        self.query_enum_list.as_deref()
        4608  +
        /* StructureGenerator.kt:166 */
        4609  +
    }
        4610  +
    /* StructureGenerator.kt:231 */
        4611  +
    #[allow(missing_docs)] // documentation missing in model
        4612  +
                           /* StructureGenerator.kt:166 */
        4613  +
    pub fn query_integer_enum(&self) -> ::std::option::Option<i32> {
        4614  +
        /* StructureGenerator.kt:168 */
        4615  +
        self.query_integer_enum
        4616  +
        /* StructureGenerator.kt:166 */
        4617  +
    }
        4618  +
    /* StructureGenerator.kt:231 */
        4619  +
    #[allow(missing_docs)] // documentation missing in model
        4620  +
                           /* StructureGenerator.kt:166 */
        4621  +
    pub fn query_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        4622  +
        /* StructureGenerator.kt:169 */
        4623  +
        self.query_integer_enum_list.as_deref()
        4624  +
        /* StructureGenerator.kt:166 */
        4625  +
    }
        4626  +
    /* StructureGenerator.kt:231 */
        4627  +
    #[allow(missing_docs)] // documentation missing in model
        4628  +
                           /* StructureGenerator.kt:166 */
        4629  +
    pub fn query_params_map_of_string_list(
        4630  +
        &self,
        4631  +
    ) -> ::std::option::Option<
        4632  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
        4633  +
    > {
        4634  +
        /* StructureGenerator.kt:170 */
        4635  +
        self.query_params_map_of_string_list.as_ref()
        4636  +
        /* StructureGenerator.kt:166 */
        4637  +
    }
        4638  +
    /* StructureGenerator.kt:135 */
        4639  +
}
        4640  +
/* ServerCodegenVisitor.kt:356 */
        4641  +
impl AllQueryStringTypesInput {
        4642  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
        4643  +
    /* ServerBuilderGenerator.kt:295 */
        4644  +
    pub fn builder() -> crate::input::all_query_string_types_input::Builder {
        4645  +
        /* ServerBuilderGenerator.kt:296 */
        4646  +
        crate::input::all_query_string_types_input::Builder::default()
        4647  +
        /* ServerBuilderGenerator.kt:295 */
        4648  +
    }
        4649  +
    /* ServerCodegenVisitor.kt:356 */
        4650  +
}
        4651  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4652  +
impl crate::constrained::Constrained for crate::input::AllQueryStringTypesInput {
        4653  +
    type Unconstrained = crate::input::all_query_string_types_input::Builder;
        4654  +
}
        4655  +
        4656  +
/* StructureGenerator.kt:197 */
        4657  +
#[allow(missing_docs)] // documentation missing in model
        4658  +
/* RustType.kt:534 */
        4659  +
#[derive(
        4660  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4661  +
)]
        4662  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithRegexLiteralInput {
        4663  +
    /* StructureGenerator.kt:231 */
        4664  +
    #[allow(missing_docs)] // documentation missing in model
        4665  +
    pub str: ::std::string::String,
        4666  +
    /* StructureGenerator.kt:201 */
        4667  +
}
        4668  +
/* StructureGenerator.kt:135 */
        4669  +
impl HttpRequestWithRegexLiteralInput {
        4670  +
    /* StructureGenerator.kt:231 */
        4671  +
    #[allow(missing_docs)] // documentation missing in model
        4672  +
                           /* StructureGenerator.kt:166 */
        4673  +
    pub fn str(&self) -> &str {
        4674  +
        /* StructureGenerator.kt:171 */
        4675  +
        use std::ops::Deref;
        4676  +
        self.str.deref()
        4677  +
        /* StructureGenerator.kt:166 */
        4678  +
    }
        4679  +
    /* StructureGenerator.kt:135 */
        4680  +
}
        4681  +
/* ServerCodegenVisitor.kt:356 */
        4682  +
impl HttpRequestWithRegexLiteralInput {
        4683  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
        4684  +
    /* ServerBuilderGenerator.kt:295 */
        4685  +
    pub fn builder() -> crate::input::http_request_with_regex_literal_input::Builder {
        4686  +
        /* ServerBuilderGenerator.kt:296 */
        4687  +
        crate::input::http_request_with_regex_literal_input::Builder::default()
        4688  +
        /* ServerBuilderGenerator.kt:295 */
        4689  +
    }
        4690  +
    /* ServerCodegenVisitor.kt:356 */
        4691  +
}
        4692  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4693  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithRegexLiteralInput {
        4694  +
    type Unconstrained = crate::input::http_request_with_regex_literal_input::Builder;
        4695  +
}
        4696  +
        4697  +
/* StructureGenerator.kt:197 */
        4698  +
#[allow(missing_docs)] // documentation missing in model
        4699  +
/* RustType.kt:534 */
        4700  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4701  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithFloatLabelsInput {
        4702  +
    /* StructureGenerator.kt:231 */
        4703  +
    #[allow(missing_docs)] // documentation missing in model
        4704  +
    pub float: f32,
        4705  +
    /* StructureGenerator.kt:231 */
        4706  +
    #[allow(missing_docs)] // documentation missing in model
        4707  +
    pub double: f64,
        4708  +
    /* StructureGenerator.kt:201 */
        4709  +
}
        4710  +
/* StructureGenerator.kt:135 */
        4711  +
impl HttpRequestWithFloatLabelsInput {
        4712  +
    /* StructureGenerator.kt:231 */
        4713  +
    #[allow(missing_docs)] // documentation missing in model
        4714  +
                           /* StructureGenerator.kt:166 */
        4715  +
    pub fn float(&self) -> f32 {
        4716  +
        /* StructureGenerator.kt:168 */
        4717  +
        self.float
        4718  +
        /* StructureGenerator.kt:166 */
        4719  +
    }
        4720  +
    /* StructureGenerator.kt:231 */
        4721  +
    #[allow(missing_docs)] // documentation missing in model
        4722  +
                           /* StructureGenerator.kt:166 */
        4723  +
    pub fn double(&self) -> f64 {
        4724  +
        /* StructureGenerator.kt:168 */
        4725  +
        self.double
        4726  +
        /* StructureGenerator.kt:166 */
        4727  +
    }
        4728  +
    /* StructureGenerator.kt:135 */
        4729  +
}
        4730  +
/* ServerCodegenVisitor.kt:356 */
        4731  +
impl HttpRequestWithFloatLabelsInput {
        4732  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
        4733  +
    /* ServerBuilderGenerator.kt:295 */
        4734  +
    pub fn builder() -> crate::input::http_request_with_float_labels_input::Builder {
        4735  +
        /* ServerBuilderGenerator.kt:296 */
        4736  +
        crate::input::http_request_with_float_labels_input::Builder::default()
        4737  +
        /* ServerBuilderGenerator.kt:295 */
        4738  +
    }
        4739  +
    /* ServerCodegenVisitor.kt:356 */
        4740  +
}
        4741  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4742  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithFloatLabelsInput {
        4743  +
    type Unconstrained = crate::input::http_request_with_float_labels_input::Builder;
        4744  +
}
        4745  +
        4746  +
/* StructureGenerator.kt:197 */
        4747  +
#[allow(missing_docs)] // documentation missing in model
        4748  +
/* RustType.kt:534 */
        4749  +
#[derive(
        4750  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4751  +
)]
        4752  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithGreedyLabelInPathInput {
        4753  +
    /* StructureGenerator.kt:231 */
        4754  +
    #[allow(missing_docs)] // documentation missing in model
        4755  +
    pub foo: ::std::string::String,
        4756  +
    /* StructureGenerator.kt:231 */
        4757  +
    #[allow(missing_docs)] // documentation missing in model
        4758  +
    pub baz: ::std::string::String,
        4759  +
    /* StructureGenerator.kt:201 */
        4760  +
}
        4761  +
/* StructureGenerator.kt:135 */
        4762  +
impl HttpRequestWithGreedyLabelInPathInput {
        4763  +
    /* StructureGenerator.kt:231 */
        4764  +
    #[allow(missing_docs)] // documentation missing in model
        4765  +
                           /* StructureGenerator.kt:166 */
        4766  +
    pub fn foo(&self) -> &str {
        4767  +
        /* StructureGenerator.kt:171 */
        4768  +
        use std::ops::Deref;
        4769  +
        self.foo.deref()
        4770  +
        /* StructureGenerator.kt:166 */
        4771  +
    }
        4772  +
    /* StructureGenerator.kt:231 */
        4773  +
    #[allow(missing_docs)] // documentation missing in model
        4774  +
                           /* StructureGenerator.kt:166 */
        4775  +
    pub fn baz(&self) -> &str {
        4776  +
        /* StructureGenerator.kt:171 */
        4777  +
        use std::ops::Deref;
        4778  +
        self.baz.deref()
        4779  +
        /* StructureGenerator.kt:166 */
        4780  +
    }
        4781  +
    /* StructureGenerator.kt:135 */
        4782  +
}
        4783  +
/* ServerCodegenVisitor.kt:356 */
        4784  +
impl HttpRequestWithGreedyLabelInPathInput {
        4785  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
        4786  +
    /* ServerBuilderGenerator.kt:295 */
        4787  +
    pub fn builder() -> crate::input::http_request_with_greedy_label_in_path_input::Builder {
        4788  +
        /* ServerBuilderGenerator.kt:296 */
        4789  +
        crate::input::http_request_with_greedy_label_in_path_input::Builder::default()
        4790  +
        /* ServerBuilderGenerator.kt:295 */
        4791  +
    }
        4792  +
    /* ServerCodegenVisitor.kt:356 */
        4793  +
}
        4794  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4795  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithGreedyLabelInPathInput {
        4796  +
    type Unconstrained = crate::input::http_request_with_greedy_label_in_path_input::Builder;
        4797  +
}
        4798  +
        4799  +
/* StructureGenerator.kt:197 */
        4800  +
#[allow(missing_docs)] // documentation missing in model
        4801  +
/* RustType.kt:534 */
        4802  +
#[derive(
        4803  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        4804  +
)]
        4805  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithLabelsAndTimestampFormatInput {
        4806  +
    /* StructureGenerator.kt:231 */
        4807  +
    #[allow(missing_docs)] // documentation missing in model
        4808  +
    pub member_epoch_seconds: ::aws_smithy_types::DateTime,
        4809  +
    /* StructureGenerator.kt:231 */
        4810  +
    #[allow(missing_docs)] // documentation missing in model
        4811  +
    pub member_http_date: ::aws_smithy_types::DateTime,
        4812  +
    /* StructureGenerator.kt:231 */
        4813  +
    #[allow(missing_docs)] // documentation missing in model
        4814  +
    pub member_date_time: ::aws_smithy_types::DateTime,
        4815  +
    /* StructureGenerator.kt:231 */
        4816  +
    #[allow(missing_docs)] // documentation missing in model
        4817  +
    pub default_format: ::aws_smithy_types::DateTime,
        4818  +
    /* StructureGenerator.kt:231 */
        4819  +
    #[allow(missing_docs)] // documentation missing in model
        4820  +
    pub target_epoch_seconds: ::aws_smithy_types::DateTime,
        4821  +
    /* StructureGenerator.kt:231 */
        4822  +
    #[allow(missing_docs)] // documentation missing in model
        4823  +
    pub target_http_date: ::aws_smithy_types::DateTime,
        4824  +
    /* StructureGenerator.kt:231 */
        4825  +
    #[allow(missing_docs)] // documentation missing in model
        4826  +
    pub target_date_time: ::aws_smithy_types::DateTime,
        4827  +
    /* StructureGenerator.kt:201 */
        4828  +
}
        4829  +
/* StructureGenerator.kt:135 */
        4830  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
        4831  +
    /* StructureGenerator.kt:231 */
        4832  +
    #[allow(missing_docs)] // documentation missing in model
        4833  +
                           /* StructureGenerator.kt:166 */
        4834  +
    pub fn member_epoch_seconds(&self) -> &::aws_smithy_types::DateTime {
        4835  +
        /* StructureGenerator.kt:172 */
        4836  +
        &self.member_epoch_seconds
        4837  +
        /* StructureGenerator.kt:166 */
        4838  +
    }
        4839  +
    /* StructureGenerator.kt:231 */
        4840  +
    #[allow(missing_docs)] // documentation missing in model
        4841  +
                           /* StructureGenerator.kt:166 */
        4842  +
    pub fn member_http_date(&self) -> &::aws_smithy_types::DateTime {
        4843  +
        /* StructureGenerator.kt:172 */
        4844  +
        &self.member_http_date
        4845  +
        /* StructureGenerator.kt:166 */
        4846  +
    }
        4847  +
    /* StructureGenerator.kt:231 */
        4848  +
    #[allow(missing_docs)] // documentation missing in model
        4849  +
                           /* StructureGenerator.kt:166 */
        4850  +
    pub fn member_date_time(&self) -> &::aws_smithy_types::DateTime {
        4851  +
        /* StructureGenerator.kt:172 */
        4852  +
        &self.member_date_time
        4853  +
        /* StructureGenerator.kt:166 */
        4854  +
    }
        4855  +
    /* StructureGenerator.kt:231 */
        4856  +
    #[allow(missing_docs)] // documentation missing in model
        4857  +
                           /* StructureGenerator.kt:166 */
        4858  +
    pub fn default_format(&self) -> &::aws_smithy_types::DateTime {
        4859  +
        /* StructureGenerator.kt:172 */
        4860  +
        &self.default_format
        4861  +
        /* StructureGenerator.kt:166 */
        4862  +
    }
        4863  +
    /* StructureGenerator.kt:231 */
        4864  +
    #[allow(missing_docs)] // documentation missing in model
        4865  +
                           /* StructureGenerator.kt:166 */
        4866  +
    pub fn target_epoch_seconds(&self) -> &::aws_smithy_types::DateTime {
        4867  +
        /* StructureGenerator.kt:172 */
        4868  +
        &self.target_epoch_seconds
        4869  +
        /* StructureGenerator.kt:166 */
        4870  +
    }
        4871  +
    /* StructureGenerator.kt:231 */
        4872  +
    #[allow(missing_docs)] // documentation missing in model
        4873  +
                           /* StructureGenerator.kt:166 */
        4874  +
    pub fn target_http_date(&self) -> &::aws_smithy_types::DateTime {
        4875  +
        /* StructureGenerator.kt:172 */
        4876  +
        &self.target_http_date
        4877  +
        /* StructureGenerator.kt:166 */
        4878  +
    }
        4879  +
    /* StructureGenerator.kt:231 */
        4880  +
    #[allow(missing_docs)] // documentation missing in model
        4881  +
                           /* StructureGenerator.kt:166 */
        4882  +
    pub fn target_date_time(&self) -> &::aws_smithy_types::DateTime {
        4883  +
        /* StructureGenerator.kt:172 */
        4884  +
        &self.target_date_time
        4885  +
        /* StructureGenerator.kt:166 */
        4886  +
    }
        4887  +
    /* StructureGenerator.kt:135 */
        4888  +
}
        4889  +
/* ServerCodegenVisitor.kt:356 */
        4890  +
impl HttpRequestWithLabelsAndTimestampFormatInput {
        4891  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
        4892  +
    /* ServerBuilderGenerator.kt:295 */
        4893  +
    pub fn builder() -> crate::input::http_request_with_labels_and_timestamp_format_input::Builder {
        4894  +
        /* ServerBuilderGenerator.kt:296 */
        4895  +
        crate::input::http_request_with_labels_and_timestamp_format_input::Builder::default()
        4896  +
        /* ServerBuilderGenerator.kt:295 */
        4897  +
    }
        4898  +
    /* ServerCodegenVisitor.kt:356 */
        4899  +
}
        4900  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        4901  +
impl crate::constrained::Constrained
        4902  +
    for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
        4903  +
{
        4904  +
    type Unconstrained = crate::input::http_request_with_labels_and_timestamp_format_input::Builder;
        4905  +
}
        4906  +
        4907  +
/* StructureGenerator.kt:197 */
        4908  +
#[allow(missing_docs)] // documentation missing in model
        4909  +
/* RustType.kt:534 */
        4910  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        4911  +
pub /* StructureGenerator.kt:201 */ struct HttpRequestWithLabelsInput {
        4912  +
    /* StructureGenerator.kt:231 */
        4913  +
    #[allow(missing_docs)] // documentation missing in model
        4914  +
    pub string: ::std::string::String,
        4915  +
    /* StructureGenerator.kt:231 */
        4916  +
    #[allow(missing_docs)] // documentation missing in model
        4917  +
    pub short: i16,
        4918  +
    /* StructureGenerator.kt:231 */
        4919  +
    #[allow(missing_docs)] // documentation missing in model
        4920  +
    pub integer: i32,
        4921  +
    /* StructureGenerator.kt:231 */
        4922  +
    #[allow(missing_docs)] // documentation missing in model
        4923  +
    pub long: i64,
        4924  +
    /* StructureGenerator.kt:231 */
        4925  +
    #[allow(missing_docs)] // documentation missing in model
        4926  +
    pub float: f32,
        4927  +
    /* StructureGenerator.kt:231 */
        4928  +
    #[allow(missing_docs)] // documentation missing in model
        4929  +
    pub double: f64,
        4930  +
    /// /* StructureGenerator.kt:231 */Serialized in the path as true or false.
        4931  +
    pub boolean: bool,
        4932  +
    /// /* StructureGenerator.kt:231 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
        4933  +
    pub timestamp: ::aws_smithy_types::DateTime,
        4934  +
    /* StructureGenerator.kt:201 */
        4935  +
}
        4936  +
/* StructureGenerator.kt:135 */
        4937  +
impl HttpRequestWithLabelsInput {
        4938  +
    /* StructureGenerator.kt:231 */
        4939  +
    #[allow(missing_docs)] // documentation missing in model
        4940  +
                           /* StructureGenerator.kt:166 */
        4941  +
    pub fn string(&self) -> &str {
        4942  +
        /* StructureGenerator.kt:171 */
        4943  +
        use std::ops::Deref;
        4944  +
        self.string.deref()
        4945  +
        /* StructureGenerator.kt:166 */
        4946  +
    }
        4947  +
    /* StructureGenerator.kt:231 */
        4948  +
    #[allow(missing_docs)] // documentation missing in model
        4949  +
                           /* StructureGenerator.kt:166 */
        4950  +
    pub fn short(&self) -> i16 {
        4951  +
        /* StructureGenerator.kt:168 */
        4952  +
        self.short
        4953  +
        /* StructureGenerator.kt:166 */
        4954  +
    }
        4955  +
    /* StructureGenerator.kt:231 */
        4956  +
    #[allow(missing_docs)] // documentation missing in model
        4957  +
                           /* StructureGenerator.kt:166 */
        4958  +
    pub fn integer(&self) -> i32 {
        4959  +
        /* StructureGenerator.kt:168 */
        4960  +
        self.integer
        4961  +
        /* StructureGenerator.kt:166 */
        4962  +
    }
        4963  +
    /* StructureGenerator.kt:231 */
        4964  +
    #[allow(missing_docs)] // documentation missing in model
        4965  +
                           /* StructureGenerator.kt:166 */
        4966  +
    pub fn long(&self) -> i64 {
        4967  +
        /* StructureGenerator.kt:168 */
        4968  +
        self.long
        4969  +
        /* StructureGenerator.kt:166 */
        4970  +
    }
        4971  +
    /* StructureGenerator.kt:231 */
        4972  +
    #[allow(missing_docs)] // documentation missing in model
        4973  +
                           /* StructureGenerator.kt:166 */
        4974  +
    pub fn float(&self) -> f32 {
        4975  +
        /* StructureGenerator.kt:168 */
        4976  +
        self.float
        4977  +
        /* StructureGenerator.kt:166 */
        4978  +
    }
        4979  +
    /* StructureGenerator.kt:231 */
        4980  +
    #[allow(missing_docs)] // documentation missing in model
        4981  +
                           /* StructureGenerator.kt:166 */
        4982  +
    pub fn double(&self) -> f64 {
        4983  +
        /* StructureGenerator.kt:168 */
        4984  +
        self.double
        4985  +
        /* StructureGenerator.kt:166 */
        4986  +
    }
        4987  +
    /// /* StructureGenerator.kt:231 */Serialized in the path as true or false.
        4988  +
    /* StructureGenerator.kt:166 */
        4989  +
    pub fn boolean(&self) -> bool {
        4990  +
        /* StructureGenerator.kt:168 */
        4991  +
        self.boolean
        4992  +
        /* StructureGenerator.kt:166 */
        4993  +
    }
        4994  +
    /// /* StructureGenerator.kt:231 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
        4995  +
    /* StructureGenerator.kt:166 */
        4996  +
    pub fn timestamp(&self) -> &::aws_smithy_types::DateTime {
        4997  +
        /* StructureGenerator.kt:172 */
        4998  +
        &self.timestamp
        4999  +
        /* StructureGenerator.kt:166 */
        5000  +
    }
        5001  +
    /* StructureGenerator.kt:135 */
        5002  +
}
        5003  +
/* ServerCodegenVisitor.kt:356 */
        5004  +
impl HttpRequestWithLabelsInput {
        5005  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
        5006  +
    /* ServerBuilderGenerator.kt:295 */
        5007  +
    pub fn builder() -> crate::input::http_request_with_labels_input::Builder {
        5008  +
        /* ServerBuilderGenerator.kt:296 */
        5009  +
        crate::input::http_request_with_labels_input::Builder::default()
        5010  +
        /* ServerBuilderGenerator.kt:295 */
        5011  +
    }
        5012  +
    /* ServerCodegenVisitor.kt:356 */
        5013  +
}
        5014  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5015  +
impl crate::constrained::Constrained for crate::input::HttpRequestWithLabelsInput {
        5016  +
    type Unconstrained = crate::input::http_request_with_labels_input::Builder;
        5017  +
}
        5018  +
        5019  +
/* StructureGenerator.kt:197 */
        5020  +
#[allow(missing_docs)] // documentation missing in model
        5021  +
/* RustType.kt:534 */
        5022  +
#[derive(
        5023  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5024  +
)]
        5025  +
pub /* StructureGenerator.kt:201 */ struct MediaTypeHeaderInput {
        5026  +
    /* StructureGenerator.kt:231 */
        5027  +
    #[allow(missing_docs)] // documentation missing in model
        5028  +
    pub json: ::std::option::Option<::std::string::String>,
        5029  +
    /* StructureGenerator.kt:201 */
        5030  +
}
        5031  +
/* StructureGenerator.kt:135 */
        5032  +
impl MediaTypeHeaderInput {
        5033  +
    /* StructureGenerator.kt:231 */
        5034  +
    #[allow(missing_docs)] // documentation missing in model
        5035  +
                           /* StructureGenerator.kt:166 */
        5036  +
    pub fn json(&self) -> ::std::option::Option<&str> {
        5037  +
        /* StructureGenerator.kt:169 */
        5038  +
        self.json.as_deref()
        5039  +
        /* StructureGenerator.kt:166 */
        5040  +
    }
        5041  +
    /* StructureGenerator.kt:135 */
        5042  +
}
        5043  +
/* ServerCodegenVisitor.kt:356 */
        5044  +
impl MediaTypeHeaderInput {
        5045  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
        5046  +
    /* ServerBuilderGenerator.kt:295 */
        5047  +
    pub fn builder() -> crate::input::media_type_header_input::Builder {
        5048  +
        /* ServerBuilderGenerator.kt:296 */
        5049  +
        crate::input::media_type_header_input::Builder::default()
        5050  +
        /* ServerBuilderGenerator.kt:295 */
        5051  +
    }
        5052  +
    /* ServerCodegenVisitor.kt:356 */
        5053  +
}
        5054  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5055  +
impl crate::constrained::Constrained for crate::input::MediaTypeHeaderInput {
        5056  +
    type Unconstrained = crate::input::media_type_header_input::Builder;
        5057  +
}
        5058  +
        5059  +
/* StructureGenerator.kt:197 */
        5060  +
#[allow(missing_docs)] // documentation missing in model
        5061  +
/* RustType.kt:534 */
        5062  +
#[derive(
        5063  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5064  +
)]
        5065  +
pub /* StructureGenerator.kt:201 */ struct TimestampFormatHeadersInput {
        5066  +
    /* StructureGenerator.kt:231 */
        5067  +
    #[allow(missing_docs)] // documentation missing in model
        5068  +
    pub member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        5069  +
    /* StructureGenerator.kt:231 */
        5070  +
    #[allow(missing_docs)] // documentation missing in model
        5071  +
    pub member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        5072  +
    /* StructureGenerator.kt:231 */
        5073  +
    #[allow(missing_docs)] // documentation missing in model
        5074  +
    pub member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
        5075  +
    /* StructureGenerator.kt:231 */
        5076  +
    #[allow(missing_docs)] // documentation missing in model
        5077  +
    pub default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
        5078  +
    /* StructureGenerator.kt:231 */
        5079  +
    #[allow(missing_docs)] // documentation missing in model
        5080  +
    pub target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
        5081  +
    /* StructureGenerator.kt:231 */
        5082  +
    #[allow(missing_docs)] // documentation missing in model
        5083  +
    pub target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
        5084  +
    /* StructureGenerator.kt:231 */
        5085  +
    #[allow(missing_docs)] // documentation missing in model
        5086  +
    pub target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
        5087  +
    /* StructureGenerator.kt:201 */
        5088  +
}
        5089  +
/* StructureGenerator.kt:135 */
        5090  +
impl TimestampFormatHeadersInput {
        5091  +
    /* StructureGenerator.kt:231 */
        5092  +
    #[allow(missing_docs)] // documentation missing in model
        5093  +
                           /* StructureGenerator.kt:166 */
        5094  +
    pub fn member_epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5095  +
        /* StructureGenerator.kt:170 */
        5096  +
        self.member_epoch_seconds.as_ref()
        5097  +
        /* StructureGenerator.kt:166 */
        5098  +
    }
        5099  +
    /* StructureGenerator.kt:231 */
        5100  +
    #[allow(missing_docs)] // documentation missing in model
        5101  +
                           /* StructureGenerator.kt:166 */
        5102  +
    pub fn member_http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5103  +
        /* StructureGenerator.kt:170 */
        5104  +
        self.member_http_date.as_ref()
        5105  +
        /* StructureGenerator.kt:166 */
        5106  +
    }
        5107  +
    /* StructureGenerator.kt:231 */
        5108  +
    #[allow(missing_docs)] // documentation missing in model
        5109  +
                           /* StructureGenerator.kt:166 */
        5110  +
    pub fn member_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5111  +
        /* StructureGenerator.kt:170 */
        5112  +
        self.member_date_time.as_ref()
        5113  +
        /* StructureGenerator.kt:166 */
        5114  +
    }
        5115  +
    /* StructureGenerator.kt:231 */
        5116  +
    #[allow(missing_docs)] // documentation missing in model
        5117  +
                           /* StructureGenerator.kt:166 */
        5118  +
    pub fn default_format(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5119  +
        /* StructureGenerator.kt:170 */
        5120  +
        self.default_format.as_ref()
        5121  +
        /* StructureGenerator.kt:166 */
        5122  +
    }
        5123  +
    /* StructureGenerator.kt:231 */
        5124  +
    #[allow(missing_docs)] // documentation missing in model
        5125  +
                           /* StructureGenerator.kt:166 */
        5126  +
    pub fn target_epoch_seconds(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5127  +
        /* StructureGenerator.kt:170 */
        5128  +
        self.target_epoch_seconds.as_ref()
        5129  +
        /* StructureGenerator.kt:166 */
        5130  +
    }
        5131  +
    /* StructureGenerator.kt:231 */
        5132  +
    #[allow(missing_docs)] // documentation missing in model
        5133  +
                           /* StructureGenerator.kt:166 */
        5134  +
    pub fn target_http_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5135  +
        /* StructureGenerator.kt:170 */
        5136  +
        self.target_http_date.as_ref()
        5137  +
        /* StructureGenerator.kt:166 */
        5138  +
    }
        5139  +
    /* StructureGenerator.kt:231 */
        5140  +
    #[allow(missing_docs)] // documentation missing in model
        5141  +
                           /* StructureGenerator.kt:166 */
        5142  +
    pub fn target_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        5143  +
        /* StructureGenerator.kt:170 */
        5144  +
        self.target_date_time.as_ref()
        5145  +
        /* StructureGenerator.kt:166 */
        5146  +
    }
        5147  +
    /* StructureGenerator.kt:135 */
        5148  +
}
        5149  +
/* ServerCodegenVisitor.kt:356 */
        5150  +
impl TimestampFormatHeadersInput {
        5151  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
        5152  +
    /* ServerBuilderGenerator.kt:295 */
        5153  +
    pub fn builder() -> crate::input::timestamp_format_headers_input::Builder {
        5154  +
        /* ServerBuilderGenerator.kt:296 */
        5155  +
        crate::input::timestamp_format_headers_input::Builder::default()
        5156  +
        /* ServerBuilderGenerator.kt:295 */
        5157  +
    }
        5158  +
    /* ServerCodegenVisitor.kt:356 */
        5159  +
}
        5160  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5161  +
impl crate::constrained::Constrained for crate::input::TimestampFormatHeadersInput {
        5162  +
    type Unconstrained = crate::input::timestamp_format_headers_input::Builder;
        5163  +
}
        5164  +
        5165  +
/* StructureGenerator.kt:197 */
        5166  +
#[allow(missing_docs)] // documentation missing in model
        5167  +
/* RustType.kt:534 */
        5168  +
#[derive(
        5169  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5170  +
)]
        5171  +
pub /* StructureGenerator.kt:201 */ struct NullAndEmptyHeadersServerInput {
        5172  +
    /* StructureGenerator.kt:231 */
        5173  +
    #[allow(missing_docs)] // documentation missing in model
        5174  +
    pub a: ::std::option::Option<::std::string::String>,
        5175  +
    /* StructureGenerator.kt:231 */
        5176  +
    #[allow(missing_docs)] // documentation missing in model
        5177  +
    pub b: ::std::option::Option<::std::string::String>,
        5178  +
    /* StructureGenerator.kt:231 */
        5179  +
    #[allow(missing_docs)] // documentation missing in model
        5180  +
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        5181  +
    /* StructureGenerator.kt:201 */
        5182  +
}
        5183  +
/* StructureGenerator.kt:135 */
        5184  +
impl NullAndEmptyHeadersServerInput {
        5185  +
    /* StructureGenerator.kt:231 */
        5186  +
    #[allow(missing_docs)] // documentation missing in model
        5187  +
                           /* StructureGenerator.kt:166 */
        5188  +
    pub fn a(&self) -> ::std::option::Option<&str> {
        5189  +
        /* StructureGenerator.kt:169 */
        5190  +
        self.a.as_deref()
        5191  +
        /* StructureGenerator.kt:166 */
        5192  +
    }
        5193  +
    /* StructureGenerator.kt:231 */
        5194  +
    #[allow(missing_docs)] // documentation missing in model
        5195  +
                           /* StructureGenerator.kt:166 */
        5196  +
    pub fn b(&self) -> ::std::option::Option<&str> {
        5197  +
        /* StructureGenerator.kt:169 */
        5198  +
        self.b.as_deref()
        5199  +
        /* StructureGenerator.kt:166 */
        5200  +
    }
        5201  +
    /* StructureGenerator.kt:231 */
        5202  +
    #[allow(missing_docs)] // documentation missing in model
        5203  +
                           /* StructureGenerator.kt:166 */
        5204  +
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
        5205  +
        /* StructureGenerator.kt:169 */
        5206  +
        self.c.as_deref()
        5207  +
        /* StructureGenerator.kt:166 */
        5208  +
    }
        5209  +
    /* StructureGenerator.kt:135 */
        5210  +
}
        5211  +
/* ServerCodegenVisitor.kt:356 */
        5212  +
impl NullAndEmptyHeadersServerInput {
        5213  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
        5214  +
    /* ServerBuilderGenerator.kt:295 */
        5215  +
    pub fn builder() -> crate::input::null_and_empty_headers_server_input::Builder {
        5216  +
        /* ServerBuilderGenerator.kt:296 */
        5217  +
        crate::input::null_and_empty_headers_server_input::Builder::default()
        5218  +
        /* ServerBuilderGenerator.kt:295 */
        5219  +
    }
        5220  +
    /* ServerCodegenVisitor.kt:356 */
        5221  +
}
        5222  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5223  +
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersServerInput {
        5224  +
    type Unconstrained = crate::input::null_and_empty_headers_server_input::Builder;
        5225  +
}
        5226  +
        5227  +
/* StructureGenerator.kt:197 */
        5228  +
#[allow(missing_docs)] // documentation missing in model
        5229  +
/* RustType.kt:534 */
        5230  +
#[derive(
        5231  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5232  +
)]
        5233  +
pub /* StructureGenerator.kt:201 */ struct NullAndEmptyHeadersClientInput {
        5234  +
    /* StructureGenerator.kt:231 */
        5235  +
    #[allow(missing_docs)] // documentation missing in model
        5236  +
    pub a: ::std::option::Option<::std::string::String>,
        5237  +
    /* StructureGenerator.kt:231 */
        5238  +
    #[allow(missing_docs)] // documentation missing in model
        5239  +
    pub b: ::std::option::Option<::std::string::String>,
        5240  +
    /* StructureGenerator.kt:231 */
        5241  +
    #[allow(missing_docs)] // documentation missing in model
        5242  +
    pub c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        5243  +
    /* StructureGenerator.kt:201 */
        5244  +
}
        5245  +
/* StructureGenerator.kt:135 */
        5246  +
impl NullAndEmptyHeadersClientInput {
        5247  +
    /* StructureGenerator.kt:231 */
        5248  +
    #[allow(missing_docs)] // documentation missing in model
        5249  +
                           /* StructureGenerator.kt:166 */
        5250  +
    pub fn a(&self) -> ::std::option::Option<&str> {
        5251  +
        /* StructureGenerator.kt:169 */
        5252  +
        self.a.as_deref()
        5253  +
        /* StructureGenerator.kt:166 */
        5254  +
    }
        5255  +
    /* StructureGenerator.kt:231 */
        5256  +
    #[allow(missing_docs)] // documentation missing in model
        5257  +
                           /* StructureGenerator.kt:166 */
        5258  +
    pub fn b(&self) -> ::std::option::Option<&str> {
        5259  +
        /* StructureGenerator.kt:169 */
        5260  +
        self.b.as_deref()
        5261  +
        /* StructureGenerator.kt:166 */
        5262  +
    }
        5263  +
    /* StructureGenerator.kt:231 */
        5264  +
    #[allow(missing_docs)] // documentation missing in model
        5265  +
                           /* StructureGenerator.kt:166 */
        5266  +
    pub fn c(&self) -> ::std::option::Option<&[::std::string::String]> {
        5267  +
        /* StructureGenerator.kt:169 */
        5268  +
        self.c.as_deref()
        5269  +
        /* StructureGenerator.kt:166 */
        5270  +
    }
        5271  +
    /* StructureGenerator.kt:135 */
        5272  +
}
        5273  +
/* ServerCodegenVisitor.kt:356 */
        5274  +
impl NullAndEmptyHeadersClientInput {
        5275  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
        5276  +
    /* ServerBuilderGenerator.kt:295 */
        5277  +
    pub fn builder() -> crate::input::null_and_empty_headers_client_input::Builder {
        5278  +
        /* ServerBuilderGenerator.kt:296 */
        5279  +
        crate::input::null_and_empty_headers_client_input::Builder::default()
        5280  +
        /* ServerBuilderGenerator.kt:295 */
        5281  +
    }
        5282  +
    /* ServerCodegenVisitor.kt:356 */
        5283  +
}
        5284  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5285  +
impl crate::constrained::Constrained for crate::input::NullAndEmptyHeadersClientInput {
        5286  +
    type Unconstrained = crate::input::null_and_empty_headers_client_input::Builder;
        5287  +
}
        5288  +
        5289  +
/* StructureGenerator.kt:197 */
        5290  +
#[allow(missing_docs)] // documentation missing in model
        5291  +
/* RustType.kt:534 */
        5292  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
        5293  +
pub /* StructureGenerator.kt:201 */ struct InputAndOutputWithHeadersInput {
        5294  +
    /* StructureGenerator.kt:231 */
        5295  +
    #[allow(missing_docs)] // documentation missing in model
        5296  +
    pub header_string: ::std::option::Option<::std::string::String>,
        5297  +
    /* StructureGenerator.kt:231 */
        5298  +
    #[allow(missing_docs)] // documentation missing in model
        5299  +
    pub header_byte: ::std::option::Option<i8>,
        5300  +
    /* StructureGenerator.kt:231 */
        5301  +
    #[allow(missing_docs)] // documentation missing in model
        5302  +
    pub header_short: ::std::option::Option<i16>,
        5303  +
    /* StructureGenerator.kt:231 */
        5304  +
    #[allow(missing_docs)] // documentation missing in model
        5305  +
    pub header_integer: ::std::option::Option<i32>,
        5306  +
    /* StructureGenerator.kt:231 */
        5307  +
    #[allow(missing_docs)] // documentation missing in model
        5308  +
    pub header_long: ::std::option::Option<i64>,
        5309  +
    /* StructureGenerator.kt:231 */
        5310  +
    #[allow(missing_docs)] // documentation missing in model
        5311  +
    pub header_float: ::std::option::Option<f32>,
        5312  +
    /* StructureGenerator.kt:231 */
        5313  +
    #[allow(missing_docs)] // documentation missing in model
        5314  +
    pub header_double: ::std::option::Option<f64>,
        5315  +
    /* StructureGenerator.kt:231 */
        5316  +
    #[allow(missing_docs)] // documentation missing in model
        5317  +
    pub header_true_bool: ::std::option::Option<bool>,
        5318  +
    /* StructureGenerator.kt:231 */
        5319  +
    #[allow(missing_docs)] // documentation missing in model
        5320  +
    pub header_false_bool: ::std::option::Option<bool>,
        5321  +
    /* StructureGenerator.kt:231 */
        5322  +
    #[allow(missing_docs)] // documentation missing in model
        5323  +
    pub header_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        5324  +
    /* StructureGenerator.kt:231 */
        5325  +
    #[allow(missing_docs)] // documentation missing in model
        5326  +
    pub header_string_set: ::std::option::Option<crate::model::StringSet>,
        5327  +
    /* StructureGenerator.kt:231 */
        5328  +
    #[allow(missing_docs)] // documentation missing in model
        5329  +
    pub header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
        5330  +
    /* StructureGenerator.kt:231 */
        5331  +
    #[allow(missing_docs)] // documentation missing in model
        5332  +
    pub header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
        5333  +
    /* StructureGenerator.kt:231 */
        5334  +
    #[allow(missing_docs)] // documentation missing in model
        5335  +
    pub header_timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
        5336  +
    /* StructureGenerator.kt:231 */
        5337  +
    #[allow(missing_docs)] // documentation missing in model
        5338  +
    pub header_enum: ::std::option::Option<crate::model::FooEnum>,
        5339  +
    /* StructureGenerator.kt:231 */
        5340  +
    #[allow(missing_docs)] // documentation missing in model
        5341  +
    pub header_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        5342  +
    /* StructureGenerator.kt:231 */
        5343  +
    #[allow(missing_docs)] // documentation missing in model
        5344  +
    pub header_integer_enum: ::std::option::Option<i32>,
        5345  +
    /* StructureGenerator.kt:231 */
        5346  +
    #[allow(missing_docs)] // documentation missing in model
        5347  +
    pub header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
        5348  +
    /* StructureGenerator.kt:201 */
        5349  +
}
        5350  +
/* StructureGenerator.kt:135 */
        5351  +
impl InputAndOutputWithHeadersInput {
        5352  +
    /* StructureGenerator.kt:231 */
        5353  +
    #[allow(missing_docs)] // documentation missing in model
        5354  +
                           /* StructureGenerator.kt:166 */
        5355  +
    pub fn header_string(&self) -> ::std::option::Option<&str> {
        5356  +
        /* StructureGenerator.kt:169 */
        5357  +
        self.header_string.as_deref()
        5358  +
        /* StructureGenerator.kt:166 */
        5359  +
    }
        5360  +
    /* StructureGenerator.kt:231 */
        5361  +
    #[allow(missing_docs)] // documentation missing in model
        5362  +
                           /* StructureGenerator.kt:166 */
        5363  +
    pub fn header_byte(&self) -> ::std::option::Option<i8> {
        5364  +
        /* StructureGenerator.kt:168 */
        5365  +
        self.header_byte
        5366  +
        /* StructureGenerator.kt:166 */
        5367  +
    }
        5368  +
    /* StructureGenerator.kt:231 */
        5369  +
    #[allow(missing_docs)] // documentation missing in model
        5370  +
                           /* StructureGenerator.kt:166 */
        5371  +
    pub fn header_short(&self) -> ::std::option::Option<i16> {
        5372  +
        /* StructureGenerator.kt:168 */
        5373  +
        self.header_short
        5374  +
        /* StructureGenerator.kt:166 */
        5375  +
    }
        5376  +
    /* StructureGenerator.kt:231 */
        5377  +
    #[allow(missing_docs)] // documentation missing in model
        5378  +
                           /* StructureGenerator.kt:166 */
        5379  +
    pub fn header_integer(&self) -> ::std::option::Option<i32> {
        5380  +
        /* StructureGenerator.kt:168 */
        5381  +
        self.header_integer
        5382  +
        /* StructureGenerator.kt:166 */
        5383  +
    }
        5384  +
    /* StructureGenerator.kt:231 */
        5385  +
    #[allow(missing_docs)] // documentation missing in model
        5386  +
                           /* StructureGenerator.kt:166 */
        5387  +
    pub fn header_long(&self) -> ::std::option::Option<i64> {
        5388  +
        /* StructureGenerator.kt:168 */
        5389  +
        self.header_long
        5390  +
        /* StructureGenerator.kt:166 */
        5391  +
    }
        5392  +
    /* StructureGenerator.kt:231 */
        5393  +
    #[allow(missing_docs)] // documentation missing in model
        5394  +
                           /* StructureGenerator.kt:166 */
        5395  +
    pub fn header_float(&self) -> ::std::option::Option<f32> {
        5396  +
        /* StructureGenerator.kt:168 */
        5397  +
        self.header_float
        5398  +
        /* StructureGenerator.kt:166 */
        5399  +
    }
        5400  +
    /* StructureGenerator.kt:231 */
        5401  +
    #[allow(missing_docs)] // documentation missing in model
        5402  +
                           /* StructureGenerator.kt:166 */
        5403  +
    pub fn header_double(&self) -> ::std::option::Option<f64> {
        5404  +
        /* StructureGenerator.kt:168 */
        5405  +
        self.header_double
        5406  +
        /* StructureGenerator.kt:166 */
        5407  +
    }
        5408  +
    /* StructureGenerator.kt:231 */
        5409  +
    #[allow(missing_docs)] // documentation missing in model
        5410  +
                           /* StructureGenerator.kt:166 */
        5411  +
    pub fn header_true_bool(&self) -> ::std::option::Option<bool> {
        5412  +
        /* StructureGenerator.kt:168 */
        5413  +
        self.header_true_bool
        5414  +
        /* StructureGenerator.kt:166 */
        5415  +
    }
        5416  +
    /* StructureGenerator.kt:231 */
        5417  +
    #[allow(missing_docs)] // documentation missing in model
        5418  +
                           /* StructureGenerator.kt:166 */
        5419  +
    pub fn header_false_bool(&self) -> ::std::option::Option<bool> {
        5420  +
        /* StructureGenerator.kt:168 */
        5421  +
        self.header_false_bool
        5422  +
        /* StructureGenerator.kt:166 */
        5423  +
    }
        5424  +
    /* StructureGenerator.kt:231 */
        5425  +
    #[allow(missing_docs)] // documentation missing in model
        5426  +
                           /* StructureGenerator.kt:166 */
        5427  +
    pub fn header_string_list(&self) -> ::std::option::Option<&[::std::string::String]> {
        5428  +
        /* StructureGenerator.kt:169 */
        5429  +
        self.header_string_list.as_deref()
        5430  +
        /* StructureGenerator.kt:166 */
        5431  +
    }
        5432  +
    /* StructureGenerator.kt:231 */
        5433  +
    #[allow(missing_docs)] // documentation missing in model
        5434  +
                           /* StructureGenerator.kt:166 */
        5435  +
    pub fn header_string_set(&self) -> ::std::option::Option<&crate::model::StringSet> {
        5436  +
        /* StructureGenerator.kt:170 */
        5437  +
        self.header_string_set.as_ref()
        5438  +
        /* StructureGenerator.kt:166 */
        5439  +
    }
        5440  +
    /* StructureGenerator.kt:231 */
        5441  +
    #[allow(missing_docs)] // documentation missing in model
        5442  +
                           /* StructureGenerator.kt:166 */
        5443  +
    pub fn header_integer_list(&self) -> ::std::option::Option<&[i32]> {
        5444  +
        /* StructureGenerator.kt:169 */
        5445  +
        self.header_integer_list.as_deref()
        5446  +
        /* StructureGenerator.kt:166 */
        5447  +
    }
        5448  +
    /* StructureGenerator.kt:231 */
        5449  +
    #[allow(missing_docs)] // documentation missing in model
        5450  +
                           /* StructureGenerator.kt:166 */
        5451  +
    pub fn header_boolean_list(&self) -> ::std::option::Option<&[bool]> {
        5452  +
        /* StructureGenerator.kt:169 */
        5453  +
        self.header_boolean_list.as_deref()
        5454  +
        /* StructureGenerator.kt:166 */
        5455  +
    }
        5456  +
    /* StructureGenerator.kt:231 */
        5457  +
    #[allow(missing_docs)] // documentation missing in model
        5458  +
                           /* StructureGenerator.kt:166 */
        5459  +
    pub fn header_timestamp_list(&self) -> ::std::option::Option<&[::aws_smithy_types::DateTime]> {
        5460  +
        /* StructureGenerator.kt:169 */
        5461  +
        self.header_timestamp_list.as_deref()
        5462  +
        /* StructureGenerator.kt:166 */
        5463  +
    }
        5464  +
    /* StructureGenerator.kt:231 */
        5465  +
    #[allow(missing_docs)] // documentation missing in model
        5466  +
                           /* StructureGenerator.kt:166 */
        5467  +
    pub fn header_enum(&self) -> ::std::option::Option<&crate::model::FooEnum> {
        5468  +
        /* StructureGenerator.kt:170 */
        5469  +
        self.header_enum.as_ref()
        5470  +
        /* StructureGenerator.kt:166 */
        5471  +
    }
        5472  +
    /* StructureGenerator.kt:231 */
        5473  +
    #[allow(missing_docs)] // documentation missing in model
        5474  +
                           /* StructureGenerator.kt:166 */
        5475  +
    pub fn header_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
        5476  +
        /* StructureGenerator.kt:169 */
        5477  +
        self.header_enum_list.as_deref()
        5478  +
        /* StructureGenerator.kt:166 */
        5479  +
    }
        5480  +
    /* StructureGenerator.kt:231 */
        5481  +
    #[allow(missing_docs)] // documentation missing in model
        5482  +
                           /* StructureGenerator.kt:166 */
        5483  +
    pub fn header_integer_enum(&self) -> ::std::option::Option<i32> {
        5484  +
        /* StructureGenerator.kt:168 */
        5485  +
        self.header_integer_enum
        5486  +
        /* StructureGenerator.kt:166 */
        5487  +
    }
        5488  +
    /* StructureGenerator.kt:231 */
        5489  +
    #[allow(missing_docs)] // documentation missing in model
        5490  +
                           /* StructureGenerator.kt:166 */
        5491  +
    pub fn header_integer_enum_list(&self) -> ::std::option::Option<&[i32]> {
        5492  +
        /* StructureGenerator.kt:169 */
        5493  +
        self.header_integer_enum_list.as_deref()
        5494  +
        /* StructureGenerator.kt:166 */
        5495  +
    }
        5496  +
    /* StructureGenerator.kt:135 */
        5497  +
}
        5498  +
/* ServerCodegenVisitor.kt:356 */
        5499  +
impl InputAndOutputWithHeadersInput {
        5500  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
        5501  +
    /* ServerBuilderGenerator.kt:295 */
        5502  +
    pub fn builder() -> crate::input::input_and_output_with_headers_input::Builder {
        5503  +
        /* ServerBuilderGenerator.kt:296 */
        5504  +
        crate::input::input_and_output_with_headers_input::Builder::default()
        5505  +
        /* ServerBuilderGenerator.kt:295 */
        5506  +
    }
        5507  +
    /* ServerCodegenVisitor.kt:356 */
        5508  +
}
        5509  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5510  +
impl crate::constrained::Constrained for crate::input::InputAndOutputWithHeadersInput {
        5511  +
    type Unconstrained = crate::input::input_and_output_with_headers_input::Builder;
        5512  +
}
        5513  +
        5514  +
/* StructureGenerator.kt:197 */
        5515  +
#[allow(missing_docs)] // documentation missing in model
        5516  +
/* RustType.kt:534 */
        5517  +
#[derive(
        5518  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5519  +
)]
        5520  +
pub /* StructureGenerator.kt:201 */ struct UnitInputAndOutputInput {/* StructureGenerator.kt:201 */}
        5521  +
/* ServerCodegenVisitor.kt:356 */
        5522  +
impl UnitInputAndOutputInput {
        5523  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
        5524  +
    /* ServerBuilderGenerator.kt:295 */
        5525  +
    pub fn builder() -> crate::input::unit_input_and_output_input::Builder {
        5526  +
        /* ServerBuilderGenerator.kt:296 */
        5527  +
        crate::input::unit_input_and_output_input::Builder::default()
        5528  +
        /* ServerBuilderGenerator.kt:295 */
        5529  +
    }
        5530  +
    /* ServerCodegenVisitor.kt:356 */
        5531  +
}
        5532  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5533  +
impl crate::constrained::Constrained for crate::input::UnitInputAndOutputInput {
        5534  +
    type Unconstrained = crate::input::unit_input_and_output_input::Builder;
        5535  +
}
        5536  +
        5537  +
/* StructureGenerator.kt:197 */
        5538  +
#[allow(missing_docs)] // documentation missing in model
        5539  +
/* RustType.kt:534 */
        5540  +
#[derive(
        5541  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5542  +
)]
        5543  +
pub /* StructureGenerator.kt:201 */ struct EmptyInputAndEmptyOutputInput {/* StructureGenerator.kt:201 */}
        5544  +
/* ServerCodegenVisitor.kt:356 */
        5545  +
impl EmptyInputAndEmptyOutputInput {
        5546  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
        5547  +
    /* ServerBuilderGenerator.kt:295 */
        5548  +
    pub fn builder() -> crate::input::empty_input_and_empty_output_input::Builder {
        5549  +
        /* ServerBuilderGenerator.kt:296 */
        5550  +
        crate::input::empty_input_and_empty_output_input::Builder::default()
        5551  +
        /* ServerBuilderGenerator.kt:295 */
        5552  +
    }
        5553  +
    /* ServerCodegenVisitor.kt:356 */
        5554  +
}
        5555  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5556  +
impl crate::constrained::Constrained for crate::input::EmptyInputAndEmptyOutputInput {
        5557  +
    type Unconstrained = crate::input::empty_input_and_empty_output_input::Builder;
        5558  +
}
        5559  +
        5560  +
/* StructureGenerator.kt:197 */
        5561  +
#[allow(missing_docs)] // documentation missing in model
        5562  +
/* RustType.kt:534 */
        5563  +
#[derive(
        5564  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5565  +
)]
        5566  +
pub /* StructureGenerator.kt:201 */ struct NoInputAndOutputInput {/* StructureGenerator.kt:201 */}
        5567  +
/* ServerCodegenVisitor.kt:356 */
        5568  +
impl NoInputAndOutputInput {
        5569  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
        5570  +
    /* ServerBuilderGenerator.kt:295 */
        5571  +
    pub fn builder() -> crate::input::no_input_and_output_input::Builder {
        5572  +
        /* ServerBuilderGenerator.kt:296 */
        5573  +
        crate::input::no_input_and_output_input::Builder::default()
        5574  +
        /* ServerBuilderGenerator.kt:295 */
        5575  +
    }
        5576  +
    /* ServerCodegenVisitor.kt:356 */
        5577  +
}
        5578  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5579  +
impl crate::constrained::Constrained for crate::input::NoInputAndOutputInput {
        5580  +
    type Unconstrained = crate::input::no_input_and_output_input::Builder;
        5581  +
}
        5582  +
        5583  +
/* StructureGenerator.kt:197 */
        5584  +
#[allow(missing_docs)] // documentation missing in model
        5585  +
/* RustType.kt:534 */
        5586  +
#[derive(
        5587  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        5588  +
)]
        5589  +
pub /* StructureGenerator.kt:201 */ struct NoInputAndNoOutputInput {/* StructureGenerator.kt:201 */}
        5590  +
/* ServerCodegenVisitor.kt:356 */
        5591  +
impl NoInputAndNoOutputInput {
        5592  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
        5593  +
    /* ServerBuilderGenerator.kt:295 */
        5594  +
    pub fn builder() -> crate::input::no_input_and_no_output_input::Builder {
        5595  +
        /* ServerBuilderGenerator.kt:296 */
        5596  +
        crate::input::no_input_and_no_output_input::Builder::default()
        5597  +
        /* ServerBuilderGenerator.kt:295 */
        5598  +
    }
        5599  +
    /* ServerCodegenVisitor.kt:356 */
        5600  +
}
        5601  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
        5602  +
impl crate::constrained::Constrained for crate::input::NoInputAndNoOutputInput {
        5603  +
    type Unconstrained = crate::input::no_input_and_no_output_input::Builder;
        5604  +
}
        5605  +
/// /* ServerBuilderGenerator.kt:171 */See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
        5606  +
pub mod operation_with_nested_structure_input {
        5607  +
        5608  +
    /* RustType.kt:534 */
        5609  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        5610  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        5611  +
    /* RustType.kt:534 */
        5612  +
    #[non_exhaustive]
        5613  +
    /* ServerBuilderConstraintViolations.kt:75 */
        5614  +
    #[allow(clippy::enum_variant_names)]
        5615  +
    pub enum ConstraintViolation {
        5616  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
        5617  +
        /* ServerBuilderConstraintViolations.kt:144 */
        5618  +
        MissingTopLevel,
        5619  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`.
        5620  +
        /* RustType.kt:534 */
        5621  +
        #[doc(hidden)]
        5622  +
        /* ServerBuilderConstraintViolations.kt:165 */
        5623  +
        TopLevel(crate::model::top_level::ConstraintViolation),
        5624  +
        /* ServerBuilderConstraintViolations.kt:75 */
        5625  +
    }
        5626  +
    /* ServerBuilderConstraintViolations.kt:116 */
        5627  +
    impl ::std::fmt::Display for ConstraintViolation {
        5628  +
        /* ServerBuilderConstraintViolations.kt:117 */
        5629  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        5630  +
            /* ServerBuilderConstraintViolations.kt:118 */
        5631  +
            match self {
        5632  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
        5633  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::TopLevel(_) => write!(f, "constraint violation occurred building member `top_level` when building `OperationWithNestedStructureInput`"),
        5634  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        5635  +
            /* ServerBuilderConstraintViolations.kt:117 */
        5636  +
        }
        5637  +
        /* ServerBuilderConstraintViolations.kt:116 */
        5638  +
    }
        5639  +
    /* ServerBuilderConstraintViolations.kt:83 */
        5640  +
    impl ::std::error::Error for ConstraintViolation {}
        5641  +
    /* ServerBuilderConstraintViolations.kt:172 */
        5642  +
    impl ConstraintViolation {
        5643  +
        pub(crate) fn as_validation_exception_field(
        5644  +
            self,
        5645  +
            path: ::std::string::String,
        5646  +
        ) -> crate::model::ValidationExceptionField {
        5647  +
            match self {
        5648  +
            ConstraintViolation::MissingTopLevel => crate::model::ValidationExceptionField {
        5649  +
                                                message: format!("Value at '{}/topLevel' failed to satisfy constraint: Member must not be null", path),
        5650  +
                                                path: path + "/topLevel",
        5651  +
                                            },
        5652  +
            ConstraintViolation::TopLevel(inner) => inner.as_validation_exception_field(path + "/topLevel"),
        5653  +
        }
        5654  +
        }
        5655  +
    }
        5656  +
    /* ServerBuilderGenerator.kt:234 */
        5657  +
    impl ::std::convert::From<ConstraintViolation>
        5658  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        5659  +
    {
        5660  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        5661  +
            let first_validation_exception_field =
        5662  +
                constraint_violation.as_validation_exception_field("".to_owned());
        5663  +
            let validation_exception = crate::error::ValidationException {
        5664  +
                message: format!(
        5665  +
                    "1 validation error detected. {}",
        5666  +
                    &first_validation_exception_field.message
        5667  +
                ),
        5668  +
                field_list: Some(vec![first_validation_exception_field]),
        5669  +
            };
        5670  +
            Self::ConstraintViolation(
        5671  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        5672  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        5673  +
                            )
        5674  +
        }
        5675  +
    }
        5676  +
    /* ServerBuilderGenerator.kt:244 */
        5677  +
    impl ::std::convert::From<Builder>
        5678  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithNestedStructureInput>
        5679  +
    {
        5680  +
        fn from(builder: Builder) -> Self {
        5681  +
            Self::Unconstrained(builder)
        5682  +
        }
        5683  +
    }
        5684  +
    /* ServerBuilderGenerator.kt:446 */
        5685  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithNestedStructureInput {
        5686  +
        type Error = ConstraintViolation;
        5687  +
        5688  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        5689  +
            builder.build()
        5690  +
        }
        5691  +
    }
        5692  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
        5693  +
    /* RustType.kt:534 */
        5694  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5695  +
    /* ServerBuilderGenerator.kt:211 */
        5696  +
    pub struct Builder {
        5697  +
        /* ServerBuilderGenerator.kt:308 */
        5698  +
        pub(crate) top_level:
        5699  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::TopLevel>>,
        5700  +
        /* ServerBuilderGenerator.kt:211 */
        5701  +
    }
        5702  +
    /* ServerBuilderGenerator.kt:215 */
        5703  +
    impl Builder {
        5704  +
        /* ServerBuilderGenerator.kt:331 */
        5705  +
        #[allow(missing_docs)] // documentation missing in model
        5706  +
                               /* ServerBuilderGenerator.kt:343 */
        5707  +
        pub fn top_level(mut self, input: crate::model::TopLevel) -> Self {
        5708  +
            /* ServerBuilderGenerator.kt:344 */
        5709  +
            self.top_level =
        5710  +
                /* ServerBuilderGenerator.kt:345 */Some(
        5711  +
                    /* ServerBuilderGenerator.kt:372 */crate::constrained::MaybeConstrained::Constrained(input)
        5712  +
                /* ServerBuilderGenerator.kt:345 */)
        5713  +
            /* ServerBuilderGenerator.kt:344 */;
        5714  +
            self
        5715  +
            /* ServerBuilderGenerator.kt:343 */
        5716  +
        }
        5717  +
        /* ServerBuilderGenerator.kt:426 */
        5718  +
        #[allow(missing_docs)] // documentation missing in model
        5719  +
                               /* ServerBuilderGenerator.kt:428 */
        5720  +
        pub(crate) fn set_top_level(
        5721  +
            mut self,
        5722  +
            input: impl ::std::convert::Into<
        5723  +
                crate::constrained::MaybeConstrained<crate::model::TopLevel>,
        5724  +
            >,
        5725  +
        ) -> Self {
        5726  +
            /* ServerBuilderGenerator.kt:429 */
        5727  +
            self.top_level = Some(input.into());
        5728  +
            self
        5729  +
            /* ServerBuilderGenerator.kt:428 */
        5730  +
        }
        5731  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
        5732  +
        /// /* ServerBuilderGenerator.kt:260 */
        5733  +
        /// The builder fails to construct a [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) if a [`ConstraintViolation`] occurs.
        5734  +
        ///
        5735  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        5736  +
        /* ServerBuilderGenerator.kt:271 */
        5737  +
        pub fn build(
        5738  +
            self,
        5739  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
        5740  +
            self.build_enforcing_all_constraints()
        5741  +
        }
        5742  +
        /* ServerBuilderGenerator.kt:283 */
        5743  +
        fn build_enforcing_all_constraints(
        5744  +
            self,
        5745  +
        ) -> Result<crate::input::OperationWithNestedStructureInput, ConstraintViolation> {
        5746  +
            /* ServerBuilderGenerator.kt:287 */
        5747  +
            Ok(
        5748  +
                /* ServerBuilderGenerator.kt:542 */
        5749  +
                crate::input::OperationWithNestedStructureInput {
        5750  +
                    /* ServerBuilderGenerator.kt:546 */
        5751  +
                    top_level: self
        5752  +
                        .top_level
        5753  +
                        /* ServerBuilderGenerator.kt:602 */
        5754  +
                        .map(|v| match v {
        5755  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        5756  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        5757  +
                        })
        5758  +
                        /* ServerBuilderGenerator.kt:614 */
        5759  +
                        .map(|res| res.map_err(ConstraintViolation::TopLevel))
        5760  +
                        .transpose()?
        5761  +
                        /* ServerBuilderGenerator.kt:569 */
        5762  +
                        .ok_or(ConstraintViolation::MissingTopLevel)?,
        5763  +
                    /* ServerBuilderGenerator.kt:542 */
        5764  +
                }, /* ServerBuilderGenerator.kt:287 */
        5765  +
            )
        5766  +
            /* ServerBuilderGenerator.kt:283 */
        5767  +
        }
        5768  +
        /* ServerBuilderGenerator.kt:215 */
        5769  +
    }
        5770  +
        5771  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        5772  +
}
        5773  +
/// /* ServerBuilderGenerator.kt:171 */See [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
        5774  +
pub mod operation_with_defaults_input {
        5775  +
        5776  +
    /* RustType.kt:534 */
        5777  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        5778  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        5779  +
    /* RustType.kt:534 */
        5780  +
    #[non_exhaustive]
        5781  +
    /* ServerBuilderConstraintViolations.kt:75 */
        5782  +
    #[allow(clippy::enum_variant_names)]
        5783  +
    pub enum ConstraintViolation {
        5784  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`.
        5785  +
        /* RustType.kt:534 */
        5786  +
        #[doc(hidden)]
        5787  +
        /* ServerBuilderConstraintViolations.kt:165 */
        5788  +
        Defaults(crate::model::defaults::ConstraintViolation),
        5789  +
        /* ServerBuilderConstraintViolations.kt:75 */
        5790  +
    }
        5791  +
    /* ServerBuilderConstraintViolations.kt:116 */
        5792  +
    impl ::std::fmt::Display for ConstraintViolation {
        5793  +
        /* ServerBuilderConstraintViolations.kt:117 */
        5794  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        5795  +
            /* ServerBuilderConstraintViolations.kt:118 */
        5796  +
            match self {
        5797  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Defaults(_) => write!(f, "constraint violation occurred building member `defaults` when building `OperationWithDefaultsInput`"),
        5798  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        5799  +
            /* ServerBuilderConstraintViolations.kt:117 */
        5800  +
        }
        5801  +
        /* ServerBuilderConstraintViolations.kt:116 */
        5802  +
    }
        5803  +
    /* ServerBuilderConstraintViolations.kt:83 */
        5804  +
    impl ::std::error::Error for ConstraintViolation {}
        5805  +
    /* ServerBuilderConstraintViolations.kt:172 */
        5806  +
    impl ConstraintViolation {
        5807  +
        pub(crate) fn as_validation_exception_field(
        5808  +
            self,
        5809  +
            path: ::std::string::String,
        5810  +
        ) -> crate::model::ValidationExceptionField {
        5811  +
            match self {
        5812  +
                ConstraintViolation::Defaults(inner) => {
        5813  +
                    inner.as_validation_exception_field(path + "/defaults")
        5814  +
                }
        5815  +
            }
        5816  +
        }
        5817  +
    }
        5818  +
    /* ServerBuilderGenerator.kt:234 */
        5819  +
    impl ::std::convert::From<ConstraintViolation>
        5820  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        5821  +
    {
        5822  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        5823  +
            let first_validation_exception_field =
        5824  +
                constraint_violation.as_validation_exception_field("".to_owned());
        5825  +
            let validation_exception = crate::error::ValidationException {
        5826  +
                message: format!(
        5827  +
                    "1 validation error detected. {}",
        5828  +
                    &first_validation_exception_field.message
        5829  +
                ),
        5830  +
                field_list: Some(vec![first_validation_exception_field]),
        5831  +
            };
        5832  +
            Self::ConstraintViolation(
        5833  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        5834  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        5835  +
                            )
        5836  +
        }
        5837  +
    }
        5838  +
    /* ServerBuilderGenerator.kt:244 */
        5839  +
    impl ::std::convert::From<Builder>
        5840  +
        for crate::constrained::MaybeConstrained<crate::input::OperationWithDefaultsInput>
        5841  +
    {
        5842  +
        fn from(builder: Builder) -> Self {
        5843  +
            Self::Unconstrained(builder)
        5844  +
        }
        5845  +
    }
        5846  +
    /* ServerBuilderGenerator.kt:446 */
        5847  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OperationWithDefaultsInput {
        5848  +
        type Error = ConstraintViolation;
        5849  +
        5850  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        5851  +
            builder.build()
        5852  +
        }
        5853  +
    }
        5854  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
        5855  +
    /* RustType.kt:534 */
        5856  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        5857  +
    /* ServerBuilderGenerator.kt:211 */
        5858  +
    pub struct Builder {
        5859  +
        /* ServerBuilderGenerator.kt:308 */
        5860  +
        pub(crate) defaults:
        5861  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
        5862  +
        /* ServerBuilderGenerator.kt:308 */
        5863  +
        pub(crate) client_optional_defaults:
        5864  +
            ::std::option::Option<crate::model::ClientOptionalDefaults>,
        5865  +
        /* ServerBuilderGenerator.kt:308 */
        5866  +
        pub(crate) top_level_default: ::std::option::Option<::std::string::String>,
        5867  +
        /* ServerBuilderGenerator.kt:308 */
        5868  +
        pub(crate) other_top_level_default: ::std::option::Option<i32>,
        5869  +
        /* ServerBuilderGenerator.kt:211 */
        5870  +
    }
        5871  +
    /* ServerBuilderGenerator.kt:215 */
        5872  +
    impl Builder {
        5873  +
        /* ServerBuilderGenerator.kt:331 */
        5874  +
        #[allow(missing_docs)] // documentation missing in model
        5875  +
                               /* ServerBuilderGenerator.kt:343 */
        5876  +
        pub fn defaults(mut self, input: ::std::option::Option<crate::model::Defaults>) -> Self {
        5877  +
            /* ServerBuilderGenerator.kt:344 */
        5878  +
            self.defaults =
        5879  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
        5880  +
            /* ServerBuilderGenerator.kt:344 */;
        5881  +
            self
        5882  +
            /* ServerBuilderGenerator.kt:343 */
        5883  +
        }
        5884  +
        /* ServerBuilderGenerator.kt:426 */
        5885  +
        #[allow(missing_docs)] // documentation missing in model
        5886  +
                               /* ServerBuilderGenerator.kt:428 */
        5887  +
        pub(crate) fn set_defaults(
        5888  +
            mut self,
        5889  +
            input: Option<
        5890  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::Defaults>>,
        5891  +
            >,
        5892  +
        ) -> Self {
        5893  +
            /* ServerBuilderGenerator.kt:429 */
        5894  +
            self.defaults = input.map(|v| v.into());
        5895  +
            self
        5896  +
            /* ServerBuilderGenerator.kt:428 */
        5897  +
        }
        5898  +
        /* ServerBuilderGenerator.kt:331 */
        5899  +
        #[allow(missing_docs)] // documentation missing in model
        5900  +
                               /* ServerBuilderGenerator.kt:343 */
        5901  +
        pub fn client_optional_defaults(
        5902  +
            mut self,
        5903  +
            input: ::std::option::Option<crate::model::ClientOptionalDefaults>,
        5904  +
        ) -> Self {
        5905  +
            /* ServerBuilderGenerator.kt:344 */
        5906  +
            self.client_optional_defaults =
        5907  +
                /* ServerBuilderGenerator.kt:376 */input
        5908  +
            /* ServerBuilderGenerator.kt:344 */;
        5909  +
            self
        5910  +
            /* ServerBuilderGenerator.kt:343 */
        5911  +
        }
        5912  +
        /* ServerBuilderGenerator.kt:426 */
        5913  +
        #[allow(missing_docs)] // documentation missing in model
        5914  +
                               /* ServerBuilderGenerator.kt:428 */
        5915  +
        pub(crate) fn set_client_optional_defaults(
        5916  +
            mut self,
        5917  +
            input: Option<impl ::std::convert::Into<crate::model::ClientOptionalDefaults>>,
        5918  +
        ) -> Self {
        5919  +
            /* ServerBuilderGenerator.kt:429 */
        5920  +
            self.client_optional_defaults = input.map(|v| v.into());
        5921  +
            self
        5922  +
            /* ServerBuilderGenerator.kt:428 */
        5923  +
        }
        5924  +
        /* ServerBuilderGenerator.kt:331 */
        5925  +
        #[allow(missing_docs)] // documentation missing in model
        5926  +
                               /* ServerBuilderGenerator.kt:343 */
        5927  +
        pub fn top_level_default(mut self, input: ::std::string::String) -> Self {
        5928  +
            /* ServerBuilderGenerator.kt:344 */
        5929  +
            self.top_level_default =
        5930  +
                /* ServerBuilderGenerator.kt:345 */Some(
        5931  +
                    /* ServerBuilderGenerator.kt:376 */input
        5932  +
                /* ServerBuilderGenerator.kt:345 */)
        5933  +
            /* ServerBuilderGenerator.kt:344 */;
        5934  +
            self
        5935  +
            /* ServerBuilderGenerator.kt:343 */
        5936  +
        }
        5937  +
        /* ServerBuilderGenerator.kt:426 */
        5938  +
        #[allow(missing_docs)] // documentation missing in model
        5939  +
                               /* ServerBuilderGenerator.kt:428 */
        5940  +
        pub(crate) fn set_top_level_default(
        5941  +
            mut self,
        5942  +
            input: impl ::std::convert::Into<::std::string::String>,
        5943  +
        ) -> Self {
        5944  +
            /* ServerBuilderGenerator.kt:429 */
        5945  +
            self.top_level_default = Some(input.into());
        5946  +
            self
        5947  +
            /* ServerBuilderGenerator.kt:428 */
        5948  +
        }
        5949  +
        /* ServerBuilderGenerator.kt:331 */
        5950  +
        #[allow(missing_docs)] // documentation missing in model
        5951  +
                               /* ServerBuilderGenerator.kt:343 */
        5952  +
        pub fn other_top_level_default(mut self, input: i32) -> Self {
        5953  +
            /* ServerBuilderGenerator.kt:344 */
        5954  +
            self.other_top_level_default =
        5955  +
                /* ServerBuilderGenerator.kt:345 */Some(
        5956  +
                    /* ServerBuilderGenerator.kt:376 */input
        5957  +
                /* ServerBuilderGenerator.kt:345 */)
        5958  +
            /* ServerBuilderGenerator.kt:344 */;
        5959  +
            self
        5960  +
            /* ServerBuilderGenerator.kt:343 */
        5961  +
        }
        5962  +
        /* ServerBuilderGenerator.kt:426 */
        5963  +
        #[allow(missing_docs)] // documentation missing in model
        5964  +
                               /* ServerBuilderGenerator.kt:428 */
        5965  +
        pub(crate) fn set_other_top_level_default(
        5966  +
            mut self,
        5967  +
            input: impl ::std::convert::Into<i32>,
        5968  +
        ) -> Self {
        5969  +
            /* ServerBuilderGenerator.kt:429 */
        5970  +
            self.other_top_level_default = Some(input.into());
        5971  +
            self
        5972  +
            /* ServerBuilderGenerator.kt:428 */
        5973  +
        }
        5974  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput).
        5975  +
        /// /* ServerBuilderGenerator.kt:260 */
        5976  +
        /// The builder fails to construct a [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) if a [`ConstraintViolation`] occurs.
        5977  +
        ///
        5978  +
        /* ServerBuilderGenerator.kt:271 */
        5979  +
        pub fn build(
        5980  +
            self,
        5981  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
        5982  +
            self.build_enforcing_all_constraints()
        5983  +
        }
        5984  +
        /* ServerBuilderGenerator.kt:283 */
        5985  +
        fn build_enforcing_all_constraints(
        5986  +
            self,
        5987  +
        ) -> Result<crate::input::OperationWithDefaultsInput, ConstraintViolation> {
        5988  +
            /* ServerBuilderGenerator.kt:287 */
        5989  +
            Ok(
        5990  +
                /* ServerBuilderGenerator.kt:542 */
        5991  +
                crate::input::OperationWithDefaultsInput {
        5992  +
                    /* ServerBuilderGenerator.kt:546 */
        5993  +
                    defaults: self
        5994  +
                        .defaults
        5995  +
                        /* ServerBuilderGenerator.kt:602 */
        5996  +
                        .map(|v| match v {
        5997  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
        5998  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
        5999  +
                        })
        6000  +
                        /* ServerBuilderGenerator.kt:614 */
        6001  +
                        .map(|res| res.map_err(ConstraintViolation::Defaults))
        6002  +
                        .transpose()?,
        6003  +
                    /* ServerBuilderGenerator.kt:546 */
        6004  +
                    client_optional_defaults: self.client_optional_defaults,
        6005  +
                    /* ServerBuilderGenerator.kt:546 */
        6006  +
                    top_level_default: self
        6007  +
                        .top_level_default
        6008  +
                        /* ServerBuilderGeneratorCommon.kt:129 */
        6009  +
                        .unwrap_or_else(|| String::from("hi")),
        6010  +
                    /* ServerBuilderGenerator.kt:546 */
        6011  +
                    other_top_level_default: self
        6012  +
                        .other_top_level_default
        6013  +
                        /* ServerBuilderGeneratorCommon.kt:125 */
        6014  +
                        .unwrap_or(0i32),
        6015  +
                    /* ServerBuilderGenerator.kt:542 */
        6016  +
                }, /* ServerBuilderGenerator.kt:287 */
        6017  +
            )
        6018  +
            /* ServerBuilderGenerator.kt:283 */
        6019  +
        }
        6020  +
        /* ServerBuilderGenerator.kt:215 */
        6021  +
    }
        6022  +
        6023  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6024  +
}
        6025  +
/// /* ServerBuilderGenerator.kt:171 */See [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        6026  +
pub mod content_type_parameters_input {
        6027  +
        6028  +
    /* ServerBuilderGenerator.kt:461 */
        6029  +
    impl ::std::convert::From<Builder> for crate::input::ContentTypeParametersInput {
        6030  +
        fn from(builder: Builder) -> Self {
        6031  +
            builder.build()
        6032  +
        }
        6033  +
    }
        6034  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        6035  +
    /* RustType.kt:534 */
        6036  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6037  +
    /* ServerBuilderGenerator.kt:211 */
        6038  +
    pub struct Builder {
        6039  +
        /* ServerBuilderGenerator.kt:308 */
        6040  +
        pub(crate) value: ::std::option::Option<i32>,
        6041  +
        /* ServerBuilderGenerator.kt:211 */
        6042  +
    }
        6043  +
    /* ServerBuilderGenerator.kt:215 */
        6044  +
    impl Builder {
        6045  +
        /* ServerBuilderGenerator.kt:331 */
        6046  +
        #[allow(missing_docs)] // documentation missing in model
        6047  +
                               /* ServerBuilderGenerator.kt:343 */
        6048  +
        pub fn value(mut self, input: ::std::option::Option<i32>) -> Self {
        6049  +
            /* ServerBuilderGenerator.kt:344 */
        6050  +
            self.value =
        6051  +
                /* ServerBuilderGenerator.kt:376 */input
        6052  +
            /* ServerBuilderGenerator.kt:344 */;
        6053  +
            self
        6054  +
            /* ServerBuilderGenerator.kt:343 */
        6055  +
        }
        6056  +
        /* ServerBuilderGenerator.kt:426 */
        6057  +
        #[allow(missing_docs)] // documentation missing in model
        6058  +
                               /* ServerBuilderGenerator.kt:428 */
        6059  +
        pub(crate) fn set_value(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        6060  +
            /* ServerBuilderGenerator.kt:429 */
        6061  +
            self.value = input.map(|v| v.into());
        6062  +
            self
        6063  +
            /* ServerBuilderGenerator.kt:428 */
        6064  +
        }
        6065  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput).
        6066  +
        /* ServerBuilderGenerator.kt:271 */
        6067  +
        pub fn build(self) -> crate::input::ContentTypeParametersInput {
        6068  +
            self.build_enforcing_all_constraints()
        6069  +
        }
        6070  +
        /* ServerBuilderGenerator.kt:283 */
        6071  +
        fn build_enforcing_all_constraints(self) -> crate::input::ContentTypeParametersInput {
        6072  +
            /* ServerBuilderGenerator.kt:542 */
        6073  +
            crate::input::ContentTypeParametersInput {
        6074  +
                /* ServerBuilderGenerator.kt:546 */
        6075  +
                value: self.value,
        6076  +
                /* ServerBuilderGenerator.kt:542 */
        6077  +
            }
        6078  +
            /* ServerBuilderGenerator.kt:283 */
        6079  +
        }
        6080  +
        /* ServerBuilderGenerator.kt:215 */
        6081  +
    }
        6082  +
        6083  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6084  +
}
        6085  +
/// /* ServerBuilderGenerator.kt:171 */See [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        6086  +
pub mod put_with_content_encoding_input {
        6087  +
        6088  +
    /* ServerBuilderGenerator.kt:461 */
        6089  +
    impl ::std::convert::From<Builder> for crate::input::PutWithContentEncodingInput {
        6090  +
        fn from(builder: Builder) -> Self {
        6091  +
            builder.build()
        6092  +
        }
        6093  +
    }
        6094  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        6095  +
    /* RustType.kt:534 */
        6096  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6097  +
    /* ServerBuilderGenerator.kt:211 */
        6098  +
    pub struct Builder {
        6099  +
        /* ServerBuilderGenerator.kt:308 */
        6100  +
        pub(crate) encoding: ::std::option::Option<::std::string::String>,
        6101  +
        /* ServerBuilderGenerator.kt:308 */
        6102  +
        pub(crate) data: ::std::option::Option<::std::string::String>,
        6103  +
        /* ServerBuilderGenerator.kt:211 */
        6104  +
    }
        6105  +
    /* ServerBuilderGenerator.kt:215 */
        6106  +
    impl Builder {
        6107  +
        /* ServerBuilderGenerator.kt:331 */
        6108  +
        #[allow(missing_docs)] // documentation missing in model
        6109  +
                               /* ServerBuilderGenerator.kt:343 */
        6110  +
        pub fn encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6111  +
            /* ServerBuilderGenerator.kt:344 */
        6112  +
            self.encoding =
        6113  +
                /* ServerBuilderGenerator.kt:376 */input
        6114  +
            /* ServerBuilderGenerator.kt:344 */;
        6115  +
            self
        6116  +
            /* ServerBuilderGenerator.kt:343 */
        6117  +
        }
        6118  +
        /* ServerBuilderGenerator.kt:426 */
        6119  +
        #[allow(missing_docs)] // documentation missing in model
        6120  +
                               /* ServerBuilderGenerator.kt:428 */
        6121  +
        pub(crate) fn set_encoding(
        6122  +
            mut self,
        6123  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6124  +
        ) -> Self {
        6125  +
            /* ServerBuilderGenerator.kt:429 */
        6126  +
            self.encoding = input.map(|v| v.into());
        6127  +
            self
        6128  +
            /* ServerBuilderGenerator.kt:428 */
        6129  +
        }
        6130  +
        /* ServerBuilderGenerator.kt:331 */
        6131  +
        #[allow(missing_docs)] // documentation missing in model
        6132  +
                               /* ServerBuilderGenerator.kt:343 */
        6133  +
        pub fn data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6134  +
            /* ServerBuilderGenerator.kt:344 */
        6135  +
            self.data =
        6136  +
                /* ServerBuilderGenerator.kt:376 */input
        6137  +
            /* ServerBuilderGenerator.kt:344 */;
        6138  +
            self
        6139  +
            /* ServerBuilderGenerator.kt:343 */
        6140  +
        }
        6141  +
        /* ServerBuilderGenerator.kt:426 */
        6142  +
        #[allow(missing_docs)] // documentation missing in model
        6143  +
                               /* ServerBuilderGenerator.kt:428 */
        6144  +
        pub(crate) fn set_data(
        6145  +
            mut self,
        6146  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6147  +
        ) -> Self {
        6148  +
            /* ServerBuilderGenerator.kt:429 */
        6149  +
            self.data = input.map(|v| v.into());
        6150  +
            self
        6151  +
            /* ServerBuilderGenerator.kt:428 */
        6152  +
        }
        6153  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput).
        6154  +
        /* ServerBuilderGenerator.kt:271 */
        6155  +
        pub fn build(self) -> crate::input::PutWithContentEncodingInput {
        6156  +
            self.build_enforcing_all_constraints()
        6157  +
        }
        6158  +
        /* ServerBuilderGenerator.kt:283 */
        6159  +
        fn build_enforcing_all_constraints(self) -> crate::input::PutWithContentEncodingInput {
        6160  +
            /* ServerBuilderGenerator.kt:542 */
        6161  +
            crate::input::PutWithContentEncodingInput {
        6162  +
                /* ServerBuilderGenerator.kt:546 */
        6163  +
                encoding: self.encoding,
        6164  +
                /* ServerBuilderGenerator.kt:546 */
        6165  +
                data: self.data,
        6166  +
                /* ServerBuilderGenerator.kt:542 */
        6167  +
            }
        6168  +
            /* ServerBuilderGenerator.kt:283 */
        6169  +
        }
        6170  +
        /* ServerBuilderGenerator.kt:215 */
        6171  +
    }
        6172  +
        6173  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6174  +
}
        6175  +
/// /* ServerBuilderGenerator.kt:171 */See [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        6176  +
pub mod fractional_seconds_input {
        6177  +
        6178  +
    /* ServerBuilderGenerator.kt:461 */
        6179  +
    impl ::std::convert::From<Builder> for crate::input::FractionalSecondsInput {
        6180  +
        fn from(builder: Builder) -> Self {
        6181  +
            builder.build()
        6182  +
        }
        6183  +
    }
        6184  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        6185  +
    /* RustType.kt:534 */
        6186  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6187  +
    /* ServerBuilderGenerator.kt:211 */
        6188  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6189  +
    /* ServerBuilderGenerator.kt:215 */
        6190  +
    impl Builder {
        6191  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`FractionalSecondsInput`](crate::input::FractionalSecondsInput).
        6192  +
        /* ServerBuilderGenerator.kt:271 */
        6193  +
        pub fn build(self) -> crate::input::FractionalSecondsInput {
        6194  +
            self.build_enforcing_all_constraints()
        6195  +
        }
        6196  +
        /* ServerBuilderGenerator.kt:283 */
        6197  +
        fn build_enforcing_all_constraints(self) -> crate::input::FractionalSecondsInput {
        6198  +
            /* ServerBuilderGenerator.kt:542 */
        6199  +
            crate::input::FractionalSecondsInput {
        6200  +
            /* ServerBuilderGenerator.kt:542 */}
        6201  +
            /* ServerBuilderGenerator.kt:283 */
        6202  +
        }
        6203  +
        /* ServerBuilderGenerator.kt:215 */
        6204  +
    }
        6205  +
        6206  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6207  +
}
        6208  +
/// /* ServerBuilderGenerator.kt:171 */See [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        6209  +
pub mod datetime_offsets_input {
        6210  +
        6211  +
    /* ServerBuilderGenerator.kt:461 */
        6212  +
    impl ::std::convert::From<Builder> for crate::input::DatetimeOffsetsInput {
        6213  +
        fn from(builder: Builder) -> Self {
        6214  +
            builder.build()
        6215  +
        }
        6216  +
    }
        6217  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        6218  +
    /* RustType.kt:534 */
        6219  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6220  +
    /* ServerBuilderGenerator.kt:211 */
        6221  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6222  +
    /* ServerBuilderGenerator.kt:215 */
        6223  +
    impl Builder {
        6224  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput).
        6225  +
        /* ServerBuilderGenerator.kt:271 */
        6226  +
        pub fn build(self) -> crate::input::DatetimeOffsetsInput {
        6227  +
            self.build_enforcing_all_constraints()
        6228  +
        }
        6229  +
        /* ServerBuilderGenerator.kt:283 */
        6230  +
        fn build_enforcing_all_constraints(self) -> crate::input::DatetimeOffsetsInput {
        6231  +
            /* ServerBuilderGenerator.kt:542 */
        6232  +
            crate::input::DatetimeOffsetsInput {
        6233  +
            /* ServerBuilderGenerator.kt:542 */}
        6234  +
            /* ServerBuilderGenerator.kt:283 */
        6235  +
        }
        6236  +
        /* ServerBuilderGenerator.kt:215 */
        6237  +
    }
        6238  +
        6239  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6240  +
}
        6241  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
        6242  +
pub mod test_post_no_input_no_payload_input {
        6243  +
        6244  +
    /* ServerBuilderGenerator.kt:461 */
        6245  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoInputNoPayloadInput {
        6246  +
        fn from(builder: Builder) -> Self {
        6247  +
            builder.build()
        6248  +
        }
        6249  +
    }
        6250  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
        6251  +
    /* RustType.kt:534 */
        6252  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6253  +
    /* ServerBuilderGenerator.kt:211 */
        6254  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6255  +
    /* ServerBuilderGenerator.kt:215 */
        6256  +
    impl Builder {
        6257  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPostNoInputNoPayloadInput`](crate::input::TestPostNoInputNoPayloadInput).
        6258  +
        /* ServerBuilderGenerator.kt:271 */
        6259  +
        pub fn build(self) -> crate::input::TestPostNoInputNoPayloadInput {
        6260  +
            self.build_enforcing_all_constraints()
        6261  +
        }
        6262  +
        /* ServerBuilderGenerator.kt:283 */
        6263  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoInputNoPayloadInput {
        6264  +
            /* ServerBuilderGenerator.kt:542 */
        6265  +
            crate::input::TestPostNoInputNoPayloadInput {
        6266  +
            /* ServerBuilderGenerator.kt:542 */}
        6267  +
            /* ServerBuilderGenerator.kt:283 */
        6268  +
        }
        6269  +
        /* ServerBuilderGenerator.kt:215 */
        6270  +
    }
        6271  +
        6272  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6273  +
}
        6274  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
        6275  +
pub mod test_get_no_input_no_payload_input {
        6276  +
        6277  +
    /* ServerBuilderGenerator.kt:461 */
        6278  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoInputNoPayloadInput {
        6279  +
        fn from(builder: Builder) -> Self {
        6280  +
            builder.build()
        6281  +
        }
        6282  +
    }
        6283  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
        6284  +
    /* RustType.kt:534 */
        6285  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6286  +
    /* ServerBuilderGenerator.kt:211 */
        6287  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6288  +
    /* ServerBuilderGenerator.kt:215 */
        6289  +
    impl Builder {
        6290  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestGetNoInputNoPayloadInput`](crate::input::TestGetNoInputNoPayloadInput).
        6291  +
        /* ServerBuilderGenerator.kt:271 */
        6292  +
        pub fn build(self) -> crate::input::TestGetNoInputNoPayloadInput {
        6293  +
            self.build_enforcing_all_constraints()
        6294  +
        }
        6295  +
        /* ServerBuilderGenerator.kt:283 */
        6296  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoInputNoPayloadInput {
        6297  +
            /* ServerBuilderGenerator.kt:542 */
        6298  +
            crate::input::TestGetNoInputNoPayloadInput {
        6299  +
            /* ServerBuilderGenerator.kt:542 */}
        6300  +
            /* ServerBuilderGenerator.kt:283 */
        6301  +
        }
        6302  +
        /* ServerBuilderGenerator.kt:215 */
        6303  +
    }
        6304  +
        6305  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6306  +
}
        6307  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
        6308  +
pub mod test_post_no_payload_input {
        6309  +
        6310  +
    /* ServerBuilderGenerator.kt:461 */
        6311  +
    impl ::std::convert::From<Builder> for crate::input::TestPostNoPayloadInput {
        6312  +
        fn from(builder: Builder) -> Self {
        6313  +
            builder.build()
        6314  +
        }
        6315  +
    }
        6316  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
        6317  +
    /* RustType.kt:534 */
        6318  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6319  +
    /* ServerBuilderGenerator.kt:211 */
        6320  +
    pub struct Builder {
        6321  +
        /* ServerBuilderGenerator.kt:308 */
        6322  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        6323  +
        /* ServerBuilderGenerator.kt:211 */
        6324  +
    }
        6325  +
    /* ServerBuilderGenerator.kt:215 */
        6326  +
    impl Builder {
        6327  +
        /* ServerBuilderGenerator.kt:331 */
        6328  +
        #[allow(missing_docs)] // documentation missing in model
        6329  +
                               /* ServerBuilderGenerator.kt:343 */
        6330  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6331  +
            /* ServerBuilderGenerator.kt:344 */
        6332  +
            self.test_id =
        6333  +
                /* ServerBuilderGenerator.kt:376 */input
        6334  +
            /* ServerBuilderGenerator.kt:344 */;
        6335  +
            self
        6336  +
            /* ServerBuilderGenerator.kt:343 */
        6337  +
        }
        6338  +
        /* ServerBuilderGenerator.kt:426 */
        6339  +
        #[allow(missing_docs)] // documentation missing in model
        6340  +
                               /* ServerBuilderGenerator.kt:428 */
        6341  +
        pub(crate) fn set_test_id(
        6342  +
            mut self,
        6343  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6344  +
        ) -> Self {
        6345  +
            /* ServerBuilderGenerator.kt:429 */
        6346  +
            self.test_id = input.map(|v| v.into());
        6347  +
            self
        6348  +
            /* ServerBuilderGenerator.kt:428 */
        6349  +
        }
        6350  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPostNoPayloadInput`](crate::input::TestPostNoPayloadInput).
        6351  +
        /* ServerBuilderGenerator.kt:271 */
        6352  +
        pub fn build(self) -> crate::input::TestPostNoPayloadInput {
        6353  +
            self.build_enforcing_all_constraints()
        6354  +
        }
        6355  +
        /* ServerBuilderGenerator.kt:283 */
        6356  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPostNoPayloadInput {
        6357  +
            /* ServerBuilderGenerator.kt:542 */
        6358  +
            crate::input::TestPostNoPayloadInput {
        6359  +
                /* ServerBuilderGenerator.kt:546 */
        6360  +
                test_id: self.test_id,
        6361  +
                /* ServerBuilderGenerator.kt:542 */
        6362  +
            }
        6363  +
            /* ServerBuilderGenerator.kt:283 */
        6364  +
        }
        6365  +
        /* ServerBuilderGenerator.kt:215 */
        6366  +
    }
        6367  +
        6368  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6369  +
}
        6370  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        6371  +
pub mod test_get_no_payload_input {
        6372  +
        6373  +
    /* ServerBuilderGenerator.kt:461 */
        6374  +
    impl ::std::convert::From<Builder> for crate::input::TestGetNoPayloadInput {
        6375  +
        fn from(builder: Builder) -> Self {
        6376  +
            builder.build()
        6377  +
        }
        6378  +
    }
        6379  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        6380  +
    /* RustType.kt:534 */
        6381  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6382  +
    /* ServerBuilderGenerator.kt:211 */
        6383  +
    pub struct Builder {
        6384  +
        /* ServerBuilderGenerator.kt:308 */
        6385  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        6386  +
        /* ServerBuilderGenerator.kt:211 */
        6387  +
    }
        6388  +
    /* ServerBuilderGenerator.kt:215 */
        6389  +
    impl Builder {
        6390  +
        /* ServerBuilderGenerator.kt:331 */
        6391  +
        #[allow(missing_docs)] // documentation missing in model
        6392  +
                               /* ServerBuilderGenerator.kt:343 */
        6393  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6394  +
            /* ServerBuilderGenerator.kt:344 */
        6395  +
            self.test_id =
        6396  +
                /* ServerBuilderGenerator.kt:376 */input
        6397  +
            /* ServerBuilderGenerator.kt:344 */;
        6398  +
            self
        6399  +
            /* ServerBuilderGenerator.kt:343 */
        6400  +
        }
        6401  +
        /* ServerBuilderGenerator.kt:426 */
        6402  +
        #[allow(missing_docs)] // documentation missing in model
        6403  +
                               /* ServerBuilderGenerator.kt:428 */
        6404  +
        pub(crate) fn set_test_id(
        6405  +
            mut self,
        6406  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6407  +
        ) -> Self {
        6408  +
            /* ServerBuilderGenerator.kt:429 */
        6409  +
            self.test_id = input.map(|v| v.into());
        6410  +
            self
        6411  +
            /* ServerBuilderGenerator.kt:428 */
        6412  +
        }
        6413  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestGetNoPayloadInput`](crate::input::TestGetNoPayloadInput).
        6414  +
        /* ServerBuilderGenerator.kt:271 */
        6415  +
        pub fn build(self) -> crate::input::TestGetNoPayloadInput {
        6416  +
            self.build_enforcing_all_constraints()
        6417  +
        }
        6418  +
        /* ServerBuilderGenerator.kt:283 */
        6419  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestGetNoPayloadInput {
        6420  +
            /* ServerBuilderGenerator.kt:542 */
        6421  +
            crate::input::TestGetNoPayloadInput {
        6422  +
                /* ServerBuilderGenerator.kt:546 */
        6423  +
                test_id: self.test_id,
        6424  +
                /* ServerBuilderGenerator.kt:542 */
        6425  +
            }
        6426  +
            /* ServerBuilderGenerator.kt:283 */
        6427  +
        }
        6428  +
        /* ServerBuilderGenerator.kt:215 */
        6429  +
    }
        6430  +
        6431  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6432  +
}
        6433  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
        6434  +
pub mod test_payload_blob_input {
        6435  +
        6436  +
    /* ServerBuilderGenerator.kt:461 */
        6437  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadBlobInput {
        6438  +
        fn from(builder: Builder) -> Self {
        6439  +
            builder.build()
        6440  +
        }
        6441  +
    }
        6442  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
        6443  +
    /* RustType.kt:534 */
        6444  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6445  +
    /* ServerBuilderGenerator.kt:211 */
        6446  +
    pub struct Builder {
        6447  +
        /* ServerBuilderGenerator.kt:308 */
        6448  +
        pub(crate) content_type: ::std::option::Option<::std::string::String>,
        6449  +
        /* ServerBuilderGenerator.kt:308 */
        6450  +
        pub(crate) data: ::std::option::Option<::aws_smithy_types::Blob>,
        6451  +
        /* ServerBuilderGenerator.kt:211 */
        6452  +
    }
        6453  +
    /* ServerBuilderGenerator.kt:215 */
        6454  +
    impl Builder {
        6455  +
        /* ServerBuilderGenerator.kt:331 */
        6456  +
        #[allow(missing_docs)] // documentation missing in model
        6457  +
                               /* ServerBuilderGenerator.kt:343 */
        6458  +
        pub fn content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6459  +
            /* ServerBuilderGenerator.kt:344 */
        6460  +
            self.content_type =
        6461  +
                /* ServerBuilderGenerator.kt:376 */input
        6462  +
            /* ServerBuilderGenerator.kt:344 */;
        6463  +
            self
        6464  +
            /* ServerBuilderGenerator.kt:343 */
        6465  +
        }
        6466  +
        /* ServerBuilderGenerator.kt:426 */
        6467  +
        #[allow(missing_docs)] // documentation missing in model
        6468  +
                               /* ServerBuilderGenerator.kt:428 */
        6469  +
        pub(crate) fn set_content_type(
        6470  +
            mut self,
        6471  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6472  +
        ) -> Self {
        6473  +
            /* ServerBuilderGenerator.kt:429 */
        6474  +
            self.content_type = input.map(|v| v.into());
        6475  +
            self
        6476  +
            /* ServerBuilderGenerator.kt:428 */
        6477  +
        }
        6478  +
        /* ServerBuilderGenerator.kt:331 */
        6479  +
        #[allow(missing_docs)] // documentation missing in model
        6480  +
                               /* ServerBuilderGenerator.kt:343 */
        6481  +
        pub fn data(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        6482  +
            /* ServerBuilderGenerator.kt:344 */
        6483  +
            self.data =
        6484  +
                /* ServerBuilderGenerator.kt:376 */input
        6485  +
            /* ServerBuilderGenerator.kt:344 */;
        6486  +
            self
        6487  +
            /* ServerBuilderGenerator.kt:343 */
        6488  +
        }
        6489  +
        /* ServerBuilderGenerator.kt:426 */
        6490  +
        #[allow(missing_docs)] // documentation missing in model
        6491  +
                               /* ServerBuilderGenerator.kt:428 */
        6492  +
        pub(crate) fn set_data(
        6493  +
            mut self,
        6494  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
        6495  +
        ) -> Self {
        6496  +
            /* ServerBuilderGenerator.kt:429 */
        6497  +
            self.data = input.map(|v| v.into());
        6498  +
            self
        6499  +
            /* ServerBuilderGenerator.kt:428 */
        6500  +
        }
        6501  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPayloadBlobInput`](crate::input::TestPayloadBlobInput).
        6502  +
        /* ServerBuilderGenerator.kt:271 */
        6503  +
        pub fn build(self) -> crate::input::TestPayloadBlobInput {
        6504  +
            self.build_enforcing_all_constraints()
        6505  +
        }
        6506  +
        /* ServerBuilderGenerator.kt:283 */
        6507  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadBlobInput {
        6508  +
            /* ServerBuilderGenerator.kt:542 */
        6509  +
            crate::input::TestPayloadBlobInput {
        6510  +
                /* ServerBuilderGenerator.kt:546 */
        6511  +
                content_type: self.content_type,
        6512  +
                /* ServerBuilderGenerator.kt:546 */
        6513  +
                data: self.data,
        6514  +
                /* ServerBuilderGenerator.kt:542 */
        6515  +
            }
        6516  +
            /* ServerBuilderGenerator.kt:283 */
        6517  +
        }
        6518  +
        /* ServerBuilderGenerator.kt:215 */
        6519  +
    }
        6520  +
        6521  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6522  +
}
        6523  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
        6524  +
pub mod test_payload_structure_input {
        6525  +
        6526  +
    /* ServerBuilderGenerator.kt:461 */
        6527  +
    impl ::std::convert::From<Builder> for crate::input::TestPayloadStructureInput {
        6528  +
        fn from(builder: Builder) -> Self {
        6529  +
            builder.build()
        6530  +
        }
        6531  +
    }
        6532  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
        6533  +
    /* RustType.kt:534 */
        6534  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6535  +
    /* ServerBuilderGenerator.kt:211 */
        6536  +
    pub struct Builder {
        6537  +
        /* ServerBuilderGenerator.kt:308 */
        6538  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        6539  +
        /* ServerBuilderGenerator.kt:308 */
        6540  +
        pub(crate) payload_config: ::std::option::Option<crate::model::PayloadConfig>,
        6541  +
        /* ServerBuilderGenerator.kt:211 */
        6542  +
    }
        6543  +
    /* ServerBuilderGenerator.kt:215 */
        6544  +
    impl Builder {
        6545  +
        /* ServerBuilderGenerator.kt:331 */
        6546  +
        #[allow(missing_docs)] // documentation missing in model
        6547  +
                               /* ServerBuilderGenerator.kt:343 */
        6548  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6549  +
            /* ServerBuilderGenerator.kt:344 */
        6550  +
            self.test_id =
        6551  +
                /* ServerBuilderGenerator.kt:376 */input
        6552  +
            /* ServerBuilderGenerator.kt:344 */;
        6553  +
            self
        6554  +
            /* ServerBuilderGenerator.kt:343 */
        6555  +
        }
        6556  +
        /* ServerBuilderGenerator.kt:426 */
        6557  +
        #[allow(missing_docs)] // documentation missing in model
        6558  +
                               /* ServerBuilderGenerator.kt:428 */
        6559  +
        pub(crate) fn set_test_id(
        6560  +
            mut self,
        6561  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6562  +
        ) -> Self {
        6563  +
            /* ServerBuilderGenerator.kt:429 */
        6564  +
            self.test_id = input.map(|v| v.into());
        6565  +
            self
        6566  +
            /* ServerBuilderGenerator.kt:428 */
        6567  +
        }
        6568  +
        /* ServerBuilderGenerator.kt:331 */
        6569  +
        #[allow(missing_docs)] // documentation missing in model
        6570  +
                               /* ServerBuilderGenerator.kt:343 */
        6571  +
        pub fn payload_config(
        6572  +
            mut self,
        6573  +
            input: ::std::option::Option<crate::model::PayloadConfig>,
        6574  +
        ) -> Self {
        6575  +
            /* ServerBuilderGenerator.kt:344 */
        6576  +
            self.payload_config =
        6577  +
                /* ServerBuilderGenerator.kt:376 */input
        6578  +
            /* ServerBuilderGenerator.kt:344 */;
        6579  +
            self
        6580  +
            /* ServerBuilderGenerator.kt:343 */
        6581  +
        }
        6582  +
        /* ServerBuilderGenerator.kt:426 */
        6583  +
        #[allow(missing_docs)] // documentation missing in model
        6584  +
                               /* ServerBuilderGenerator.kt:428 */
        6585  +
        pub(crate) fn set_payload_config(
        6586  +
            mut self,
        6587  +
            input: Option<impl ::std::convert::Into<crate::model::PayloadConfig>>,
        6588  +
        ) -> Self {
        6589  +
            /* ServerBuilderGenerator.kt:429 */
        6590  +
            self.payload_config = input.map(|v| v.into());
        6591  +
            self
        6592  +
            /* ServerBuilderGenerator.kt:428 */
        6593  +
        }
        6594  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestPayloadStructureInput`](crate::input::TestPayloadStructureInput).
        6595  +
        /* ServerBuilderGenerator.kt:271 */
        6596  +
        pub fn build(self) -> crate::input::TestPayloadStructureInput {
        6597  +
            self.build_enforcing_all_constraints()
        6598  +
        }
        6599  +
        /* ServerBuilderGenerator.kt:283 */
        6600  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestPayloadStructureInput {
        6601  +
            /* ServerBuilderGenerator.kt:542 */
        6602  +
            crate::input::TestPayloadStructureInput {
        6603  +
                /* ServerBuilderGenerator.kt:546 */
        6604  +
                test_id: self.test_id,
        6605  +
                /* ServerBuilderGenerator.kt:546 */
        6606  +
                payload_config: self.payload_config,
        6607  +
                /* ServerBuilderGenerator.kt:542 */
        6608  +
            }
        6609  +
            /* ServerBuilderGenerator.kt:283 */
        6610  +
        }
        6611  +
        /* ServerBuilderGenerator.kt:215 */
        6612  +
    }
        6613  +
        6614  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6615  +
}
        6616  +
/// /* ServerBuilderGenerator.kt:171 */See [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        6617  +
pub mod test_body_structure_input {
        6618  +
        6619  +
    /* ServerBuilderGenerator.kt:461 */
        6620  +
    impl ::std::convert::From<Builder> for crate::input::TestBodyStructureInput {
        6621  +
        fn from(builder: Builder) -> Self {
        6622  +
            builder.build()
        6623  +
        }
        6624  +
    }
        6625  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        6626  +
    /* RustType.kt:534 */
        6627  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6628  +
    /* ServerBuilderGenerator.kt:211 */
        6629  +
    pub struct Builder {
        6630  +
        /* ServerBuilderGenerator.kt:308 */
        6631  +
        pub(crate) test_id: ::std::option::Option<::std::string::String>,
        6632  +
        /* ServerBuilderGenerator.kt:308 */
        6633  +
        pub(crate) test_config: ::std::option::Option<crate::model::TestConfig>,
        6634  +
        /* ServerBuilderGenerator.kt:211 */
        6635  +
    }
        6636  +
    /* ServerBuilderGenerator.kt:215 */
        6637  +
    impl Builder {
        6638  +
        /* ServerBuilderGenerator.kt:331 */
        6639  +
        #[allow(missing_docs)] // documentation missing in model
        6640  +
                               /* ServerBuilderGenerator.kt:343 */
        6641  +
        pub fn test_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6642  +
            /* ServerBuilderGenerator.kt:344 */
        6643  +
            self.test_id =
        6644  +
                /* ServerBuilderGenerator.kt:376 */input
        6645  +
            /* ServerBuilderGenerator.kt:344 */;
        6646  +
            self
        6647  +
            /* ServerBuilderGenerator.kt:343 */
        6648  +
        }
        6649  +
        /* ServerBuilderGenerator.kt:426 */
        6650  +
        #[allow(missing_docs)] // documentation missing in model
        6651  +
                               /* ServerBuilderGenerator.kt:428 */
        6652  +
        pub(crate) fn set_test_id(
        6653  +
            mut self,
        6654  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6655  +
        ) -> Self {
        6656  +
            /* ServerBuilderGenerator.kt:429 */
        6657  +
            self.test_id = input.map(|v| v.into());
        6658  +
            self
        6659  +
            /* ServerBuilderGenerator.kt:428 */
        6660  +
        }
        6661  +
        /* ServerBuilderGenerator.kt:331 */
        6662  +
        #[allow(missing_docs)] // documentation missing in model
        6663  +
                               /* ServerBuilderGenerator.kt:343 */
        6664  +
        pub fn test_config(
        6665  +
            mut self,
        6666  +
            input: ::std::option::Option<crate::model::TestConfig>,
        6667  +
        ) -> Self {
        6668  +
            /* ServerBuilderGenerator.kt:344 */
        6669  +
            self.test_config =
        6670  +
                /* ServerBuilderGenerator.kt:376 */input
        6671  +
            /* ServerBuilderGenerator.kt:344 */;
        6672  +
            self
        6673  +
            /* ServerBuilderGenerator.kt:343 */
        6674  +
        }
        6675  +
        /* ServerBuilderGenerator.kt:426 */
        6676  +
        #[allow(missing_docs)] // documentation missing in model
        6677  +
                               /* ServerBuilderGenerator.kt:428 */
        6678  +
        pub(crate) fn set_test_config(
        6679  +
            mut self,
        6680  +
            input: Option<impl ::std::convert::Into<crate::model::TestConfig>>,
        6681  +
        ) -> Self {
        6682  +
            /* ServerBuilderGenerator.kt:429 */
        6683  +
            self.test_config = input.map(|v| v.into());
        6684  +
            self
        6685  +
            /* ServerBuilderGenerator.kt:428 */
        6686  +
        }
        6687  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TestBodyStructureInput`](crate::input::TestBodyStructureInput).
        6688  +
        /* ServerBuilderGenerator.kt:271 */
        6689  +
        pub fn build(self) -> crate::input::TestBodyStructureInput {
        6690  +
            self.build_enforcing_all_constraints()
        6691  +
        }
        6692  +
        /* ServerBuilderGenerator.kt:283 */
        6693  +
        fn build_enforcing_all_constraints(self) -> crate::input::TestBodyStructureInput {
        6694  +
            /* ServerBuilderGenerator.kt:542 */
        6695  +
            crate::input::TestBodyStructureInput {
        6696  +
                /* ServerBuilderGenerator.kt:546 */
        6697  +
                test_id: self.test_id,
        6698  +
                /* ServerBuilderGenerator.kt:546 */
        6699  +
                test_config: self.test_config,
        6700  +
                /* ServerBuilderGenerator.kt:542 */
        6701  +
            }
        6702  +
            /* ServerBuilderGenerator.kt:283 */
        6703  +
        }
        6704  +
        /* ServerBuilderGenerator.kt:215 */
        6705  +
    }
        6706  +
        6707  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6708  +
}
        6709  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        6710  +
pub mod malformed_accept_with_generic_string_input {
        6711  +
        6712  +
    /* ServerBuilderGenerator.kt:461 */
        6713  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithGenericStringInput {
        6714  +
        fn from(builder: Builder) -> Self {
        6715  +
            builder.build()
        6716  +
        }
        6717  +
    }
        6718  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        6719  +
    /* RustType.kt:534 */
        6720  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6721  +
    /* ServerBuilderGenerator.kt:211 */
        6722  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6723  +
    /* ServerBuilderGenerator.kt:215 */
        6724  +
    impl Builder {
        6725  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithGenericStringInput`](crate::input::MalformedAcceptWithGenericStringInput).
        6726  +
        /* ServerBuilderGenerator.kt:271 */
        6727  +
        pub fn build(self) -> crate::input::MalformedAcceptWithGenericStringInput {
        6728  +
            self.build_enforcing_all_constraints()
        6729  +
        }
        6730  +
        /* ServerBuilderGenerator.kt:283 */
        6731  +
        fn build_enforcing_all_constraints(
        6732  +
            self,
        6733  +
        ) -> crate::input::MalformedAcceptWithGenericStringInput {
        6734  +
            /* ServerBuilderGenerator.kt:542 */
        6735  +
            crate::input::MalformedAcceptWithGenericStringInput {
        6736  +
            /* ServerBuilderGenerator.kt:542 */}
        6737  +
            /* ServerBuilderGenerator.kt:283 */
        6738  +
        }
        6739  +
        /* ServerBuilderGenerator.kt:215 */
        6740  +
    }
        6741  +
        6742  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6743  +
}
        6744  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        6745  +
pub mod malformed_accept_with_payload_input {
        6746  +
        6747  +
    /* ServerBuilderGenerator.kt:461 */
        6748  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithPayloadInput {
        6749  +
        fn from(builder: Builder) -> Self {
        6750  +
            builder.build()
        6751  +
        }
        6752  +
    }
        6753  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        6754  +
    /* RustType.kt:534 */
        6755  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6756  +
    /* ServerBuilderGenerator.kt:211 */
        6757  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6758  +
    /* ServerBuilderGenerator.kt:215 */
        6759  +
    impl Builder {
        6760  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithPayloadInput`](crate::input::MalformedAcceptWithPayloadInput).
        6761  +
        /* ServerBuilderGenerator.kt:271 */
        6762  +
        pub fn build(self) -> crate::input::MalformedAcceptWithPayloadInput {
        6763  +
            self.build_enforcing_all_constraints()
        6764  +
        }
        6765  +
        /* ServerBuilderGenerator.kt:283 */
        6766  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithPayloadInput {
        6767  +
            /* ServerBuilderGenerator.kt:542 */
        6768  +
            crate::input::MalformedAcceptWithPayloadInput {
        6769  +
            /* ServerBuilderGenerator.kt:542 */}
        6770  +
            /* ServerBuilderGenerator.kt:283 */
        6771  +
        }
        6772  +
        /* ServerBuilderGenerator.kt:215 */
        6773  +
    }
        6774  +
        6775  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6776  +
}
        6777  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        6778  +
pub mod malformed_accept_with_body_input {
        6779  +
        6780  +
    /* ServerBuilderGenerator.kt:461 */
        6781  +
    impl ::std::convert::From<Builder> for crate::input::MalformedAcceptWithBodyInput {
        6782  +
        fn from(builder: Builder) -> Self {
        6783  +
            builder.build()
        6784  +
        }
        6785  +
    }
        6786  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        6787  +
    /* RustType.kt:534 */
        6788  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6789  +
    /* ServerBuilderGenerator.kt:211 */
        6790  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        6791  +
    /* ServerBuilderGenerator.kt:215 */
        6792  +
    impl Builder {
        6793  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedAcceptWithBodyInput`](crate::input::MalformedAcceptWithBodyInput).
        6794  +
        /* ServerBuilderGenerator.kt:271 */
        6795  +
        pub fn build(self) -> crate::input::MalformedAcceptWithBodyInput {
        6796  +
            self.build_enforcing_all_constraints()
        6797  +
        }
        6798  +
        /* ServerBuilderGenerator.kt:283 */
        6799  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedAcceptWithBodyInput {
        6800  +
            /* ServerBuilderGenerator.kt:542 */
        6801  +
            crate::input::MalformedAcceptWithBodyInput {
        6802  +
            /* ServerBuilderGenerator.kt:542 */}
        6803  +
            /* ServerBuilderGenerator.kt:283 */
        6804  +
        }
        6805  +
        /* ServerBuilderGenerator.kt:215 */
        6806  +
    }
        6807  +
        6808  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6809  +
}
        6810  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
        6811  +
pub mod malformed_content_type_with_generic_string_input {
        6812  +
        6813  +
    /* ServerBuilderGenerator.kt:461 */
        6814  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithGenericStringInput {
        6815  +
        fn from(builder: Builder) -> Self {
        6816  +
            builder.build()
        6817  +
        }
        6818  +
    }
        6819  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
        6820  +
    /* RustType.kt:534 */
        6821  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6822  +
    /* ServerBuilderGenerator.kt:211 */
        6823  +
    pub struct Builder {
        6824  +
        /* ServerBuilderGenerator.kt:308 */
        6825  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
        6826  +
        /* ServerBuilderGenerator.kt:211 */
        6827  +
    }
        6828  +
    /* ServerBuilderGenerator.kt:215 */
        6829  +
    impl Builder {
        6830  +
        /* ServerBuilderGenerator.kt:331 */
        6831  +
        #[allow(missing_docs)] // documentation missing in model
        6832  +
                               /* ServerBuilderGenerator.kt:343 */
        6833  +
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6834  +
            /* ServerBuilderGenerator.kt:344 */
        6835  +
            self.payload =
        6836  +
                /* ServerBuilderGenerator.kt:376 */input
        6837  +
            /* ServerBuilderGenerator.kt:344 */;
        6838  +
            self
        6839  +
            /* ServerBuilderGenerator.kt:343 */
        6840  +
        }
        6841  +
        /* ServerBuilderGenerator.kt:426 */
        6842  +
        #[allow(missing_docs)] // documentation missing in model
        6843  +
                               /* ServerBuilderGenerator.kt:428 */
        6844  +
        pub(crate) fn set_payload(
        6845  +
            mut self,
        6846  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6847  +
        ) -> Self {
        6848  +
            /* ServerBuilderGenerator.kt:429 */
        6849  +
            self.payload = input.map(|v| v.into());
        6850  +
            self
        6851  +
            /* ServerBuilderGenerator.kt:428 */
        6852  +
        }
        6853  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithGenericStringInput`](crate::input::MalformedContentTypeWithGenericStringInput).
        6854  +
        /* ServerBuilderGenerator.kt:271 */
        6855  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithGenericStringInput {
        6856  +
            self.build_enforcing_all_constraints()
        6857  +
        }
        6858  +
        /* ServerBuilderGenerator.kt:283 */
        6859  +
        fn build_enforcing_all_constraints(
        6860  +
            self,
        6861  +
        ) -> crate::input::MalformedContentTypeWithGenericStringInput {
        6862  +
            /* ServerBuilderGenerator.kt:542 */
        6863  +
            crate::input::MalformedContentTypeWithGenericStringInput {
        6864  +
                /* ServerBuilderGenerator.kt:546 */
        6865  +
                payload: self.payload,
        6866  +
                /* ServerBuilderGenerator.kt:542 */
        6867  +
            }
        6868  +
            /* ServerBuilderGenerator.kt:283 */
        6869  +
        }
        6870  +
        /* ServerBuilderGenerator.kt:215 */
        6871  +
    }
        6872  +
        6873  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6874  +
}
        6875  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
        6876  +
pub mod malformed_content_type_with_payload_input {
        6877  +
        6878  +
    /* ServerBuilderGenerator.kt:461 */
        6879  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithPayloadInput {
        6880  +
        fn from(builder: Builder) -> Self {
        6881  +
            builder.build()
        6882  +
        }
        6883  +
    }
        6884  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
        6885  +
    /* RustType.kt:534 */
        6886  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6887  +
    /* ServerBuilderGenerator.kt:211 */
        6888  +
    pub struct Builder {
        6889  +
        /* ServerBuilderGenerator.kt:308 */
        6890  +
        pub(crate) payload: ::std::option::Option<::aws_smithy_types::Blob>,
        6891  +
        /* ServerBuilderGenerator.kt:211 */
        6892  +
    }
        6893  +
    /* ServerBuilderGenerator.kt:215 */
        6894  +
    impl Builder {
        6895  +
        /* ServerBuilderGenerator.kt:331 */
        6896  +
        #[allow(missing_docs)] // documentation missing in model
        6897  +
                               /* ServerBuilderGenerator.kt:343 */
        6898  +
        pub fn payload(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        6899  +
            /* ServerBuilderGenerator.kt:344 */
        6900  +
            self.payload =
        6901  +
                /* ServerBuilderGenerator.kt:376 */input
        6902  +
            /* ServerBuilderGenerator.kt:344 */;
        6903  +
            self
        6904  +
            /* ServerBuilderGenerator.kt:343 */
        6905  +
        }
        6906  +
        /* ServerBuilderGenerator.kt:426 */
        6907  +
        #[allow(missing_docs)] // documentation missing in model
        6908  +
                               /* ServerBuilderGenerator.kt:428 */
        6909  +
        pub(crate) fn set_payload(
        6910  +
            mut self,
        6911  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
        6912  +
        ) -> Self {
        6913  +
            /* ServerBuilderGenerator.kt:429 */
        6914  +
            self.payload = input.map(|v| v.into());
        6915  +
            self
        6916  +
            /* ServerBuilderGenerator.kt:428 */
        6917  +
        }
        6918  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithPayloadInput`](crate::input::MalformedContentTypeWithPayloadInput).
        6919  +
        /* ServerBuilderGenerator.kt:271 */
        6920  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithPayloadInput {
        6921  +
            self.build_enforcing_all_constraints()
        6922  +
        }
        6923  +
        /* ServerBuilderGenerator.kt:283 */
        6924  +
        fn build_enforcing_all_constraints(
        6925  +
            self,
        6926  +
        ) -> crate::input::MalformedContentTypeWithPayloadInput {
        6927  +
            /* ServerBuilderGenerator.kt:542 */
        6928  +
            crate::input::MalformedContentTypeWithPayloadInput {
        6929  +
                /* ServerBuilderGenerator.kt:546 */
        6930  +
                payload: self.payload,
        6931  +
                /* ServerBuilderGenerator.kt:542 */
        6932  +
            }
        6933  +
            /* ServerBuilderGenerator.kt:283 */
        6934  +
        }
        6935  +
        /* ServerBuilderGenerator.kt:215 */
        6936  +
    }
        6937  +
        6938  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        6939  +
}
        6940  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
        6941  +
pub mod malformed_content_type_with_body_input {
        6942  +
        6943  +
    /* ServerBuilderGenerator.kt:461 */
        6944  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithBodyInput {
        6945  +
        fn from(builder: Builder) -> Self {
        6946  +
            builder.build()
        6947  +
        }
        6948  +
    }
        6949  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
        6950  +
    /* RustType.kt:534 */
        6951  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        6952  +
    /* ServerBuilderGenerator.kt:211 */
        6953  +
    pub struct Builder {
        6954  +
        /* ServerBuilderGenerator.kt:308 */
        6955  +
        pub(crate) hi: ::std::option::Option<::std::string::String>,
        6956  +
        /* ServerBuilderGenerator.kt:211 */
        6957  +
    }
        6958  +
    /* ServerBuilderGenerator.kt:215 */
        6959  +
    impl Builder {
        6960  +
        /* ServerBuilderGenerator.kt:331 */
        6961  +
        #[allow(missing_docs)] // documentation missing in model
        6962  +
                               /* ServerBuilderGenerator.kt:343 */
        6963  +
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        6964  +
            /* ServerBuilderGenerator.kt:344 */
        6965  +
            self.hi =
        6966  +
                /* ServerBuilderGenerator.kt:376 */input
        6967  +
            /* ServerBuilderGenerator.kt:344 */;
        6968  +
            self
        6969  +
            /* ServerBuilderGenerator.kt:343 */
        6970  +
        }
        6971  +
        /* ServerBuilderGenerator.kt:426 */
        6972  +
        #[allow(missing_docs)] // documentation missing in model
        6973  +
                               /* ServerBuilderGenerator.kt:428 */
        6974  +
        pub(crate) fn set_hi(
        6975  +
            mut self,
        6976  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        6977  +
        ) -> Self {
        6978  +
            /* ServerBuilderGenerator.kt:429 */
        6979  +
            self.hi = input.map(|v| v.into());
        6980  +
            self
        6981  +
            /* ServerBuilderGenerator.kt:428 */
        6982  +
        }
        6983  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithBodyInput`](crate::input::MalformedContentTypeWithBodyInput).
        6984  +
        /* ServerBuilderGenerator.kt:271 */
        6985  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithBodyInput {
        6986  +
            self.build_enforcing_all_constraints()
        6987  +
        }
        6988  +
        /* ServerBuilderGenerator.kt:283 */
        6989  +
        fn build_enforcing_all_constraints(
        6990  +
            self,
        6991  +
        ) -> crate::input::MalformedContentTypeWithBodyInput {
        6992  +
            /* ServerBuilderGenerator.kt:542 */
        6993  +
            crate::input::MalformedContentTypeWithBodyInput {
        6994  +
                /* ServerBuilderGenerator.kt:546 */
        6995  +
                hi: self.hi,
        6996  +
                /* ServerBuilderGenerator.kt:542 */
        6997  +
            }
        6998  +
            /* ServerBuilderGenerator.kt:283 */
        6999  +
        }
        7000  +
        /* ServerBuilderGenerator.kt:215 */
        7001  +
    }
        7002  +
        7003  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7004  +
}
        7005  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
        7006  +
pub mod malformed_content_type_without_body_empty_input_input {
        7007  +
        7008  +
    /* ServerBuilderGenerator.kt:461 */
        7009  +
    impl ::std::convert::From<Builder>
        7010  +
        for crate::input::MalformedContentTypeWithoutBodyEmptyInputInput
        7011  +
    {
        7012  +
        fn from(builder: Builder) -> Self {
        7013  +
            builder.build()
        7014  +
        }
        7015  +
    }
        7016  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
        7017  +
    /* RustType.kt:534 */
        7018  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7019  +
    /* ServerBuilderGenerator.kt:211 */
        7020  +
    pub struct Builder {
        7021  +
        /* ServerBuilderGenerator.kt:308 */
        7022  +
        pub(crate) header: ::std::option::Option<::std::string::String>,
        7023  +
        /* ServerBuilderGenerator.kt:211 */
        7024  +
    }
        7025  +
    /* ServerBuilderGenerator.kt:215 */
        7026  +
    impl Builder {
        7027  +
        /* ServerBuilderGenerator.kt:331 */
        7028  +
        #[allow(missing_docs)] // documentation missing in model
        7029  +
                               /* ServerBuilderGenerator.kt:343 */
        7030  +
        pub fn header(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        7031  +
            /* ServerBuilderGenerator.kt:344 */
        7032  +
            self.header =
        7033  +
                /* ServerBuilderGenerator.kt:376 */input
        7034  +
            /* ServerBuilderGenerator.kt:344 */;
        7035  +
            self
        7036  +
            /* ServerBuilderGenerator.kt:343 */
        7037  +
        }
        7038  +
        /* ServerBuilderGenerator.kt:426 */
        7039  +
        #[allow(missing_docs)] // documentation missing in model
        7040  +
                               /* ServerBuilderGenerator.kt:428 */
        7041  +
        pub(crate) fn set_header(
        7042  +
            mut self,
        7043  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        7044  +
        ) -> Self {
        7045  +
            /* ServerBuilderGenerator.kt:429 */
        7046  +
            self.header = input.map(|v| v.into());
        7047  +
            self
        7048  +
            /* ServerBuilderGenerator.kt:428 */
        7049  +
        }
        7050  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyEmptyInputInput`](crate::input::MalformedContentTypeWithoutBodyEmptyInputInput).
        7051  +
        /* ServerBuilderGenerator.kt:271 */
        7052  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
        7053  +
            self.build_enforcing_all_constraints()
        7054  +
        }
        7055  +
        /* ServerBuilderGenerator.kt:283 */
        7056  +
        fn build_enforcing_all_constraints(
        7057  +
            self,
        7058  +
        ) -> crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
        7059  +
            /* ServerBuilderGenerator.kt:542 */
        7060  +
            crate::input::MalformedContentTypeWithoutBodyEmptyInputInput {
        7061  +
                /* ServerBuilderGenerator.kt:546 */
        7062  +
                header: self.header,
        7063  +
                /* ServerBuilderGenerator.kt:542 */
        7064  +
            }
        7065  +
            /* ServerBuilderGenerator.kt:283 */
        7066  +
        }
        7067  +
        /* ServerBuilderGenerator.kt:215 */
        7068  +
    }
        7069  +
        7070  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7071  +
}
        7072  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
        7073  +
pub mod malformed_content_type_without_body_input {
        7074  +
        7075  +
    /* ServerBuilderGenerator.kt:461 */
        7076  +
    impl ::std::convert::From<Builder> for crate::input::MalformedContentTypeWithoutBodyInput {
        7077  +
        fn from(builder: Builder) -> Self {
        7078  +
            builder.build()
        7079  +
        }
        7080  +
    }
        7081  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
        7082  +
    /* RustType.kt:534 */
        7083  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7084  +
    /* ServerBuilderGenerator.kt:211 */
        7085  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        7086  +
    /* ServerBuilderGenerator.kt:215 */
        7087  +
    impl Builder {
        7088  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedContentTypeWithoutBodyInput`](crate::input::MalformedContentTypeWithoutBodyInput).
        7089  +
        /* ServerBuilderGenerator.kt:271 */
        7090  +
        pub fn build(self) -> crate::input::MalformedContentTypeWithoutBodyInput {
        7091  +
            self.build_enforcing_all_constraints()
        7092  +
        }
        7093  +
        /* ServerBuilderGenerator.kt:283 */
        7094  +
        fn build_enforcing_all_constraints(
        7095  +
            self,
        7096  +
        ) -> crate::input::MalformedContentTypeWithoutBodyInput {
        7097  +
            /* ServerBuilderGenerator.kt:542 */
        7098  +
            crate::input::MalformedContentTypeWithoutBodyInput {
        7099  +
            /* ServerBuilderGenerator.kt:542 */}
        7100  +
            /* ServerBuilderGenerator.kt:283 */
        7101  +
        }
        7102  +
        /* ServerBuilderGenerator.kt:215 */
        7103  +
    }
        7104  +
        7105  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7106  +
}
        7107  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        7108  +
pub mod malformed_timestamp_body_http_date_input {
        7109  +
        7110  +
    /* RustType.kt:534 */
        7111  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7112  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7113  +
    /* RustType.kt:534 */
        7114  +
    #[non_exhaustive]
        7115  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7116  +
    #[allow(clippy::enum_variant_names)]
        7117  +
    pub enum ConstraintViolation {
        7118  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
        7119  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7120  +
        MissingTimestamp,
        7121  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7122  +
    }
        7123  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7124  +
    impl ::std::fmt::Display for ConstraintViolation {
        7125  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7126  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7127  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7128  +
            match self {
        7129  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
        7130  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7131  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7132  +
        }
        7133  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7134  +
    }
        7135  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7136  +
    impl ::std::error::Error for ConstraintViolation {}
        7137  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7138  +
    impl ConstraintViolation {
        7139  +
        pub(crate) fn as_validation_exception_field(
        7140  +
            self,
        7141  +
            path: ::std::string::String,
        7142  +
        ) -> crate::model::ValidationExceptionField {
        7143  +
            match self {
        7144  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7145  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7146  +
                                                path: path + "/timestamp",
        7147  +
                                            },
        7148  +
        }
        7149  +
        }
        7150  +
    }
        7151  +
    /* ServerBuilderGenerator.kt:234 */
        7152  +
    impl ::std::convert::From<ConstraintViolation>
        7153  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7154  +
    {
        7155  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7156  +
            let first_validation_exception_field =
        7157  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7158  +
            let validation_exception = crate::error::ValidationException {
        7159  +
                message: format!(
        7160  +
                    "1 validation error detected. {}",
        7161  +
                    &first_validation_exception_field.message
        7162  +
                ),
        7163  +
                field_list: Some(vec![first_validation_exception_field]),
        7164  +
            };
        7165  +
            Self::ConstraintViolation(
        7166  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7167  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7168  +
                            )
        7169  +
        }
        7170  +
    }
        7171  +
    /* ServerBuilderGenerator.kt:244 */
        7172  +
    impl ::std::convert::From<Builder>
        7173  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyHttpDateInput>
        7174  +
    {
        7175  +
        fn from(builder: Builder) -> Self {
        7176  +
            Self::Unconstrained(builder)
        7177  +
        }
        7178  +
    }
        7179  +
    /* ServerBuilderGenerator.kt:446 */
        7180  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyHttpDateInput {
        7181  +
        type Error = ConstraintViolation;
        7182  +
        7183  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        7184  +
            builder.build()
        7185  +
        }
        7186  +
    }
        7187  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        7188  +
    /* RustType.kt:534 */
        7189  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7190  +
    /* ServerBuilderGenerator.kt:211 */
        7191  +
    pub struct Builder {
        7192  +
        /* ServerBuilderGenerator.kt:308 */
        7193  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        7194  +
        /* ServerBuilderGenerator.kt:211 */
        7195  +
    }
        7196  +
    /* ServerBuilderGenerator.kt:215 */
        7197  +
    impl Builder {
        7198  +
        /* ServerBuilderGenerator.kt:331 */
        7199  +
        #[allow(missing_docs)] // documentation missing in model
        7200  +
                               /* ServerBuilderGenerator.kt:343 */
        7201  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7202  +
            /* ServerBuilderGenerator.kt:344 */
        7203  +
            self.timestamp =
        7204  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7205  +
                    /* ServerBuilderGenerator.kt:376 */input
        7206  +
                /* ServerBuilderGenerator.kt:345 */)
        7207  +
            /* ServerBuilderGenerator.kt:344 */;
        7208  +
            self
        7209  +
            /* ServerBuilderGenerator.kt:343 */
        7210  +
        }
        7211  +
        /* ServerBuilderGenerator.kt:426 */
        7212  +
        #[allow(missing_docs)] // documentation missing in model
        7213  +
                               /* ServerBuilderGenerator.kt:428 */
        7214  +
        pub(crate) fn set_timestamp(
        7215  +
            mut self,
        7216  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7217  +
        ) -> Self {
        7218  +
            /* ServerBuilderGenerator.kt:429 */
        7219  +
            self.timestamp = Some(input.into());
        7220  +
            self
        7221  +
            /* ServerBuilderGenerator.kt:428 */
        7222  +
        }
        7223  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
        7224  +
        /// /* ServerBuilderGenerator.kt:260 */
        7225  +
        /// The builder fails to construct a [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput) if a [`ConstraintViolation`] occurs.
        7226  +
        ///
        7227  +
        /* ServerBuilderGenerator.kt:271 */
        7228  +
        pub fn build(
        7229  +
            self,
        7230  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
        7231  +
        {
        7232  +
            self.build_enforcing_all_constraints()
        7233  +
        }
        7234  +
        /* ServerBuilderGenerator.kt:283 */
        7235  +
        fn build_enforcing_all_constraints(
        7236  +
            self,
        7237  +
        ) -> Result<crate::input::MalformedTimestampBodyHttpDateInput, ConstraintViolation>
        7238  +
        {
        7239  +
            /* ServerBuilderGenerator.kt:287 */
        7240  +
            Ok(
        7241  +
                /* ServerBuilderGenerator.kt:542 */
        7242  +
                crate::input::MalformedTimestampBodyHttpDateInput {
        7243  +
                    /* ServerBuilderGenerator.kt:546 */
        7244  +
                    timestamp: self
        7245  +
                        .timestamp
        7246  +
                        /* ServerBuilderGenerator.kt:569 */
        7247  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        7248  +
                    /* ServerBuilderGenerator.kt:542 */
        7249  +
                }, /* ServerBuilderGenerator.kt:287 */
        7250  +
            )
        7251  +
            /* ServerBuilderGenerator.kt:283 */
        7252  +
        }
        7253  +
        /* ServerBuilderGenerator.kt:215 */
        7254  +
    }
        7255  +
        7256  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7257  +
}
        7258  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        7259  +
pub mod malformed_timestamp_body_date_time_input {
        7260  +
        7261  +
    /* RustType.kt:534 */
        7262  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7263  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7264  +
    /* RustType.kt:534 */
        7265  +
    #[non_exhaustive]
        7266  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7267  +
    #[allow(clippy::enum_variant_names)]
        7268  +
    pub enum ConstraintViolation {
        7269  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
        7270  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7271  +
        MissingTimestamp,
        7272  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7273  +
    }
        7274  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7275  +
    impl ::std::fmt::Display for ConstraintViolation {
        7276  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7277  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7278  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7279  +
            match self {
        7280  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
        7281  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7282  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7283  +
        }
        7284  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7285  +
    }
        7286  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7287  +
    impl ::std::error::Error for ConstraintViolation {}
        7288  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7289  +
    impl ConstraintViolation {
        7290  +
        pub(crate) fn as_validation_exception_field(
        7291  +
            self,
        7292  +
            path: ::std::string::String,
        7293  +
        ) -> crate::model::ValidationExceptionField {
        7294  +
            match self {
        7295  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7296  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7297  +
                                                path: path + "/timestamp",
        7298  +
                                            },
        7299  +
        }
        7300  +
        }
        7301  +
    }
        7302  +
    /* ServerBuilderGenerator.kt:234 */
        7303  +
    impl ::std::convert::From<ConstraintViolation>
        7304  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7305  +
    {
        7306  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7307  +
            let first_validation_exception_field =
        7308  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7309  +
            let validation_exception = crate::error::ValidationException {
        7310  +
                message: format!(
        7311  +
                    "1 validation error detected. {}",
        7312  +
                    &first_validation_exception_field.message
        7313  +
                ),
        7314  +
                field_list: Some(vec![first_validation_exception_field]),
        7315  +
            };
        7316  +
            Self::ConstraintViolation(
        7317  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7318  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7319  +
                            )
        7320  +
        }
        7321  +
    }
        7322  +
    /* ServerBuilderGenerator.kt:244 */
        7323  +
    impl ::std::convert::From<Builder>
        7324  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDateTimeInput>
        7325  +
    {
        7326  +
        fn from(builder: Builder) -> Self {
        7327  +
            Self::Unconstrained(builder)
        7328  +
        }
        7329  +
    }
        7330  +
    /* ServerBuilderGenerator.kt:446 */
        7331  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDateTimeInput {
        7332  +
        type Error = ConstraintViolation;
        7333  +
        7334  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        7335  +
            builder.build()
        7336  +
        }
        7337  +
    }
        7338  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        7339  +
    /* RustType.kt:534 */
        7340  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7341  +
    /* ServerBuilderGenerator.kt:211 */
        7342  +
    pub struct Builder {
        7343  +
        /* ServerBuilderGenerator.kt:308 */
        7344  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        7345  +
        /* ServerBuilderGenerator.kt:211 */
        7346  +
    }
        7347  +
    /* ServerBuilderGenerator.kt:215 */
        7348  +
    impl Builder {
        7349  +
        /* ServerBuilderGenerator.kt:331 */
        7350  +
        #[allow(missing_docs)] // documentation missing in model
        7351  +
                               /* ServerBuilderGenerator.kt:343 */
        7352  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7353  +
            /* ServerBuilderGenerator.kt:344 */
        7354  +
            self.timestamp =
        7355  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7356  +
                    /* ServerBuilderGenerator.kt:376 */input
        7357  +
                /* ServerBuilderGenerator.kt:345 */)
        7358  +
            /* ServerBuilderGenerator.kt:344 */;
        7359  +
            self
        7360  +
            /* ServerBuilderGenerator.kt:343 */
        7361  +
        }
        7362  +
        /* ServerBuilderGenerator.kt:426 */
        7363  +
        #[allow(missing_docs)] // documentation missing in model
        7364  +
                               /* ServerBuilderGenerator.kt:428 */
        7365  +
        pub(crate) fn set_timestamp(
        7366  +
            mut self,
        7367  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7368  +
        ) -> Self {
        7369  +
            /* ServerBuilderGenerator.kt:429 */
        7370  +
            self.timestamp = Some(input.into());
        7371  +
            self
        7372  +
            /* ServerBuilderGenerator.kt:428 */
        7373  +
        }
        7374  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
        7375  +
        /// /* ServerBuilderGenerator.kt:260 */
        7376  +
        /// The builder fails to construct a [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput) if a [`ConstraintViolation`] occurs.
        7377  +
        ///
        7378  +
        /* ServerBuilderGenerator.kt:271 */
        7379  +
        pub fn build(
        7380  +
            self,
        7381  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
        7382  +
        {
        7383  +
            self.build_enforcing_all_constraints()
        7384  +
        }
        7385  +
        /* ServerBuilderGenerator.kt:283 */
        7386  +
        fn build_enforcing_all_constraints(
        7387  +
            self,
        7388  +
        ) -> Result<crate::input::MalformedTimestampBodyDateTimeInput, ConstraintViolation>
        7389  +
        {
        7390  +
            /* ServerBuilderGenerator.kt:287 */
        7391  +
            Ok(
        7392  +
                /* ServerBuilderGenerator.kt:542 */
        7393  +
                crate::input::MalformedTimestampBodyDateTimeInput {
        7394  +
                    /* ServerBuilderGenerator.kt:546 */
        7395  +
                    timestamp: self
        7396  +
                        .timestamp
        7397  +
                        /* ServerBuilderGenerator.kt:569 */
        7398  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        7399  +
                    /* ServerBuilderGenerator.kt:542 */
        7400  +
                }, /* ServerBuilderGenerator.kt:287 */
        7401  +
            )
        7402  +
            /* ServerBuilderGenerator.kt:283 */
        7403  +
        }
        7404  +
        /* ServerBuilderGenerator.kt:215 */
        7405  +
    }
        7406  +
        7407  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7408  +
}
        7409  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        7410  +
pub mod malformed_timestamp_body_default_input {
        7411  +
        7412  +
    /* RustType.kt:534 */
        7413  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7414  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7415  +
    /* RustType.kt:534 */
        7416  +
    #[non_exhaustive]
        7417  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7418  +
    #[allow(clippy::enum_variant_names)]
        7419  +
    pub enum ConstraintViolation {
        7420  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
        7421  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7422  +
        MissingTimestamp,
        7423  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7424  +
    }
        7425  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7426  +
    impl ::std::fmt::Display for ConstraintViolation {
        7427  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7428  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7429  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7430  +
            match self {
        7431  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
        7432  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7433  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7434  +
        }
        7435  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7436  +
    }
        7437  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7438  +
    impl ::std::error::Error for ConstraintViolation {}
        7439  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7440  +
    impl ConstraintViolation {
        7441  +
        pub(crate) fn as_validation_exception_field(
        7442  +
            self,
        7443  +
            path: ::std::string::String,
        7444  +
        ) -> crate::model::ValidationExceptionField {
        7445  +
            match self {
        7446  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7447  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7448  +
                                                path: path + "/timestamp",
        7449  +
                                            },
        7450  +
        }
        7451  +
        }
        7452  +
    }
        7453  +
    /* ServerBuilderGenerator.kt:234 */
        7454  +
    impl ::std::convert::From<ConstraintViolation>
        7455  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7456  +
    {
        7457  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7458  +
            let first_validation_exception_field =
        7459  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7460  +
            let validation_exception = crate::error::ValidationException {
        7461  +
                message: format!(
        7462  +
                    "1 validation error detected. {}",
        7463  +
                    &first_validation_exception_field.message
        7464  +
                ),
        7465  +
                field_list: Some(vec![first_validation_exception_field]),
        7466  +
            };
        7467  +
            Self::ConstraintViolation(
        7468  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7469  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7470  +
                            )
        7471  +
        }
        7472  +
    }
        7473  +
    /* ServerBuilderGenerator.kt:244 */
        7474  +
    impl ::std::convert::From<Builder>
        7475  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampBodyDefaultInput>
        7476  +
    {
        7477  +
        fn from(builder: Builder) -> Self {
        7478  +
            Self::Unconstrained(builder)
        7479  +
        }
        7480  +
    }
        7481  +
    /* ServerBuilderGenerator.kt:446 */
        7482  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampBodyDefaultInput {
        7483  +
        type Error = ConstraintViolation;
        7484  +
        7485  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        7486  +
            builder.build()
        7487  +
        }
        7488  +
    }
        7489  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        7490  +
    /* RustType.kt:534 */
        7491  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7492  +
    /* ServerBuilderGenerator.kt:211 */
        7493  +
    pub struct Builder {
        7494  +
        /* ServerBuilderGenerator.kt:308 */
        7495  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        7496  +
        /* ServerBuilderGenerator.kt:211 */
        7497  +
    }
        7498  +
    /* ServerBuilderGenerator.kt:215 */
        7499  +
    impl Builder {
        7500  +
        /* ServerBuilderGenerator.kt:331 */
        7501  +
        #[allow(missing_docs)] // documentation missing in model
        7502  +
                               /* ServerBuilderGenerator.kt:343 */
        7503  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7504  +
            /* ServerBuilderGenerator.kt:344 */
        7505  +
            self.timestamp =
        7506  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7507  +
                    /* ServerBuilderGenerator.kt:376 */input
        7508  +
                /* ServerBuilderGenerator.kt:345 */)
        7509  +
            /* ServerBuilderGenerator.kt:344 */;
        7510  +
            self
        7511  +
            /* ServerBuilderGenerator.kt:343 */
        7512  +
        }
        7513  +
        /* ServerBuilderGenerator.kt:426 */
        7514  +
        #[allow(missing_docs)] // documentation missing in model
        7515  +
                               /* ServerBuilderGenerator.kt:428 */
        7516  +
        pub(crate) fn set_timestamp(
        7517  +
            mut self,
        7518  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7519  +
        ) -> Self {
        7520  +
            /* ServerBuilderGenerator.kt:429 */
        7521  +
            self.timestamp = Some(input.into());
        7522  +
            self
        7523  +
            /* ServerBuilderGenerator.kt:428 */
        7524  +
        }
        7525  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
        7526  +
        /// /* ServerBuilderGenerator.kt:260 */
        7527  +
        /// The builder fails to construct a [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput) if a [`ConstraintViolation`] occurs.
        7528  +
        ///
        7529  +
        /* ServerBuilderGenerator.kt:271 */
        7530  +
        pub fn build(
        7531  +
            self,
        7532  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
        7533  +
            self.build_enforcing_all_constraints()
        7534  +
        }
        7535  +
        /* ServerBuilderGenerator.kt:283 */
        7536  +
        fn build_enforcing_all_constraints(
        7537  +
            self,
        7538  +
        ) -> Result<crate::input::MalformedTimestampBodyDefaultInput, ConstraintViolation> {
        7539  +
            /* ServerBuilderGenerator.kt:287 */
        7540  +
            Ok(
        7541  +
                /* ServerBuilderGenerator.kt:542 */
        7542  +
                crate::input::MalformedTimestampBodyDefaultInput {
        7543  +
                    /* ServerBuilderGenerator.kt:546 */
        7544  +
                    timestamp: self
        7545  +
                        .timestamp
        7546  +
                        /* ServerBuilderGenerator.kt:569 */
        7547  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        7548  +
                    /* ServerBuilderGenerator.kt:542 */
        7549  +
                }, /* ServerBuilderGenerator.kt:287 */
        7550  +
            )
        7551  +
            /* ServerBuilderGenerator.kt:283 */
        7552  +
        }
        7553  +
        /* ServerBuilderGenerator.kt:215 */
        7554  +
    }
        7555  +
        7556  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7557  +
}
        7558  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        7559  +
pub mod malformed_timestamp_header_epoch_input {
        7560  +
        7561  +
    /* RustType.kt:534 */
        7562  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7563  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7564  +
    /* RustType.kt:534 */
        7565  +
    #[non_exhaustive]
        7566  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7567  +
    #[allow(clippy::enum_variant_names)]
        7568  +
    pub enum ConstraintViolation {
        7569  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
        7570  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7571  +
        MissingTimestamp,
        7572  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7573  +
    }
        7574  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7575  +
    impl ::std::fmt::Display for ConstraintViolation {
        7576  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7577  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7578  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7579  +
            match self {
        7580  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
        7581  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7582  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7583  +
        }
        7584  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7585  +
    }
        7586  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7587  +
    impl ::std::error::Error for ConstraintViolation {}
        7588  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7589  +
    impl ConstraintViolation {
        7590  +
        pub(crate) fn as_validation_exception_field(
        7591  +
            self,
        7592  +
            path: ::std::string::String,
        7593  +
        ) -> crate::model::ValidationExceptionField {
        7594  +
            match self {
        7595  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7596  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7597  +
                                                path: path + "/timestamp",
        7598  +
                                            },
        7599  +
        }
        7600  +
        }
        7601  +
    }
        7602  +
    /* ServerBuilderGenerator.kt:234 */
        7603  +
    impl ::std::convert::From<ConstraintViolation>
        7604  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7605  +
    {
        7606  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7607  +
            let first_validation_exception_field =
        7608  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7609  +
            let validation_exception = crate::error::ValidationException {
        7610  +
                message: format!(
        7611  +
                    "1 validation error detected. {}",
        7612  +
                    &first_validation_exception_field.message
        7613  +
                ),
        7614  +
                field_list: Some(vec![first_validation_exception_field]),
        7615  +
            };
        7616  +
            Self::ConstraintViolation(
        7617  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7618  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7619  +
                            )
        7620  +
        }
        7621  +
    }
        7622  +
    /* ServerBuilderGenerator.kt:244 */
        7623  +
    impl ::std::convert::From<Builder>
        7624  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderEpochInput>
        7625  +
    {
        7626  +
        fn from(builder: Builder) -> Self {
        7627  +
            Self::Unconstrained(builder)
        7628  +
        }
        7629  +
    }
        7630  +
    /* ServerBuilderGenerator.kt:446 */
        7631  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderEpochInput {
        7632  +
        type Error = ConstraintViolation;
        7633  +
        7634  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        7635  +
            builder.build()
        7636  +
        }
        7637  +
    }
        7638  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        7639  +
    /* RustType.kt:534 */
        7640  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7641  +
    /* ServerBuilderGenerator.kt:211 */
        7642  +
    pub struct Builder {
        7643  +
        /* ServerBuilderGenerator.kt:308 */
        7644  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        7645  +
        /* ServerBuilderGenerator.kt:211 */
        7646  +
    }
        7647  +
    /* ServerBuilderGenerator.kt:215 */
        7648  +
    impl Builder {
        7649  +
        /* ServerBuilderGenerator.kt:331 */
        7650  +
        #[allow(missing_docs)] // documentation missing in model
        7651  +
                               /* ServerBuilderGenerator.kt:343 */
        7652  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7653  +
            /* ServerBuilderGenerator.kt:344 */
        7654  +
            self.timestamp =
        7655  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7656  +
                    /* ServerBuilderGenerator.kt:376 */input
        7657  +
                /* ServerBuilderGenerator.kt:345 */)
        7658  +
            /* ServerBuilderGenerator.kt:344 */;
        7659  +
            self
        7660  +
            /* ServerBuilderGenerator.kt:343 */
        7661  +
        }
        7662  +
        /* ServerBuilderGenerator.kt:426 */
        7663  +
        #[allow(missing_docs)] // documentation missing in model
        7664  +
                               /* ServerBuilderGenerator.kt:428 */
        7665  +
        pub(crate) fn set_timestamp(
        7666  +
            mut self,
        7667  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7668  +
        ) -> Self {
        7669  +
            /* ServerBuilderGenerator.kt:429 */
        7670  +
            self.timestamp = Some(input.into());
        7671  +
            self
        7672  +
            /* ServerBuilderGenerator.kt:428 */
        7673  +
        }
        7674  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
        7675  +
        /// /* ServerBuilderGenerator.kt:260 */
        7676  +
        /// The builder fails to construct a [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput) if a [`ConstraintViolation`] occurs.
        7677  +
        ///
        7678  +
        /* ServerBuilderGenerator.kt:271 */
        7679  +
        pub fn build(
        7680  +
            self,
        7681  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
        7682  +
            self.build_enforcing_all_constraints()
        7683  +
        }
        7684  +
        /* ServerBuilderGenerator.kt:283 */
        7685  +
        fn build_enforcing_all_constraints(
        7686  +
            self,
        7687  +
        ) -> Result<crate::input::MalformedTimestampHeaderEpochInput, ConstraintViolation> {
        7688  +
            /* ServerBuilderGenerator.kt:287 */
        7689  +
            Ok(
        7690  +
                /* ServerBuilderGenerator.kt:542 */
        7691  +
                crate::input::MalformedTimestampHeaderEpochInput {
        7692  +
                    /* ServerBuilderGenerator.kt:546 */
        7693  +
                    timestamp: self
        7694  +
                        .timestamp
        7695  +
                        /* ServerBuilderGenerator.kt:569 */
        7696  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        7697  +
                    /* ServerBuilderGenerator.kt:542 */
        7698  +
                }, /* ServerBuilderGenerator.kt:287 */
        7699  +
            )
        7700  +
            /* ServerBuilderGenerator.kt:283 */
        7701  +
        }
        7702  +
        /* ServerBuilderGenerator.kt:215 */
        7703  +
    }
        7704  +
        7705  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7706  +
}
        7707  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        7708  +
pub mod malformed_timestamp_header_date_time_input {
        7709  +
        7710  +
    /* RustType.kt:534 */
        7711  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7712  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7713  +
    /* RustType.kt:534 */
        7714  +
    #[non_exhaustive]
        7715  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7716  +
    #[allow(clippy::enum_variant_names)]
        7717  +
    pub enum ConstraintViolation {
        7718  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
        7719  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7720  +
        MissingTimestamp,
        7721  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7722  +
    }
        7723  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7724  +
    impl ::std::fmt::Display for ConstraintViolation {
        7725  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7726  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7727  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7728  +
            match self {
        7729  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
        7730  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7731  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7732  +
        }
        7733  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7734  +
    }
        7735  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7736  +
    impl ::std::error::Error for ConstraintViolation {}
        7737  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7738  +
    impl ConstraintViolation {
        7739  +
        pub(crate) fn as_validation_exception_field(
        7740  +
            self,
        7741  +
            path: ::std::string::String,
        7742  +
        ) -> crate::model::ValidationExceptionField {
        7743  +
            match self {
        7744  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7745  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7746  +
                                                path: path + "/timestamp",
        7747  +
                                            },
        7748  +
        }
        7749  +
        }
        7750  +
    }
        7751  +
    /* ServerBuilderGenerator.kt:234 */
        7752  +
    impl ::std::convert::From<ConstraintViolation>
        7753  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7754  +
    {
        7755  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7756  +
            let first_validation_exception_field =
        7757  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7758  +
            let validation_exception = crate::error::ValidationException {
        7759  +
                message: format!(
        7760  +
                    "1 validation error detected. {}",
        7761  +
                    &first_validation_exception_field.message
        7762  +
                ),
        7763  +
                field_list: Some(vec![first_validation_exception_field]),
        7764  +
            };
        7765  +
            Self::ConstraintViolation(
        7766  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7767  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7768  +
                            )
        7769  +
        }
        7770  +
    }
        7771  +
    /* ServerBuilderGenerator.kt:244 */
        7772  +
    impl ::std::convert::From<Builder>
        7773  +
        for crate::constrained::MaybeConstrained<
        7774  +
            crate::input::MalformedTimestampHeaderDateTimeInput,
        7775  +
        >
        7776  +
    {
        7777  +
        fn from(builder: Builder) -> Self {
        7778  +
            Self::Unconstrained(builder)
        7779  +
        }
        7780  +
    }
        7781  +
    /* ServerBuilderGenerator.kt:446 */
        7782  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDateTimeInput {
        7783  +
        type Error = ConstraintViolation;
        7784  +
        7785  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        7786  +
            builder.build()
        7787  +
        }
        7788  +
    }
        7789  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        7790  +
    /* RustType.kt:534 */
        7791  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7792  +
    /* ServerBuilderGenerator.kt:211 */
        7793  +
    pub struct Builder {
        7794  +
        /* ServerBuilderGenerator.kt:308 */
        7795  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        7796  +
        /* ServerBuilderGenerator.kt:211 */
        7797  +
    }
        7798  +
    /* ServerBuilderGenerator.kt:215 */
        7799  +
    impl Builder {
        7800  +
        /* ServerBuilderGenerator.kt:331 */
        7801  +
        #[allow(missing_docs)] // documentation missing in model
        7802  +
                               /* ServerBuilderGenerator.kt:343 */
        7803  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7804  +
            /* ServerBuilderGenerator.kt:344 */
        7805  +
            self.timestamp =
        7806  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7807  +
                    /* ServerBuilderGenerator.kt:376 */input
        7808  +
                /* ServerBuilderGenerator.kt:345 */)
        7809  +
            /* ServerBuilderGenerator.kt:344 */;
        7810  +
            self
        7811  +
            /* ServerBuilderGenerator.kt:343 */
        7812  +
        }
        7813  +
        /* ServerBuilderGenerator.kt:426 */
        7814  +
        #[allow(missing_docs)] // documentation missing in model
        7815  +
                               /* ServerBuilderGenerator.kt:428 */
        7816  +
        pub(crate) fn set_timestamp(
        7817  +
            mut self,
        7818  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7819  +
        ) -> Self {
        7820  +
            /* ServerBuilderGenerator.kt:429 */
        7821  +
            self.timestamp = Some(input.into());
        7822  +
            self
        7823  +
            /* ServerBuilderGenerator.kt:428 */
        7824  +
        }
        7825  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
        7826  +
        /// /* ServerBuilderGenerator.kt:260 */
        7827  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput) if a [`ConstraintViolation`] occurs.
        7828  +
        ///
        7829  +
        /* ServerBuilderGenerator.kt:271 */
        7830  +
        pub fn build(
        7831  +
            self,
        7832  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
        7833  +
        {
        7834  +
            self.build_enforcing_all_constraints()
        7835  +
        }
        7836  +
        /* ServerBuilderGenerator.kt:283 */
        7837  +
        fn build_enforcing_all_constraints(
        7838  +
            self,
        7839  +
        ) -> Result<crate::input::MalformedTimestampHeaderDateTimeInput, ConstraintViolation>
        7840  +
        {
        7841  +
            /* ServerBuilderGenerator.kt:287 */
        7842  +
            Ok(
        7843  +
                /* ServerBuilderGenerator.kt:542 */
        7844  +
                crate::input::MalformedTimestampHeaderDateTimeInput {
        7845  +
                    /* ServerBuilderGenerator.kt:546 */
        7846  +
                    timestamp: self
        7847  +
                        .timestamp
        7848  +
                        /* ServerBuilderGenerator.kt:569 */
        7849  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        7850  +
                    /* ServerBuilderGenerator.kt:542 */
        7851  +
                }, /* ServerBuilderGenerator.kt:287 */
        7852  +
            )
        7853  +
            /* ServerBuilderGenerator.kt:283 */
        7854  +
        }
        7855  +
        /* ServerBuilderGenerator.kt:215 */
        7856  +
    }
        7857  +
        7858  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        7859  +
}
        7860  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
        7861  +
pub mod malformed_timestamp_header_default_input {
        7862  +
        7863  +
    /* RustType.kt:534 */
        7864  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        7865  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        7866  +
    /* RustType.kt:534 */
        7867  +
    #[non_exhaustive]
        7868  +
    /* ServerBuilderConstraintViolations.kt:75 */
        7869  +
    #[allow(clippy::enum_variant_names)]
        7870  +
    pub enum ConstraintViolation {
        7871  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
        7872  +
        /* ServerBuilderConstraintViolations.kt:144 */
        7873  +
        MissingTimestamp,
        7874  +
        /* ServerBuilderConstraintViolations.kt:75 */
        7875  +
    }
        7876  +
    /* ServerBuilderConstraintViolations.kt:116 */
        7877  +
    impl ::std::fmt::Display for ConstraintViolation {
        7878  +
        /* ServerBuilderConstraintViolations.kt:117 */
        7879  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        7880  +
            /* ServerBuilderConstraintViolations.kt:118 */
        7881  +
            match self {
        7882  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
        7883  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        7884  +
            /* ServerBuilderConstraintViolations.kt:117 */
        7885  +
        }
        7886  +
        /* ServerBuilderConstraintViolations.kt:116 */
        7887  +
    }
        7888  +
    /* ServerBuilderConstraintViolations.kt:83 */
        7889  +
    impl ::std::error::Error for ConstraintViolation {}
        7890  +
    /* ServerBuilderConstraintViolations.kt:172 */
        7891  +
    impl ConstraintViolation {
        7892  +
        pub(crate) fn as_validation_exception_field(
        7893  +
            self,
        7894  +
            path: ::std::string::String,
        7895  +
        ) -> crate::model::ValidationExceptionField {
        7896  +
            match self {
        7897  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        7898  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        7899  +
                                                path: path + "/timestamp",
        7900  +
                                            },
        7901  +
        }
        7902  +
        }
        7903  +
    }
        7904  +
    /* ServerBuilderGenerator.kt:234 */
        7905  +
    impl ::std::convert::From<ConstraintViolation>
        7906  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        7907  +
    {
        7908  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        7909  +
            let first_validation_exception_field =
        7910  +
                constraint_violation.as_validation_exception_field("".to_owned());
        7911  +
            let validation_exception = crate::error::ValidationException {
        7912  +
                message: format!(
        7913  +
                    "1 validation error detected. {}",
        7914  +
                    &first_validation_exception_field.message
        7915  +
                ),
        7916  +
                field_list: Some(vec![first_validation_exception_field]),
        7917  +
            };
        7918  +
            Self::ConstraintViolation(
        7919  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        7920  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        7921  +
                            )
        7922  +
        }
        7923  +
    }
        7924  +
    /* ServerBuilderGenerator.kt:244 */
        7925  +
    impl ::std::convert::From<Builder>
        7926  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampHeaderDefaultInput>
        7927  +
    {
        7928  +
        fn from(builder: Builder) -> Self {
        7929  +
            Self::Unconstrained(builder)
        7930  +
        }
        7931  +
    }
        7932  +
    /* ServerBuilderGenerator.kt:446 */
        7933  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampHeaderDefaultInput {
        7934  +
        type Error = ConstraintViolation;
        7935  +
        7936  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        7937  +
            builder.build()
        7938  +
        }
        7939  +
    }
        7940  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
        7941  +
    /* RustType.kt:534 */
        7942  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        7943  +
    /* ServerBuilderGenerator.kt:211 */
        7944  +
    pub struct Builder {
        7945  +
        /* ServerBuilderGenerator.kt:308 */
        7946  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        7947  +
        /* ServerBuilderGenerator.kt:211 */
        7948  +
    }
        7949  +
    /* ServerBuilderGenerator.kt:215 */
        7950  +
    impl Builder {
        7951  +
        /* ServerBuilderGenerator.kt:331 */
        7952  +
        #[allow(missing_docs)] // documentation missing in model
        7953  +
                               /* ServerBuilderGenerator.kt:343 */
        7954  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        7955  +
            /* ServerBuilderGenerator.kt:344 */
        7956  +
            self.timestamp =
        7957  +
                /* ServerBuilderGenerator.kt:345 */Some(
        7958  +
                    /* ServerBuilderGenerator.kt:376 */input
        7959  +
                /* ServerBuilderGenerator.kt:345 */)
        7960  +
            /* ServerBuilderGenerator.kt:344 */;
        7961  +
            self
        7962  +
            /* ServerBuilderGenerator.kt:343 */
        7963  +
        }
        7964  +
        /* ServerBuilderGenerator.kt:426 */
        7965  +
        #[allow(missing_docs)] // documentation missing in model
        7966  +
                               /* ServerBuilderGenerator.kt:428 */
        7967  +
        pub(crate) fn set_timestamp(
        7968  +
            mut self,
        7969  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        7970  +
        ) -> Self {
        7971  +
            /* ServerBuilderGenerator.kt:429 */
        7972  +
            self.timestamp = Some(input.into());
        7973  +
            self
        7974  +
            /* ServerBuilderGenerator.kt:428 */
        7975  +
        }
        7976  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
        7977  +
        /// /* ServerBuilderGenerator.kt:260 */
        7978  +
        /// The builder fails to construct a [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput) if a [`ConstraintViolation`] occurs.
        7979  +
        ///
        7980  +
        /* ServerBuilderGenerator.kt:271 */
        7981  +
        pub fn build(
        7982  +
            self,
        7983  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
        7984  +
        {
        7985  +
            self.build_enforcing_all_constraints()
        7986  +
        }
        7987  +
        /* ServerBuilderGenerator.kt:283 */
        7988  +
        fn build_enforcing_all_constraints(
        7989  +
            self,
        7990  +
        ) -> Result<crate::input::MalformedTimestampHeaderDefaultInput, ConstraintViolation>
        7991  +
        {
        7992  +
            /* ServerBuilderGenerator.kt:287 */
        7993  +
            Ok(
        7994  +
                /* ServerBuilderGenerator.kt:542 */
        7995  +
                crate::input::MalformedTimestampHeaderDefaultInput {
        7996  +
                    /* ServerBuilderGenerator.kt:546 */
        7997  +
                    timestamp: self
        7998  +
                        .timestamp
        7999  +
                        /* ServerBuilderGenerator.kt:569 */
        8000  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8001  +
                    /* ServerBuilderGenerator.kt:542 */
        8002  +
                }, /* ServerBuilderGenerator.kt:287 */
        8003  +
            )
        8004  +
            /* ServerBuilderGenerator.kt:283 */
        8005  +
        }
        8006  +
        /* ServerBuilderGenerator.kt:215 */
        8007  +
    }
        8008  +
        8009  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8010  +
}
        8011  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
        8012  +
pub mod malformed_timestamp_query_epoch_input {
        8013  +
        8014  +
    /* RustType.kt:534 */
        8015  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8016  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8017  +
    /* RustType.kt:534 */
        8018  +
    #[non_exhaustive]
        8019  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8020  +
    #[allow(clippy::enum_variant_names)]
        8021  +
    pub enum ConstraintViolation {
        8022  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
        8023  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8024  +
        MissingTimestamp,
        8025  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8026  +
    }
        8027  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8028  +
    impl ::std::fmt::Display for ConstraintViolation {
        8029  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8030  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8031  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8032  +
            match self {
        8033  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
        8034  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8035  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8036  +
        }
        8037  +
        /* ServerBuilderConstraintViolations.kt:116 */
        8038  +
    }
        8039  +
    /* ServerBuilderConstraintViolations.kt:83 */
        8040  +
    impl ::std::error::Error for ConstraintViolation {}
        8041  +
    /* ServerBuilderConstraintViolations.kt:172 */
        8042  +
    impl ConstraintViolation {
        8043  +
        pub(crate) fn as_validation_exception_field(
        8044  +
            self,
        8045  +
            path: ::std::string::String,
        8046  +
        ) -> crate::model::ValidationExceptionField {
        8047  +
            match self {
        8048  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        8049  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        8050  +
                                                path: path + "/timestamp",
        8051  +
                                            },
        8052  +
        }
        8053  +
        }
        8054  +
    }
        8055  +
    /* ServerBuilderGenerator.kt:234 */
        8056  +
    impl ::std::convert::From<ConstraintViolation>
        8057  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8058  +
    {
        8059  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8060  +
            let first_validation_exception_field =
        8061  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8062  +
            let validation_exception = crate::error::ValidationException {
        8063  +
                message: format!(
        8064  +
                    "1 validation error detected. {}",
        8065  +
                    &first_validation_exception_field.message
        8066  +
                ),
        8067  +
                field_list: Some(vec![first_validation_exception_field]),
        8068  +
            };
        8069  +
            Self::ConstraintViolation(
        8070  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8071  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8072  +
                            )
        8073  +
        }
        8074  +
    }
        8075  +
    /* ServerBuilderGenerator.kt:244 */
        8076  +
    impl ::std::convert::From<Builder>
        8077  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryEpochInput>
        8078  +
    {
        8079  +
        fn from(builder: Builder) -> Self {
        8080  +
            Self::Unconstrained(builder)
        8081  +
        }
        8082  +
    }
        8083  +
    /* ServerBuilderGenerator.kt:446 */
        8084  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryEpochInput {
        8085  +
        type Error = ConstraintViolation;
        8086  +
        8087  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8088  +
            builder.build()
        8089  +
        }
        8090  +
    }
        8091  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
        8092  +
    /* RustType.kt:534 */
        8093  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8094  +
    /* ServerBuilderGenerator.kt:211 */
        8095  +
    pub struct Builder {
        8096  +
        /* ServerBuilderGenerator.kt:308 */
        8097  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8098  +
        /* ServerBuilderGenerator.kt:211 */
        8099  +
    }
        8100  +
    /* ServerBuilderGenerator.kt:215 */
        8101  +
    impl Builder {
        8102  +
        /* ServerBuilderGenerator.kt:331 */
        8103  +
        #[allow(missing_docs)] // documentation missing in model
        8104  +
                               /* ServerBuilderGenerator.kt:343 */
        8105  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8106  +
            /* ServerBuilderGenerator.kt:344 */
        8107  +
            self.timestamp =
        8108  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8109  +
                    /* ServerBuilderGenerator.kt:376 */input
        8110  +
                /* ServerBuilderGenerator.kt:345 */)
        8111  +
            /* ServerBuilderGenerator.kt:344 */;
        8112  +
            self
        8113  +
            /* ServerBuilderGenerator.kt:343 */
        8114  +
        }
        8115  +
        /* ServerBuilderGenerator.kt:426 */
        8116  +
        #[allow(missing_docs)] // documentation missing in model
        8117  +
                               /* ServerBuilderGenerator.kt:428 */
        8118  +
        pub(crate) fn set_timestamp(
        8119  +
            mut self,
        8120  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8121  +
        ) -> Self {
        8122  +
            /* ServerBuilderGenerator.kt:429 */
        8123  +
            self.timestamp = Some(input.into());
        8124  +
            self
        8125  +
            /* ServerBuilderGenerator.kt:428 */
        8126  +
        }
        8127  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
        8128  +
        /// /* ServerBuilderGenerator.kt:260 */
        8129  +
        /// The builder fails to construct a [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput) if a [`ConstraintViolation`] occurs.
        8130  +
        ///
        8131  +
        /* ServerBuilderGenerator.kt:271 */
        8132  +
        pub fn build(
        8133  +
            self,
        8134  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
        8135  +
            self.build_enforcing_all_constraints()
        8136  +
        }
        8137  +
        /* ServerBuilderGenerator.kt:283 */
        8138  +
        fn build_enforcing_all_constraints(
        8139  +
            self,
        8140  +
        ) -> Result<crate::input::MalformedTimestampQueryEpochInput, ConstraintViolation> {
        8141  +
            /* ServerBuilderGenerator.kt:287 */
        8142  +
            Ok(
        8143  +
                /* ServerBuilderGenerator.kt:542 */
        8144  +
                crate::input::MalformedTimestampQueryEpochInput {
        8145  +
                    /* ServerBuilderGenerator.kt:546 */
        8146  +
                    timestamp: self
        8147  +
                        .timestamp
        8148  +
                        /* ServerBuilderGenerator.kt:569 */
        8149  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8150  +
                    /* ServerBuilderGenerator.kt:542 */
        8151  +
                }, /* ServerBuilderGenerator.kt:287 */
        8152  +
            )
        8153  +
            /* ServerBuilderGenerator.kt:283 */
        8154  +
        }
        8155  +
        /* ServerBuilderGenerator.kt:215 */
        8156  +
    }
        8157  +
        8158  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8159  +
}
        8160  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
        8161  +
pub mod malformed_timestamp_query_http_date_input {
        8162  +
        8163  +
    /* RustType.kt:534 */
        8164  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8165  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8166  +
    /* RustType.kt:534 */
        8167  +
    #[non_exhaustive]
        8168  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8169  +
    #[allow(clippy::enum_variant_names)]
        8170  +
    pub enum ConstraintViolation {
        8171  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
        8172  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8173  +
        MissingTimestamp,
        8174  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8175  +
    }
        8176  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8177  +
    impl ::std::fmt::Display for ConstraintViolation {
        8178  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8179  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8180  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8181  +
            match self {
        8182  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
        8183  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8184  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8185  +
        }
        8186  +
        /* ServerBuilderConstraintViolations.kt:116 */
        8187  +
    }
        8188  +
    /* ServerBuilderConstraintViolations.kt:83 */
        8189  +
    impl ::std::error::Error for ConstraintViolation {}
        8190  +
    /* ServerBuilderConstraintViolations.kt:172 */
        8191  +
    impl ConstraintViolation {
        8192  +
        pub(crate) fn as_validation_exception_field(
        8193  +
            self,
        8194  +
            path: ::std::string::String,
        8195  +
        ) -> crate::model::ValidationExceptionField {
        8196  +
            match self {
        8197  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        8198  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        8199  +
                                                path: path + "/timestamp",
        8200  +
                                            },
        8201  +
        }
        8202  +
        }
        8203  +
    }
        8204  +
    /* ServerBuilderGenerator.kt:234 */
        8205  +
    impl ::std::convert::From<ConstraintViolation>
        8206  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8207  +
    {
        8208  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8209  +
            let first_validation_exception_field =
        8210  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8211  +
            let validation_exception = crate::error::ValidationException {
        8212  +
                message: format!(
        8213  +
                    "1 validation error detected. {}",
        8214  +
                    &first_validation_exception_field.message
        8215  +
                ),
        8216  +
                field_list: Some(vec![first_validation_exception_field]),
        8217  +
            };
        8218  +
            Self::ConstraintViolation(
        8219  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8220  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8221  +
                            )
        8222  +
        }
        8223  +
    }
        8224  +
    /* ServerBuilderGenerator.kt:244 */
        8225  +
    impl ::std::convert::From<Builder>
        8226  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryHttpDateInput>
        8227  +
    {
        8228  +
        fn from(builder: Builder) -> Self {
        8229  +
            Self::Unconstrained(builder)
        8230  +
        }
        8231  +
    }
        8232  +
    /* ServerBuilderGenerator.kt:446 */
        8233  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryHttpDateInput {
        8234  +
        type Error = ConstraintViolation;
        8235  +
        8236  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8237  +
            builder.build()
        8238  +
        }
        8239  +
    }
        8240  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
        8241  +
    /* RustType.kt:534 */
        8242  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8243  +
    /* ServerBuilderGenerator.kt:211 */
        8244  +
    pub struct Builder {
        8245  +
        /* ServerBuilderGenerator.kt:308 */
        8246  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8247  +
        /* ServerBuilderGenerator.kt:211 */
        8248  +
    }
        8249  +
    /* ServerBuilderGenerator.kt:215 */
        8250  +
    impl Builder {
        8251  +
        /* ServerBuilderGenerator.kt:331 */
        8252  +
        #[allow(missing_docs)] // documentation missing in model
        8253  +
                               /* ServerBuilderGenerator.kt:343 */
        8254  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8255  +
            /* ServerBuilderGenerator.kt:344 */
        8256  +
            self.timestamp =
        8257  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8258  +
                    /* ServerBuilderGenerator.kt:376 */input
        8259  +
                /* ServerBuilderGenerator.kt:345 */)
        8260  +
            /* ServerBuilderGenerator.kt:344 */;
        8261  +
            self
        8262  +
            /* ServerBuilderGenerator.kt:343 */
        8263  +
        }
        8264  +
        /* ServerBuilderGenerator.kt:426 */
        8265  +
        #[allow(missing_docs)] // documentation missing in model
        8266  +
                               /* ServerBuilderGenerator.kt:428 */
        8267  +
        pub(crate) fn set_timestamp(
        8268  +
            mut self,
        8269  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8270  +
        ) -> Self {
        8271  +
            /* ServerBuilderGenerator.kt:429 */
        8272  +
            self.timestamp = Some(input.into());
        8273  +
            self
        8274  +
            /* ServerBuilderGenerator.kt:428 */
        8275  +
        }
        8276  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
        8277  +
        /// /* ServerBuilderGenerator.kt:260 */
        8278  +
        /// The builder fails to construct a [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput) if a [`ConstraintViolation`] occurs.
        8279  +
        ///
        8280  +
        /* ServerBuilderGenerator.kt:271 */
        8281  +
        pub fn build(
        8282  +
            self,
        8283  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
        8284  +
        {
        8285  +
            self.build_enforcing_all_constraints()
        8286  +
        }
        8287  +
        /* ServerBuilderGenerator.kt:283 */
        8288  +
        fn build_enforcing_all_constraints(
        8289  +
            self,
        8290  +
        ) -> Result<crate::input::MalformedTimestampQueryHttpDateInput, ConstraintViolation>
        8291  +
        {
        8292  +
            /* ServerBuilderGenerator.kt:287 */
        8293  +
            Ok(
        8294  +
                /* ServerBuilderGenerator.kt:542 */
        8295  +
                crate::input::MalformedTimestampQueryHttpDateInput {
        8296  +
                    /* ServerBuilderGenerator.kt:546 */
        8297  +
                    timestamp: self
        8298  +
                        .timestamp
        8299  +
                        /* ServerBuilderGenerator.kt:569 */
        8300  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8301  +
                    /* ServerBuilderGenerator.kt:542 */
        8302  +
                }, /* ServerBuilderGenerator.kt:287 */
        8303  +
            )
        8304  +
            /* ServerBuilderGenerator.kt:283 */
        8305  +
        }
        8306  +
        /* ServerBuilderGenerator.kt:215 */
        8307  +
    }
        8308  +
        8309  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8310  +
}
        8311  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
        8312  +
pub mod malformed_timestamp_query_default_input {
        8313  +
        8314  +
    /* RustType.kt:534 */
        8315  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8316  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8317  +
    /* RustType.kt:534 */
        8318  +
    #[non_exhaustive]
        8319  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8320  +
    #[allow(clippy::enum_variant_names)]
        8321  +
    pub enum ConstraintViolation {
        8322  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
        8323  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8324  +
        MissingTimestamp,
        8325  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8326  +
    }
        8327  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8328  +
    impl ::std::fmt::Display for ConstraintViolation {
        8329  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8330  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8331  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8332  +
            match self {
        8333  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
        8334  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8335  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8336  +
        }
        8337  +
        /* ServerBuilderConstraintViolations.kt:116 */
        8338  +
    }
        8339  +
    /* ServerBuilderConstraintViolations.kt:83 */
        8340  +
    impl ::std::error::Error for ConstraintViolation {}
        8341  +
    /* ServerBuilderConstraintViolations.kt:172 */
        8342  +
    impl ConstraintViolation {
        8343  +
        pub(crate) fn as_validation_exception_field(
        8344  +
            self,
        8345  +
            path: ::std::string::String,
        8346  +
        ) -> crate::model::ValidationExceptionField {
        8347  +
            match self {
        8348  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        8349  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        8350  +
                                                path: path + "/timestamp",
        8351  +
                                            },
        8352  +
        }
        8353  +
        }
        8354  +
    }
        8355  +
    /* ServerBuilderGenerator.kt:234 */
        8356  +
    impl ::std::convert::From<ConstraintViolation>
        8357  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8358  +
    {
        8359  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8360  +
            let first_validation_exception_field =
        8361  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8362  +
            let validation_exception = crate::error::ValidationException {
        8363  +
                message: format!(
        8364  +
                    "1 validation error detected. {}",
        8365  +
                    &first_validation_exception_field.message
        8366  +
                ),
        8367  +
                field_list: Some(vec![first_validation_exception_field]),
        8368  +
            };
        8369  +
            Self::ConstraintViolation(
        8370  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8371  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8372  +
                            )
        8373  +
        }
        8374  +
    }
        8375  +
    /* ServerBuilderGenerator.kt:244 */
        8376  +
    impl ::std::convert::From<Builder>
        8377  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampQueryDefaultInput>
        8378  +
    {
        8379  +
        fn from(builder: Builder) -> Self {
        8380  +
            Self::Unconstrained(builder)
        8381  +
        }
        8382  +
    }
        8383  +
    /* ServerBuilderGenerator.kt:446 */
        8384  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampQueryDefaultInput {
        8385  +
        type Error = ConstraintViolation;
        8386  +
        8387  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8388  +
            builder.build()
        8389  +
        }
        8390  +
    }
        8391  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
        8392  +
    /* RustType.kt:534 */
        8393  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8394  +
    /* ServerBuilderGenerator.kt:211 */
        8395  +
    pub struct Builder {
        8396  +
        /* ServerBuilderGenerator.kt:308 */
        8397  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8398  +
        /* ServerBuilderGenerator.kt:211 */
        8399  +
    }
        8400  +
    /* ServerBuilderGenerator.kt:215 */
        8401  +
    impl Builder {
        8402  +
        /* ServerBuilderGenerator.kt:331 */
        8403  +
        #[allow(missing_docs)] // documentation missing in model
        8404  +
                               /* ServerBuilderGenerator.kt:343 */
        8405  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8406  +
            /* ServerBuilderGenerator.kt:344 */
        8407  +
            self.timestamp =
        8408  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8409  +
                    /* ServerBuilderGenerator.kt:376 */input
        8410  +
                /* ServerBuilderGenerator.kt:345 */)
        8411  +
            /* ServerBuilderGenerator.kt:344 */;
        8412  +
            self
        8413  +
            /* ServerBuilderGenerator.kt:343 */
        8414  +
        }
        8415  +
        /* ServerBuilderGenerator.kt:426 */
        8416  +
        #[allow(missing_docs)] // documentation missing in model
        8417  +
                               /* ServerBuilderGenerator.kt:428 */
        8418  +
        pub(crate) fn set_timestamp(
        8419  +
            mut self,
        8420  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8421  +
        ) -> Self {
        8422  +
            /* ServerBuilderGenerator.kt:429 */
        8423  +
            self.timestamp = Some(input.into());
        8424  +
            self
        8425  +
            /* ServerBuilderGenerator.kt:428 */
        8426  +
        }
        8427  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
        8428  +
        /// /* ServerBuilderGenerator.kt:260 */
        8429  +
        /// The builder fails to construct a [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput) if a [`ConstraintViolation`] occurs.
        8430  +
        ///
        8431  +
        /* ServerBuilderGenerator.kt:271 */
        8432  +
        pub fn build(
        8433  +
            self,
        8434  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
        8435  +
        {
        8436  +
            self.build_enforcing_all_constraints()
        8437  +
        }
        8438  +
        /* ServerBuilderGenerator.kt:283 */
        8439  +
        fn build_enforcing_all_constraints(
        8440  +
            self,
        8441  +
        ) -> Result<crate::input::MalformedTimestampQueryDefaultInput, ConstraintViolation>
        8442  +
        {
        8443  +
            /* ServerBuilderGenerator.kt:287 */
        8444  +
            Ok(
        8445  +
                /* ServerBuilderGenerator.kt:542 */
        8446  +
                crate::input::MalformedTimestampQueryDefaultInput {
        8447  +
                    /* ServerBuilderGenerator.kt:546 */
        8448  +
                    timestamp: self
        8449  +
                        .timestamp
        8450  +
                        /* ServerBuilderGenerator.kt:569 */
        8451  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8452  +
                    /* ServerBuilderGenerator.kt:542 */
        8453  +
                }, /* ServerBuilderGenerator.kt:287 */
        8454  +
            )
        8455  +
            /* ServerBuilderGenerator.kt:283 */
        8456  +
        }
        8457  +
        /* ServerBuilderGenerator.kt:215 */
        8458  +
    }
        8459  +
        8460  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8461  +
}
        8462  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        8463  +
pub mod malformed_timestamp_path_epoch_input {
        8464  +
        8465  +
    /* RustType.kt:534 */
        8466  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8467  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8468  +
    /* RustType.kt:534 */
        8469  +
    #[non_exhaustive]
        8470  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8471  +
    #[allow(clippy::enum_variant_names)]
        8472  +
    pub enum ConstraintViolation {
        8473  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
        8474  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8475  +
        MissingTimestamp,
        8476  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8477  +
    }
        8478  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8479  +
    impl ::std::fmt::Display for ConstraintViolation {
        8480  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8481  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8482  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8483  +
            match self {
        8484  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
        8485  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8486  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8487  +
        }
        8488  +
        /* ServerBuilderConstraintViolations.kt:116 */
        8489  +
    }
        8490  +
    /* ServerBuilderConstraintViolations.kt:83 */
        8491  +
    impl ::std::error::Error for ConstraintViolation {}
        8492  +
    /* ServerBuilderConstraintViolations.kt:172 */
        8493  +
    impl ConstraintViolation {
        8494  +
        pub(crate) fn as_validation_exception_field(
        8495  +
            self,
        8496  +
            path: ::std::string::String,
        8497  +
        ) -> crate::model::ValidationExceptionField {
        8498  +
            match self {
        8499  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        8500  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        8501  +
                                                path: path + "/timestamp",
        8502  +
                                            },
        8503  +
        }
        8504  +
        }
        8505  +
    }
        8506  +
    /* ServerBuilderGenerator.kt:234 */
        8507  +
    impl ::std::convert::From<ConstraintViolation>
        8508  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8509  +
    {
        8510  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8511  +
            let first_validation_exception_field =
        8512  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8513  +
            let validation_exception = crate::error::ValidationException {
        8514  +
                message: format!(
        8515  +
                    "1 validation error detected. {}",
        8516  +
                    &first_validation_exception_field.message
        8517  +
                ),
        8518  +
                field_list: Some(vec![first_validation_exception_field]),
        8519  +
            };
        8520  +
            Self::ConstraintViolation(
        8521  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8522  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8523  +
                            )
        8524  +
        }
        8525  +
    }
        8526  +
    /* ServerBuilderGenerator.kt:244 */
        8527  +
    impl ::std::convert::From<Builder>
        8528  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathEpochInput>
        8529  +
    {
        8530  +
        fn from(builder: Builder) -> Self {
        8531  +
            Self::Unconstrained(builder)
        8532  +
        }
        8533  +
    }
        8534  +
    /* ServerBuilderGenerator.kt:446 */
        8535  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathEpochInput {
        8536  +
        type Error = ConstraintViolation;
        8537  +
        8538  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8539  +
            builder.build()
        8540  +
        }
        8541  +
    }
        8542  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        8543  +
    /* RustType.kt:534 */
        8544  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8545  +
    /* ServerBuilderGenerator.kt:211 */
        8546  +
    pub struct Builder {
        8547  +
        /* ServerBuilderGenerator.kt:308 */
        8548  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8549  +
        /* ServerBuilderGenerator.kt:211 */
        8550  +
    }
        8551  +
    /* ServerBuilderGenerator.kt:215 */
        8552  +
    impl Builder {
        8553  +
        /* ServerBuilderGenerator.kt:331 */
        8554  +
        #[allow(missing_docs)] // documentation missing in model
        8555  +
                               /* ServerBuilderGenerator.kt:343 */
        8556  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8557  +
            /* ServerBuilderGenerator.kt:344 */
        8558  +
            self.timestamp =
        8559  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8560  +
                    /* ServerBuilderGenerator.kt:376 */input
        8561  +
                /* ServerBuilderGenerator.kt:345 */)
        8562  +
            /* ServerBuilderGenerator.kt:344 */;
        8563  +
            self
        8564  +
            /* ServerBuilderGenerator.kt:343 */
        8565  +
        }
        8566  +
        /* ServerBuilderGenerator.kt:426 */
        8567  +
        #[allow(missing_docs)] // documentation missing in model
        8568  +
                               /* ServerBuilderGenerator.kt:428 */
        8569  +
        pub(crate) fn set_timestamp(
        8570  +
            mut self,
        8571  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8572  +
        ) -> Self {
        8573  +
            /* ServerBuilderGenerator.kt:429 */
        8574  +
            self.timestamp = Some(input.into());
        8575  +
            self
        8576  +
            /* ServerBuilderGenerator.kt:428 */
        8577  +
        }
        8578  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
        8579  +
        /// /* ServerBuilderGenerator.kt:260 */
        8580  +
        /// The builder fails to construct a [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput) if a [`ConstraintViolation`] occurs.
        8581  +
        ///
        8582  +
        /* ServerBuilderGenerator.kt:271 */
        8583  +
        pub fn build(
        8584  +
            self,
        8585  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
        8586  +
            self.build_enforcing_all_constraints()
        8587  +
        }
        8588  +
        /* ServerBuilderGenerator.kt:283 */
        8589  +
        fn build_enforcing_all_constraints(
        8590  +
            self,
        8591  +
        ) -> Result<crate::input::MalformedTimestampPathEpochInput, ConstraintViolation> {
        8592  +
            /* ServerBuilderGenerator.kt:287 */
        8593  +
            Ok(
        8594  +
                /* ServerBuilderGenerator.kt:542 */
        8595  +
                crate::input::MalformedTimestampPathEpochInput {
        8596  +
                    /* ServerBuilderGenerator.kt:546 */
        8597  +
                    timestamp: self
        8598  +
                        .timestamp
        8599  +
                        /* ServerBuilderGenerator.kt:569 */
        8600  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8601  +
                    /* ServerBuilderGenerator.kt:542 */
        8602  +
                }, /* ServerBuilderGenerator.kt:287 */
        8603  +
            )
        8604  +
            /* ServerBuilderGenerator.kt:283 */
        8605  +
        }
        8606  +
        /* ServerBuilderGenerator.kt:215 */
        8607  +
    }
        8608  +
        8609  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8610  +
}
        8611  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        8612  +
pub mod malformed_timestamp_path_http_date_input {
        8613  +
        8614  +
    /* RustType.kt:534 */
        8615  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8616  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8617  +
    /* RustType.kt:534 */
        8618  +
    #[non_exhaustive]
        8619  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8620  +
    #[allow(clippy::enum_variant_names)]
        8621  +
    pub enum ConstraintViolation {
        8622  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
        8623  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8624  +
        MissingTimestamp,
        8625  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8626  +
    }
        8627  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8628  +
    impl ::std::fmt::Display for ConstraintViolation {
        8629  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8630  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8631  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8632  +
            match self {
        8633  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
        8634  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8635  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8636  +
        }
        8637  +
        /* ServerBuilderConstraintViolations.kt:116 */
        8638  +
    }
        8639  +
    /* ServerBuilderConstraintViolations.kt:83 */
        8640  +
    impl ::std::error::Error for ConstraintViolation {}
        8641  +
    /* ServerBuilderConstraintViolations.kt:172 */
        8642  +
    impl ConstraintViolation {
        8643  +
        pub(crate) fn as_validation_exception_field(
        8644  +
            self,
        8645  +
            path: ::std::string::String,
        8646  +
        ) -> crate::model::ValidationExceptionField {
        8647  +
            match self {
        8648  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        8649  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        8650  +
                                                path: path + "/timestamp",
        8651  +
                                            },
        8652  +
        }
        8653  +
        }
        8654  +
    }
        8655  +
    /* ServerBuilderGenerator.kt:234 */
        8656  +
    impl ::std::convert::From<ConstraintViolation>
        8657  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8658  +
    {
        8659  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8660  +
            let first_validation_exception_field =
        8661  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8662  +
            let validation_exception = crate::error::ValidationException {
        8663  +
                message: format!(
        8664  +
                    "1 validation error detected. {}",
        8665  +
                    &first_validation_exception_field.message
        8666  +
                ),
        8667  +
                field_list: Some(vec![first_validation_exception_field]),
        8668  +
            };
        8669  +
            Self::ConstraintViolation(
        8670  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8671  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8672  +
                            )
        8673  +
        }
        8674  +
    }
        8675  +
    /* ServerBuilderGenerator.kt:244 */
        8676  +
    impl ::std::convert::From<Builder>
        8677  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathHttpDateInput>
        8678  +
    {
        8679  +
        fn from(builder: Builder) -> Self {
        8680  +
            Self::Unconstrained(builder)
        8681  +
        }
        8682  +
    }
        8683  +
    /* ServerBuilderGenerator.kt:446 */
        8684  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathHttpDateInput {
        8685  +
        type Error = ConstraintViolation;
        8686  +
        8687  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8688  +
            builder.build()
        8689  +
        }
        8690  +
    }
        8691  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        8692  +
    /* RustType.kt:534 */
        8693  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8694  +
    /* ServerBuilderGenerator.kt:211 */
        8695  +
    pub struct Builder {
        8696  +
        /* ServerBuilderGenerator.kt:308 */
        8697  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8698  +
        /* ServerBuilderGenerator.kt:211 */
        8699  +
    }
        8700  +
    /* ServerBuilderGenerator.kt:215 */
        8701  +
    impl Builder {
        8702  +
        /* ServerBuilderGenerator.kt:331 */
        8703  +
        #[allow(missing_docs)] // documentation missing in model
        8704  +
                               /* ServerBuilderGenerator.kt:343 */
        8705  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8706  +
            /* ServerBuilderGenerator.kt:344 */
        8707  +
            self.timestamp =
        8708  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8709  +
                    /* ServerBuilderGenerator.kt:376 */input
        8710  +
                /* ServerBuilderGenerator.kt:345 */)
        8711  +
            /* ServerBuilderGenerator.kt:344 */;
        8712  +
            self
        8713  +
            /* ServerBuilderGenerator.kt:343 */
        8714  +
        }
        8715  +
        /* ServerBuilderGenerator.kt:426 */
        8716  +
        #[allow(missing_docs)] // documentation missing in model
        8717  +
                               /* ServerBuilderGenerator.kt:428 */
        8718  +
        pub(crate) fn set_timestamp(
        8719  +
            mut self,
        8720  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8721  +
        ) -> Self {
        8722  +
            /* ServerBuilderGenerator.kt:429 */
        8723  +
            self.timestamp = Some(input.into());
        8724  +
            self
        8725  +
            /* ServerBuilderGenerator.kt:428 */
        8726  +
        }
        8727  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
        8728  +
        /// /* ServerBuilderGenerator.kt:260 */
        8729  +
        /// The builder fails to construct a [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput) if a [`ConstraintViolation`] occurs.
        8730  +
        ///
        8731  +
        /* ServerBuilderGenerator.kt:271 */
        8732  +
        pub fn build(
        8733  +
            self,
        8734  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
        8735  +
        {
        8736  +
            self.build_enforcing_all_constraints()
        8737  +
        }
        8738  +
        /* ServerBuilderGenerator.kt:283 */
        8739  +
        fn build_enforcing_all_constraints(
        8740  +
            self,
        8741  +
        ) -> Result<crate::input::MalformedTimestampPathHttpDateInput, ConstraintViolation>
        8742  +
        {
        8743  +
            /* ServerBuilderGenerator.kt:287 */
        8744  +
            Ok(
        8745  +
                /* ServerBuilderGenerator.kt:542 */
        8746  +
                crate::input::MalformedTimestampPathHttpDateInput {
        8747  +
                    /* ServerBuilderGenerator.kt:546 */
        8748  +
                    timestamp: self
        8749  +
                        .timestamp
        8750  +
                        /* ServerBuilderGenerator.kt:569 */
        8751  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8752  +
                    /* ServerBuilderGenerator.kt:542 */
        8753  +
                }, /* ServerBuilderGenerator.kt:287 */
        8754  +
            )
        8755  +
            /* ServerBuilderGenerator.kt:283 */
        8756  +
        }
        8757  +
        /* ServerBuilderGenerator.kt:215 */
        8758  +
    }
        8759  +
        8760  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8761  +
}
        8762  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
        8763  +
pub mod malformed_timestamp_path_default_input {
        8764  +
        8765  +
    /* RustType.kt:534 */
        8766  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8767  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8768  +
    /* RustType.kt:534 */
        8769  +
    #[non_exhaustive]
        8770  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8771  +
    #[allow(clippy::enum_variant_names)]
        8772  +
    pub enum ConstraintViolation {
        8773  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
        8774  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8775  +
        MissingTimestamp,
        8776  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8777  +
    }
        8778  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8779  +
    impl ::std::fmt::Display for ConstraintViolation {
        8780  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8781  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8782  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8783  +
            match self {
        8784  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
        8785  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8786  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8787  +
        }
        8788  +
        /* ServerBuilderConstraintViolations.kt:116 */
        8789  +
    }
        8790  +
    /* ServerBuilderConstraintViolations.kt:83 */
        8791  +
    impl ::std::error::Error for ConstraintViolation {}
        8792  +
    /* ServerBuilderConstraintViolations.kt:172 */
        8793  +
    impl ConstraintViolation {
        8794  +
        pub(crate) fn as_validation_exception_field(
        8795  +
            self,
        8796  +
            path: ::std::string::String,
        8797  +
        ) -> crate::model::ValidationExceptionField {
        8798  +
            match self {
        8799  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
        8800  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
        8801  +
                                                path: path + "/timestamp",
        8802  +
                                            },
        8803  +
        }
        8804  +
        }
        8805  +
    }
        8806  +
    /* ServerBuilderGenerator.kt:234 */
        8807  +
    impl ::std::convert::From<ConstraintViolation>
        8808  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        8809  +
    {
        8810  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        8811  +
            let first_validation_exception_field =
        8812  +
                constraint_violation.as_validation_exception_field("".to_owned());
        8813  +
            let validation_exception = crate::error::ValidationException {
        8814  +
                message: format!(
        8815  +
                    "1 validation error detected. {}",
        8816  +
                    &first_validation_exception_field.message
        8817  +
                ),
        8818  +
                field_list: Some(vec![first_validation_exception_field]),
        8819  +
            };
        8820  +
            Self::ConstraintViolation(
        8821  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        8822  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        8823  +
                            )
        8824  +
        }
        8825  +
    }
        8826  +
    /* ServerBuilderGenerator.kt:244 */
        8827  +
    impl ::std::convert::From<Builder>
        8828  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedTimestampPathDefaultInput>
        8829  +
    {
        8830  +
        fn from(builder: Builder) -> Self {
        8831  +
            Self::Unconstrained(builder)
        8832  +
        }
        8833  +
    }
        8834  +
    /* ServerBuilderGenerator.kt:446 */
        8835  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedTimestampPathDefaultInput {
        8836  +
        type Error = ConstraintViolation;
        8837  +
        8838  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        8839  +
            builder.build()
        8840  +
        }
        8841  +
    }
        8842  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
        8843  +
    /* RustType.kt:534 */
        8844  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8845  +
    /* ServerBuilderGenerator.kt:211 */
        8846  +
    pub struct Builder {
        8847  +
        /* ServerBuilderGenerator.kt:308 */
        8848  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        8849  +
        /* ServerBuilderGenerator.kt:211 */
        8850  +
    }
        8851  +
    /* ServerBuilderGenerator.kt:215 */
        8852  +
    impl Builder {
        8853  +
        /* ServerBuilderGenerator.kt:331 */
        8854  +
        #[allow(missing_docs)] // documentation missing in model
        8855  +
                               /* ServerBuilderGenerator.kt:343 */
        8856  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        8857  +
            /* ServerBuilderGenerator.kt:344 */
        8858  +
            self.timestamp =
        8859  +
                /* ServerBuilderGenerator.kt:345 */Some(
        8860  +
                    /* ServerBuilderGenerator.kt:376 */input
        8861  +
                /* ServerBuilderGenerator.kt:345 */)
        8862  +
            /* ServerBuilderGenerator.kt:344 */;
        8863  +
            self
        8864  +
            /* ServerBuilderGenerator.kt:343 */
        8865  +
        }
        8866  +
        /* ServerBuilderGenerator.kt:426 */
        8867  +
        #[allow(missing_docs)] // documentation missing in model
        8868  +
                               /* ServerBuilderGenerator.kt:428 */
        8869  +
        pub(crate) fn set_timestamp(
        8870  +
            mut self,
        8871  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
        8872  +
        ) -> Self {
        8873  +
            /* ServerBuilderGenerator.kt:429 */
        8874  +
            self.timestamp = Some(input.into());
        8875  +
            self
        8876  +
            /* ServerBuilderGenerator.kt:428 */
        8877  +
        }
        8878  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
        8879  +
        /// /* ServerBuilderGenerator.kt:260 */
        8880  +
        /// The builder fails to construct a [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput) if a [`ConstraintViolation`] occurs.
        8881  +
        ///
        8882  +
        /* ServerBuilderGenerator.kt:271 */
        8883  +
        pub fn build(
        8884  +
            self,
        8885  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
        8886  +
            self.build_enforcing_all_constraints()
        8887  +
        }
        8888  +
        /* ServerBuilderGenerator.kt:283 */
        8889  +
        fn build_enforcing_all_constraints(
        8890  +
            self,
        8891  +
        ) -> Result<crate::input::MalformedTimestampPathDefaultInput, ConstraintViolation> {
        8892  +
            /* ServerBuilderGenerator.kt:287 */
        8893  +
            Ok(
        8894  +
                /* ServerBuilderGenerator.kt:542 */
        8895  +
                crate::input::MalformedTimestampPathDefaultInput {
        8896  +
                    /* ServerBuilderGenerator.kt:546 */
        8897  +
                    timestamp: self
        8898  +
                        .timestamp
        8899  +
                        /* ServerBuilderGenerator.kt:569 */
        8900  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
        8901  +
                    /* ServerBuilderGenerator.kt:542 */
        8902  +
                }, /* ServerBuilderGenerator.kt:287 */
        8903  +
            )
        8904  +
            /* ServerBuilderGenerator.kt:283 */
        8905  +
        }
        8906  +
        /* ServerBuilderGenerator.kt:215 */
        8907  +
    }
        8908  +
        8909  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8910  +
}
        8911  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedStringInput`](crate::input::MalformedStringInput).
        8912  +
pub mod malformed_string_input {
        8913  +
        8914  +
    /* ServerBuilderGenerator.kt:461 */
        8915  +
    impl ::std::convert::From<Builder> for crate::input::MalformedStringInput {
        8916  +
        fn from(builder: Builder) -> Self {
        8917  +
            builder.build()
        8918  +
        }
        8919  +
    }
        8920  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedStringInput`](crate::input::MalformedStringInput).
        8921  +
    /* RustType.kt:534 */
        8922  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        8923  +
    /* ServerBuilderGenerator.kt:211 */
        8924  +
    pub struct Builder {
        8925  +
        /* ServerBuilderGenerator.kt:308 */
        8926  +
        pub(crate) blob: ::std::option::Option<::std::string::String>,
        8927  +
        /* ServerBuilderGenerator.kt:211 */
        8928  +
    }
        8929  +
    /* ServerBuilderGenerator.kt:215 */
        8930  +
    impl Builder {
        8931  +
        /* ServerBuilderGenerator.kt:331 */
        8932  +
        #[allow(missing_docs)] // documentation missing in model
        8933  +
                               /* ServerBuilderGenerator.kt:343 */
        8934  +
        pub fn blob(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        8935  +
            /* ServerBuilderGenerator.kt:344 */
        8936  +
            self.blob =
        8937  +
                /* ServerBuilderGenerator.kt:376 */input
        8938  +
            /* ServerBuilderGenerator.kt:344 */;
        8939  +
            self
        8940  +
            /* ServerBuilderGenerator.kt:343 */
        8941  +
        }
        8942  +
        /* ServerBuilderGenerator.kt:426 */
        8943  +
        #[allow(missing_docs)] // documentation missing in model
        8944  +
                               /* ServerBuilderGenerator.kt:428 */
        8945  +
        pub(crate) fn set_blob(
        8946  +
            mut self,
        8947  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
        8948  +
        ) -> Self {
        8949  +
            /* ServerBuilderGenerator.kt:429 */
        8950  +
            self.blob = input.map(|v| v.into());
        8951  +
            self
        8952  +
            /* ServerBuilderGenerator.kt:428 */
        8953  +
        }
        8954  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedStringInput`](crate::input::MalformedStringInput).
        8955  +
        /* ServerBuilderGenerator.kt:271 */
        8956  +
        pub fn build(self) -> crate::input::MalformedStringInput {
        8957  +
            self.build_enforcing_all_constraints()
        8958  +
        }
        8959  +
        /* ServerBuilderGenerator.kt:283 */
        8960  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedStringInput {
        8961  +
            /* ServerBuilderGenerator.kt:542 */
        8962  +
            crate::input::MalformedStringInput {
        8963  +
                /* ServerBuilderGenerator.kt:546 */
        8964  +
                blob: self.blob,
        8965  +
                /* ServerBuilderGenerator.kt:542 */
        8966  +
            }
        8967  +
            /* ServerBuilderGenerator.kt:283 */
        8968  +
        }
        8969  +
        /* ServerBuilderGenerator.kt:215 */
        8970  +
    }
        8971  +
        8972  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        8973  +
}
        8974  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
        8975  +
pub mod malformed_double_input {
        8976  +
        8977  +
    /* RustType.kt:534 */
        8978  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        8979  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        8980  +
    /* RustType.kt:534 */
        8981  +
    #[non_exhaustive]
        8982  +
    /* ServerBuilderConstraintViolations.kt:75 */
        8983  +
    #[allow(clippy::enum_variant_names)]
        8984  +
    pub enum ConstraintViolation {
        8985  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
        8986  +
        /* ServerBuilderConstraintViolations.kt:144 */
        8987  +
        MissingDoubleInPath,
        8988  +
        /* ServerBuilderConstraintViolations.kt:75 */
        8989  +
    }
        8990  +
    /* ServerBuilderConstraintViolations.kt:116 */
        8991  +
    impl ::std::fmt::Display for ConstraintViolation {
        8992  +
        /* ServerBuilderConstraintViolations.kt:117 */
        8993  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        8994  +
            /* ServerBuilderConstraintViolations.kt:118 */
        8995  +
            match self {
        8996  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
        8997  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        8998  +
            /* ServerBuilderConstraintViolations.kt:117 */
        8999  +
        }
        9000  +
        /* ServerBuilderConstraintViolations.kt:116 */
        9001  +
    }
        9002  +
    /* ServerBuilderConstraintViolations.kt:83 */
        9003  +
    impl ::std::error::Error for ConstraintViolation {}
        9004  +
    /* ServerBuilderConstraintViolations.kt:172 */
        9005  +
    impl ConstraintViolation {
        9006  +
        pub(crate) fn as_validation_exception_field(
        9007  +
            self,
        9008  +
            path: ::std::string::String,
        9009  +
        ) -> crate::model::ValidationExceptionField {
        9010  +
            match self {
        9011  +
            ConstraintViolation::MissingDoubleInPath => crate::model::ValidationExceptionField {
        9012  +
                                                message: format!("Value at '{}/doubleInPath' failed to satisfy constraint: Member must not be null", path),
        9013  +
                                                path: path + "/doubleInPath",
        9014  +
                                            },
        9015  +
        }
        9016  +
        }
        9017  +
    }
        9018  +
    /* ServerBuilderGenerator.kt:234 */
        9019  +
    impl ::std::convert::From<ConstraintViolation>
        9020  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        9021  +
    {
        9022  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        9023  +
            let first_validation_exception_field =
        9024  +
                constraint_violation.as_validation_exception_field("".to_owned());
        9025  +
            let validation_exception = crate::error::ValidationException {
        9026  +
                message: format!(
        9027  +
                    "1 validation error detected. {}",
        9028  +
                    &first_validation_exception_field.message
        9029  +
                ),
        9030  +
                field_list: Some(vec![first_validation_exception_field]),
        9031  +
            };
        9032  +
            Self::ConstraintViolation(
        9033  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        9034  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        9035  +
                            )
        9036  +
        }
        9037  +
    }
        9038  +
    /* ServerBuilderGenerator.kt:244 */
        9039  +
    impl ::std::convert::From<Builder>
        9040  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedDoubleInput>
        9041  +
    {
        9042  +
        fn from(builder: Builder) -> Self {
        9043  +
            Self::Unconstrained(builder)
        9044  +
        }
        9045  +
    }
        9046  +
    /* ServerBuilderGenerator.kt:446 */
        9047  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedDoubleInput {
        9048  +
        type Error = ConstraintViolation;
        9049  +
        9050  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9051  +
            builder.build()
        9052  +
        }
        9053  +
    }
        9054  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
        9055  +
    /* RustType.kt:534 */
        9056  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9057  +
    /* ServerBuilderGenerator.kt:211 */
        9058  +
    pub struct Builder {
        9059  +
        /* ServerBuilderGenerator.kt:308 */
        9060  +
        pub(crate) double_in_body: ::std::option::Option<f64>,
        9061  +
        /* ServerBuilderGenerator.kt:308 */
        9062  +
        pub(crate) double_in_path: ::std::option::Option<f64>,
        9063  +
        /* ServerBuilderGenerator.kt:308 */
        9064  +
        pub(crate) double_in_query: ::std::option::Option<f64>,
        9065  +
        /* ServerBuilderGenerator.kt:308 */
        9066  +
        pub(crate) double_in_header: ::std::option::Option<f64>,
        9067  +
        /* ServerBuilderGenerator.kt:211 */
        9068  +
    }
        9069  +
    /* ServerBuilderGenerator.kt:215 */
        9070  +
    impl Builder {
        9071  +
        /* ServerBuilderGenerator.kt:331 */
        9072  +
        #[allow(missing_docs)] // documentation missing in model
        9073  +
                               /* ServerBuilderGenerator.kt:343 */
        9074  +
        pub fn double_in_body(mut self, input: ::std::option::Option<f64>) -> Self {
        9075  +
            /* ServerBuilderGenerator.kt:344 */
        9076  +
            self.double_in_body =
        9077  +
                /* ServerBuilderGenerator.kt:376 */input
        9078  +
            /* ServerBuilderGenerator.kt:344 */;
        9079  +
            self
        9080  +
            /* ServerBuilderGenerator.kt:343 */
        9081  +
        }
        9082  +
        /* ServerBuilderGenerator.kt:426 */
        9083  +
        #[allow(missing_docs)] // documentation missing in model
        9084  +
                               /* ServerBuilderGenerator.kt:428 */
        9085  +
        pub(crate) fn set_double_in_body(
        9086  +
            mut self,
        9087  +
            input: Option<impl ::std::convert::Into<f64>>,
        9088  +
        ) -> Self {
        9089  +
            /* ServerBuilderGenerator.kt:429 */
        9090  +
            self.double_in_body = input.map(|v| v.into());
        9091  +
            self
        9092  +
            /* ServerBuilderGenerator.kt:428 */
        9093  +
        }
        9094  +
        /* ServerBuilderGenerator.kt:331 */
        9095  +
        #[allow(missing_docs)] // documentation missing in model
        9096  +
                               /* ServerBuilderGenerator.kt:343 */
        9097  +
        pub fn double_in_path(mut self, input: f64) -> Self {
        9098  +
            /* ServerBuilderGenerator.kt:344 */
        9099  +
            self.double_in_path =
        9100  +
                /* ServerBuilderGenerator.kt:345 */Some(
        9101  +
                    /* ServerBuilderGenerator.kt:376 */input
        9102  +
                /* ServerBuilderGenerator.kt:345 */)
        9103  +
            /* ServerBuilderGenerator.kt:344 */;
        9104  +
            self
        9105  +
            /* ServerBuilderGenerator.kt:343 */
        9106  +
        }
        9107  +
        /* ServerBuilderGenerator.kt:426 */
        9108  +
        #[allow(missing_docs)] // documentation missing in model
        9109  +
                               /* ServerBuilderGenerator.kt:428 */
        9110  +
        pub(crate) fn set_double_in_path(mut self, input: impl ::std::convert::Into<f64>) -> Self {
        9111  +
            /* ServerBuilderGenerator.kt:429 */
        9112  +
            self.double_in_path = Some(input.into());
        9113  +
            self
        9114  +
            /* ServerBuilderGenerator.kt:428 */
        9115  +
        }
        9116  +
        /* ServerBuilderGenerator.kt:331 */
        9117  +
        #[allow(missing_docs)] // documentation missing in model
        9118  +
                               /* ServerBuilderGenerator.kt:343 */
        9119  +
        pub fn double_in_query(mut self, input: ::std::option::Option<f64>) -> Self {
        9120  +
            /* ServerBuilderGenerator.kt:344 */
        9121  +
            self.double_in_query =
        9122  +
                /* ServerBuilderGenerator.kt:376 */input
        9123  +
            /* ServerBuilderGenerator.kt:344 */;
        9124  +
            self
        9125  +
            /* ServerBuilderGenerator.kt:343 */
        9126  +
        }
        9127  +
        /* ServerBuilderGenerator.kt:426 */
        9128  +
        #[allow(missing_docs)] // documentation missing in model
        9129  +
                               /* ServerBuilderGenerator.kt:428 */
        9130  +
        pub(crate) fn set_double_in_query(
        9131  +
            mut self,
        9132  +
            input: Option<impl ::std::convert::Into<f64>>,
        9133  +
        ) -> Self {
        9134  +
            /* ServerBuilderGenerator.kt:429 */
        9135  +
            self.double_in_query = input.map(|v| v.into());
        9136  +
            self
        9137  +
            /* ServerBuilderGenerator.kt:428 */
        9138  +
        }
        9139  +
        /* ServerBuilderGenerator.kt:331 */
        9140  +
        #[allow(missing_docs)] // documentation missing in model
        9141  +
                               /* ServerBuilderGenerator.kt:343 */
        9142  +
        pub fn double_in_header(mut self, input: ::std::option::Option<f64>) -> Self {
        9143  +
            /* ServerBuilderGenerator.kt:344 */
        9144  +
            self.double_in_header =
        9145  +
                /* ServerBuilderGenerator.kt:376 */input
        9146  +
            /* ServerBuilderGenerator.kt:344 */;
        9147  +
            self
        9148  +
            /* ServerBuilderGenerator.kt:343 */
        9149  +
        }
        9150  +
        /* ServerBuilderGenerator.kt:426 */
        9151  +
        #[allow(missing_docs)] // documentation missing in model
        9152  +
                               /* ServerBuilderGenerator.kt:428 */
        9153  +
        pub(crate) fn set_double_in_header(
        9154  +
            mut self,
        9155  +
            input: Option<impl ::std::convert::Into<f64>>,
        9156  +
        ) -> Self {
        9157  +
            /* ServerBuilderGenerator.kt:429 */
        9158  +
            self.double_in_header = input.map(|v| v.into());
        9159  +
            self
        9160  +
            /* ServerBuilderGenerator.kt:428 */
        9161  +
        }
        9162  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
        9163  +
        /// /* ServerBuilderGenerator.kt:260 */
        9164  +
        /// The builder fails to construct a [`MalformedDoubleInput`](crate::input::MalformedDoubleInput) if a [`ConstraintViolation`] occurs.
        9165  +
        ///
        9166  +
        /* ServerBuilderGenerator.kt:271 */
        9167  +
        pub fn build(self) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
        9168  +
            self.build_enforcing_all_constraints()
        9169  +
        }
        9170  +
        /* ServerBuilderGenerator.kt:283 */
        9171  +
        fn build_enforcing_all_constraints(
        9172  +
            self,
        9173  +
        ) -> Result<crate::input::MalformedDoubleInput, ConstraintViolation> {
        9174  +
            /* ServerBuilderGenerator.kt:287 */
        9175  +
            Ok(
        9176  +
                /* ServerBuilderGenerator.kt:542 */
        9177  +
                crate::input::MalformedDoubleInput {
        9178  +
                    /* ServerBuilderGenerator.kt:546 */
        9179  +
                    double_in_body: self.double_in_body,
        9180  +
                    /* ServerBuilderGenerator.kt:546 */
        9181  +
                    double_in_path: self
        9182  +
                        .double_in_path
        9183  +
                        /* ServerBuilderGenerator.kt:569 */
        9184  +
                        .ok_or(ConstraintViolation::MissingDoubleInPath)?,
        9185  +
                    /* ServerBuilderGenerator.kt:546 */
        9186  +
                    double_in_query: self.double_in_query,
        9187  +
                    /* ServerBuilderGenerator.kt:546 */
        9188  +
                    double_in_header: self.double_in_header,
        9189  +
                    /* ServerBuilderGenerator.kt:542 */
        9190  +
                }, /* ServerBuilderGenerator.kt:287 */
        9191  +
            )
        9192  +
            /* ServerBuilderGenerator.kt:283 */
        9193  +
        }
        9194  +
        /* ServerBuilderGenerator.kt:215 */
        9195  +
    }
        9196  +
        9197  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        9198  +
}
        9199  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
        9200  +
pub mod malformed_float_input {
        9201  +
        9202  +
    /* RustType.kt:534 */
        9203  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        9204  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        9205  +
    /* RustType.kt:534 */
        9206  +
    #[non_exhaustive]
        9207  +
    /* ServerBuilderConstraintViolations.kt:75 */
        9208  +
    #[allow(clippy::enum_variant_names)]
        9209  +
    pub enum ConstraintViolation {
        9210  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`float_in_path` was not provided but it is required when building `MalformedFloatInput`.
        9211  +
        /* ServerBuilderConstraintViolations.kt:144 */
        9212  +
        MissingFloatInPath,
        9213  +
        /* ServerBuilderConstraintViolations.kt:75 */
        9214  +
    }
        9215  +
    /* ServerBuilderConstraintViolations.kt:116 */
        9216  +
    impl ::std::fmt::Display for ConstraintViolation {
        9217  +
        /* ServerBuilderConstraintViolations.kt:117 */
        9218  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        9219  +
            /* ServerBuilderConstraintViolations.kt:118 */
        9220  +
            match self {
        9221  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
        9222  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        9223  +
            /* ServerBuilderConstraintViolations.kt:117 */
        9224  +
        }
        9225  +
        /* ServerBuilderConstraintViolations.kt:116 */
        9226  +
    }
        9227  +
    /* ServerBuilderConstraintViolations.kt:83 */
        9228  +
    impl ::std::error::Error for ConstraintViolation {}
        9229  +
    /* ServerBuilderConstraintViolations.kt:172 */
        9230  +
    impl ConstraintViolation {
        9231  +
        pub(crate) fn as_validation_exception_field(
        9232  +
            self,
        9233  +
            path: ::std::string::String,
        9234  +
        ) -> crate::model::ValidationExceptionField {
        9235  +
            match self {
        9236  +
            ConstraintViolation::MissingFloatInPath => crate::model::ValidationExceptionField {
        9237  +
                                                message: format!("Value at '{}/floatInPath' failed to satisfy constraint: Member must not be null", path),
        9238  +
                                                path: path + "/floatInPath",
        9239  +
                                            },
        9240  +
        }
        9241  +
        }
        9242  +
    }
        9243  +
    /* ServerBuilderGenerator.kt:234 */
        9244  +
    impl ::std::convert::From<ConstraintViolation>
        9245  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        9246  +
    {
        9247  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        9248  +
            let first_validation_exception_field =
        9249  +
                constraint_violation.as_validation_exception_field("".to_owned());
        9250  +
            let validation_exception = crate::error::ValidationException {
        9251  +
                message: format!(
        9252  +
                    "1 validation error detected. {}",
        9253  +
                    &first_validation_exception_field.message
        9254  +
                ),
        9255  +
                field_list: Some(vec![first_validation_exception_field]),
        9256  +
            };
        9257  +
            Self::ConstraintViolation(
        9258  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        9259  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        9260  +
                            )
        9261  +
        }
        9262  +
    }
        9263  +
    /* ServerBuilderGenerator.kt:244 */
        9264  +
    impl ::std::convert::From<Builder>
        9265  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedFloatInput>
        9266  +
    {
        9267  +
        fn from(builder: Builder) -> Self {
        9268  +
            Self::Unconstrained(builder)
        9269  +
        }
        9270  +
    }
        9271  +
    /* ServerBuilderGenerator.kt:446 */
        9272  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedFloatInput {
        9273  +
        type Error = ConstraintViolation;
        9274  +
        9275  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9276  +
            builder.build()
        9277  +
        }
        9278  +
    }
        9279  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedFloatInput`](crate::input::MalformedFloatInput).
        9280  +
    /* RustType.kt:534 */
        9281  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9282  +
    /* ServerBuilderGenerator.kt:211 */
        9283  +
    pub struct Builder {
        9284  +
        /* ServerBuilderGenerator.kt:308 */
        9285  +
        pub(crate) float_in_body: ::std::option::Option<f32>,
        9286  +
        /* ServerBuilderGenerator.kt:308 */
        9287  +
        pub(crate) float_in_path: ::std::option::Option<f32>,
        9288  +
        /* ServerBuilderGenerator.kt:308 */
        9289  +
        pub(crate) float_in_query: ::std::option::Option<f32>,
        9290  +
        /* ServerBuilderGenerator.kt:308 */
        9291  +
        pub(crate) float_in_header: ::std::option::Option<f32>,
        9292  +
        /* ServerBuilderGenerator.kt:211 */
        9293  +
    }
        9294  +
    /* ServerBuilderGenerator.kt:215 */
        9295  +
    impl Builder {
        9296  +
        /* ServerBuilderGenerator.kt:331 */
        9297  +
        #[allow(missing_docs)] // documentation missing in model
        9298  +
                               /* ServerBuilderGenerator.kt:343 */
        9299  +
        pub fn float_in_body(mut self, input: ::std::option::Option<f32>) -> Self {
        9300  +
            /* ServerBuilderGenerator.kt:344 */
        9301  +
            self.float_in_body =
        9302  +
                /* ServerBuilderGenerator.kt:376 */input
        9303  +
            /* ServerBuilderGenerator.kt:344 */;
        9304  +
            self
        9305  +
            /* ServerBuilderGenerator.kt:343 */
        9306  +
        }
        9307  +
        /* ServerBuilderGenerator.kt:426 */
        9308  +
        #[allow(missing_docs)] // documentation missing in model
        9309  +
                               /* ServerBuilderGenerator.kt:428 */
        9310  +
        pub(crate) fn set_float_in_body(
        9311  +
            mut self,
        9312  +
            input: Option<impl ::std::convert::Into<f32>>,
        9313  +
        ) -> Self {
        9314  +
            /* ServerBuilderGenerator.kt:429 */
        9315  +
            self.float_in_body = input.map(|v| v.into());
        9316  +
            self
        9317  +
            /* ServerBuilderGenerator.kt:428 */
        9318  +
        }
        9319  +
        /* ServerBuilderGenerator.kt:331 */
        9320  +
        #[allow(missing_docs)] // documentation missing in model
        9321  +
                               /* ServerBuilderGenerator.kt:343 */
        9322  +
        pub fn float_in_path(mut self, input: f32) -> Self {
        9323  +
            /* ServerBuilderGenerator.kt:344 */
        9324  +
            self.float_in_path =
        9325  +
                /* ServerBuilderGenerator.kt:345 */Some(
        9326  +
                    /* ServerBuilderGenerator.kt:376 */input
        9327  +
                /* ServerBuilderGenerator.kt:345 */)
        9328  +
            /* ServerBuilderGenerator.kt:344 */;
        9329  +
            self
        9330  +
            /* ServerBuilderGenerator.kt:343 */
        9331  +
        }
        9332  +
        /* ServerBuilderGenerator.kt:426 */
        9333  +
        #[allow(missing_docs)] // documentation missing in model
        9334  +
                               /* ServerBuilderGenerator.kt:428 */
        9335  +
        pub(crate) fn set_float_in_path(mut self, input: impl ::std::convert::Into<f32>) -> Self {
        9336  +
            /* ServerBuilderGenerator.kt:429 */
        9337  +
            self.float_in_path = Some(input.into());
        9338  +
            self
        9339  +
            /* ServerBuilderGenerator.kt:428 */
        9340  +
        }
        9341  +
        /* ServerBuilderGenerator.kt:331 */
        9342  +
        #[allow(missing_docs)] // documentation missing in model
        9343  +
                               /* ServerBuilderGenerator.kt:343 */
        9344  +
        pub fn float_in_query(mut self, input: ::std::option::Option<f32>) -> Self {
        9345  +
            /* ServerBuilderGenerator.kt:344 */
        9346  +
            self.float_in_query =
        9347  +
                /* ServerBuilderGenerator.kt:376 */input
        9348  +
            /* ServerBuilderGenerator.kt:344 */;
        9349  +
            self
        9350  +
            /* ServerBuilderGenerator.kt:343 */
        9351  +
        }
        9352  +
        /* ServerBuilderGenerator.kt:426 */
        9353  +
        #[allow(missing_docs)] // documentation missing in model
        9354  +
                               /* ServerBuilderGenerator.kt:428 */
        9355  +
        pub(crate) fn set_float_in_query(
        9356  +
            mut self,
        9357  +
            input: Option<impl ::std::convert::Into<f32>>,
        9358  +
        ) -> Self {
        9359  +
            /* ServerBuilderGenerator.kt:429 */
        9360  +
            self.float_in_query = input.map(|v| v.into());
        9361  +
            self
        9362  +
            /* ServerBuilderGenerator.kt:428 */
        9363  +
        }
        9364  +
        /* ServerBuilderGenerator.kt:331 */
        9365  +
        #[allow(missing_docs)] // documentation missing in model
        9366  +
                               /* ServerBuilderGenerator.kt:343 */
        9367  +
        pub fn float_in_header(mut self, input: ::std::option::Option<f32>) -> Self {
        9368  +
            /* ServerBuilderGenerator.kt:344 */
        9369  +
            self.float_in_header =
        9370  +
                /* ServerBuilderGenerator.kt:376 */input
        9371  +
            /* ServerBuilderGenerator.kt:344 */;
        9372  +
            self
        9373  +
            /* ServerBuilderGenerator.kt:343 */
        9374  +
        }
        9375  +
        /* ServerBuilderGenerator.kt:426 */
        9376  +
        #[allow(missing_docs)] // documentation missing in model
        9377  +
                               /* ServerBuilderGenerator.kt:428 */
        9378  +
        pub(crate) fn set_float_in_header(
        9379  +
            mut self,
        9380  +
            input: Option<impl ::std::convert::Into<f32>>,
        9381  +
        ) -> Self {
        9382  +
            /* ServerBuilderGenerator.kt:429 */
        9383  +
            self.float_in_header = input.map(|v| v.into());
        9384  +
            self
        9385  +
            /* ServerBuilderGenerator.kt:428 */
        9386  +
        }
        9387  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedFloatInput`](crate::input::MalformedFloatInput).
        9388  +
        /// /* ServerBuilderGenerator.kt:260 */
        9389  +
        /// The builder fails to construct a [`MalformedFloatInput`](crate::input::MalformedFloatInput) if a [`ConstraintViolation`] occurs.
        9390  +
        ///
        9391  +
        /* ServerBuilderGenerator.kt:271 */
        9392  +
        pub fn build(self) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
        9393  +
            self.build_enforcing_all_constraints()
        9394  +
        }
        9395  +
        /* ServerBuilderGenerator.kt:283 */
        9396  +
        fn build_enforcing_all_constraints(
        9397  +
            self,
        9398  +
        ) -> Result<crate::input::MalformedFloatInput, ConstraintViolation> {
        9399  +
            /* ServerBuilderGenerator.kt:287 */
        9400  +
            Ok(
        9401  +
                /* ServerBuilderGenerator.kt:542 */
        9402  +
                crate::input::MalformedFloatInput {
        9403  +
                    /* ServerBuilderGenerator.kt:546 */
        9404  +
                    float_in_body: self.float_in_body,
        9405  +
                    /* ServerBuilderGenerator.kt:546 */
        9406  +
                    float_in_path: self
        9407  +
                        .float_in_path
        9408  +
                        /* ServerBuilderGenerator.kt:569 */
        9409  +
                        .ok_or(ConstraintViolation::MissingFloatInPath)?,
        9410  +
                    /* ServerBuilderGenerator.kt:546 */
        9411  +
                    float_in_query: self.float_in_query,
        9412  +
                    /* ServerBuilderGenerator.kt:546 */
        9413  +
                    float_in_header: self.float_in_header,
        9414  +
                    /* ServerBuilderGenerator.kt:542 */
        9415  +
                }, /* ServerBuilderGenerator.kt:287 */
        9416  +
            )
        9417  +
            /* ServerBuilderGenerator.kt:283 */
        9418  +
        }
        9419  +
        /* ServerBuilderGenerator.kt:215 */
        9420  +
    }
        9421  +
        9422  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        9423  +
}
        9424  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedLongInput`](crate::input::MalformedLongInput).
        9425  +
pub mod malformed_long_input {
        9426  +
        9427  +
    /* RustType.kt:534 */
        9428  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        9429  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        9430  +
    /* RustType.kt:534 */
        9431  +
    #[non_exhaustive]
        9432  +
    /* ServerBuilderConstraintViolations.kt:75 */
        9433  +
    #[allow(clippy::enum_variant_names)]
        9434  +
    pub enum ConstraintViolation {
        9435  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`long_in_path` was not provided but it is required when building `MalformedLongInput`.
        9436  +
        /* ServerBuilderConstraintViolations.kt:144 */
        9437  +
        MissingLongInPath,
        9438  +
        /* ServerBuilderConstraintViolations.kt:75 */
        9439  +
    }
        9440  +
    /* ServerBuilderConstraintViolations.kt:116 */
        9441  +
    impl ::std::fmt::Display for ConstraintViolation {
        9442  +
        /* ServerBuilderConstraintViolations.kt:117 */
        9443  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        9444  +
            /* ServerBuilderConstraintViolations.kt:118 */
        9445  +
            match self {
        9446  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
        9447  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        9448  +
            /* ServerBuilderConstraintViolations.kt:117 */
        9449  +
        }
        9450  +
        /* ServerBuilderConstraintViolations.kt:116 */
        9451  +
    }
        9452  +
    /* ServerBuilderConstraintViolations.kt:83 */
        9453  +
    impl ::std::error::Error for ConstraintViolation {}
        9454  +
    /* ServerBuilderConstraintViolations.kt:172 */
        9455  +
    impl ConstraintViolation {
        9456  +
        pub(crate) fn as_validation_exception_field(
        9457  +
            self,
        9458  +
            path: ::std::string::String,
        9459  +
        ) -> crate::model::ValidationExceptionField {
        9460  +
            match self {
        9461  +
            ConstraintViolation::MissingLongInPath => crate::model::ValidationExceptionField {
        9462  +
                                                message: format!("Value at '{}/longInPath' failed to satisfy constraint: Member must not be null", path),
        9463  +
                                                path: path + "/longInPath",
        9464  +
                                            },
        9465  +
        }
        9466  +
        }
        9467  +
    }
        9468  +
    /* ServerBuilderGenerator.kt:234 */
        9469  +
    impl ::std::convert::From<ConstraintViolation>
        9470  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        9471  +
    {
        9472  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        9473  +
            let first_validation_exception_field =
        9474  +
                constraint_violation.as_validation_exception_field("".to_owned());
        9475  +
            let validation_exception = crate::error::ValidationException {
        9476  +
                message: format!(
        9477  +
                    "1 validation error detected. {}",
        9478  +
                    &first_validation_exception_field.message
        9479  +
                ),
        9480  +
                field_list: Some(vec![first_validation_exception_field]),
        9481  +
            };
        9482  +
            Self::ConstraintViolation(
        9483  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        9484  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        9485  +
                            )
        9486  +
        }
        9487  +
    }
        9488  +
    /* ServerBuilderGenerator.kt:244 */
        9489  +
    impl ::std::convert::From<Builder>
        9490  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedLongInput>
        9491  +
    {
        9492  +
        fn from(builder: Builder) -> Self {
        9493  +
            Self::Unconstrained(builder)
        9494  +
        }
        9495  +
    }
        9496  +
    /* ServerBuilderGenerator.kt:446 */
        9497  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedLongInput {
        9498  +
        type Error = ConstraintViolation;
        9499  +
        9500  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9501  +
            builder.build()
        9502  +
        }
        9503  +
    }
        9504  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedLongInput`](crate::input::MalformedLongInput).
        9505  +
    /* RustType.kt:534 */
        9506  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9507  +
    /* ServerBuilderGenerator.kt:211 */
        9508  +
    pub struct Builder {
        9509  +
        /* ServerBuilderGenerator.kt:308 */
        9510  +
        pub(crate) long_in_body: ::std::option::Option<i64>,
        9511  +
        /* ServerBuilderGenerator.kt:308 */
        9512  +
        pub(crate) long_in_path: ::std::option::Option<i64>,
        9513  +
        /* ServerBuilderGenerator.kt:308 */
        9514  +
        pub(crate) long_in_query: ::std::option::Option<i64>,
        9515  +
        /* ServerBuilderGenerator.kt:308 */
        9516  +
        pub(crate) long_in_header: ::std::option::Option<i64>,
        9517  +
        /* ServerBuilderGenerator.kt:211 */
        9518  +
    }
        9519  +
    /* ServerBuilderGenerator.kt:215 */
        9520  +
    impl Builder {
        9521  +
        /* ServerBuilderGenerator.kt:331 */
        9522  +
        #[allow(missing_docs)] // documentation missing in model
        9523  +
                               /* ServerBuilderGenerator.kt:343 */
        9524  +
        pub fn long_in_body(mut self, input: ::std::option::Option<i64>) -> Self {
        9525  +
            /* ServerBuilderGenerator.kt:344 */
        9526  +
            self.long_in_body =
        9527  +
                /* ServerBuilderGenerator.kt:376 */input
        9528  +
            /* ServerBuilderGenerator.kt:344 */;
        9529  +
            self
        9530  +
            /* ServerBuilderGenerator.kt:343 */
        9531  +
        }
        9532  +
        /* ServerBuilderGenerator.kt:426 */
        9533  +
        #[allow(missing_docs)] // documentation missing in model
        9534  +
                               /* ServerBuilderGenerator.kt:428 */
        9535  +
        pub(crate) fn set_long_in_body(
        9536  +
            mut self,
        9537  +
            input: Option<impl ::std::convert::Into<i64>>,
        9538  +
        ) -> Self {
        9539  +
            /* ServerBuilderGenerator.kt:429 */
        9540  +
            self.long_in_body = input.map(|v| v.into());
        9541  +
            self
        9542  +
            /* ServerBuilderGenerator.kt:428 */
        9543  +
        }
        9544  +
        /* ServerBuilderGenerator.kt:331 */
        9545  +
        #[allow(missing_docs)] // documentation missing in model
        9546  +
                               /* ServerBuilderGenerator.kt:343 */
        9547  +
        pub fn long_in_path(mut self, input: i64) -> Self {
        9548  +
            /* ServerBuilderGenerator.kt:344 */
        9549  +
            self.long_in_path =
        9550  +
                /* ServerBuilderGenerator.kt:345 */Some(
        9551  +
                    /* ServerBuilderGenerator.kt:376 */input
        9552  +
                /* ServerBuilderGenerator.kt:345 */)
        9553  +
            /* ServerBuilderGenerator.kt:344 */;
        9554  +
            self
        9555  +
            /* ServerBuilderGenerator.kt:343 */
        9556  +
        }
        9557  +
        /* ServerBuilderGenerator.kt:426 */
        9558  +
        #[allow(missing_docs)] // documentation missing in model
        9559  +
                               /* ServerBuilderGenerator.kt:428 */
        9560  +
        pub(crate) fn set_long_in_path(mut self, input: impl ::std::convert::Into<i64>) -> Self {
        9561  +
            /* ServerBuilderGenerator.kt:429 */
        9562  +
            self.long_in_path = Some(input.into());
        9563  +
            self
        9564  +
            /* ServerBuilderGenerator.kt:428 */
        9565  +
        }
        9566  +
        /* ServerBuilderGenerator.kt:331 */
        9567  +
        #[allow(missing_docs)] // documentation missing in model
        9568  +
                               /* ServerBuilderGenerator.kt:343 */
        9569  +
        pub fn long_in_query(mut self, input: ::std::option::Option<i64>) -> Self {
        9570  +
            /* ServerBuilderGenerator.kt:344 */
        9571  +
            self.long_in_query =
        9572  +
                /* ServerBuilderGenerator.kt:376 */input
        9573  +
            /* ServerBuilderGenerator.kt:344 */;
        9574  +
            self
        9575  +
            /* ServerBuilderGenerator.kt:343 */
        9576  +
        }
        9577  +
        /* ServerBuilderGenerator.kt:426 */
        9578  +
        #[allow(missing_docs)] // documentation missing in model
        9579  +
                               /* ServerBuilderGenerator.kt:428 */
        9580  +
        pub(crate) fn set_long_in_query(
        9581  +
            mut self,
        9582  +
            input: Option<impl ::std::convert::Into<i64>>,
        9583  +
        ) -> Self {
        9584  +
            /* ServerBuilderGenerator.kt:429 */
        9585  +
            self.long_in_query = input.map(|v| v.into());
        9586  +
            self
        9587  +
            /* ServerBuilderGenerator.kt:428 */
        9588  +
        }
        9589  +
        /* ServerBuilderGenerator.kt:331 */
        9590  +
        #[allow(missing_docs)] // documentation missing in model
        9591  +
                               /* ServerBuilderGenerator.kt:343 */
        9592  +
        pub fn long_in_header(mut self, input: ::std::option::Option<i64>) -> Self {
        9593  +
            /* ServerBuilderGenerator.kt:344 */
        9594  +
            self.long_in_header =
        9595  +
                /* ServerBuilderGenerator.kt:376 */input
        9596  +
            /* ServerBuilderGenerator.kt:344 */;
        9597  +
            self
        9598  +
            /* ServerBuilderGenerator.kt:343 */
        9599  +
        }
        9600  +
        /* ServerBuilderGenerator.kt:426 */
        9601  +
        #[allow(missing_docs)] // documentation missing in model
        9602  +
                               /* ServerBuilderGenerator.kt:428 */
        9603  +
        pub(crate) fn set_long_in_header(
        9604  +
            mut self,
        9605  +
            input: Option<impl ::std::convert::Into<i64>>,
        9606  +
        ) -> Self {
        9607  +
            /* ServerBuilderGenerator.kt:429 */
        9608  +
            self.long_in_header = input.map(|v| v.into());
        9609  +
            self
        9610  +
            /* ServerBuilderGenerator.kt:428 */
        9611  +
        }
        9612  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedLongInput`](crate::input::MalformedLongInput).
        9613  +
        /// /* ServerBuilderGenerator.kt:260 */
        9614  +
        /// The builder fails to construct a [`MalformedLongInput`](crate::input::MalformedLongInput) if a [`ConstraintViolation`] occurs.
        9615  +
        ///
        9616  +
        /* ServerBuilderGenerator.kt:271 */
        9617  +
        pub fn build(self) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
        9618  +
            self.build_enforcing_all_constraints()
        9619  +
        }
        9620  +
        /* ServerBuilderGenerator.kt:283 */
        9621  +
        fn build_enforcing_all_constraints(
        9622  +
            self,
        9623  +
        ) -> Result<crate::input::MalformedLongInput, ConstraintViolation> {
        9624  +
            /* ServerBuilderGenerator.kt:287 */
        9625  +
            Ok(
        9626  +
                /* ServerBuilderGenerator.kt:542 */
        9627  +
                crate::input::MalformedLongInput {
        9628  +
                    /* ServerBuilderGenerator.kt:546 */
        9629  +
                    long_in_body: self.long_in_body,
        9630  +
                    /* ServerBuilderGenerator.kt:546 */
        9631  +
                    long_in_path: self
        9632  +
                        .long_in_path
        9633  +
                        /* ServerBuilderGenerator.kt:569 */
        9634  +
                        .ok_or(ConstraintViolation::MissingLongInPath)?,
        9635  +
                    /* ServerBuilderGenerator.kt:546 */
        9636  +
                    long_in_query: self.long_in_query,
        9637  +
                    /* ServerBuilderGenerator.kt:546 */
        9638  +
                    long_in_header: self.long_in_header,
        9639  +
                    /* ServerBuilderGenerator.kt:542 */
        9640  +
                }, /* ServerBuilderGenerator.kt:287 */
        9641  +
            )
        9642  +
            /* ServerBuilderGenerator.kt:283 */
        9643  +
        }
        9644  +
        /* ServerBuilderGenerator.kt:215 */
        9645  +
    }
        9646  +
        9647  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        9648  +
}
        9649  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedShortInput`](crate::input::MalformedShortInput).
        9650  +
pub mod malformed_short_input {
        9651  +
        9652  +
    /* RustType.kt:534 */
        9653  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        9654  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        9655  +
    /* RustType.kt:534 */
        9656  +
    #[non_exhaustive]
        9657  +
    /* ServerBuilderConstraintViolations.kt:75 */
        9658  +
    #[allow(clippy::enum_variant_names)]
        9659  +
    pub enum ConstraintViolation {
        9660  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`short_in_path` was not provided but it is required when building `MalformedShortInput`.
        9661  +
        /* ServerBuilderConstraintViolations.kt:144 */
        9662  +
        MissingShortInPath,
        9663  +
        /* ServerBuilderConstraintViolations.kt:75 */
        9664  +
    }
        9665  +
    /* ServerBuilderConstraintViolations.kt:116 */
        9666  +
    impl ::std::fmt::Display for ConstraintViolation {
        9667  +
        /* ServerBuilderConstraintViolations.kt:117 */
        9668  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        9669  +
            /* ServerBuilderConstraintViolations.kt:118 */
        9670  +
            match self {
        9671  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
        9672  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        9673  +
            /* ServerBuilderConstraintViolations.kt:117 */
        9674  +
        }
        9675  +
        /* ServerBuilderConstraintViolations.kt:116 */
        9676  +
    }
        9677  +
    /* ServerBuilderConstraintViolations.kt:83 */
        9678  +
    impl ::std::error::Error for ConstraintViolation {}
        9679  +
    /* ServerBuilderConstraintViolations.kt:172 */
        9680  +
    impl ConstraintViolation {
        9681  +
        pub(crate) fn as_validation_exception_field(
        9682  +
            self,
        9683  +
            path: ::std::string::String,
        9684  +
        ) -> crate::model::ValidationExceptionField {
        9685  +
            match self {
        9686  +
            ConstraintViolation::MissingShortInPath => crate::model::ValidationExceptionField {
        9687  +
                                                message: format!("Value at '{}/shortInPath' failed to satisfy constraint: Member must not be null", path),
        9688  +
                                                path: path + "/shortInPath",
        9689  +
                                            },
        9690  +
        }
        9691  +
        }
        9692  +
    }
        9693  +
    /* ServerBuilderGenerator.kt:234 */
        9694  +
    impl ::std::convert::From<ConstraintViolation>
        9695  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        9696  +
    {
        9697  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        9698  +
            let first_validation_exception_field =
        9699  +
                constraint_violation.as_validation_exception_field("".to_owned());
        9700  +
            let validation_exception = crate::error::ValidationException {
        9701  +
                message: format!(
        9702  +
                    "1 validation error detected. {}",
        9703  +
                    &first_validation_exception_field.message
        9704  +
                ),
        9705  +
                field_list: Some(vec![first_validation_exception_field]),
        9706  +
            };
        9707  +
            Self::ConstraintViolation(
        9708  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        9709  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        9710  +
                            )
        9711  +
        }
        9712  +
    }
        9713  +
    /* ServerBuilderGenerator.kt:244 */
        9714  +
    impl ::std::convert::From<Builder>
        9715  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedShortInput>
        9716  +
    {
        9717  +
        fn from(builder: Builder) -> Self {
        9718  +
            Self::Unconstrained(builder)
        9719  +
        }
        9720  +
    }
        9721  +
    /* ServerBuilderGenerator.kt:446 */
        9722  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedShortInput {
        9723  +
        type Error = ConstraintViolation;
        9724  +
        9725  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9726  +
            builder.build()
        9727  +
        }
        9728  +
    }
        9729  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedShortInput`](crate::input::MalformedShortInput).
        9730  +
    /* RustType.kt:534 */
        9731  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9732  +
    /* ServerBuilderGenerator.kt:211 */
        9733  +
    pub struct Builder {
        9734  +
        /* ServerBuilderGenerator.kt:308 */
        9735  +
        pub(crate) short_in_body: ::std::option::Option<i16>,
        9736  +
        /* ServerBuilderGenerator.kt:308 */
        9737  +
        pub(crate) short_in_path: ::std::option::Option<i16>,
        9738  +
        /* ServerBuilderGenerator.kt:308 */
        9739  +
        pub(crate) short_in_query: ::std::option::Option<i16>,
        9740  +
        /* ServerBuilderGenerator.kt:308 */
        9741  +
        pub(crate) short_in_header: ::std::option::Option<i16>,
        9742  +
        /* ServerBuilderGenerator.kt:211 */
        9743  +
    }
        9744  +
    /* ServerBuilderGenerator.kt:215 */
        9745  +
    impl Builder {
        9746  +
        /* ServerBuilderGenerator.kt:331 */
        9747  +
        #[allow(missing_docs)] // documentation missing in model
        9748  +
                               /* ServerBuilderGenerator.kt:343 */
        9749  +
        pub fn short_in_body(mut self, input: ::std::option::Option<i16>) -> Self {
        9750  +
            /* ServerBuilderGenerator.kt:344 */
        9751  +
            self.short_in_body =
        9752  +
                /* ServerBuilderGenerator.kt:376 */input
        9753  +
            /* ServerBuilderGenerator.kt:344 */;
        9754  +
            self
        9755  +
            /* ServerBuilderGenerator.kt:343 */
        9756  +
        }
        9757  +
        /* ServerBuilderGenerator.kt:426 */
        9758  +
        #[allow(missing_docs)] // documentation missing in model
        9759  +
                               /* ServerBuilderGenerator.kt:428 */
        9760  +
        pub(crate) fn set_short_in_body(
        9761  +
            mut self,
        9762  +
            input: Option<impl ::std::convert::Into<i16>>,
        9763  +
        ) -> Self {
        9764  +
            /* ServerBuilderGenerator.kt:429 */
        9765  +
            self.short_in_body = input.map(|v| v.into());
        9766  +
            self
        9767  +
            /* ServerBuilderGenerator.kt:428 */
        9768  +
        }
        9769  +
        /* ServerBuilderGenerator.kt:331 */
        9770  +
        #[allow(missing_docs)] // documentation missing in model
        9771  +
                               /* ServerBuilderGenerator.kt:343 */
        9772  +
        pub fn short_in_path(mut self, input: i16) -> Self {
        9773  +
            /* ServerBuilderGenerator.kt:344 */
        9774  +
            self.short_in_path =
        9775  +
                /* ServerBuilderGenerator.kt:345 */Some(
        9776  +
                    /* ServerBuilderGenerator.kt:376 */input
        9777  +
                /* ServerBuilderGenerator.kt:345 */)
        9778  +
            /* ServerBuilderGenerator.kt:344 */;
        9779  +
            self
        9780  +
            /* ServerBuilderGenerator.kt:343 */
        9781  +
        }
        9782  +
        /* ServerBuilderGenerator.kt:426 */
        9783  +
        #[allow(missing_docs)] // documentation missing in model
        9784  +
                               /* ServerBuilderGenerator.kt:428 */
        9785  +
        pub(crate) fn set_short_in_path(mut self, input: impl ::std::convert::Into<i16>) -> Self {
        9786  +
            /* ServerBuilderGenerator.kt:429 */
        9787  +
            self.short_in_path = Some(input.into());
        9788  +
            self
        9789  +
            /* ServerBuilderGenerator.kt:428 */
        9790  +
        }
        9791  +
        /* ServerBuilderGenerator.kt:331 */
        9792  +
        #[allow(missing_docs)] // documentation missing in model
        9793  +
                               /* ServerBuilderGenerator.kt:343 */
        9794  +
        pub fn short_in_query(mut self, input: ::std::option::Option<i16>) -> Self {
        9795  +
            /* ServerBuilderGenerator.kt:344 */
        9796  +
            self.short_in_query =
        9797  +
                /* ServerBuilderGenerator.kt:376 */input
        9798  +
            /* ServerBuilderGenerator.kt:344 */;
        9799  +
            self
        9800  +
            /* ServerBuilderGenerator.kt:343 */
        9801  +
        }
        9802  +
        /* ServerBuilderGenerator.kt:426 */
        9803  +
        #[allow(missing_docs)] // documentation missing in model
        9804  +
                               /* ServerBuilderGenerator.kt:428 */
        9805  +
        pub(crate) fn set_short_in_query(
        9806  +
            mut self,
        9807  +
            input: Option<impl ::std::convert::Into<i16>>,
        9808  +
        ) -> Self {
        9809  +
            /* ServerBuilderGenerator.kt:429 */
        9810  +
            self.short_in_query = input.map(|v| v.into());
        9811  +
            self
        9812  +
            /* ServerBuilderGenerator.kt:428 */
        9813  +
        }
        9814  +
        /* ServerBuilderGenerator.kt:331 */
        9815  +
        #[allow(missing_docs)] // documentation missing in model
        9816  +
                               /* ServerBuilderGenerator.kt:343 */
        9817  +
        pub fn short_in_header(mut self, input: ::std::option::Option<i16>) -> Self {
        9818  +
            /* ServerBuilderGenerator.kt:344 */
        9819  +
            self.short_in_header =
        9820  +
                /* ServerBuilderGenerator.kt:376 */input
        9821  +
            /* ServerBuilderGenerator.kt:344 */;
        9822  +
            self
        9823  +
            /* ServerBuilderGenerator.kt:343 */
        9824  +
        }
        9825  +
        /* ServerBuilderGenerator.kt:426 */
        9826  +
        #[allow(missing_docs)] // documentation missing in model
        9827  +
                               /* ServerBuilderGenerator.kt:428 */
        9828  +
        pub(crate) fn set_short_in_header(
        9829  +
            mut self,
        9830  +
            input: Option<impl ::std::convert::Into<i16>>,
        9831  +
        ) -> Self {
        9832  +
            /* ServerBuilderGenerator.kt:429 */
        9833  +
            self.short_in_header = input.map(|v| v.into());
        9834  +
            self
        9835  +
            /* ServerBuilderGenerator.kt:428 */
        9836  +
        }
        9837  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedShortInput`](crate::input::MalformedShortInput).
        9838  +
        /// /* ServerBuilderGenerator.kt:260 */
        9839  +
        /// The builder fails to construct a [`MalformedShortInput`](crate::input::MalformedShortInput) if a [`ConstraintViolation`] occurs.
        9840  +
        ///
        9841  +
        /* ServerBuilderGenerator.kt:271 */
        9842  +
        pub fn build(self) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
        9843  +
            self.build_enforcing_all_constraints()
        9844  +
        }
        9845  +
        /* ServerBuilderGenerator.kt:283 */
        9846  +
        fn build_enforcing_all_constraints(
        9847  +
            self,
        9848  +
        ) -> Result<crate::input::MalformedShortInput, ConstraintViolation> {
        9849  +
            /* ServerBuilderGenerator.kt:287 */
        9850  +
            Ok(
        9851  +
                /* ServerBuilderGenerator.kt:542 */
        9852  +
                crate::input::MalformedShortInput {
        9853  +
                    /* ServerBuilderGenerator.kt:546 */
        9854  +
                    short_in_body: self.short_in_body,
        9855  +
                    /* ServerBuilderGenerator.kt:546 */
        9856  +
                    short_in_path: self
        9857  +
                        .short_in_path
        9858  +
                        /* ServerBuilderGenerator.kt:569 */
        9859  +
                        .ok_or(ConstraintViolation::MissingShortInPath)?,
        9860  +
                    /* ServerBuilderGenerator.kt:546 */
        9861  +
                    short_in_query: self.short_in_query,
        9862  +
                    /* ServerBuilderGenerator.kt:546 */
        9863  +
                    short_in_header: self.short_in_header,
        9864  +
                    /* ServerBuilderGenerator.kt:542 */
        9865  +
                }, /* ServerBuilderGenerator.kt:287 */
        9866  +
            )
        9867  +
            /* ServerBuilderGenerator.kt:283 */
        9868  +
        }
        9869  +
        /* ServerBuilderGenerator.kt:215 */
        9870  +
    }
        9871  +
        9872  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
        9873  +
}
        9874  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedByteInput`](crate::input::MalformedByteInput).
        9875  +
pub mod malformed_byte_input {
        9876  +
        9877  +
    /* RustType.kt:534 */
        9878  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        9879  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        9880  +
    /* RustType.kt:534 */
        9881  +
    #[non_exhaustive]
        9882  +
    /* ServerBuilderConstraintViolations.kt:75 */
        9883  +
    #[allow(clippy::enum_variant_names)]
        9884  +
    pub enum ConstraintViolation {
        9885  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`byte_in_path` was not provided but it is required when building `MalformedByteInput`.
        9886  +
        /* ServerBuilderConstraintViolations.kt:144 */
        9887  +
        MissingByteInPath,
        9888  +
        /* ServerBuilderConstraintViolations.kt:75 */
        9889  +
    }
        9890  +
    /* ServerBuilderConstraintViolations.kt:116 */
        9891  +
    impl ::std::fmt::Display for ConstraintViolation {
        9892  +
        /* ServerBuilderConstraintViolations.kt:117 */
        9893  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        9894  +
            /* ServerBuilderConstraintViolations.kt:118 */
        9895  +
            match self {
        9896  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
        9897  +
            /* ServerBuilderConstraintViolations.kt:118 */}
        9898  +
            /* ServerBuilderConstraintViolations.kt:117 */
        9899  +
        }
        9900  +
        /* ServerBuilderConstraintViolations.kt:116 */
        9901  +
    }
        9902  +
    /* ServerBuilderConstraintViolations.kt:83 */
        9903  +
    impl ::std::error::Error for ConstraintViolation {}
        9904  +
    /* ServerBuilderConstraintViolations.kt:172 */
        9905  +
    impl ConstraintViolation {
        9906  +
        pub(crate) fn as_validation_exception_field(
        9907  +
            self,
        9908  +
            path: ::std::string::String,
        9909  +
        ) -> crate::model::ValidationExceptionField {
        9910  +
            match self {
        9911  +
            ConstraintViolation::MissingByteInPath => crate::model::ValidationExceptionField {
        9912  +
                                                message: format!("Value at '{}/byteInPath' failed to satisfy constraint: Member must not be null", path),
        9913  +
                                                path: path + "/byteInPath",
        9914  +
                                            },
        9915  +
        }
        9916  +
        }
        9917  +
    }
        9918  +
    /* ServerBuilderGenerator.kt:234 */
        9919  +
    impl ::std::convert::From<ConstraintViolation>
        9920  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
        9921  +
    {
        9922  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
        9923  +
            let first_validation_exception_field =
        9924  +
                constraint_violation.as_validation_exception_field("".to_owned());
        9925  +
            let validation_exception = crate::error::ValidationException {
        9926  +
                message: format!(
        9927  +
                    "1 validation error detected. {}",
        9928  +
                    &first_validation_exception_field.message
        9929  +
                ),
        9930  +
                field_list: Some(vec![first_validation_exception_field]),
        9931  +
            };
        9932  +
            Self::ConstraintViolation(
        9933  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
        9934  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
        9935  +
                            )
        9936  +
        }
        9937  +
    }
        9938  +
    /* ServerBuilderGenerator.kt:244 */
        9939  +
    impl ::std::convert::From<Builder>
        9940  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedByteInput>
        9941  +
    {
        9942  +
        fn from(builder: Builder) -> Self {
        9943  +
            Self::Unconstrained(builder)
        9944  +
        }
        9945  +
    }
        9946  +
    /* ServerBuilderGenerator.kt:446 */
        9947  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedByteInput {
        9948  +
        type Error = ConstraintViolation;
        9949  +
        9950  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
        9951  +
            builder.build()
        9952  +
        }
        9953  +
    }
        9954  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedByteInput`](crate::input::MalformedByteInput).
        9955  +
    /* RustType.kt:534 */
        9956  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        9957  +
    /* ServerBuilderGenerator.kt:211 */
        9958  +
    pub struct Builder {
        9959  +
        /* ServerBuilderGenerator.kt:308 */
        9960  +
        pub(crate) byte_in_body: ::std::option::Option<i8>,
        9961  +
        /* ServerBuilderGenerator.kt:308 */
        9962  +
        pub(crate) byte_in_path: ::std::option::Option<i8>,
        9963  +
        /* ServerBuilderGenerator.kt:308 */
        9964  +
        pub(crate) byte_in_query: ::std::option::Option<i8>,
        9965  +
        /* ServerBuilderGenerator.kt:308 */
        9966  +
        pub(crate) byte_in_header: ::std::option::Option<i8>,
        9967  +
        /* ServerBuilderGenerator.kt:211 */
        9968  +
    }
        9969  +
    /* ServerBuilderGenerator.kt:215 */
        9970  +
    impl Builder {
        9971  +
        /* ServerBuilderGenerator.kt:331 */
        9972  +
        #[allow(missing_docs)] // documentation missing in model
        9973  +
                               /* ServerBuilderGenerator.kt:343 */
        9974  +
        pub fn byte_in_body(mut self, input: ::std::option::Option<i8>) -> Self {
        9975  +
            /* ServerBuilderGenerator.kt:344 */
        9976  +
            self.byte_in_body =
        9977  +
                /* ServerBuilderGenerator.kt:376 */input
        9978  +
            /* ServerBuilderGenerator.kt:344 */;
        9979  +
            self
        9980  +
            /* ServerBuilderGenerator.kt:343 */
        9981  +
        }
        9982  +
        /* ServerBuilderGenerator.kt:426 */
        9983  +
        #[allow(missing_docs)] // documentation missing in model
        9984  +
                               /* ServerBuilderGenerator.kt:428 */
        9985  +
        pub(crate) fn set_byte_in_body(
        9986  +
            mut self,
        9987  +
            input: Option<impl ::std::convert::Into<i8>>,
        9988  +
        ) -> Self {
        9989  +
            /* ServerBuilderGenerator.kt:429 */
        9990  +
            self.byte_in_body = input.map(|v| v.into());
        9991  +
            self
        9992  +
            /* ServerBuilderGenerator.kt:428 */
        9993  +
        }
        9994  +
        /* ServerBuilderGenerator.kt:331 */
        9995  +
        #[allow(missing_docs)] // documentation missing in model
        9996  +
                               /* ServerBuilderGenerator.kt:343 */
        9997  +
        pub fn byte_in_path(mut self, input: i8) -> Self {
        9998  +
            /* ServerBuilderGenerator.kt:344 */
        9999  +
            self.byte_in_path =
       10000  +
                /* ServerBuilderGenerator.kt:345 */Some(
       10001  +
                    /* ServerBuilderGenerator.kt:376 */input
       10002  +
                /* ServerBuilderGenerator.kt:345 */)
       10003  +
            /* ServerBuilderGenerator.kt:344 */;
       10004  +
            self
       10005  +
            /* ServerBuilderGenerator.kt:343 */
       10006  +
        }
       10007  +
        /* ServerBuilderGenerator.kt:426 */
       10008  +
        #[allow(missing_docs)] // documentation missing in model
       10009  +
                               /* ServerBuilderGenerator.kt:428 */
       10010  +
        pub(crate) fn set_byte_in_path(mut self, input: impl ::std::convert::Into<i8>) -> Self {
       10011  +
            /* ServerBuilderGenerator.kt:429 */
       10012  +
            self.byte_in_path = Some(input.into());
       10013  +
            self
       10014  +
            /* ServerBuilderGenerator.kt:428 */
       10015  +
        }
       10016  +
        /* ServerBuilderGenerator.kt:331 */
       10017  +
        #[allow(missing_docs)] // documentation missing in model
       10018  +
                               /* ServerBuilderGenerator.kt:343 */
       10019  +
        pub fn byte_in_query(mut self, input: ::std::option::Option<i8>) -> Self {
       10020  +
            /* ServerBuilderGenerator.kt:344 */
       10021  +
            self.byte_in_query =
       10022  +
                /* ServerBuilderGenerator.kt:376 */input
       10023  +
            /* ServerBuilderGenerator.kt:344 */;
       10024  +
            self
       10025  +
            /* ServerBuilderGenerator.kt:343 */
       10026  +
        }
       10027  +
        /* ServerBuilderGenerator.kt:426 */
       10028  +
        #[allow(missing_docs)] // documentation missing in model
       10029  +
                               /* ServerBuilderGenerator.kt:428 */
       10030  +
        pub(crate) fn set_byte_in_query(
       10031  +
            mut self,
       10032  +
            input: Option<impl ::std::convert::Into<i8>>,
       10033  +
        ) -> Self {
       10034  +
            /* ServerBuilderGenerator.kt:429 */
       10035  +
            self.byte_in_query = input.map(|v| v.into());
       10036  +
            self
       10037  +
            /* ServerBuilderGenerator.kt:428 */
       10038  +
        }
       10039  +
        /* ServerBuilderGenerator.kt:331 */
       10040  +
        #[allow(missing_docs)] // documentation missing in model
       10041  +
                               /* ServerBuilderGenerator.kt:343 */
       10042  +
        pub fn byte_in_header(mut self, input: ::std::option::Option<i8>) -> Self {
       10043  +
            /* ServerBuilderGenerator.kt:344 */
       10044  +
            self.byte_in_header =
       10045  +
                /* ServerBuilderGenerator.kt:376 */input
       10046  +
            /* ServerBuilderGenerator.kt:344 */;
       10047  +
            self
       10048  +
            /* ServerBuilderGenerator.kt:343 */
       10049  +
        }
       10050  +
        /* ServerBuilderGenerator.kt:426 */
       10051  +
        #[allow(missing_docs)] // documentation missing in model
       10052  +
                               /* ServerBuilderGenerator.kt:428 */
       10053  +
        pub(crate) fn set_byte_in_header(
       10054  +
            mut self,
       10055  +
            input: Option<impl ::std::convert::Into<i8>>,
       10056  +
        ) -> Self {
       10057  +
            /* ServerBuilderGenerator.kt:429 */
       10058  +
            self.byte_in_header = input.map(|v| v.into());
       10059  +
            self
       10060  +
            /* ServerBuilderGenerator.kt:428 */
       10061  +
        }
       10062  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedByteInput`](crate::input::MalformedByteInput).
       10063  +
        /// /* ServerBuilderGenerator.kt:260 */
       10064  +
        /// The builder fails to construct a [`MalformedByteInput`](crate::input::MalformedByteInput) if a [`ConstraintViolation`] occurs.
       10065  +
        ///
       10066  +
        /* ServerBuilderGenerator.kt:271 */
       10067  +
        pub fn build(self) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       10068  +
            self.build_enforcing_all_constraints()
       10069  +
        }
       10070  +
        /* ServerBuilderGenerator.kt:283 */
       10071  +
        fn build_enforcing_all_constraints(
       10072  +
            self,
       10073  +
        ) -> Result<crate::input::MalformedByteInput, ConstraintViolation> {
       10074  +
            /* ServerBuilderGenerator.kt:287 */
       10075  +
            Ok(
       10076  +
                /* ServerBuilderGenerator.kt:542 */
       10077  +
                crate::input::MalformedByteInput {
       10078  +
                    /* ServerBuilderGenerator.kt:546 */
       10079  +
                    byte_in_body: self.byte_in_body,
       10080  +
                    /* ServerBuilderGenerator.kt:546 */
       10081  +
                    byte_in_path: self
       10082  +
                        .byte_in_path
       10083  +
                        /* ServerBuilderGenerator.kt:569 */
       10084  +
                        .ok_or(ConstraintViolation::MissingByteInPath)?,
       10085  +
                    /* ServerBuilderGenerator.kt:546 */
       10086  +
                    byte_in_query: self.byte_in_query,
       10087  +
                    /* ServerBuilderGenerator.kt:546 */
       10088  +
                    byte_in_header: self.byte_in_header,
       10089  +
                    /* ServerBuilderGenerator.kt:542 */
       10090  +
                }, /* ServerBuilderGenerator.kt:287 */
       10091  +
            )
       10092  +
            /* ServerBuilderGenerator.kt:283 */
       10093  +
        }
       10094  +
        /* ServerBuilderGenerator.kt:215 */
       10095  +
    }
       10096  +
       10097  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10098  +
}
       10099  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       10100  +
pub mod malformed_blob_input {
       10101  +
       10102  +
    /* ServerBuilderGenerator.kt:461 */
       10103  +
    impl ::std::convert::From<Builder> for crate::input::MalformedBlobInput {
       10104  +
        fn from(builder: Builder) -> Self {
       10105  +
            builder.build()
       10106  +
        }
       10107  +
    }
       10108  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       10109  +
    /* RustType.kt:534 */
       10110  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10111  +
    /* ServerBuilderGenerator.kt:211 */
       10112  +
    pub struct Builder {
       10113  +
        /* ServerBuilderGenerator.kt:308 */
       10114  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
       10115  +
        /* ServerBuilderGenerator.kt:211 */
       10116  +
    }
       10117  +
    /* ServerBuilderGenerator.kt:215 */
       10118  +
    impl Builder {
       10119  +
        /* ServerBuilderGenerator.kt:331 */
       10120  +
        #[allow(missing_docs)] // documentation missing in model
       10121  +
                               /* ServerBuilderGenerator.kt:343 */
       10122  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       10123  +
            /* ServerBuilderGenerator.kt:344 */
       10124  +
            self.blob =
       10125  +
                /* ServerBuilderGenerator.kt:376 */input
       10126  +
            /* ServerBuilderGenerator.kt:344 */;
       10127  +
            self
       10128  +
            /* ServerBuilderGenerator.kt:343 */
       10129  +
        }
       10130  +
        /* ServerBuilderGenerator.kt:426 */
       10131  +
        #[allow(missing_docs)] // documentation missing in model
       10132  +
                               /* ServerBuilderGenerator.kt:428 */
       10133  +
        pub(crate) fn set_blob(
       10134  +
            mut self,
       10135  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       10136  +
        ) -> Self {
       10137  +
            /* ServerBuilderGenerator.kt:429 */
       10138  +
            self.blob = input.map(|v| v.into());
       10139  +
            self
       10140  +
            /* ServerBuilderGenerator.kt:428 */
       10141  +
        }
       10142  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedBlobInput`](crate::input::MalformedBlobInput).
       10143  +
        /* ServerBuilderGenerator.kt:271 */
       10144  +
        pub fn build(self) -> crate::input::MalformedBlobInput {
       10145  +
            self.build_enforcing_all_constraints()
       10146  +
        }
       10147  +
        /* ServerBuilderGenerator.kt:283 */
       10148  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedBlobInput {
       10149  +
            /* ServerBuilderGenerator.kt:542 */
       10150  +
            crate::input::MalformedBlobInput {
       10151  +
                /* ServerBuilderGenerator.kt:546 */
       10152  +
                blob: self.blob,
       10153  +
                /* ServerBuilderGenerator.kt:542 */
       10154  +
            }
       10155  +
            /* ServerBuilderGenerator.kt:283 */
       10156  +
        }
       10157  +
        /* ServerBuilderGenerator.kt:215 */
       10158  +
    }
       10159  +
       10160  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10161  +
}
       10162  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedMapInput`](crate::input::MalformedMapInput).
       10163  +
pub mod malformed_map_input {
       10164  +
       10165  +
    /* ServerBuilderGenerator.kt:461 */
       10166  +
    impl ::std::convert::From<Builder> for crate::input::MalformedMapInput {
       10167  +
        fn from(builder: Builder) -> Self {
       10168  +
            builder.build()
       10169  +
        }
       10170  +
    }
       10171  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedMapInput`](crate::input::MalformedMapInput).
       10172  +
    /* RustType.kt:534 */
       10173  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10174  +
    /* ServerBuilderGenerator.kt:211 */
       10175  +
    pub struct Builder {
       10176  +
        /* ServerBuilderGenerator.kt:308 */
       10177  +
        pub(crate) body_map: ::std::option::Option<
       10178  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10179  +
        >,
       10180  +
        /* ServerBuilderGenerator.kt:211 */
       10181  +
    }
       10182  +
    /* ServerBuilderGenerator.kt:215 */
       10183  +
    impl Builder {
       10184  +
        /* ServerBuilderGenerator.kt:331 */
       10185  +
        #[allow(missing_docs)] // documentation missing in model
       10186  +
                               /* ServerBuilderGenerator.kt:343 */
       10187  +
        pub fn body_map(
       10188  +
            mut self,
       10189  +
            input: ::std::option::Option<
       10190  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10191  +
            >,
       10192  +
        ) -> Self {
       10193  +
            /* ServerBuilderGenerator.kt:344 */
       10194  +
            self.body_map =
       10195  +
                /* ServerBuilderGenerator.kt:376 */input
       10196  +
            /* ServerBuilderGenerator.kt:344 */;
       10197  +
            self
       10198  +
            /* ServerBuilderGenerator.kt:343 */
       10199  +
        }
       10200  +
        /* ServerBuilderGenerator.kt:426 */
       10201  +
        #[allow(missing_docs)] // documentation missing in model
       10202  +
                               /* ServerBuilderGenerator.kt:428 */
       10203  +
        pub(crate) fn set_body_map(
       10204  +
            mut self,
       10205  +
            input: Option<
       10206  +
                impl ::std::convert::Into<
       10207  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       10208  +
                >,
       10209  +
            >,
       10210  +
        ) -> Self {
       10211  +
            /* ServerBuilderGenerator.kt:429 */
       10212  +
            self.body_map = input.map(|v| v.into());
       10213  +
            self
       10214  +
            /* ServerBuilderGenerator.kt:428 */
       10215  +
        }
       10216  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedMapInput`](crate::input::MalformedMapInput).
       10217  +
        /* ServerBuilderGenerator.kt:271 */
       10218  +
        pub fn build(self) -> crate::input::MalformedMapInput {
       10219  +
            self.build_enforcing_all_constraints()
       10220  +
        }
       10221  +
        /* ServerBuilderGenerator.kt:283 */
       10222  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedMapInput {
       10223  +
            /* ServerBuilderGenerator.kt:542 */
       10224  +
            crate::input::MalformedMapInput {
       10225  +
                /* ServerBuilderGenerator.kt:546 */
       10226  +
                body_map: self.body_map,
       10227  +
                /* ServerBuilderGenerator.kt:542 */
       10228  +
            }
       10229  +
            /* ServerBuilderGenerator.kt:283 */
       10230  +
        }
       10231  +
        /* ServerBuilderGenerator.kt:215 */
       10232  +
    }
       10233  +
       10234  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10235  +
}
       10236  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedListInput`](crate::input::MalformedListInput).
       10237  +
pub mod malformed_list_input {
       10238  +
       10239  +
    /* ServerBuilderGenerator.kt:461 */
       10240  +
    impl ::std::convert::From<Builder> for crate::input::MalformedListInput {
       10241  +
        fn from(builder: Builder) -> Self {
       10242  +
            builder.build()
       10243  +
        }
       10244  +
    }
       10245  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedListInput`](crate::input::MalformedListInput).
       10246  +
    /* RustType.kt:534 */
       10247  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10248  +
    /* ServerBuilderGenerator.kt:211 */
       10249  +
    pub struct Builder {
       10250  +
        /* ServerBuilderGenerator.kt:308 */
       10251  +
        pub(crate) body_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       10252  +
        /* ServerBuilderGenerator.kt:211 */
       10253  +
    }
       10254  +
    /* ServerBuilderGenerator.kt:215 */
       10255  +
    impl Builder {
       10256  +
        /* ServerBuilderGenerator.kt:331 */
       10257  +
        #[allow(missing_docs)] // documentation missing in model
       10258  +
                               /* ServerBuilderGenerator.kt:343 */
       10259  +
        pub fn body_list(
       10260  +
            mut self,
       10261  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       10262  +
        ) -> Self {
       10263  +
            /* ServerBuilderGenerator.kt:344 */
       10264  +
            self.body_list =
       10265  +
                /* ServerBuilderGenerator.kt:376 */input
       10266  +
            /* ServerBuilderGenerator.kt:344 */;
       10267  +
            self
       10268  +
            /* ServerBuilderGenerator.kt:343 */
       10269  +
        }
       10270  +
        /* ServerBuilderGenerator.kt:426 */
       10271  +
        #[allow(missing_docs)] // documentation missing in model
       10272  +
                               /* ServerBuilderGenerator.kt:428 */
       10273  +
        pub(crate) fn set_body_list(
       10274  +
            mut self,
       10275  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       10276  +
        ) -> Self {
       10277  +
            /* ServerBuilderGenerator.kt:429 */
       10278  +
            self.body_list = input.map(|v| v.into());
       10279  +
            self
       10280  +
            /* ServerBuilderGenerator.kt:428 */
       10281  +
        }
       10282  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedListInput`](crate::input::MalformedListInput).
       10283  +
        /* ServerBuilderGenerator.kt:271 */
       10284  +
        pub fn build(self) -> crate::input::MalformedListInput {
       10285  +
            self.build_enforcing_all_constraints()
       10286  +
        }
       10287  +
        /* ServerBuilderGenerator.kt:283 */
       10288  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedListInput {
       10289  +
            /* ServerBuilderGenerator.kt:542 */
       10290  +
            crate::input::MalformedListInput {
       10291  +
                /* ServerBuilderGenerator.kt:546 */
       10292  +
                body_list: self.body_list,
       10293  +
                /* ServerBuilderGenerator.kt:542 */
       10294  +
            }
       10295  +
            /* ServerBuilderGenerator.kt:283 */
       10296  +
        }
       10297  +
        /* ServerBuilderGenerator.kt:215 */
       10298  +
    }
       10299  +
       10300  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10301  +
}
       10302  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       10303  +
pub mod malformed_boolean_input {
       10304  +
       10305  +
    /* RustType.kt:534 */
       10306  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       10307  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       10308  +
    /* RustType.kt:534 */
       10309  +
    #[non_exhaustive]
       10310  +
    /* ServerBuilderConstraintViolations.kt:75 */
       10311  +
    #[allow(clippy::enum_variant_names)]
       10312  +
    pub enum ConstraintViolation {
       10313  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
       10314  +
        /* ServerBuilderConstraintViolations.kt:144 */
       10315  +
        MissingBooleanInPath,
       10316  +
        /* ServerBuilderConstraintViolations.kt:75 */
       10317  +
    }
       10318  +
    /* ServerBuilderConstraintViolations.kt:116 */
       10319  +
    impl ::std::fmt::Display for ConstraintViolation {
       10320  +
        /* ServerBuilderConstraintViolations.kt:117 */
       10321  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       10322  +
            /* ServerBuilderConstraintViolations.kt:118 */
       10323  +
            match self {
       10324  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
       10325  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       10326  +
            /* ServerBuilderConstraintViolations.kt:117 */
       10327  +
        }
       10328  +
        /* ServerBuilderConstraintViolations.kt:116 */
       10329  +
    }
       10330  +
    /* ServerBuilderConstraintViolations.kt:83 */
       10331  +
    impl ::std::error::Error for ConstraintViolation {}
       10332  +
    /* ServerBuilderConstraintViolations.kt:172 */
       10333  +
    impl ConstraintViolation {
       10334  +
        pub(crate) fn as_validation_exception_field(
       10335  +
            self,
       10336  +
            path: ::std::string::String,
       10337  +
        ) -> crate::model::ValidationExceptionField {
       10338  +
            match self {
       10339  +
            ConstraintViolation::MissingBooleanInPath => crate::model::ValidationExceptionField {
       10340  +
                                                message: format!("Value at '{}/booleanInPath' failed to satisfy constraint: Member must not be null", path),
       10341  +
                                                path: path + "/booleanInPath",
       10342  +
                                            },
       10343  +
        }
       10344  +
        }
       10345  +
    }
       10346  +
    /* ServerBuilderGenerator.kt:234 */
       10347  +
    impl ::std::convert::From<ConstraintViolation>
       10348  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       10349  +
    {
       10350  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       10351  +
            let first_validation_exception_field =
       10352  +
                constraint_violation.as_validation_exception_field("".to_owned());
       10353  +
            let validation_exception = crate::error::ValidationException {
       10354  +
                message: format!(
       10355  +
                    "1 validation error detected. {}",
       10356  +
                    &first_validation_exception_field.message
       10357  +
                ),
       10358  +
                field_list: Some(vec![first_validation_exception_field]),
       10359  +
            };
       10360  +
            Self::ConstraintViolation(
       10361  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       10362  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       10363  +
                            )
       10364  +
        }
       10365  +
    }
       10366  +
    /* ServerBuilderGenerator.kt:244 */
       10367  +
    impl ::std::convert::From<Builder>
       10368  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedBooleanInput>
       10369  +
    {
       10370  +
        fn from(builder: Builder) -> Self {
       10371  +
            Self::Unconstrained(builder)
       10372  +
        }
       10373  +
    }
       10374  +
    /* ServerBuilderGenerator.kt:446 */
       10375  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedBooleanInput {
       10376  +
        type Error = ConstraintViolation;
       10377  +
       10378  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       10379  +
            builder.build()
       10380  +
        }
       10381  +
    }
       10382  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       10383  +
    /* RustType.kt:534 */
       10384  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10385  +
    /* ServerBuilderGenerator.kt:211 */
       10386  +
    pub struct Builder {
       10387  +
        /* ServerBuilderGenerator.kt:308 */
       10388  +
        pub(crate) boolean_in_body: ::std::option::Option<bool>,
       10389  +
        /* ServerBuilderGenerator.kt:308 */
       10390  +
        pub(crate) boolean_in_path: ::std::option::Option<bool>,
       10391  +
        /* ServerBuilderGenerator.kt:308 */
       10392  +
        pub(crate) boolean_in_query: ::std::option::Option<bool>,
       10393  +
        /* ServerBuilderGenerator.kt:308 */
       10394  +
        pub(crate) boolean_in_header: ::std::option::Option<bool>,
       10395  +
        /* ServerBuilderGenerator.kt:211 */
       10396  +
    }
       10397  +
    /* ServerBuilderGenerator.kt:215 */
       10398  +
    impl Builder {
       10399  +
        /* ServerBuilderGenerator.kt:331 */
       10400  +
        #[allow(missing_docs)] // documentation missing in model
       10401  +
                               /* ServerBuilderGenerator.kt:343 */
       10402  +
        pub fn boolean_in_body(mut self, input: ::std::option::Option<bool>) -> Self {
       10403  +
            /* ServerBuilderGenerator.kt:344 */
       10404  +
            self.boolean_in_body =
       10405  +
                /* ServerBuilderGenerator.kt:376 */input
       10406  +
            /* ServerBuilderGenerator.kt:344 */;
       10407  +
            self
       10408  +
            /* ServerBuilderGenerator.kt:343 */
       10409  +
        }
       10410  +
        /* ServerBuilderGenerator.kt:426 */
       10411  +
        #[allow(missing_docs)] // documentation missing in model
       10412  +
                               /* ServerBuilderGenerator.kt:428 */
       10413  +
        pub(crate) fn set_boolean_in_body(
       10414  +
            mut self,
       10415  +
            input: Option<impl ::std::convert::Into<bool>>,
       10416  +
        ) -> Self {
       10417  +
            /* ServerBuilderGenerator.kt:429 */
       10418  +
            self.boolean_in_body = input.map(|v| v.into());
       10419  +
            self
       10420  +
            /* ServerBuilderGenerator.kt:428 */
       10421  +
        }
       10422  +
        /* ServerBuilderGenerator.kt:331 */
       10423  +
        #[allow(missing_docs)] // documentation missing in model
       10424  +
                               /* ServerBuilderGenerator.kt:343 */
       10425  +
        pub fn boolean_in_path(mut self, input: bool) -> Self {
       10426  +
            /* ServerBuilderGenerator.kt:344 */
       10427  +
            self.boolean_in_path =
       10428  +
                /* ServerBuilderGenerator.kt:345 */Some(
       10429  +
                    /* ServerBuilderGenerator.kt:376 */input
       10430  +
                /* ServerBuilderGenerator.kt:345 */)
       10431  +
            /* ServerBuilderGenerator.kt:344 */;
       10432  +
            self
       10433  +
            /* ServerBuilderGenerator.kt:343 */
       10434  +
        }
       10435  +
        /* ServerBuilderGenerator.kt:426 */
       10436  +
        #[allow(missing_docs)] // documentation missing in model
       10437  +
                               /* ServerBuilderGenerator.kt:428 */
       10438  +
        pub(crate) fn set_boolean_in_path(
       10439  +
            mut self,
       10440  +
            input: impl ::std::convert::Into<bool>,
       10441  +
        ) -> Self {
       10442  +
            /* ServerBuilderGenerator.kt:429 */
       10443  +
            self.boolean_in_path = Some(input.into());
       10444  +
            self
       10445  +
            /* ServerBuilderGenerator.kt:428 */
       10446  +
        }
       10447  +
        /* ServerBuilderGenerator.kt:331 */
       10448  +
        #[allow(missing_docs)] // documentation missing in model
       10449  +
                               /* ServerBuilderGenerator.kt:343 */
       10450  +
        pub fn boolean_in_query(mut self, input: ::std::option::Option<bool>) -> Self {
       10451  +
            /* ServerBuilderGenerator.kt:344 */
       10452  +
            self.boolean_in_query =
       10453  +
                /* ServerBuilderGenerator.kt:376 */input
       10454  +
            /* ServerBuilderGenerator.kt:344 */;
       10455  +
            self
       10456  +
            /* ServerBuilderGenerator.kt:343 */
       10457  +
        }
       10458  +
        /* ServerBuilderGenerator.kt:426 */
       10459  +
        #[allow(missing_docs)] // documentation missing in model
       10460  +
                               /* ServerBuilderGenerator.kt:428 */
       10461  +
        pub(crate) fn set_boolean_in_query(
       10462  +
            mut self,
       10463  +
            input: Option<impl ::std::convert::Into<bool>>,
       10464  +
        ) -> Self {
       10465  +
            /* ServerBuilderGenerator.kt:429 */
       10466  +
            self.boolean_in_query = input.map(|v| v.into());
       10467  +
            self
       10468  +
            /* ServerBuilderGenerator.kt:428 */
       10469  +
        }
       10470  +
        /* ServerBuilderGenerator.kt:331 */
       10471  +
        #[allow(missing_docs)] // documentation missing in model
       10472  +
                               /* ServerBuilderGenerator.kt:343 */
       10473  +
        pub fn boolean_in_header(mut self, input: ::std::option::Option<bool>) -> Self {
       10474  +
            /* ServerBuilderGenerator.kt:344 */
       10475  +
            self.boolean_in_header =
       10476  +
                /* ServerBuilderGenerator.kt:376 */input
       10477  +
            /* ServerBuilderGenerator.kt:344 */;
       10478  +
            self
       10479  +
            /* ServerBuilderGenerator.kt:343 */
       10480  +
        }
       10481  +
        /* ServerBuilderGenerator.kt:426 */
       10482  +
        #[allow(missing_docs)] // documentation missing in model
       10483  +
                               /* ServerBuilderGenerator.kt:428 */
       10484  +
        pub(crate) fn set_boolean_in_header(
       10485  +
            mut self,
       10486  +
            input: Option<impl ::std::convert::Into<bool>>,
       10487  +
        ) -> Self {
       10488  +
            /* ServerBuilderGenerator.kt:429 */
       10489  +
            self.boolean_in_header = input.map(|v| v.into());
       10490  +
            self
       10491  +
            /* ServerBuilderGenerator.kt:428 */
       10492  +
        }
       10493  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
       10494  +
        /// /* ServerBuilderGenerator.kt:260 */
       10495  +
        /// The builder fails to construct a [`MalformedBooleanInput`](crate::input::MalformedBooleanInput) if a [`ConstraintViolation`] occurs.
       10496  +
        ///
       10497  +
        /* ServerBuilderGenerator.kt:271 */
       10498  +
        pub fn build(self) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       10499  +
            self.build_enforcing_all_constraints()
       10500  +
        }
       10501  +
        /* ServerBuilderGenerator.kt:283 */
       10502  +
        fn build_enforcing_all_constraints(
       10503  +
            self,
       10504  +
        ) -> Result<crate::input::MalformedBooleanInput, ConstraintViolation> {
       10505  +
            /* ServerBuilderGenerator.kt:287 */
       10506  +
            Ok(
       10507  +
                /* ServerBuilderGenerator.kt:542 */
       10508  +
                crate::input::MalformedBooleanInput {
       10509  +
                    /* ServerBuilderGenerator.kt:546 */
       10510  +
                    boolean_in_body: self.boolean_in_body,
       10511  +
                    /* ServerBuilderGenerator.kt:546 */
       10512  +
                    boolean_in_path: self
       10513  +
                        .boolean_in_path
       10514  +
                        /* ServerBuilderGenerator.kt:569 */
       10515  +
                        .ok_or(ConstraintViolation::MissingBooleanInPath)?,
       10516  +
                    /* ServerBuilderGenerator.kt:546 */
       10517  +
                    boolean_in_query: self.boolean_in_query,
       10518  +
                    /* ServerBuilderGenerator.kt:546 */
       10519  +
                    boolean_in_header: self.boolean_in_header,
       10520  +
                    /* ServerBuilderGenerator.kt:542 */
       10521  +
                }, /* ServerBuilderGenerator.kt:287 */
       10522  +
            )
       10523  +
            /* ServerBuilderGenerator.kt:283 */
       10524  +
        }
       10525  +
        /* ServerBuilderGenerator.kt:215 */
       10526  +
    }
       10527  +
       10528  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10529  +
}
       10530  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       10531  +
pub mod malformed_union_input {
       10532  +
       10533  +
    /* ServerBuilderGenerator.kt:461 */
       10534  +
    impl ::std::convert::From<Builder> for crate::input::MalformedUnionInput {
       10535  +
        fn from(builder: Builder) -> Self {
       10536  +
            builder.build()
       10537  +
        }
       10538  +
    }
       10539  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       10540  +
    /* RustType.kt:534 */
       10541  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10542  +
    /* ServerBuilderGenerator.kt:211 */
       10543  +
    pub struct Builder {
       10544  +
        /* ServerBuilderGenerator.kt:308 */
       10545  +
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
       10546  +
        /* ServerBuilderGenerator.kt:211 */
       10547  +
    }
       10548  +
    /* ServerBuilderGenerator.kt:215 */
       10549  +
    impl Builder {
       10550  +
        /* ServerBuilderGenerator.kt:331 */
       10551  +
        #[allow(missing_docs)] // documentation missing in model
       10552  +
                               /* ServerBuilderGenerator.kt:343 */
       10553  +
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
       10554  +
            /* ServerBuilderGenerator.kt:344 */
       10555  +
            self.union =
       10556  +
                /* ServerBuilderGenerator.kt:376 */input
       10557  +
            /* ServerBuilderGenerator.kt:344 */;
       10558  +
            self
       10559  +
            /* ServerBuilderGenerator.kt:343 */
       10560  +
        }
       10561  +
        /* ServerBuilderGenerator.kt:426 */
       10562  +
        #[allow(missing_docs)] // documentation missing in model
       10563  +
                               /* ServerBuilderGenerator.kt:428 */
       10564  +
        pub(crate) fn set_union(
       10565  +
            mut self,
       10566  +
            input: Option<impl ::std::convert::Into<crate::model::SimpleUnion>>,
       10567  +
        ) -> Self {
       10568  +
            /* ServerBuilderGenerator.kt:429 */
       10569  +
            self.union = input.map(|v| v.into());
       10570  +
            self
       10571  +
            /* ServerBuilderGenerator.kt:428 */
       10572  +
        }
       10573  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedUnionInput`](crate::input::MalformedUnionInput).
       10574  +
        /* ServerBuilderGenerator.kt:271 */
       10575  +
        pub fn build(self) -> crate::input::MalformedUnionInput {
       10576  +
            self.build_enforcing_all_constraints()
       10577  +
        }
       10578  +
        /* ServerBuilderGenerator.kt:283 */
       10579  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedUnionInput {
       10580  +
            /* ServerBuilderGenerator.kt:542 */
       10581  +
            crate::input::MalformedUnionInput {
       10582  +
                /* ServerBuilderGenerator.kt:546 */
       10583  +
                union: self.union,
       10584  +
                /* ServerBuilderGenerator.kt:542 */
       10585  +
            }
       10586  +
            /* ServerBuilderGenerator.kt:283 */
       10587  +
        }
       10588  +
        /* ServerBuilderGenerator.kt:215 */
       10589  +
    }
       10590  +
       10591  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10592  +
}
       10593  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       10594  +
pub mod malformed_integer_input {
       10595  +
       10596  +
    /* RustType.kt:534 */
       10597  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       10598  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       10599  +
    /* RustType.kt:534 */
       10600  +
    #[non_exhaustive]
       10601  +
    /* ServerBuilderConstraintViolations.kt:75 */
       10602  +
    #[allow(clippy::enum_variant_names)]
       10603  +
    pub enum ConstraintViolation {
       10604  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
       10605  +
        /* ServerBuilderConstraintViolations.kt:144 */
       10606  +
        MissingIntegerInPath,
       10607  +
        /* ServerBuilderConstraintViolations.kt:75 */
       10608  +
    }
       10609  +
    /* ServerBuilderConstraintViolations.kt:116 */
       10610  +
    impl ::std::fmt::Display for ConstraintViolation {
       10611  +
        /* ServerBuilderConstraintViolations.kt:117 */
       10612  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       10613  +
            /* ServerBuilderConstraintViolations.kt:118 */
       10614  +
            match self {
       10615  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
       10616  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       10617  +
            /* ServerBuilderConstraintViolations.kt:117 */
       10618  +
        }
       10619  +
        /* ServerBuilderConstraintViolations.kt:116 */
       10620  +
    }
       10621  +
    /* ServerBuilderConstraintViolations.kt:83 */
       10622  +
    impl ::std::error::Error for ConstraintViolation {}
       10623  +
    /* ServerBuilderConstraintViolations.kt:172 */
       10624  +
    impl ConstraintViolation {
       10625  +
        pub(crate) fn as_validation_exception_field(
       10626  +
            self,
       10627  +
            path: ::std::string::String,
       10628  +
        ) -> crate::model::ValidationExceptionField {
       10629  +
            match self {
       10630  +
            ConstraintViolation::MissingIntegerInPath => crate::model::ValidationExceptionField {
       10631  +
                                                message: format!("Value at '{}/integerInPath' failed to satisfy constraint: Member must not be null", path),
       10632  +
                                                path: path + "/integerInPath",
       10633  +
                                            },
       10634  +
        }
       10635  +
        }
       10636  +
    }
       10637  +
    /* ServerBuilderGenerator.kt:234 */
       10638  +
    impl ::std::convert::From<ConstraintViolation>
       10639  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       10640  +
    {
       10641  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       10642  +
            let first_validation_exception_field =
       10643  +
                constraint_violation.as_validation_exception_field("".to_owned());
       10644  +
            let validation_exception = crate::error::ValidationException {
       10645  +
                message: format!(
       10646  +
                    "1 validation error detected. {}",
       10647  +
                    &first_validation_exception_field.message
       10648  +
                ),
       10649  +
                field_list: Some(vec![first_validation_exception_field]),
       10650  +
            };
       10651  +
            Self::ConstraintViolation(
       10652  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       10653  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       10654  +
                            )
       10655  +
        }
       10656  +
    }
       10657  +
    /* ServerBuilderGenerator.kt:244 */
       10658  +
    impl ::std::convert::From<Builder>
       10659  +
        for crate::constrained::MaybeConstrained<crate::input::MalformedIntegerInput>
       10660  +
    {
       10661  +
        fn from(builder: Builder) -> Self {
       10662  +
            Self::Unconstrained(builder)
       10663  +
        }
       10664  +
    }
       10665  +
    /* ServerBuilderGenerator.kt:446 */
       10666  +
    impl ::std::convert::TryFrom<Builder> for crate::input::MalformedIntegerInput {
       10667  +
        type Error = ConstraintViolation;
       10668  +
       10669  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       10670  +
            builder.build()
       10671  +
        }
       10672  +
    }
       10673  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       10674  +
    /* RustType.kt:534 */
       10675  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10676  +
    /* ServerBuilderGenerator.kt:211 */
       10677  +
    pub struct Builder {
       10678  +
        /* ServerBuilderGenerator.kt:308 */
       10679  +
        pub(crate) integer_in_body: ::std::option::Option<i32>,
       10680  +
        /* ServerBuilderGenerator.kt:308 */
       10681  +
        pub(crate) integer_in_path: ::std::option::Option<i32>,
       10682  +
        /* ServerBuilderGenerator.kt:308 */
       10683  +
        pub(crate) integer_in_query: ::std::option::Option<i32>,
       10684  +
        /* ServerBuilderGenerator.kt:308 */
       10685  +
        pub(crate) integer_in_header: ::std::option::Option<i32>,
       10686  +
        /* ServerBuilderGenerator.kt:211 */
       10687  +
    }
       10688  +
    /* ServerBuilderGenerator.kt:215 */
       10689  +
    impl Builder {
       10690  +
        /* ServerBuilderGenerator.kt:331 */
       10691  +
        #[allow(missing_docs)] // documentation missing in model
       10692  +
                               /* ServerBuilderGenerator.kt:343 */
       10693  +
        pub fn integer_in_body(mut self, input: ::std::option::Option<i32>) -> Self {
       10694  +
            /* ServerBuilderGenerator.kt:344 */
       10695  +
            self.integer_in_body =
       10696  +
                /* ServerBuilderGenerator.kt:376 */input
       10697  +
            /* ServerBuilderGenerator.kt:344 */;
       10698  +
            self
       10699  +
            /* ServerBuilderGenerator.kt:343 */
       10700  +
        }
       10701  +
        /* ServerBuilderGenerator.kt:426 */
       10702  +
        #[allow(missing_docs)] // documentation missing in model
       10703  +
                               /* ServerBuilderGenerator.kt:428 */
       10704  +
        pub(crate) fn set_integer_in_body(
       10705  +
            mut self,
       10706  +
            input: Option<impl ::std::convert::Into<i32>>,
       10707  +
        ) -> Self {
       10708  +
            /* ServerBuilderGenerator.kt:429 */
       10709  +
            self.integer_in_body = input.map(|v| v.into());
       10710  +
            self
       10711  +
            /* ServerBuilderGenerator.kt:428 */
       10712  +
        }
       10713  +
        /* ServerBuilderGenerator.kt:331 */
       10714  +
        #[allow(missing_docs)] // documentation missing in model
       10715  +
                               /* ServerBuilderGenerator.kt:343 */
       10716  +
        pub fn integer_in_path(mut self, input: i32) -> Self {
       10717  +
            /* ServerBuilderGenerator.kt:344 */
       10718  +
            self.integer_in_path =
       10719  +
                /* ServerBuilderGenerator.kt:345 */Some(
       10720  +
                    /* ServerBuilderGenerator.kt:376 */input
       10721  +
                /* ServerBuilderGenerator.kt:345 */)
       10722  +
            /* ServerBuilderGenerator.kt:344 */;
       10723  +
            self
       10724  +
            /* ServerBuilderGenerator.kt:343 */
       10725  +
        }
       10726  +
        /* ServerBuilderGenerator.kt:426 */
       10727  +
        #[allow(missing_docs)] // documentation missing in model
       10728  +
                               /* ServerBuilderGenerator.kt:428 */
       10729  +
        pub(crate) fn set_integer_in_path(mut self, input: impl ::std::convert::Into<i32>) -> Self {
       10730  +
            /* ServerBuilderGenerator.kt:429 */
       10731  +
            self.integer_in_path = Some(input.into());
       10732  +
            self
       10733  +
            /* ServerBuilderGenerator.kt:428 */
       10734  +
        }
       10735  +
        /* ServerBuilderGenerator.kt:331 */
       10736  +
        #[allow(missing_docs)] // documentation missing in model
       10737  +
                               /* ServerBuilderGenerator.kt:343 */
       10738  +
        pub fn integer_in_query(mut self, input: ::std::option::Option<i32>) -> Self {
       10739  +
            /* ServerBuilderGenerator.kt:344 */
       10740  +
            self.integer_in_query =
       10741  +
                /* ServerBuilderGenerator.kt:376 */input
       10742  +
            /* ServerBuilderGenerator.kt:344 */;
       10743  +
            self
       10744  +
            /* ServerBuilderGenerator.kt:343 */
       10745  +
        }
       10746  +
        /* ServerBuilderGenerator.kt:426 */
       10747  +
        #[allow(missing_docs)] // documentation missing in model
       10748  +
                               /* ServerBuilderGenerator.kt:428 */
       10749  +
        pub(crate) fn set_integer_in_query(
       10750  +
            mut self,
       10751  +
            input: Option<impl ::std::convert::Into<i32>>,
       10752  +
        ) -> Self {
       10753  +
            /* ServerBuilderGenerator.kt:429 */
       10754  +
            self.integer_in_query = input.map(|v| v.into());
       10755  +
            self
       10756  +
            /* ServerBuilderGenerator.kt:428 */
       10757  +
        }
       10758  +
        /* ServerBuilderGenerator.kt:331 */
       10759  +
        #[allow(missing_docs)] // documentation missing in model
       10760  +
                               /* ServerBuilderGenerator.kt:343 */
       10761  +
        pub fn integer_in_header(mut self, input: ::std::option::Option<i32>) -> Self {
       10762  +
            /* ServerBuilderGenerator.kt:344 */
       10763  +
            self.integer_in_header =
       10764  +
                /* ServerBuilderGenerator.kt:376 */input
       10765  +
            /* ServerBuilderGenerator.kt:344 */;
       10766  +
            self
       10767  +
            /* ServerBuilderGenerator.kt:343 */
       10768  +
        }
       10769  +
        /* ServerBuilderGenerator.kt:426 */
       10770  +
        #[allow(missing_docs)] // documentation missing in model
       10771  +
                               /* ServerBuilderGenerator.kt:428 */
       10772  +
        pub(crate) fn set_integer_in_header(
       10773  +
            mut self,
       10774  +
            input: Option<impl ::std::convert::Into<i32>>,
       10775  +
        ) -> Self {
       10776  +
            /* ServerBuilderGenerator.kt:429 */
       10777  +
            self.integer_in_header = input.map(|v| v.into());
       10778  +
            self
       10779  +
            /* ServerBuilderGenerator.kt:428 */
       10780  +
        }
       10781  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
       10782  +
        /// /* ServerBuilderGenerator.kt:260 */
       10783  +
        /// The builder fails to construct a [`MalformedIntegerInput`](crate::input::MalformedIntegerInput) if a [`ConstraintViolation`] occurs.
       10784  +
        ///
       10785  +
        /* ServerBuilderGenerator.kt:271 */
       10786  +
        pub fn build(self) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       10787  +
            self.build_enforcing_all_constraints()
       10788  +
        }
       10789  +
        /* ServerBuilderGenerator.kt:283 */
       10790  +
        fn build_enforcing_all_constraints(
       10791  +
            self,
       10792  +
        ) -> Result<crate::input::MalformedIntegerInput, ConstraintViolation> {
       10793  +
            /* ServerBuilderGenerator.kt:287 */
       10794  +
            Ok(
       10795  +
                /* ServerBuilderGenerator.kt:542 */
       10796  +
                crate::input::MalformedIntegerInput {
       10797  +
                    /* ServerBuilderGenerator.kt:546 */
       10798  +
                    integer_in_body: self.integer_in_body,
       10799  +
                    /* ServerBuilderGenerator.kt:546 */
       10800  +
                    integer_in_path: self
       10801  +
                        .integer_in_path
       10802  +
                        /* ServerBuilderGenerator.kt:569 */
       10803  +
                        .ok_or(ConstraintViolation::MissingIntegerInPath)?,
       10804  +
                    /* ServerBuilderGenerator.kt:546 */
       10805  +
                    integer_in_query: self.integer_in_query,
       10806  +
                    /* ServerBuilderGenerator.kt:546 */
       10807  +
                    integer_in_header: self.integer_in_header,
       10808  +
                    /* ServerBuilderGenerator.kt:542 */
       10809  +
                }, /* ServerBuilderGenerator.kt:287 */
       10810  +
            )
       10811  +
            /* ServerBuilderGenerator.kt:283 */
       10812  +
        }
       10813  +
        /* ServerBuilderGenerator.kt:215 */
       10814  +
    }
       10815  +
       10816  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10817  +
}
       10818  +
/// /* ServerBuilderGenerator.kt:171 */See [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       10819  +
pub mod malformed_request_body_input {
       10820  +
       10821  +
    /* ServerBuilderGenerator.kt:461 */
       10822  +
    impl ::std::convert::From<Builder> for crate::input::MalformedRequestBodyInput {
       10823  +
        fn from(builder: Builder) -> Self {
       10824  +
            builder.build()
       10825  +
        }
       10826  +
    }
       10827  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       10828  +
    /* RustType.kt:534 */
       10829  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10830  +
    /* ServerBuilderGenerator.kt:211 */
       10831  +
    pub struct Builder {
       10832  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) int: ::std::option::Option<i32>,
       10833  +
        /* ServerBuilderGenerator.kt:308 */
       10834  +
        pub(crate) float: ::std::option::Option<f32>,
       10835  +
        /* ServerBuilderGenerator.kt:211 */
       10836  +
    }
       10837  +
    /* ServerBuilderGenerator.kt:215 */
       10838  +
    impl Builder {
       10839  +
        /* ServerBuilderGenerator.kt:331 */
       10840  +
        #[allow(missing_docs)] // documentation missing in model
       10841  +
                               /* ServerBuilderGenerator.kt:343 */
       10842  +
        pub fn int(mut self, input: ::std::option::Option<i32>) -> Self {
       10843  +
            /* ServerBuilderGenerator.kt:344 */
       10844  +
            self.int =
       10845  +
                /* ServerBuilderGenerator.kt:376 */input
       10846  +
            /* ServerBuilderGenerator.kt:344 */;
       10847  +
            self
       10848  +
            /* ServerBuilderGenerator.kt:343 */
       10849  +
        }
       10850  +
        /* ServerBuilderGenerator.kt:426 */
       10851  +
        #[allow(missing_docs)] // documentation missing in model
       10852  +
                               /* ServerBuilderGenerator.kt:428 */
       10853  +
        pub(crate) fn set_int(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
       10854  +
            /* ServerBuilderGenerator.kt:429 */
       10855  +
            self.int = input.map(|v| v.into());
       10856  +
            self
       10857  +
            /* ServerBuilderGenerator.kt:428 */
       10858  +
        }
       10859  +
        /* ServerBuilderGenerator.kt:331 */
       10860  +
        #[allow(missing_docs)] // documentation missing in model
       10861  +
                               /* ServerBuilderGenerator.kt:343 */
       10862  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
       10863  +
            /* ServerBuilderGenerator.kt:344 */
       10864  +
            self.float =
       10865  +
                /* ServerBuilderGenerator.kt:376 */input
       10866  +
            /* ServerBuilderGenerator.kt:344 */;
       10867  +
            self
       10868  +
            /* ServerBuilderGenerator.kt:343 */
       10869  +
        }
       10870  +
        /* ServerBuilderGenerator.kt:426 */
       10871  +
        #[allow(missing_docs)] // documentation missing in model
       10872  +
                               /* ServerBuilderGenerator.kt:428 */
       10873  +
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
       10874  +
            /* ServerBuilderGenerator.kt:429 */
       10875  +
            self.float = input.map(|v| v.into());
       10876  +
            self
       10877  +
            /* ServerBuilderGenerator.kt:428 */
       10878  +
        }
       10879  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MalformedRequestBodyInput`](crate::input::MalformedRequestBodyInput).
       10880  +
        /* ServerBuilderGenerator.kt:271 */
       10881  +
        pub fn build(self) -> crate::input::MalformedRequestBodyInput {
       10882  +
            self.build_enforcing_all_constraints()
       10883  +
        }
       10884  +
        /* ServerBuilderGenerator.kt:283 */
       10885  +
        fn build_enforcing_all_constraints(self) -> crate::input::MalformedRequestBodyInput {
       10886  +
            /* ServerBuilderGenerator.kt:542 */
       10887  +
            crate::input::MalformedRequestBodyInput {
       10888  +
                /* ServerBuilderGenerator.kt:546 */
       10889  +
                int: self.int,
       10890  +
                /* ServerBuilderGenerator.kt:546 */
       10891  +
                float: self.float,
       10892  +
                /* ServerBuilderGenerator.kt:542 */
       10893  +
            }
       10894  +
            /* ServerBuilderGenerator.kt:283 */
       10895  +
        }
       10896  +
        /* ServerBuilderGenerator.kt:215 */
       10897  +
    }
       10898  +
       10899  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10900  +
}
       10901  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       10902  +
pub mod http_checksum_required_input {
       10903  +
       10904  +
    /* ServerBuilderGenerator.kt:461 */
       10905  +
    impl ::std::convert::From<Builder> for crate::input::HttpChecksumRequiredInput {
       10906  +
        fn from(builder: Builder) -> Self {
       10907  +
            builder.build()
       10908  +
        }
       10909  +
    }
       10910  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       10911  +
    /* RustType.kt:534 */
       10912  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10913  +
    /* ServerBuilderGenerator.kt:211 */
       10914  +
    pub struct Builder {
       10915  +
        /* ServerBuilderGenerator.kt:308 */
       10916  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       10917  +
        /* ServerBuilderGenerator.kt:211 */
       10918  +
    }
       10919  +
    /* ServerBuilderGenerator.kt:215 */
       10920  +
    impl Builder {
       10921  +
        /* ServerBuilderGenerator.kt:331 */
       10922  +
        #[allow(missing_docs)] // documentation missing in model
       10923  +
                               /* ServerBuilderGenerator.kt:343 */
       10924  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       10925  +
            /* ServerBuilderGenerator.kt:344 */
       10926  +
            self.foo =
       10927  +
                /* ServerBuilderGenerator.kt:376 */input
       10928  +
            /* ServerBuilderGenerator.kt:344 */;
       10929  +
            self
       10930  +
            /* ServerBuilderGenerator.kt:343 */
       10931  +
        }
       10932  +
        /* ServerBuilderGenerator.kt:426 */
       10933  +
        #[allow(missing_docs)] // documentation missing in model
       10934  +
                               /* ServerBuilderGenerator.kt:428 */
       10935  +
        pub(crate) fn set_foo(
       10936  +
            mut self,
       10937  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       10938  +
        ) -> Self {
       10939  +
            /* ServerBuilderGenerator.kt:429 */
       10940  +
            self.foo = input.map(|v| v.into());
       10941  +
            self
       10942  +
            /* ServerBuilderGenerator.kt:428 */
       10943  +
        }
       10944  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpChecksumRequiredInput`](crate::input::HttpChecksumRequiredInput).
       10945  +
        /* ServerBuilderGenerator.kt:271 */
       10946  +
        pub fn build(self) -> crate::input::HttpChecksumRequiredInput {
       10947  +
            self.build_enforcing_all_constraints()
       10948  +
        }
       10949  +
        /* ServerBuilderGenerator.kt:283 */
       10950  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpChecksumRequiredInput {
       10951  +
            /* ServerBuilderGenerator.kt:542 */
       10952  +
            crate::input::HttpChecksumRequiredInput {
       10953  +
                /* ServerBuilderGenerator.kt:546 */
       10954  +
                foo: self.foo,
       10955  +
                /* ServerBuilderGenerator.kt:542 */
       10956  +
            }
       10957  +
            /* ServerBuilderGenerator.kt:283 */
       10958  +
        }
       10959  +
        /* ServerBuilderGenerator.kt:215 */
       10960  +
    }
       10961  +
       10962  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10963  +
}
       10964  +
/// /* ServerBuilderGenerator.kt:171 */See [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       10965  +
pub mod host_with_path_operation_input {
       10966  +
       10967  +
    /* ServerBuilderGenerator.kt:461 */
       10968  +
    impl ::std::convert::From<Builder> for crate::input::HostWithPathOperationInput {
       10969  +
        fn from(builder: Builder) -> Self {
       10970  +
            builder.build()
       10971  +
        }
       10972  +
    }
       10973  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       10974  +
    /* RustType.kt:534 */
       10975  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       10976  +
    /* ServerBuilderGenerator.kt:211 */
       10977  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       10978  +
    /* ServerBuilderGenerator.kt:215 */
       10979  +
    impl Builder {
       10980  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput).
       10981  +
        /* ServerBuilderGenerator.kt:271 */
       10982  +
        pub fn build(self) -> crate::input::HostWithPathOperationInput {
       10983  +
            self.build_enforcing_all_constraints()
       10984  +
        }
       10985  +
        /* ServerBuilderGenerator.kt:283 */
       10986  +
        fn build_enforcing_all_constraints(self) -> crate::input::HostWithPathOperationInput {
       10987  +
            /* ServerBuilderGenerator.kt:542 */
       10988  +
            crate::input::HostWithPathOperationInput {
       10989  +
            /* ServerBuilderGenerator.kt:542 */}
       10990  +
            /* ServerBuilderGenerator.kt:283 */
       10991  +
        }
       10992  +
        /* ServerBuilderGenerator.kt:215 */
       10993  +
    }
       10994  +
       10995  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       10996  +
}
       10997  +
/// /* ServerBuilderGenerator.kt:171 */See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       10998  +
pub mod endpoint_with_host_label_operation_input {
       10999  +
       11000  +
    /* RustType.kt:534 */
       11001  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       11002  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       11003  +
    /* RustType.kt:534 */
       11004  +
    #[non_exhaustive]
       11005  +
    /* ServerBuilderConstraintViolations.kt:75 */
       11006  +
    #[allow(clippy::enum_variant_names)]
       11007  +
    pub enum ConstraintViolation {
       11008  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
       11009  +
        /* ServerBuilderConstraintViolations.kt:144 */
       11010  +
        MissingLabel,
       11011  +
        /* ServerBuilderConstraintViolations.kt:75 */
       11012  +
    }
       11013  +
    /* ServerBuilderConstraintViolations.kt:116 */
       11014  +
    impl ::std::fmt::Display for ConstraintViolation {
       11015  +
        /* ServerBuilderConstraintViolations.kt:117 */
       11016  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       11017  +
            /* ServerBuilderConstraintViolations.kt:118 */
       11018  +
            match self {
       11019  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
       11020  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       11021  +
            /* ServerBuilderConstraintViolations.kt:117 */
       11022  +
        }
       11023  +
        /* ServerBuilderConstraintViolations.kt:116 */
       11024  +
    }
       11025  +
    /* ServerBuilderConstraintViolations.kt:83 */
       11026  +
    impl ::std::error::Error for ConstraintViolation {}
       11027  +
    /* ServerBuilderConstraintViolations.kt:172 */
       11028  +
    impl ConstraintViolation {
       11029  +
        pub(crate) fn as_validation_exception_field(
       11030  +
            self,
       11031  +
            path: ::std::string::String,
       11032  +
        ) -> crate::model::ValidationExceptionField {
       11033  +
            match self {
       11034  +
                ConstraintViolation::MissingLabel => crate::model::ValidationExceptionField {
       11035  +
                    message: format!(
       11036  +
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
       11037  +
                        path
       11038  +
                    ),
       11039  +
                    path: path + "/label",
       11040  +
                },
       11041  +
            }
       11042  +
        }
       11043  +
    }
       11044  +
    /* ServerBuilderGenerator.kt:234 */
       11045  +
    impl ::std::convert::From<ConstraintViolation>
       11046  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       11047  +
    {
       11048  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       11049  +
            let first_validation_exception_field =
       11050  +
                constraint_violation.as_validation_exception_field("".to_owned());
       11051  +
            let validation_exception = crate::error::ValidationException {
       11052  +
                message: format!(
       11053  +
                    "1 validation error detected. {}",
       11054  +
                    &first_validation_exception_field.message
       11055  +
                ),
       11056  +
                field_list: Some(vec![first_validation_exception_field]),
       11057  +
            };
       11058  +
            Self::ConstraintViolation(
       11059  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       11060  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       11061  +
                            )
       11062  +
        }
       11063  +
    }
       11064  +
    /* ServerBuilderGenerator.kt:244 */
       11065  +
    impl ::std::convert::From<Builder>
       11066  +
        for crate::constrained::MaybeConstrained<crate::input::EndpointWithHostLabelOperationInput>
       11067  +
    {
       11068  +
        fn from(builder: Builder) -> Self {
       11069  +
            Self::Unconstrained(builder)
       11070  +
        }
       11071  +
    }
       11072  +
    /* ServerBuilderGenerator.kt:446 */
       11073  +
    impl ::std::convert::TryFrom<Builder> for crate::input::EndpointWithHostLabelOperationInput {
       11074  +
        type Error = ConstraintViolation;
       11075  +
       11076  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11077  +
            builder.build()
       11078  +
        }
       11079  +
    }
       11080  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       11081  +
    /* RustType.kt:534 */
       11082  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11083  +
    /* ServerBuilderGenerator.kt:211 */
       11084  +
    pub struct Builder {
       11085  +
        /* ServerBuilderGenerator.kt:308 */
       11086  +
        pub(crate) label: ::std::option::Option<::std::string::String>,
       11087  +
        /* ServerBuilderGenerator.kt:211 */
       11088  +
    }
       11089  +
    /* ServerBuilderGenerator.kt:215 */
       11090  +
    impl Builder {
       11091  +
        /* ServerBuilderGenerator.kt:331 */
       11092  +
        #[allow(missing_docs)] // documentation missing in model
       11093  +
                               /* ServerBuilderGenerator.kt:343 */
       11094  +
        pub fn label(mut self, input: ::std::string::String) -> Self {
       11095  +
            /* ServerBuilderGenerator.kt:344 */
       11096  +
            self.label =
       11097  +
                /* ServerBuilderGenerator.kt:345 */Some(
       11098  +
                    /* ServerBuilderGenerator.kt:376 */input
       11099  +
                /* ServerBuilderGenerator.kt:345 */)
       11100  +
            /* ServerBuilderGenerator.kt:344 */;
       11101  +
            self
       11102  +
            /* ServerBuilderGenerator.kt:343 */
       11103  +
        }
       11104  +
        /* ServerBuilderGenerator.kt:426 */
       11105  +
        #[allow(missing_docs)] // documentation missing in model
       11106  +
                               /* ServerBuilderGenerator.kt:428 */
       11107  +
        pub(crate) fn set_label(
       11108  +
            mut self,
       11109  +
            input: impl ::std::convert::Into<::std::string::String>,
       11110  +
        ) -> Self {
       11111  +
            /* ServerBuilderGenerator.kt:429 */
       11112  +
            self.label = Some(input.into());
       11113  +
            self
       11114  +
            /* ServerBuilderGenerator.kt:428 */
       11115  +
        }
       11116  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
       11117  +
        /// /* ServerBuilderGenerator.kt:260 */
       11118  +
        /// The builder fails to construct a [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) if a [`ConstraintViolation`] occurs.
       11119  +
        ///
       11120  +
        /* ServerBuilderGenerator.kt:271 */
       11121  +
        pub fn build(
       11122  +
            self,
       11123  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       11124  +
        {
       11125  +
            self.build_enforcing_all_constraints()
       11126  +
        }
       11127  +
        /* ServerBuilderGenerator.kt:283 */
       11128  +
        fn build_enforcing_all_constraints(
       11129  +
            self,
       11130  +
        ) -> Result<crate::input::EndpointWithHostLabelOperationInput, ConstraintViolation>
       11131  +
        {
       11132  +
            /* ServerBuilderGenerator.kt:287 */
       11133  +
            Ok(
       11134  +
                /* ServerBuilderGenerator.kt:542 */
       11135  +
                crate::input::EndpointWithHostLabelOperationInput {
       11136  +
                    /* ServerBuilderGenerator.kt:546 */
       11137  +
                    label: self
       11138  +
                        .label
       11139  +
                        /* ServerBuilderGenerator.kt:569 */
       11140  +
                        .ok_or(ConstraintViolation::MissingLabel)?,
       11141  +
                    /* ServerBuilderGenerator.kt:542 */
       11142  +
                }, /* ServerBuilderGenerator.kt:287 */
       11143  +
            )
       11144  +
            /* ServerBuilderGenerator.kt:283 */
       11145  +
        }
       11146  +
        /* ServerBuilderGenerator.kt:215 */
       11147  +
    }
       11148  +
       11149  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11150  +
}
       11151  +
/// /* ServerBuilderGenerator.kt:171 */See [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       11152  +
pub mod endpoint_operation_input {
       11153  +
       11154  +
    /* ServerBuilderGenerator.kt:461 */
       11155  +
    impl ::std::convert::From<Builder> for crate::input::EndpointOperationInput {
       11156  +
        fn from(builder: Builder) -> Self {
       11157  +
            builder.build()
       11158  +
        }
       11159  +
    }
       11160  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       11161  +
    /* RustType.kt:534 */
       11162  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11163  +
    /* ServerBuilderGenerator.kt:211 */
       11164  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       11165  +
    /* ServerBuilderGenerator.kt:215 */
       11166  +
    impl Builder {
       11167  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EndpointOperationInput`](crate::input::EndpointOperationInput).
       11168  +
        /* ServerBuilderGenerator.kt:271 */
       11169  +
        pub fn build(self) -> crate::input::EndpointOperationInput {
       11170  +
            self.build_enforcing_all_constraints()
       11171  +
        }
       11172  +
        /* ServerBuilderGenerator.kt:283 */
       11173  +
        fn build_enforcing_all_constraints(self) -> crate::input::EndpointOperationInput {
       11174  +
            /* ServerBuilderGenerator.kt:542 */
       11175  +
            crate::input::EndpointOperationInput {
       11176  +
            /* ServerBuilderGenerator.kt:542 */}
       11177  +
            /* ServerBuilderGenerator.kt:283 */
       11178  +
        }
       11179  +
        /* ServerBuilderGenerator.kt:215 */
       11180  +
    }
       11181  +
       11182  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11183  +
}
       11184  +
/// /* ServerBuilderGenerator.kt:171 */See [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       11185  +
pub mod post_union_with_json_name_input {
       11186  +
       11187  +
    /* ServerBuilderGenerator.kt:461 */
       11188  +
    impl ::std::convert::From<Builder> for crate::input::PostUnionWithJsonNameInput {
       11189  +
        fn from(builder: Builder) -> Self {
       11190  +
            builder.build()
       11191  +
        }
       11192  +
    }
       11193  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       11194  +
    /* RustType.kt:534 */
       11195  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11196  +
    /* ServerBuilderGenerator.kt:211 */
       11197  +
    pub struct Builder {
       11198  +
        /* ServerBuilderGenerator.kt:308 */
       11199  +
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
       11200  +
        /* ServerBuilderGenerator.kt:211 */
       11201  +
    }
       11202  +
    /* ServerBuilderGenerator.kt:215 */
       11203  +
    impl Builder {
       11204  +
        /* ServerBuilderGenerator.kt:331 */
       11205  +
        #[allow(missing_docs)] // documentation missing in model
       11206  +
                               /* ServerBuilderGenerator.kt:343 */
       11207  +
        pub fn value(
       11208  +
            mut self,
       11209  +
            input: ::std::option::Option<crate::model::UnionWithJsonName>,
       11210  +
        ) -> Self {
       11211  +
            /* ServerBuilderGenerator.kt:344 */
       11212  +
            self.value =
       11213  +
                /* ServerBuilderGenerator.kt:376 */input
       11214  +
            /* ServerBuilderGenerator.kt:344 */;
       11215  +
            self
       11216  +
            /* ServerBuilderGenerator.kt:343 */
       11217  +
        }
       11218  +
        /* ServerBuilderGenerator.kt:426 */
       11219  +
        #[allow(missing_docs)] // documentation missing in model
       11220  +
                               /* ServerBuilderGenerator.kt:428 */
       11221  +
        pub(crate) fn set_value(
       11222  +
            mut self,
       11223  +
            input: Option<impl ::std::convert::Into<crate::model::UnionWithJsonName>>,
       11224  +
        ) -> Self {
       11225  +
            /* ServerBuilderGenerator.kt:429 */
       11226  +
            self.value = input.map(|v| v.into());
       11227  +
            self
       11228  +
            /* ServerBuilderGenerator.kt:428 */
       11229  +
        }
       11230  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PostUnionWithJsonNameInput`](crate::input::PostUnionWithJsonNameInput).
       11231  +
        /* ServerBuilderGenerator.kt:271 */
       11232  +
        pub fn build(self) -> crate::input::PostUnionWithJsonNameInput {
       11233  +
            self.build_enforcing_all_constraints()
       11234  +
        }
       11235  +
        /* ServerBuilderGenerator.kt:283 */
       11236  +
        fn build_enforcing_all_constraints(self) -> crate::input::PostUnionWithJsonNameInput {
       11237  +
            /* ServerBuilderGenerator.kt:542 */
       11238  +
            crate::input::PostUnionWithJsonNameInput {
       11239  +
                /* ServerBuilderGenerator.kt:546 */
       11240  +
                value: self.value,
       11241  +
                /* ServerBuilderGenerator.kt:542 */
       11242  +
            }
       11243  +
            /* ServerBuilderGenerator.kt:283 */
       11244  +
        }
       11245  +
        /* ServerBuilderGenerator.kt:215 */
       11246  +
    }
       11247  +
       11248  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11249  +
}
       11250  +
/// /* ServerBuilderGenerator.kt:171 */See [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       11251  +
pub mod post_player_action_input {
       11252  +
       11253  +
    /* ServerBuilderGenerator.kt:461 */
       11254  +
    impl ::std::convert::From<Builder> for crate::input::PostPlayerActionInput {
       11255  +
        fn from(builder: Builder) -> Self {
       11256  +
            builder.build()
       11257  +
        }
       11258  +
    }
       11259  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       11260  +
    /* RustType.kt:534 */
       11261  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11262  +
    /* ServerBuilderGenerator.kt:211 */
       11263  +
    pub struct Builder {
       11264  +
        /* ServerBuilderGenerator.kt:308 */
       11265  +
        pub(crate) action: ::std::option::Option<crate::model::PlayerAction>,
       11266  +
        /* ServerBuilderGenerator.kt:211 */
       11267  +
    }
       11268  +
    /* ServerBuilderGenerator.kt:215 */
       11269  +
    impl Builder {
       11270  +
        /* ServerBuilderGenerator.kt:331 */
       11271  +
        #[allow(missing_docs)] // documentation missing in model
       11272  +
                               /* ServerBuilderGenerator.kt:343 */
       11273  +
        pub fn action(mut self, input: ::std::option::Option<crate::model::PlayerAction>) -> Self {
       11274  +
            /* ServerBuilderGenerator.kt:344 */
       11275  +
            self.action =
       11276  +
                /* ServerBuilderGenerator.kt:376 */input
       11277  +
            /* ServerBuilderGenerator.kt:344 */;
       11278  +
            self
       11279  +
            /* ServerBuilderGenerator.kt:343 */
       11280  +
        }
       11281  +
        /* ServerBuilderGenerator.kt:426 */
       11282  +
        #[allow(missing_docs)] // documentation missing in model
       11283  +
                               /* ServerBuilderGenerator.kt:428 */
       11284  +
        pub(crate) fn set_action(
       11285  +
            mut self,
       11286  +
            input: Option<impl ::std::convert::Into<crate::model::PlayerAction>>,
       11287  +
        ) -> Self {
       11288  +
            /* ServerBuilderGenerator.kt:429 */
       11289  +
            self.action = input.map(|v| v.into());
       11290  +
            self
       11291  +
            /* ServerBuilderGenerator.kt:428 */
       11292  +
        }
       11293  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`PostPlayerActionInput`](crate::input::PostPlayerActionInput).
       11294  +
        /* ServerBuilderGenerator.kt:271 */
       11295  +
        pub fn build(self) -> crate::input::PostPlayerActionInput {
       11296  +
            self.build_enforcing_all_constraints()
       11297  +
        }
       11298  +
        /* ServerBuilderGenerator.kt:283 */
       11299  +
        fn build_enforcing_all_constraints(self) -> crate::input::PostPlayerActionInput {
       11300  +
            /* ServerBuilderGenerator.kt:542 */
       11301  +
            crate::input::PostPlayerActionInput {
       11302  +
                /* ServerBuilderGenerator.kt:546 */
       11303  +
                action: self.action,
       11304  +
                /* ServerBuilderGenerator.kt:542 */
       11305  +
            }
       11306  +
            /* ServerBuilderGenerator.kt:283 */
       11307  +
        }
       11308  +
        /* ServerBuilderGenerator.kt:215 */
       11309  +
    }
       11310  +
       11311  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11312  +
}
       11313  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       11314  +
pub mod json_unions_input {
       11315  +
       11316  +
    /* RustType.kt:534 */
       11317  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       11318  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       11319  +
    /* RustType.kt:534 */
       11320  +
    #[non_exhaustive]
       11321  +
    /* ServerBuilderConstraintViolations.kt:75 */
       11322  +
    #[allow(clippy::enum_variant_names)]
       11323  +
    pub enum ConstraintViolation {
       11324  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `contents` when building `JsonUnionsInput`.
       11325  +
        /* RustType.kt:534 */
       11326  +
        #[doc(hidden)]
       11327  +
        /* ServerBuilderConstraintViolations.kt:165 */
       11328  +
        Contents(crate::model::my_union::ConstraintViolation),
       11329  +
        /* ServerBuilderConstraintViolations.kt:75 */
       11330  +
    }
       11331  +
    /* ServerBuilderConstraintViolations.kt:116 */
       11332  +
    impl ::std::fmt::Display for ConstraintViolation {
       11333  +
        /* ServerBuilderConstraintViolations.kt:117 */
       11334  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       11335  +
            /* ServerBuilderConstraintViolations.kt:118 */
       11336  +
            match self {
       11337  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Contents(_) => write!(f, "constraint violation occurred building member `contents` when building `JsonUnionsInput`"),
       11338  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       11339  +
            /* ServerBuilderConstraintViolations.kt:117 */
       11340  +
        }
       11341  +
        /* ServerBuilderConstraintViolations.kt:116 */
       11342  +
    }
       11343  +
    /* ServerBuilderConstraintViolations.kt:83 */
       11344  +
    impl ::std::error::Error for ConstraintViolation {}
       11345  +
    /* ServerBuilderConstraintViolations.kt:172 */
       11346  +
    impl ConstraintViolation {
       11347  +
        pub(crate) fn as_validation_exception_field(
       11348  +
            self,
       11349  +
            path: ::std::string::String,
       11350  +
        ) -> crate::model::ValidationExceptionField {
       11351  +
            match self {
       11352  +
                ConstraintViolation::Contents(inner) => {
       11353  +
                    inner.as_validation_exception_field(path + "/contents")
       11354  +
                }
       11355  +
            }
       11356  +
        }
       11357  +
    }
       11358  +
    /* ServerBuilderGenerator.kt:234 */
       11359  +
    impl ::std::convert::From<ConstraintViolation>
       11360  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       11361  +
    {
       11362  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       11363  +
            let first_validation_exception_field =
       11364  +
                constraint_violation.as_validation_exception_field("".to_owned());
       11365  +
            let validation_exception = crate::error::ValidationException {
       11366  +
                message: format!(
       11367  +
                    "1 validation error detected. {}",
       11368  +
                    &first_validation_exception_field.message
       11369  +
                ),
       11370  +
                field_list: Some(vec![first_validation_exception_field]),
       11371  +
            };
       11372  +
            Self::ConstraintViolation(
       11373  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       11374  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       11375  +
                            )
       11376  +
        }
       11377  +
    }
       11378  +
    /* ServerBuilderGenerator.kt:244 */
       11379  +
    impl ::std::convert::From<Builder>
       11380  +
        for crate::constrained::MaybeConstrained<crate::input::JsonUnionsInput>
       11381  +
    {
       11382  +
        fn from(builder: Builder) -> Self {
       11383  +
            Self::Unconstrained(builder)
       11384  +
        }
       11385  +
    }
       11386  +
    /* ServerBuilderGenerator.kt:446 */
       11387  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonUnionsInput {
       11388  +
        type Error = ConstraintViolation;
       11389  +
       11390  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11391  +
            builder.build()
       11392  +
        }
       11393  +
    }
       11394  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       11395  +
    /* RustType.kt:534 */
       11396  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11397  +
    /* ServerBuilderGenerator.kt:211 */
       11398  +
    pub struct Builder {
       11399  +
        /* ServerBuilderGenerator.kt:308 */
       11400  +
        pub(crate) contents:
       11401  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
       11402  +
        /* ServerBuilderGenerator.kt:211 */
       11403  +
    }
       11404  +
    /* ServerBuilderGenerator.kt:215 */
       11405  +
    impl Builder {
       11406  +
        /// /* ServerBuilderGenerator.kt:331 */A union with a representative set of types for members.
       11407  +
        /* ServerBuilderGenerator.kt:343 */
       11408  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
       11409  +
            /* ServerBuilderGenerator.kt:344 */
       11410  +
            self.contents =
       11411  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       11412  +
            /* ServerBuilderGenerator.kt:344 */;
       11413  +
            self
       11414  +
            /* ServerBuilderGenerator.kt:343 */
       11415  +
        }
       11416  +
        /// /* ServerBuilderGenerator.kt:426 */A union with a representative set of types for members.
       11417  +
        /* ServerBuilderGenerator.kt:428 */
       11418  +
        pub(crate) fn set_contents(
       11419  +
            mut self,
       11420  +
            input: Option<
       11421  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::MyUnion>>,
       11422  +
            >,
       11423  +
        ) -> Self {
       11424  +
            /* ServerBuilderGenerator.kt:429 */
       11425  +
            self.contents = input.map(|v| v.into());
       11426  +
            self
       11427  +
            /* ServerBuilderGenerator.kt:428 */
       11428  +
        }
       11429  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonUnionsInput`](crate::input::JsonUnionsInput).
       11430  +
        /// /* ServerBuilderGenerator.kt:260 */
       11431  +
        /// The builder fails to construct a [`JsonUnionsInput`](crate::input::JsonUnionsInput) if a [`ConstraintViolation`] occurs.
       11432  +
        ///
       11433  +
        /* ServerBuilderGenerator.kt:271 */
       11434  +
        pub fn build(self) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
       11435  +
            self.build_enforcing_all_constraints()
       11436  +
        }
       11437  +
        /* ServerBuilderGenerator.kt:283 */
       11438  +
        fn build_enforcing_all_constraints(
       11439  +
            self,
       11440  +
        ) -> Result<crate::input::JsonUnionsInput, ConstraintViolation> {
       11441  +
            /* ServerBuilderGenerator.kt:287 */
       11442  +
            Ok(
       11443  +
                /* ServerBuilderGenerator.kt:542 */
       11444  +
                crate::input::JsonUnionsInput {
       11445  +
                    /* ServerBuilderGenerator.kt:546 */
       11446  +
                    contents: self
       11447  +
                        .contents
       11448  +
                        /* ServerBuilderGenerator.kt:602 */
       11449  +
                        .map(|v| match v {
       11450  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       11451  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       11452  +
                        })
       11453  +
                        /* ServerBuilderGenerator.kt:614 */
       11454  +
                        .map(|res| res.map_err(ConstraintViolation::Contents))
       11455  +
                        .transpose()?,
       11456  +
                    /* ServerBuilderGenerator.kt:542 */
       11457  +
                }, /* ServerBuilderGenerator.kt:287 */
       11458  +
            )
       11459  +
            /* ServerBuilderGenerator.kt:283 */
       11460  +
        }
       11461  +
        /* ServerBuilderGenerator.kt:215 */
       11462  +
    }
       11463  +
       11464  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11465  +
}
       11466  +
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       11467  +
pub mod document_type_as_map_value_input {
       11468  +
       11469  +
    /* ServerBuilderGenerator.kt:461 */
       11470  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsMapValueInput {
       11471  +
        fn from(builder: Builder) -> Self {
       11472  +
            builder.build()
       11473  +
        }
       11474  +
    }
       11475  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       11476  +
    /* RustType.kt:534 */
       11477  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11478  +
    /* ServerBuilderGenerator.kt:211 */
       11479  +
    pub struct Builder {
       11480  +
        /* ServerBuilderGenerator.kt:308 */
       11481  +
        pub(crate) doc_valued_map: ::std::option::Option<
       11482  +
            ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
       11483  +
        >,
       11484  +
        /* ServerBuilderGenerator.kt:211 */
       11485  +
    }
       11486  +
    /* ServerBuilderGenerator.kt:215 */
       11487  +
    impl Builder {
       11488  +
        /* ServerBuilderGenerator.kt:331 */
       11489  +
        #[allow(missing_docs)] // documentation missing in model
       11490  +
                               /* ServerBuilderGenerator.kt:343 */
       11491  +
        pub fn doc_valued_map(
       11492  +
            mut self,
       11493  +
            input: ::std::option::Option<
       11494  +
                ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Document>,
       11495  +
            >,
       11496  +
        ) -> Self {
       11497  +
            /* ServerBuilderGenerator.kt:344 */
       11498  +
            self.doc_valued_map =
       11499  +
                /* ServerBuilderGenerator.kt:376 */input
       11500  +
            /* ServerBuilderGenerator.kt:344 */;
       11501  +
            self
       11502  +
            /* ServerBuilderGenerator.kt:343 */
       11503  +
        }
       11504  +
        /* ServerBuilderGenerator.kt:426 */
       11505  +
        #[allow(missing_docs)] // documentation missing in model
       11506  +
                               /* ServerBuilderGenerator.kt:428 */
       11507  +
        pub(crate) fn set_doc_valued_map(
       11508  +
            mut self,
       11509  +
            input: Option<
       11510  +
                impl ::std::convert::Into<
       11511  +
                    ::std::collections::HashMap<
       11512  +
                        ::std::string::String,
       11513  +
                        ::aws_smithy_types::Document,
       11514  +
                    >,
       11515  +
                >,
       11516  +
            >,
       11517  +
        ) -> Self {
       11518  +
            /* ServerBuilderGenerator.kt:429 */
       11519  +
            self.doc_valued_map = input.map(|v| v.into());
       11520  +
            self
       11521  +
            /* ServerBuilderGenerator.kt:428 */
       11522  +
        }
       11523  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeAsMapValueInput`](crate::input::DocumentTypeAsMapValueInput).
       11524  +
        /* ServerBuilderGenerator.kt:271 */
       11525  +
        pub fn build(self) -> crate::input::DocumentTypeAsMapValueInput {
       11526  +
            self.build_enforcing_all_constraints()
       11527  +
        }
       11528  +
        /* ServerBuilderGenerator.kt:283 */
       11529  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsMapValueInput {
       11530  +
            /* ServerBuilderGenerator.kt:542 */
       11531  +
            crate::input::DocumentTypeAsMapValueInput {
       11532  +
                /* ServerBuilderGenerator.kt:546 */
       11533  +
                doc_valued_map: self.doc_valued_map,
       11534  +
                /* ServerBuilderGenerator.kt:542 */
       11535  +
            }
       11536  +
            /* ServerBuilderGenerator.kt:283 */
       11537  +
        }
       11538  +
        /* ServerBuilderGenerator.kt:215 */
       11539  +
    }
       11540  +
       11541  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11542  +
}
       11543  +
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       11544  +
pub mod document_type_as_payload_input {
       11545  +
       11546  +
    /* ServerBuilderGenerator.kt:461 */
       11547  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeAsPayloadInput {
       11548  +
        fn from(builder: Builder) -> Self {
       11549  +
            builder.build()
       11550  +
        }
       11551  +
    }
       11552  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       11553  +
    /* RustType.kt:534 */
       11554  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11555  +
    /* ServerBuilderGenerator.kt:211 */
       11556  +
    pub struct Builder {
       11557  +
        /* ServerBuilderGenerator.kt:308 */
       11558  +
        pub(crate) document_value: ::std::option::Option<::aws_smithy_types::Document>,
       11559  +
        /* ServerBuilderGenerator.kt:211 */
       11560  +
    }
       11561  +
    /* ServerBuilderGenerator.kt:215 */
       11562  +
    impl Builder {
       11563  +
        /* ServerBuilderGenerator.kt:331 */
       11564  +
        #[allow(missing_docs)] // documentation missing in model
       11565  +
                               /* ServerBuilderGenerator.kt:343 */
       11566  +
        pub fn document_value(
       11567  +
            mut self,
       11568  +
            input: ::std::option::Option<::aws_smithy_types::Document>,
       11569  +
        ) -> Self {
       11570  +
            /* ServerBuilderGenerator.kt:344 */
       11571  +
            self.document_value =
       11572  +
                /* ServerBuilderGenerator.kt:376 */input
       11573  +
            /* ServerBuilderGenerator.kt:344 */;
       11574  +
            self
       11575  +
            /* ServerBuilderGenerator.kt:343 */
       11576  +
        }
       11577  +
        /* ServerBuilderGenerator.kt:426 */
       11578  +
        #[allow(missing_docs)] // documentation missing in model
       11579  +
                               /* ServerBuilderGenerator.kt:428 */
       11580  +
        pub(crate) fn set_document_value(
       11581  +
            mut self,
       11582  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
       11583  +
        ) -> Self {
       11584  +
            /* ServerBuilderGenerator.kt:429 */
       11585  +
            self.document_value = input.map(|v| v.into());
       11586  +
            self
       11587  +
            /* ServerBuilderGenerator.kt:428 */
       11588  +
        }
       11589  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeAsPayloadInput`](crate::input::DocumentTypeAsPayloadInput).
       11590  +
        /* ServerBuilderGenerator.kt:271 */
       11591  +
        pub fn build(self) -> crate::input::DocumentTypeAsPayloadInput {
       11592  +
            self.build_enforcing_all_constraints()
       11593  +
        }
       11594  +
        /* ServerBuilderGenerator.kt:283 */
       11595  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeAsPayloadInput {
       11596  +
            /* ServerBuilderGenerator.kt:542 */
       11597  +
            crate::input::DocumentTypeAsPayloadInput {
       11598  +
                /* ServerBuilderGenerator.kt:546 */
       11599  +
                document_value: self.document_value,
       11600  +
                /* ServerBuilderGenerator.kt:542 */
       11601  +
            }
       11602  +
            /* ServerBuilderGenerator.kt:283 */
       11603  +
        }
       11604  +
        /* ServerBuilderGenerator.kt:215 */
       11605  +
    }
       11606  +
       11607  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11608  +
}
       11609  +
/// /* ServerBuilderGenerator.kt:171 */See [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       11610  +
pub mod document_type_input {
       11611  +
       11612  +
    /* ServerBuilderGenerator.kt:461 */
       11613  +
    impl ::std::convert::From<Builder> for crate::input::DocumentTypeInput {
       11614  +
        fn from(builder: Builder) -> Self {
       11615  +
            builder.build()
       11616  +
        }
       11617  +
    }
       11618  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       11619  +
    /* RustType.kt:534 */
       11620  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11621  +
    /* ServerBuilderGenerator.kt:211 */
       11622  +
    pub struct Builder {
       11623  +
        /* ServerBuilderGenerator.kt:308 */
       11624  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       11625  +
        /* ServerBuilderGenerator.kt:308 */
       11626  +
        pub(crate) document_value: ::std::option::Option<::aws_smithy_types::Document>,
       11627  +
        /* ServerBuilderGenerator.kt:211 */
       11628  +
    }
       11629  +
    /* ServerBuilderGenerator.kt:215 */
       11630  +
    impl Builder {
       11631  +
        /* ServerBuilderGenerator.kt:331 */
       11632  +
        #[allow(missing_docs)] // documentation missing in model
       11633  +
                               /* ServerBuilderGenerator.kt:343 */
       11634  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       11635  +
            /* ServerBuilderGenerator.kt:344 */
       11636  +
            self.string_value =
       11637  +
                /* ServerBuilderGenerator.kt:376 */input
       11638  +
            /* ServerBuilderGenerator.kt:344 */;
       11639  +
            self
       11640  +
            /* ServerBuilderGenerator.kt:343 */
       11641  +
        }
       11642  +
        /* ServerBuilderGenerator.kt:426 */
       11643  +
        #[allow(missing_docs)] // documentation missing in model
       11644  +
                               /* ServerBuilderGenerator.kt:428 */
       11645  +
        pub(crate) fn set_string_value(
       11646  +
            mut self,
       11647  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       11648  +
        ) -> Self {
       11649  +
            /* ServerBuilderGenerator.kt:429 */
       11650  +
            self.string_value = input.map(|v| v.into());
       11651  +
            self
       11652  +
            /* ServerBuilderGenerator.kt:428 */
       11653  +
        }
       11654  +
        /* ServerBuilderGenerator.kt:331 */
       11655  +
        #[allow(missing_docs)] // documentation missing in model
       11656  +
                               /* ServerBuilderGenerator.kt:343 */
       11657  +
        pub fn document_value(
       11658  +
            mut self,
       11659  +
            input: ::std::option::Option<::aws_smithy_types::Document>,
       11660  +
        ) -> Self {
       11661  +
            /* ServerBuilderGenerator.kt:344 */
       11662  +
            self.document_value =
       11663  +
                /* ServerBuilderGenerator.kt:376 */input
       11664  +
            /* ServerBuilderGenerator.kt:344 */;
       11665  +
            self
       11666  +
            /* ServerBuilderGenerator.kt:343 */
       11667  +
        }
       11668  +
        /* ServerBuilderGenerator.kt:426 */
       11669  +
        #[allow(missing_docs)] // documentation missing in model
       11670  +
                               /* ServerBuilderGenerator.kt:428 */
       11671  +
        pub(crate) fn set_document_value(
       11672  +
            mut self,
       11673  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Document>>,
       11674  +
        ) -> Self {
       11675  +
            /* ServerBuilderGenerator.kt:429 */
       11676  +
            self.document_value = input.map(|v| v.into());
       11677  +
            self
       11678  +
            /* ServerBuilderGenerator.kt:428 */
       11679  +
        }
       11680  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DocumentTypeInput`](crate::input::DocumentTypeInput).
       11681  +
        /* ServerBuilderGenerator.kt:271 */
       11682  +
        pub fn build(self) -> crate::input::DocumentTypeInput {
       11683  +
            self.build_enforcing_all_constraints()
       11684  +
        }
       11685  +
        /* ServerBuilderGenerator.kt:283 */
       11686  +
        fn build_enforcing_all_constraints(self) -> crate::input::DocumentTypeInput {
       11687  +
            /* ServerBuilderGenerator.kt:542 */
       11688  +
            crate::input::DocumentTypeInput {
       11689  +
                /* ServerBuilderGenerator.kt:546 */
       11690  +
                string_value: self.string_value,
       11691  +
                /* ServerBuilderGenerator.kt:546 */
       11692  +
                document_value: self.document_value,
       11693  +
                /* ServerBuilderGenerator.kt:542 */
       11694  +
            }
       11695  +
            /* ServerBuilderGenerator.kt:283 */
       11696  +
        }
       11697  +
        /* ServerBuilderGenerator.kt:215 */
       11698  +
    }
       11699  +
       11700  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11701  +
}
       11702  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       11703  +
pub mod json_blobs_input {
       11704  +
       11705  +
    /* ServerBuilderGenerator.kt:461 */
       11706  +
    impl ::std::convert::From<Builder> for crate::input::JsonBlobsInput {
       11707  +
        fn from(builder: Builder) -> Self {
       11708  +
            builder.build()
       11709  +
        }
       11710  +
    }
       11711  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       11712  +
    /* RustType.kt:534 */
       11713  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11714  +
    /* ServerBuilderGenerator.kt:211 */
       11715  +
    pub struct Builder {
       11716  +
        /* ServerBuilderGenerator.kt:308 */
       11717  +
        pub(crate) data: ::std::option::Option<::aws_smithy_types::Blob>,
       11718  +
        /* ServerBuilderGenerator.kt:211 */
       11719  +
    }
       11720  +
    /* ServerBuilderGenerator.kt:215 */
       11721  +
    impl Builder {
       11722  +
        /* ServerBuilderGenerator.kt:331 */
       11723  +
        #[allow(missing_docs)] // documentation missing in model
       11724  +
                               /* ServerBuilderGenerator.kt:343 */
       11725  +
        pub fn data(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       11726  +
            /* ServerBuilderGenerator.kt:344 */
       11727  +
            self.data =
       11728  +
                /* ServerBuilderGenerator.kt:376 */input
       11729  +
            /* ServerBuilderGenerator.kt:344 */;
       11730  +
            self
       11731  +
            /* ServerBuilderGenerator.kt:343 */
       11732  +
        }
       11733  +
        /* ServerBuilderGenerator.kt:426 */
       11734  +
        #[allow(missing_docs)] // documentation missing in model
       11735  +
                               /* ServerBuilderGenerator.kt:428 */
       11736  +
        pub(crate) fn set_data(
       11737  +
            mut self,
       11738  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       11739  +
        ) -> Self {
       11740  +
            /* ServerBuilderGenerator.kt:429 */
       11741  +
            self.data = input.map(|v| v.into());
       11742  +
            self
       11743  +
            /* ServerBuilderGenerator.kt:428 */
       11744  +
        }
       11745  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonBlobsInput`](crate::input::JsonBlobsInput).
       11746  +
        /* ServerBuilderGenerator.kt:271 */
       11747  +
        pub fn build(self) -> crate::input::JsonBlobsInput {
       11748  +
            self.build_enforcing_all_constraints()
       11749  +
        }
       11750  +
        /* ServerBuilderGenerator.kt:283 */
       11751  +
        fn build_enforcing_all_constraints(self) -> crate::input::JsonBlobsInput {
       11752  +
            /* ServerBuilderGenerator.kt:542 */
       11753  +
            crate::input::JsonBlobsInput {
       11754  +
                /* ServerBuilderGenerator.kt:546 */
       11755  +
                data: self.data,
       11756  +
                /* ServerBuilderGenerator.kt:542 */
       11757  +
            }
       11758  +
            /* ServerBuilderGenerator.kt:283 */
       11759  +
        }
       11760  +
        /* ServerBuilderGenerator.kt:215 */
       11761  +
    }
       11762  +
       11763  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       11764  +
}
       11765  +
/// /* ServerBuilderGenerator.kt:171 */See [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       11766  +
pub mod sparse_json_maps_input {
       11767  +
       11768  +
    /* RustType.kt:534 */
       11769  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       11770  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       11771  +
    /* RustType.kt:534 */
       11772  +
    #[non_exhaustive]
       11773  +
    /* ServerBuilderConstraintViolations.kt:75 */
       11774  +
    #[allow(clippy::enum_variant_names)]
       11775  +
    pub enum ConstraintViolation {
       11776  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`.
       11777  +
        /* RustType.kt:534 */
       11778  +
        #[doc(hidden)]
       11779  +
        /* ServerBuilderConstraintViolations.kt:165 */
       11780  +
        SparseSetMap(crate::model::sparse_set_map::ConstraintViolation),
       11781  +
        /* ServerBuilderConstraintViolations.kt:75 */
       11782  +
    }
       11783  +
    /* ServerBuilderConstraintViolations.kt:116 */
       11784  +
    impl ::std::fmt::Display for ConstraintViolation {
       11785  +
        /* ServerBuilderConstraintViolations.kt:117 */
       11786  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       11787  +
            /* ServerBuilderConstraintViolations.kt:118 */
       11788  +
            match self {
       11789  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::SparseSetMap(_) => write!(f, "constraint violation occurred building member `sparse_set_map` when building `SparseJsonMapsInput`"),
       11790  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       11791  +
            /* ServerBuilderConstraintViolations.kt:117 */
       11792  +
        }
       11793  +
        /* ServerBuilderConstraintViolations.kt:116 */
       11794  +
    }
       11795  +
    /* ServerBuilderConstraintViolations.kt:83 */
       11796  +
    impl ::std::error::Error for ConstraintViolation {}
       11797  +
    /* ServerBuilderConstraintViolations.kt:172 */
       11798  +
    impl ConstraintViolation {
       11799  +
        pub(crate) fn as_validation_exception_field(
       11800  +
            self,
       11801  +
            path: ::std::string::String,
       11802  +
        ) -> crate::model::ValidationExceptionField {
       11803  +
            match self {
       11804  +
                ConstraintViolation::SparseSetMap(inner) => {
       11805  +
                    inner.as_validation_exception_field(path + "/sparseSetMap")
       11806  +
                }
       11807  +
            }
       11808  +
        }
       11809  +
    }
       11810  +
    /* ServerBuilderGenerator.kt:234 */
       11811  +
    impl ::std::convert::From<ConstraintViolation>
       11812  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       11813  +
    {
       11814  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       11815  +
            let first_validation_exception_field =
       11816  +
                constraint_violation.as_validation_exception_field("".to_owned());
       11817  +
            let validation_exception = crate::error::ValidationException {
       11818  +
                message: format!(
       11819  +
                    "1 validation error detected. {}",
       11820  +
                    &first_validation_exception_field.message
       11821  +
                ),
       11822  +
                field_list: Some(vec![first_validation_exception_field]),
       11823  +
            };
       11824  +
            Self::ConstraintViolation(
       11825  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       11826  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       11827  +
                            )
       11828  +
        }
       11829  +
    }
       11830  +
    /* ServerBuilderGenerator.kt:244 */
       11831  +
    impl ::std::convert::From<Builder>
       11832  +
        for crate::constrained::MaybeConstrained<crate::input::SparseJsonMapsInput>
       11833  +
    {
       11834  +
        fn from(builder: Builder) -> Self {
       11835  +
            Self::Unconstrained(builder)
       11836  +
        }
       11837  +
    }
       11838  +
    /* ServerBuilderGenerator.kt:446 */
       11839  +
    impl ::std::convert::TryFrom<Builder> for crate::input::SparseJsonMapsInput {
       11840  +
        type Error = ConstraintViolation;
       11841  +
       11842  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       11843  +
            builder.build()
       11844  +
        }
       11845  +
    }
       11846  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       11847  +
    /* RustType.kt:534 */
       11848  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       11849  +
    /* ServerBuilderGenerator.kt:211 */
       11850  +
    pub struct Builder {
       11851  +
        /* ServerBuilderGenerator.kt:308 */
       11852  +
        pub(crate) sparse_struct_map: ::std::option::Option<
       11853  +
            ::std::collections::HashMap<
       11854  +
                ::std::string::String,
       11855  +
                ::std::option::Option<crate::model::GreetingStruct>,
       11856  +
            >,
       11857  +
        >,
       11858  +
        /* ServerBuilderGenerator.kt:308 */
       11859  +
        pub(crate) sparse_number_map: ::std::option::Option<
       11860  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       11861  +
        >,
       11862  +
        /* ServerBuilderGenerator.kt:308 */
       11863  +
        pub(crate) sparse_boolean_map: ::std::option::Option<
       11864  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       11865  +
        >,
       11866  +
        /* ServerBuilderGenerator.kt:308 */
       11867  +
        pub(crate) sparse_string_map: ::std::option::Option<
       11868  +
            ::std::collections::HashMap<
       11869  +
                ::std::string::String,
       11870  +
                ::std::option::Option<::std::string::String>,
       11871  +
            >,
       11872  +
        >,
       11873  +
        /* ServerBuilderGenerator.kt:308 */
       11874  +
        pub(crate) sparse_set_map: ::std::option::Option<
       11875  +
            crate::constrained::MaybeConstrained<
       11876  +
                crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       11877  +
            >,
       11878  +
        >,
       11879  +
        /* ServerBuilderGenerator.kt:211 */
       11880  +
    }
       11881  +
    /* ServerBuilderGenerator.kt:215 */
       11882  +
    impl Builder {
       11883  +
        /* ServerBuilderGenerator.kt:331 */
       11884  +
        #[allow(missing_docs)] // documentation missing in model
       11885  +
                               /* ServerBuilderGenerator.kt:343 */
       11886  +
        pub fn sparse_struct_map(
       11887  +
            mut self,
       11888  +
            input: ::std::option::Option<
       11889  +
                ::std::collections::HashMap<
       11890  +
                    ::std::string::String,
       11891  +
                    ::std::option::Option<crate::model::GreetingStruct>,
       11892  +
                >,
       11893  +
            >,
       11894  +
        ) -> Self {
       11895  +
            /* ServerBuilderGenerator.kt:344 */
       11896  +
            self.sparse_struct_map =
       11897  +
                /* ServerBuilderGenerator.kt:376 */input
       11898  +
            /* ServerBuilderGenerator.kt:344 */;
       11899  +
            self
       11900  +
            /* ServerBuilderGenerator.kt:343 */
       11901  +
        }
       11902  +
        /* ServerBuilderGenerator.kt:426 */
       11903  +
        #[allow(missing_docs)] // documentation missing in model
       11904  +
                               /* ServerBuilderGenerator.kt:428 */
       11905  +
        pub(crate) fn set_sparse_struct_map(
       11906  +
            mut self,
       11907  +
            input: Option<
       11908  +
                impl ::std::convert::Into<
       11909  +
                    ::std::collections::HashMap<
       11910  +
                        ::std::string::String,
       11911  +
                        ::std::option::Option<crate::model::GreetingStruct>,
       11912  +
                    >,
       11913  +
                >,
       11914  +
            >,
       11915  +
        ) -> Self {
       11916  +
            /* ServerBuilderGenerator.kt:429 */
       11917  +
            self.sparse_struct_map = input.map(|v| v.into());
       11918  +
            self
       11919  +
            /* ServerBuilderGenerator.kt:428 */
       11920  +
        }
       11921  +
        /* ServerBuilderGenerator.kt:331 */
       11922  +
        #[allow(missing_docs)] // documentation missing in model
       11923  +
                               /* ServerBuilderGenerator.kt:343 */
       11924  +
        pub fn sparse_number_map(
       11925  +
            mut self,
       11926  +
            input: ::std::option::Option<
       11927  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       11928  +
            >,
       11929  +
        ) -> Self {
       11930  +
            /* ServerBuilderGenerator.kt:344 */
       11931  +
            self.sparse_number_map =
       11932  +
                /* ServerBuilderGenerator.kt:376 */input
       11933  +
            /* ServerBuilderGenerator.kt:344 */;
       11934  +
            self
       11935  +
            /* ServerBuilderGenerator.kt:343 */
       11936  +
        }
       11937  +
        /* ServerBuilderGenerator.kt:426 */
       11938  +
        #[allow(missing_docs)] // documentation missing in model
       11939  +
                               /* ServerBuilderGenerator.kt:428 */
       11940  +
        pub(crate) fn set_sparse_number_map(
       11941  +
            mut self,
       11942  +
            input: Option<
       11943  +
                impl ::std::convert::Into<
       11944  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
       11945  +
                >,
       11946  +
            >,
       11947  +
        ) -> Self {
       11948  +
            /* ServerBuilderGenerator.kt:429 */
       11949  +
            self.sparse_number_map = input.map(|v| v.into());
       11950  +
            self
       11951  +
            /* ServerBuilderGenerator.kt:428 */
       11952  +
        }
       11953  +
        /* ServerBuilderGenerator.kt:331 */
       11954  +
        #[allow(missing_docs)] // documentation missing in model
       11955  +
                               /* ServerBuilderGenerator.kt:343 */
       11956  +
        pub fn sparse_boolean_map(
       11957  +
            mut self,
       11958  +
            input: ::std::option::Option<
       11959  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       11960  +
            >,
       11961  +
        ) -> Self {
       11962  +
            /* ServerBuilderGenerator.kt:344 */
       11963  +
            self.sparse_boolean_map =
       11964  +
                /* ServerBuilderGenerator.kt:376 */input
       11965  +
            /* ServerBuilderGenerator.kt:344 */;
       11966  +
            self
       11967  +
            /* ServerBuilderGenerator.kt:343 */
       11968  +
        }
       11969  +
        /* ServerBuilderGenerator.kt:426 */
       11970  +
        #[allow(missing_docs)] // documentation missing in model
       11971  +
                               /* ServerBuilderGenerator.kt:428 */
       11972  +
        pub(crate) fn set_sparse_boolean_map(
       11973  +
            mut self,
       11974  +
            input: Option<
       11975  +
                impl ::std::convert::Into<
       11976  +
                    ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
       11977  +
                >,
       11978  +
            >,
       11979  +
        ) -> Self {
       11980  +
            /* ServerBuilderGenerator.kt:429 */
       11981  +
            self.sparse_boolean_map = input.map(|v| v.into());
       11982  +
            self
       11983  +
            /* ServerBuilderGenerator.kt:428 */
       11984  +
        }
       11985  +
        /* ServerBuilderGenerator.kt:331 */
       11986  +
        #[allow(missing_docs)] // documentation missing in model
       11987  +
                               /* ServerBuilderGenerator.kt:343 */
       11988  +
        pub fn sparse_string_map(
       11989  +
            mut self,
       11990  +
            input: ::std::option::Option<
       11991  +
                ::std::collections::HashMap<
       11992  +
                    ::std::string::String,
       11993  +
                    ::std::option::Option<::std::string::String>,
       11994  +
                >,
       11995  +
            >,
       11996  +
        ) -> Self {
       11997  +
            /* ServerBuilderGenerator.kt:344 */
       11998  +
            self.sparse_string_map =
       11999  +
                /* ServerBuilderGenerator.kt:376 */input
       12000  +
            /* ServerBuilderGenerator.kt:344 */;
       12001  +
            self
       12002  +
            /* ServerBuilderGenerator.kt:343 */
       12003  +
        }
       12004  +
        /* ServerBuilderGenerator.kt:426 */
       12005  +
        #[allow(missing_docs)] // documentation missing in model
       12006  +
                               /* ServerBuilderGenerator.kt:428 */
       12007  +
        pub(crate) fn set_sparse_string_map(
       12008  +
            mut self,
       12009  +
            input: Option<
       12010  +
                impl ::std::convert::Into<
       12011  +
                    ::std::collections::HashMap<
       12012  +
                        ::std::string::String,
       12013  +
                        ::std::option::Option<::std::string::String>,
       12014  +
                    >,
       12015  +
                >,
       12016  +
            >,
       12017  +
        ) -> Self {
       12018  +
            /* ServerBuilderGenerator.kt:429 */
       12019  +
            self.sparse_string_map = input.map(|v| v.into());
       12020  +
            self
       12021  +
            /* ServerBuilderGenerator.kt:428 */
       12022  +
        }
       12023  +
        /* ServerBuilderGenerator.kt:331 */
       12024  +
        #[allow(missing_docs)] // documentation missing in model
       12025  +
                               /* ServerBuilderGenerator.kt:343 */
       12026  +
        pub fn sparse_set_map(
       12027  +
            mut self,
       12028  +
            input: ::std::option::Option<
       12029  +
                ::std::collections::HashMap<
       12030  +
                    ::std::string::String,
       12031  +
                    ::std::option::Option<crate::model::StringSet>,
       12032  +
                >,
       12033  +
            >,
       12034  +
        ) -> Self {
       12035  +
            /* ServerBuilderGenerator.kt:344 */
       12036  +
            self.sparse_set_map =
       12037  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       12038  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       12039  +
                /* ServerBuilderGenerator.kt:363 */)
       12040  +
            /* ServerBuilderGenerator.kt:344 */;
       12041  +
            self
       12042  +
            /* ServerBuilderGenerator.kt:343 */
       12043  +
        }
       12044  +
        /* ServerBuilderGenerator.kt:426 */
       12045  +
        #[allow(missing_docs)] // documentation missing in model
       12046  +
                               /* ServerBuilderGenerator.kt:428 */
       12047  +
        pub(crate) fn set_sparse_set_map(
       12048  +
            mut self,
       12049  +
            input: Option<
       12050  +
                impl ::std::convert::Into<
       12051  +
                    crate::constrained::MaybeConstrained<
       12052  +
                        crate::constrained::sparse_set_map_constrained::SparseSetMapConstrained,
       12053  +
                    >,
       12054  +
                >,
       12055  +
            >,
       12056  +
        ) -> Self {
       12057  +
            /* ServerBuilderGenerator.kt:429 */
       12058  +
            self.sparse_set_map = input.map(|v| v.into());
       12059  +
            self
       12060  +
            /* ServerBuilderGenerator.kt:428 */
       12061  +
        }
       12062  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput).
       12063  +
        /// /* ServerBuilderGenerator.kt:260 */
       12064  +
        /// The builder fails to construct a [`SparseJsonMapsInput`](crate::input::SparseJsonMapsInput) if a [`ConstraintViolation`] occurs.
       12065  +
        ///
       12066  +
        /* ServerBuilderGenerator.kt:271 */
       12067  +
        pub fn build(self) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
       12068  +
            self.build_enforcing_all_constraints()
       12069  +
        }
       12070  +
        /* ServerBuilderGenerator.kt:283 */
       12071  +
        fn build_enforcing_all_constraints(
       12072  +
            self,
       12073  +
        ) -> Result<crate::input::SparseJsonMapsInput, ConstraintViolation> {
       12074  +
            /* ServerBuilderGenerator.kt:287 */
       12075  +
            Ok(
       12076  +
                /* ServerBuilderGenerator.kt:542 */
       12077  +
                crate::input::SparseJsonMapsInput {
       12078  +
                    /* ServerBuilderGenerator.kt:546 */
       12079  +
                    sparse_struct_map: self.sparse_struct_map,
       12080  +
                    /* ServerBuilderGenerator.kt:546 */
       12081  +
                    sparse_number_map: self.sparse_number_map,
       12082  +
                    /* ServerBuilderGenerator.kt:546 */
       12083  +
                    sparse_boolean_map: self.sparse_boolean_map,
       12084  +
                    /* ServerBuilderGenerator.kt:546 */
       12085  +
                    sparse_string_map: self.sparse_string_map,
       12086  +
                    /* ServerBuilderGenerator.kt:546 */
       12087  +
                    sparse_set_map: self
       12088  +
                        .sparse_set_map
       12089  +
                        /* ServerBuilderGenerator.kt:602 */
       12090  +
                        .map(|v| match v {
       12091  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12092  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12093  +
                        })
       12094  +
                        /* ServerBuilderGenerator.kt:614 */
       12095  +
                        .map(|res| {
       12096  +
                            res.map(|v| v.into())
       12097  +
                                .map_err(ConstraintViolation::SparseSetMap)
       12098  +
                        })
       12099  +
                        .transpose()?,
       12100  +
                    /* ServerBuilderGenerator.kt:542 */
       12101  +
                }, /* ServerBuilderGenerator.kt:287 */
       12102  +
            )
       12103  +
            /* ServerBuilderGenerator.kt:283 */
       12104  +
        }
       12105  +
        /* ServerBuilderGenerator.kt:215 */
       12106  +
    }
       12107  +
       12108  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       12109  +
}
       12110  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonMapsInput`](crate::input::JsonMapsInput).
       12111  +
pub mod json_maps_input {
       12112  +
       12113  +
    /* RustType.kt:534 */
       12114  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       12115  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       12116  +
    /* RustType.kt:534 */
       12117  +
    #[non_exhaustive]
       12118  +
    /* ServerBuilderConstraintViolations.kt:75 */
       12119  +
    #[allow(clippy::enum_variant_names)]
       12120  +
    pub enum ConstraintViolation {
       12121  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `dense_set_map` when building `JsonMapsInput`.
       12122  +
        /* RustType.kt:534 */
       12123  +
        #[doc(hidden)]
       12124  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12125  +
        DenseSetMap(crate::model::dense_set_map::ConstraintViolation),
       12126  +
        /* ServerBuilderConstraintViolations.kt:75 */
       12127  +
    }
       12128  +
    /* ServerBuilderConstraintViolations.kt:116 */
       12129  +
    impl ::std::fmt::Display for ConstraintViolation {
       12130  +
        /* ServerBuilderConstraintViolations.kt:117 */
       12131  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       12132  +
            /* ServerBuilderConstraintViolations.kt:118 */
       12133  +
            match self {
       12134  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::DenseSetMap(_) => write!(f, "constraint violation occurred building member `dense_set_map` when building `JsonMapsInput`"),
       12135  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       12136  +
            /* ServerBuilderConstraintViolations.kt:117 */
       12137  +
        }
       12138  +
        /* ServerBuilderConstraintViolations.kt:116 */
       12139  +
    }
       12140  +
    /* ServerBuilderConstraintViolations.kt:83 */
       12141  +
    impl ::std::error::Error for ConstraintViolation {}
       12142  +
    /* ServerBuilderConstraintViolations.kt:172 */
       12143  +
    impl ConstraintViolation {
       12144  +
        pub(crate) fn as_validation_exception_field(
       12145  +
            self,
       12146  +
            path: ::std::string::String,
       12147  +
        ) -> crate::model::ValidationExceptionField {
       12148  +
            match self {
       12149  +
                ConstraintViolation::DenseSetMap(inner) => {
       12150  +
                    inner.as_validation_exception_field(path + "/denseSetMap")
       12151  +
                }
       12152  +
            }
       12153  +
        }
       12154  +
    }
       12155  +
    /* ServerBuilderGenerator.kt:234 */
       12156  +
    impl ::std::convert::From<ConstraintViolation>
       12157  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       12158  +
    {
       12159  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       12160  +
            let first_validation_exception_field =
       12161  +
                constraint_violation.as_validation_exception_field("".to_owned());
       12162  +
            let validation_exception = crate::error::ValidationException {
       12163  +
                message: format!(
       12164  +
                    "1 validation error detected. {}",
       12165  +
                    &first_validation_exception_field.message
       12166  +
                ),
       12167  +
                field_list: Some(vec![first_validation_exception_field]),
       12168  +
            };
       12169  +
            Self::ConstraintViolation(
       12170  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       12171  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       12172  +
                            )
       12173  +
        }
       12174  +
    }
       12175  +
    /* ServerBuilderGenerator.kt:244 */
       12176  +
    impl ::std::convert::From<Builder>
       12177  +
        for crate::constrained::MaybeConstrained<crate::input::JsonMapsInput>
       12178  +
    {
       12179  +
        fn from(builder: Builder) -> Self {
       12180  +
            Self::Unconstrained(builder)
       12181  +
        }
       12182  +
    }
       12183  +
    /* ServerBuilderGenerator.kt:446 */
       12184  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonMapsInput {
       12185  +
        type Error = ConstraintViolation;
       12186  +
       12187  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12188  +
            builder.build()
       12189  +
        }
       12190  +
    }
       12191  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonMapsInput`](crate::input::JsonMapsInput).
       12192  +
    /* RustType.kt:534 */
       12193  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12194  +
    /* ServerBuilderGenerator.kt:211 */
       12195  +
    pub struct Builder {
       12196  +
        /* ServerBuilderGenerator.kt:308 */
       12197  +
        pub(crate) dense_struct_map: ::std::option::Option<
       12198  +
            ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
       12199  +
        >,
       12200  +
        /* ServerBuilderGenerator.kt:308 */
       12201  +
        pub(crate) dense_number_map:
       12202  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       12203  +
        /* ServerBuilderGenerator.kt:308 */
       12204  +
        pub(crate) dense_boolean_map:
       12205  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
       12206  +
        /* ServerBuilderGenerator.kt:308 */
       12207  +
        pub(crate) dense_string_map: ::std::option::Option<
       12208  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12209  +
        >,
       12210  +
        /* ServerBuilderGenerator.kt:308 */
       12211  +
        pub(crate) dense_set_map: ::std::option::Option<
       12212  +
            crate::constrained::MaybeConstrained<
       12213  +
                crate::constrained::dense_set_map_constrained::DenseSetMapConstrained,
       12214  +
            >,
       12215  +
        >,
       12216  +
        /* ServerBuilderGenerator.kt:211 */
       12217  +
    }
       12218  +
    /* ServerBuilderGenerator.kt:215 */
       12219  +
    impl Builder {
       12220  +
        /* ServerBuilderGenerator.kt:331 */
       12221  +
        #[allow(missing_docs)] // documentation missing in model
       12222  +
                               /* ServerBuilderGenerator.kt:343 */
       12223  +
        pub fn dense_struct_map(
       12224  +
            mut self,
       12225  +
            input: ::std::option::Option<
       12226  +
                ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
       12227  +
            >,
       12228  +
        ) -> Self {
       12229  +
            /* ServerBuilderGenerator.kt:344 */
       12230  +
            self.dense_struct_map =
       12231  +
                /* ServerBuilderGenerator.kt:376 */input
       12232  +
            /* ServerBuilderGenerator.kt:344 */;
       12233  +
            self
       12234  +
            /* ServerBuilderGenerator.kt:343 */
       12235  +
        }
       12236  +
        /* ServerBuilderGenerator.kt:426 */
       12237  +
        #[allow(missing_docs)] // documentation missing in model
       12238  +
                               /* ServerBuilderGenerator.kt:428 */
       12239  +
        pub(crate) fn set_dense_struct_map(
       12240  +
            mut self,
       12241  +
            input: Option<
       12242  +
                impl ::std::convert::Into<
       12243  +
                    ::std::collections::HashMap<
       12244  +
                        ::std::string::String,
       12245  +
                        crate::model::GreetingStruct,
       12246  +
                    >,
       12247  +
                >,
       12248  +
            >,
       12249  +
        ) -> Self {
       12250  +
            /* ServerBuilderGenerator.kt:429 */
       12251  +
            self.dense_struct_map = input.map(|v| v.into());
       12252  +
            self
       12253  +
            /* ServerBuilderGenerator.kt:428 */
       12254  +
        }
       12255  +
        /* ServerBuilderGenerator.kt:331 */
       12256  +
        #[allow(missing_docs)] // documentation missing in model
       12257  +
                               /* ServerBuilderGenerator.kt:343 */
       12258  +
        pub fn dense_number_map(
       12259  +
            mut self,
       12260  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       12261  +
        ) -> Self {
       12262  +
            /* ServerBuilderGenerator.kt:344 */
       12263  +
            self.dense_number_map =
       12264  +
                /* ServerBuilderGenerator.kt:376 */input
       12265  +
            /* ServerBuilderGenerator.kt:344 */;
       12266  +
            self
       12267  +
            /* ServerBuilderGenerator.kt:343 */
       12268  +
        }
       12269  +
        /* ServerBuilderGenerator.kt:426 */
       12270  +
        #[allow(missing_docs)] // documentation missing in model
       12271  +
                               /* ServerBuilderGenerator.kt:428 */
       12272  +
        pub(crate) fn set_dense_number_map(
       12273  +
            mut self,
       12274  +
            input: Option<
       12275  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
       12276  +
            >,
       12277  +
        ) -> Self {
       12278  +
            /* ServerBuilderGenerator.kt:429 */
       12279  +
            self.dense_number_map = input.map(|v| v.into());
       12280  +
            self
       12281  +
            /* ServerBuilderGenerator.kt:428 */
       12282  +
        }
       12283  +
        /* ServerBuilderGenerator.kt:331 */
       12284  +
        #[allow(missing_docs)] // documentation missing in model
       12285  +
                               /* ServerBuilderGenerator.kt:343 */
       12286  +
        pub fn dense_boolean_map(
       12287  +
            mut self,
       12288  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, bool>>,
       12289  +
        ) -> Self {
       12290  +
            /* ServerBuilderGenerator.kt:344 */
       12291  +
            self.dense_boolean_map =
       12292  +
                /* ServerBuilderGenerator.kt:376 */input
       12293  +
            /* ServerBuilderGenerator.kt:344 */;
       12294  +
            self
       12295  +
            /* ServerBuilderGenerator.kt:343 */
       12296  +
        }
       12297  +
        /* ServerBuilderGenerator.kt:426 */
       12298  +
        #[allow(missing_docs)] // documentation missing in model
       12299  +
                               /* ServerBuilderGenerator.kt:428 */
       12300  +
        pub(crate) fn set_dense_boolean_map(
       12301  +
            mut self,
       12302  +
            input: Option<
       12303  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, bool>>,
       12304  +
            >,
       12305  +
        ) -> Self {
       12306  +
            /* ServerBuilderGenerator.kt:429 */
       12307  +
            self.dense_boolean_map = input.map(|v| v.into());
       12308  +
            self
       12309  +
            /* ServerBuilderGenerator.kt:428 */
       12310  +
        }
       12311  +
        /* ServerBuilderGenerator.kt:331 */
       12312  +
        #[allow(missing_docs)] // documentation missing in model
       12313  +
                               /* ServerBuilderGenerator.kt:343 */
       12314  +
        pub fn dense_string_map(
       12315  +
            mut self,
       12316  +
            input: ::std::option::Option<
       12317  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12318  +
            >,
       12319  +
        ) -> Self {
       12320  +
            /* ServerBuilderGenerator.kt:344 */
       12321  +
            self.dense_string_map =
       12322  +
                /* ServerBuilderGenerator.kt:376 */input
       12323  +
            /* ServerBuilderGenerator.kt:344 */;
       12324  +
            self
       12325  +
            /* ServerBuilderGenerator.kt:343 */
       12326  +
        }
       12327  +
        /* ServerBuilderGenerator.kt:426 */
       12328  +
        #[allow(missing_docs)] // documentation missing in model
       12329  +
                               /* ServerBuilderGenerator.kt:428 */
       12330  +
        pub(crate) fn set_dense_string_map(
       12331  +
            mut self,
       12332  +
            input: Option<
       12333  +
                impl ::std::convert::Into<
       12334  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       12335  +
                >,
       12336  +
            >,
       12337  +
        ) -> Self {
       12338  +
            /* ServerBuilderGenerator.kt:429 */
       12339  +
            self.dense_string_map = input.map(|v| v.into());
       12340  +
            self
       12341  +
            /* ServerBuilderGenerator.kt:428 */
       12342  +
        }
       12343  +
        /* ServerBuilderGenerator.kt:331 */
       12344  +
        #[allow(missing_docs)] // documentation missing in model
       12345  +
                               /* ServerBuilderGenerator.kt:343 */
       12346  +
        pub fn dense_set_map(
       12347  +
            mut self,
       12348  +
            input: ::std::option::Option<
       12349  +
                ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
       12350  +
            >,
       12351  +
        ) -> Self {
       12352  +
            /* ServerBuilderGenerator.kt:344 */
       12353  +
            self.dense_set_map =
       12354  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       12355  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       12356  +
                /* ServerBuilderGenerator.kt:363 */)
       12357  +
            /* ServerBuilderGenerator.kt:344 */;
       12358  +
            self
       12359  +
            /* ServerBuilderGenerator.kt:343 */
       12360  +
        }
       12361  +
        /* ServerBuilderGenerator.kt:426 */
       12362  +
        #[allow(missing_docs)] // documentation missing in model
       12363  +
                               /* ServerBuilderGenerator.kt:428 */
       12364  +
        pub(crate) fn set_dense_set_map(
       12365  +
            mut self,
       12366  +
            input: Option<
       12367  +
                impl ::std::convert::Into<
       12368  +
                    crate::constrained::MaybeConstrained<
       12369  +
                        crate::constrained::dense_set_map_constrained::DenseSetMapConstrained,
       12370  +
                    >,
       12371  +
                >,
       12372  +
            >,
       12373  +
        ) -> Self {
       12374  +
            /* ServerBuilderGenerator.kt:429 */
       12375  +
            self.dense_set_map = input.map(|v| v.into());
       12376  +
            self
       12377  +
            /* ServerBuilderGenerator.kt:428 */
       12378  +
        }
       12379  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonMapsInput`](crate::input::JsonMapsInput).
       12380  +
        /// /* ServerBuilderGenerator.kt:260 */
       12381  +
        /// The builder fails to construct a [`JsonMapsInput`](crate::input::JsonMapsInput) if a [`ConstraintViolation`] occurs.
       12382  +
        ///
       12383  +
        /* ServerBuilderGenerator.kt:271 */
       12384  +
        pub fn build(self) -> Result<crate::input::JsonMapsInput, ConstraintViolation> {
       12385  +
            self.build_enforcing_all_constraints()
       12386  +
        }
       12387  +
        /* ServerBuilderGenerator.kt:283 */
       12388  +
        fn build_enforcing_all_constraints(
       12389  +
            self,
       12390  +
        ) -> Result<crate::input::JsonMapsInput, ConstraintViolation> {
       12391  +
            /* ServerBuilderGenerator.kt:287 */
       12392  +
            Ok(
       12393  +
                /* ServerBuilderGenerator.kt:542 */
       12394  +
                crate::input::JsonMapsInput {
       12395  +
                    /* ServerBuilderGenerator.kt:546 */
       12396  +
                    dense_struct_map: self.dense_struct_map,
       12397  +
                    /* ServerBuilderGenerator.kt:546 */
       12398  +
                    dense_number_map: self.dense_number_map,
       12399  +
                    /* ServerBuilderGenerator.kt:546 */
       12400  +
                    dense_boolean_map: self.dense_boolean_map,
       12401  +
                    /* ServerBuilderGenerator.kt:546 */
       12402  +
                    dense_string_map: self.dense_string_map,
       12403  +
                    /* ServerBuilderGenerator.kt:546 */
       12404  +
                    dense_set_map: self
       12405  +
                        .dense_set_map
       12406  +
                        /* ServerBuilderGenerator.kt:602 */
       12407  +
                        .map(|v| match v {
       12408  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12409  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12410  +
                        })
       12411  +
                        /* ServerBuilderGenerator.kt:614 */
       12412  +
                        .map(|res| {
       12413  +
                            res.map(|v| v.into())
       12414  +
                                .map_err(ConstraintViolation::DenseSetMap)
       12415  +
                        })
       12416  +
                        .transpose()?,
       12417  +
                    /* ServerBuilderGenerator.kt:542 */
       12418  +
                }, /* ServerBuilderGenerator.kt:287 */
       12419  +
            )
       12420  +
            /* ServerBuilderGenerator.kt:283 */
       12421  +
        }
       12422  +
        /* ServerBuilderGenerator.kt:215 */
       12423  +
    }
       12424  +
       12425  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       12426  +
}
       12427  +
/// /* ServerBuilderGenerator.kt:171 */See [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       12428  +
pub mod sparse_json_lists_input {
       12429  +
       12430  +
    /* ServerBuilderGenerator.kt:461 */
       12431  +
    impl ::std::convert::From<Builder> for crate::input::SparseJsonListsInput {
       12432  +
        fn from(builder: Builder) -> Self {
       12433  +
            builder.build()
       12434  +
        }
       12435  +
    }
       12436  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       12437  +
    /* RustType.kt:534 */
       12438  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12439  +
    /* ServerBuilderGenerator.kt:211 */
       12440  +
    pub struct Builder {
       12441  +
        /* ServerBuilderGenerator.kt:308 */
       12442  +
        pub(crate) sparse_string_list:
       12443  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
       12444  +
        /* ServerBuilderGenerator.kt:308 */
       12445  +
        pub(crate) sparse_short_list:
       12446  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
       12447  +
        /* ServerBuilderGenerator.kt:211 */
       12448  +
    }
       12449  +
    /* ServerBuilderGenerator.kt:215 */
       12450  +
    impl Builder {
       12451  +
        /* ServerBuilderGenerator.kt:331 */
       12452  +
        #[allow(missing_docs)] // documentation missing in model
       12453  +
                               /* ServerBuilderGenerator.kt:343 */
       12454  +
        pub fn sparse_string_list(
       12455  +
            mut self,
       12456  +
            input: ::std::option::Option<
       12457  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
       12458  +
            >,
       12459  +
        ) -> Self {
       12460  +
            /* ServerBuilderGenerator.kt:344 */
       12461  +
            self.sparse_string_list =
       12462  +
                /* ServerBuilderGenerator.kt:376 */input
       12463  +
            /* ServerBuilderGenerator.kt:344 */;
       12464  +
            self
       12465  +
            /* ServerBuilderGenerator.kt:343 */
       12466  +
        }
       12467  +
        /* ServerBuilderGenerator.kt:426 */
       12468  +
        #[allow(missing_docs)] // documentation missing in model
       12469  +
                               /* ServerBuilderGenerator.kt:428 */
       12470  +
        pub(crate) fn set_sparse_string_list(
       12471  +
            mut self,
       12472  +
            input: Option<
       12473  +
                impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
       12474  +
            >,
       12475  +
        ) -> Self {
       12476  +
            /* ServerBuilderGenerator.kt:429 */
       12477  +
            self.sparse_string_list = input.map(|v| v.into());
       12478  +
            self
       12479  +
            /* ServerBuilderGenerator.kt:428 */
       12480  +
        }
       12481  +
        /* ServerBuilderGenerator.kt:331 */
       12482  +
        #[allow(missing_docs)] // documentation missing in model
       12483  +
                               /* ServerBuilderGenerator.kt:343 */
       12484  +
        pub fn sparse_short_list(
       12485  +
            mut self,
       12486  +
            input: ::std::option::Option<::std::vec::Vec<::std::option::Option<i16>>>,
       12487  +
        ) -> Self {
       12488  +
            /* ServerBuilderGenerator.kt:344 */
       12489  +
            self.sparse_short_list =
       12490  +
                /* ServerBuilderGenerator.kt:376 */input
       12491  +
            /* ServerBuilderGenerator.kt:344 */;
       12492  +
            self
       12493  +
            /* ServerBuilderGenerator.kt:343 */
       12494  +
        }
       12495  +
        /* ServerBuilderGenerator.kt:426 */
       12496  +
        #[allow(missing_docs)] // documentation missing in model
       12497  +
                               /* ServerBuilderGenerator.kt:428 */
       12498  +
        pub(crate) fn set_sparse_short_list(
       12499  +
            mut self,
       12500  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::option::Option<i16>>>>,
       12501  +
        ) -> Self {
       12502  +
            /* ServerBuilderGenerator.kt:429 */
       12503  +
            self.sparse_short_list = input.map(|v| v.into());
       12504  +
            self
       12505  +
            /* ServerBuilderGenerator.kt:428 */
       12506  +
        }
       12507  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SparseJsonListsInput`](crate::input::SparseJsonListsInput).
       12508  +
        /* ServerBuilderGenerator.kt:271 */
       12509  +
        pub fn build(self) -> crate::input::SparseJsonListsInput {
       12510  +
            self.build_enforcing_all_constraints()
       12511  +
        }
       12512  +
        /* ServerBuilderGenerator.kt:283 */
       12513  +
        fn build_enforcing_all_constraints(self) -> crate::input::SparseJsonListsInput {
       12514  +
            /* ServerBuilderGenerator.kt:542 */
       12515  +
            crate::input::SparseJsonListsInput {
       12516  +
                /* ServerBuilderGenerator.kt:546 */
       12517  +
                sparse_string_list: self.sparse_string_list,
       12518  +
                /* ServerBuilderGenerator.kt:546 */
       12519  +
                sparse_short_list: self.sparse_short_list,
       12520  +
                /* ServerBuilderGenerator.kt:542 */
       12521  +
            }
       12522  +
            /* ServerBuilderGenerator.kt:283 */
       12523  +
        }
       12524  +
        /* ServerBuilderGenerator.kt:215 */
       12525  +
    }
       12526  +
       12527  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       12528  +
}
       12529  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonListsInput`](crate::input::JsonListsInput).
       12530  +
pub mod json_lists_input {
       12531  +
       12532  +
    /* RustType.kt:534 */
       12533  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       12534  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       12535  +
    /* RustType.kt:534 */
       12536  +
    #[non_exhaustive]
       12537  +
    /* ServerBuilderConstraintViolations.kt:75 */
       12538  +
    #[allow(clippy::enum_variant_names)]
       12539  +
    pub enum ConstraintViolation {
       12540  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `string_set` when building `JsonListsInput`.
       12541  +
        /* RustType.kt:534 */
       12542  +
        #[doc(hidden)]
       12543  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12544  +
        StringSet(crate::model::string_set::ConstraintViolation),
       12545  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `enum_list` when building `JsonListsInput`.
       12546  +
        /* RustType.kt:534 */
       12547  +
        #[doc(hidden)]
       12548  +
        /* ServerBuilderConstraintViolations.kt:165 */
       12549  +
        EnumList(crate::model::foo_enum_list::ConstraintViolation),
       12550  +
        /* ServerBuilderConstraintViolations.kt:75 */
       12551  +
    }
       12552  +
    /* ServerBuilderConstraintViolations.kt:116 */
       12553  +
    impl ::std::fmt::Display for ConstraintViolation {
       12554  +
        /* ServerBuilderConstraintViolations.kt:117 */
       12555  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       12556  +
            /* ServerBuilderConstraintViolations.kt:118 */
       12557  +
            match self {
       12558  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::StringSet(_) => write!(f, "constraint violation occurred building member `string_set` when building `JsonListsInput`"),
       12559  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::EnumList(_) => write!(f, "constraint violation occurred building member `enum_list` when building `JsonListsInput`"),
       12560  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       12561  +
            /* ServerBuilderConstraintViolations.kt:117 */
       12562  +
        }
       12563  +
        /* ServerBuilderConstraintViolations.kt:116 */
       12564  +
    }
       12565  +
    /* ServerBuilderConstraintViolations.kt:83 */
       12566  +
    impl ::std::error::Error for ConstraintViolation {}
       12567  +
    /* ServerBuilderConstraintViolations.kt:172 */
       12568  +
    impl ConstraintViolation {
       12569  +
        pub(crate) fn as_validation_exception_field(
       12570  +
            self,
       12571  +
            path: ::std::string::String,
       12572  +
        ) -> crate::model::ValidationExceptionField {
       12573  +
            match self {
       12574  +
                ConstraintViolation::StringSet(inner) => {
       12575  +
                    inner.as_validation_exception_field(path + "/stringSet")
       12576  +
                }
       12577  +
                ConstraintViolation::EnumList(inner) => {
       12578  +
                    inner.as_validation_exception_field(path + "/enumList")
       12579  +
                }
       12580  +
            }
       12581  +
        }
       12582  +
    }
       12583  +
    /* ServerBuilderGenerator.kt:234 */
       12584  +
    impl ::std::convert::From<ConstraintViolation>
       12585  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       12586  +
    {
       12587  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       12588  +
            let first_validation_exception_field =
       12589  +
                constraint_violation.as_validation_exception_field("".to_owned());
       12590  +
            let validation_exception = crate::error::ValidationException {
       12591  +
                message: format!(
       12592  +
                    "1 validation error detected. {}",
       12593  +
                    &first_validation_exception_field.message
       12594  +
                ),
       12595  +
                field_list: Some(vec![first_validation_exception_field]),
       12596  +
            };
       12597  +
            Self::ConstraintViolation(
       12598  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       12599  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       12600  +
                            )
       12601  +
        }
       12602  +
    }
       12603  +
    /* ServerBuilderGenerator.kt:244 */
       12604  +
    impl ::std::convert::From<Builder>
       12605  +
        for crate::constrained::MaybeConstrained<crate::input::JsonListsInput>
       12606  +
    {
       12607  +
        fn from(builder: Builder) -> Self {
       12608  +
            Self::Unconstrained(builder)
       12609  +
        }
       12610  +
    }
       12611  +
    /* ServerBuilderGenerator.kt:446 */
       12612  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonListsInput {
       12613  +
        type Error = ConstraintViolation;
       12614  +
       12615  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       12616  +
            builder.build()
       12617  +
        }
       12618  +
    }
       12619  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonListsInput`](crate::input::JsonListsInput).
       12620  +
    /* RustType.kt:534 */
       12621  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12622  +
    /* ServerBuilderGenerator.kt:211 */
       12623  +
    pub struct Builder {
       12624  +
        /* ServerBuilderGenerator.kt:308 */
       12625  +
        pub(crate) string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       12626  +
        /* ServerBuilderGenerator.kt:308 */
       12627  +
        pub(crate) string_set:
       12628  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       12629  +
        /* ServerBuilderGenerator.kt:308 */
       12630  +
        pub(crate) integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       12631  +
        /* ServerBuilderGenerator.kt:308 */
       12632  +
        pub(crate) boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       12633  +
        /* ServerBuilderGenerator.kt:308 */
       12634  +
        pub(crate) timestamp_list:
       12635  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       12636  +
        /* ServerBuilderGenerator.kt:308 */
       12637  +
        pub(crate) enum_list: ::std::option::Option<
       12638  +
            crate::constrained::MaybeConstrained<
       12639  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       12640  +
            >,
       12641  +
        >,
       12642  +
        /* ServerBuilderGenerator.kt:308 */
       12643  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       12644  +
        /* ServerBuilderGenerator.kt:308 */
       12645  +
        pub(crate) nested_string_list:
       12646  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       12647  +
        /* ServerBuilderGenerator.kt:308 */
       12648  +
        pub(crate) structure_list:
       12649  +
            ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
       12650  +
        /* ServerBuilderGenerator.kt:211 */
       12651  +
    }
       12652  +
    /* ServerBuilderGenerator.kt:215 */
       12653  +
    impl Builder {
       12654  +
        /* ServerBuilderGenerator.kt:331 */
       12655  +
        #[allow(missing_docs)] // documentation missing in model
       12656  +
                               /* ServerBuilderGenerator.kt:343 */
       12657  +
        pub fn string_list(
       12658  +
            mut self,
       12659  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       12660  +
        ) -> Self {
       12661  +
            /* ServerBuilderGenerator.kt:344 */
       12662  +
            self.string_list =
       12663  +
                /* ServerBuilderGenerator.kt:376 */input
       12664  +
            /* ServerBuilderGenerator.kt:344 */;
       12665  +
            self
       12666  +
            /* ServerBuilderGenerator.kt:343 */
       12667  +
        }
       12668  +
        /* ServerBuilderGenerator.kt:426 */
       12669  +
        #[allow(missing_docs)] // documentation missing in model
       12670  +
                               /* ServerBuilderGenerator.kt:428 */
       12671  +
        pub(crate) fn set_string_list(
       12672  +
            mut self,
       12673  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       12674  +
        ) -> Self {
       12675  +
            /* ServerBuilderGenerator.kt:429 */
       12676  +
            self.string_list = input.map(|v| v.into());
       12677  +
            self
       12678  +
            /* ServerBuilderGenerator.kt:428 */
       12679  +
        }
       12680  +
        /* ServerBuilderGenerator.kt:331 */
       12681  +
        #[allow(missing_docs)] // documentation missing in model
       12682  +
                               /* ServerBuilderGenerator.kt:343 */
       12683  +
        pub fn string_set(mut self, input: ::std::option::Option<crate::model::StringSet>) -> Self {
       12684  +
            /* ServerBuilderGenerator.kt:344 */
       12685  +
            self.string_set =
       12686  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       12687  +
            /* ServerBuilderGenerator.kt:344 */;
       12688  +
            self
       12689  +
            /* ServerBuilderGenerator.kt:343 */
       12690  +
        }
       12691  +
        /* ServerBuilderGenerator.kt:426 */
       12692  +
        #[allow(missing_docs)] // documentation missing in model
       12693  +
                               /* ServerBuilderGenerator.kt:428 */
       12694  +
        pub(crate) fn set_string_set(
       12695  +
            mut self,
       12696  +
            input: Option<
       12697  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       12698  +
            >,
       12699  +
        ) -> Self {
       12700  +
            /* ServerBuilderGenerator.kt:429 */
       12701  +
            self.string_set = input.map(|v| v.into());
       12702  +
            self
       12703  +
            /* ServerBuilderGenerator.kt:428 */
       12704  +
        }
       12705  +
        /* ServerBuilderGenerator.kt:331 */
       12706  +
        #[allow(missing_docs)] // documentation missing in model
       12707  +
                               /* ServerBuilderGenerator.kt:343 */
       12708  +
        pub fn integer_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       12709  +
            /* ServerBuilderGenerator.kt:344 */
       12710  +
            self.integer_list =
       12711  +
                /* ServerBuilderGenerator.kt:376 */input
       12712  +
            /* ServerBuilderGenerator.kt:344 */;
       12713  +
            self
       12714  +
            /* ServerBuilderGenerator.kt:343 */
       12715  +
        }
       12716  +
        /* ServerBuilderGenerator.kt:426 */
       12717  +
        #[allow(missing_docs)] // documentation missing in model
       12718  +
                               /* ServerBuilderGenerator.kt:428 */
       12719  +
        pub(crate) fn set_integer_list(
       12720  +
            mut self,
       12721  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       12722  +
        ) -> Self {
       12723  +
            /* ServerBuilderGenerator.kt:429 */
       12724  +
            self.integer_list = input.map(|v| v.into());
       12725  +
            self
       12726  +
            /* ServerBuilderGenerator.kt:428 */
       12727  +
        }
       12728  +
        /* ServerBuilderGenerator.kt:331 */
       12729  +
        #[allow(missing_docs)] // documentation missing in model
       12730  +
                               /* ServerBuilderGenerator.kt:343 */
       12731  +
        pub fn boolean_list(mut self, input: ::std::option::Option<::std::vec::Vec<bool>>) -> Self {
       12732  +
            /* ServerBuilderGenerator.kt:344 */
       12733  +
            self.boolean_list =
       12734  +
                /* ServerBuilderGenerator.kt:376 */input
       12735  +
            /* ServerBuilderGenerator.kt:344 */;
       12736  +
            self
       12737  +
            /* ServerBuilderGenerator.kt:343 */
       12738  +
        }
       12739  +
        /* ServerBuilderGenerator.kt:426 */
       12740  +
        #[allow(missing_docs)] // documentation missing in model
       12741  +
                               /* ServerBuilderGenerator.kt:428 */
       12742  +
        pub(crate) fn set_boolean_list(
       12743  +
            mut self,
       12744  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       12745  +
        ) -> Self {
       12746  +
            /* ServerBuilderGenerator.kt:429 */
       12747  +
            self.boolean_list = input.map(|v| v.into());
       12748  +
            self
       12749  +
            /* ServerBuilderGenerator.kt:428 */
       12750  +
        }
       12751  +
        /* ServerBuilderGenerator.kt:331 */
       12752  +
        #[allow(missing_docs)] // documentation missing in model
       12753  +
                               /* ServerBuilderGenerator.kt:343 */
       12754  +
        pub fn timestamp_list(
       12755  +
            mut self,
       12756  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       12757  +
        ) -> Self {
       12758  +
            /* ServerBuilderGenerator.kt:344 */
       12759  +
            self.timestamp_list =
       12760  +
                /* ServerBuilderGenerator.kt:376 */input
       12761  +
            /* ServerBuilderGenerator.kt:344 */;
       12762  +
            self
       12763  +
            /* ServerBuilderGenerator.kt:343 */
       12764  +
        }
       12765  +
        /* ServerBuilderGenerator.kt:426 */
       12766  +
        #[allow(missing_docs)] // documentation missing in model
       12767  +
                               /* ServerBuilderGenerator.kt:428 */
       12768  +
        pub(crate) fn set_timestamp_list(
       12769  +
            mut self,
       12770  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
       12771  +
        ) -> Self {
       12772  +
            /* ServerBuilderGenerator.kt:429 */
       12773  +
            self.timestamp_list = input.map(|v| v.into());
       12774  +
            self
       12775  +
            /* ServerBuilderGenerator.kt:428 */
       12776  +
        }
       12777  +
        /* ServerBuilderGenerator.kt:331 */
       12778  +
        #[allow(missing_docs)] // documentation missing in model
       12779  +
                               /* ServerBuilderGenerator.kt:343 */
       12780  +
        pub fn enum_list(
       12781  +
            mut self,
       12782  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       12783  +
        ) -> Self {
       12784  +
            /* ServerBuilderGenerator.kt:344 */
       12785  +
            self.enum_list =
       12786  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       12787  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       12788  +
                /* ServerBuilderGenerator.kt:363 */)
       12789  +
            /* ServerBuilderGenerator.kt:344 */;
       12790  +
            self
       12791  +
            /* ServerBuilderGenerator.kt:343 */
       12792  +
        }
       12793  +
        /* ServerBuilderGenerator.kt:426 */
       12794  +
        #[allow(missing_docs)] // documentation missing in model
       12795  +
                               /* ServerBuilderGenerator.kt:428 */
       12796  +
        pub(crate) fn set_enum_list(
       12797  +
            mut self,
       12798  +
            input: Option<
       12799  +
                impl ::std::convert::Into<
       12800  +
                    crate::constrained::MaybeConstrained<
       12801  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       12802  +
                    >,
       12803  +
                >,
       12804  +
            >,
       12805  +
        ) -> Self {
       12806  +
            /* ServerBuilderGenerator.kt:429 */
       12807  +
            self.enum_list = input.map(|v| v.into());
       12808  +
            self
       12809  +
            /* ServerBuilderGenerator.kt:428 */
       12810  +
        }
       12811  +
        /* ServerBuilderGenerator.kt:331 */
       12812  +
        #[allow(missing_docs)] // documentation missing in model
       12813  +
                               /* ServerBuilderGenerator.kt:343 */
       12814  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
       12815  +
            /* ServerBuilderGenerator.kt:344 */
       12816  +
            self.int_enum_list =
       12817  +
                /* ServerBuilderGenerator.kt:376 */input
       12818  +
            /* ServerBuilderGenerator.kt:344 */;
       12819  +
            self
       12820  +
            /* ServerBuilderGenerator.kt:343 */
       12821  +
        }
       12822  +
        /* ServerBuilderGenerator.kt:426 */
       12823  +
        #[allow(missing_docs)] // documentation missing in model
       12824  +
                               /* ServerBuilderGenerator.kt:428 */
       12825  +
        pub(crate) fn set_int_enum_list(
       12826  +
            mut self,
       12827  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       12828  +
        ) -> Self {
       12829  +
            /* ServerBuilderGenerator.kt:429 */
       12830  +
            self.int_enum_list = input.map(|v| v.into());
       12831  +
            self
       12832  +
            /* ServerBuilderGenerator.kt:428 */
       12833  +
        }
       12834  +
        /// /* ServerBuilderGenerator.kt:331 */A list of lists of strings.
       12835  +
        /* ServerBuilderGenerator.kt:343 */
       12836  +
        pub fn nested_string_list(
       12837  +
            mut self,
       12838  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       12839  +
        ) -> Self {
       12840  +
            /* ServerBuilderGenerator.kt:344 */
       12841  +
            self.nested_string_list =
       12842  +
                /* ServerBuilderGenerator.kt:376 */input
       12843  +
            /* ServerBuilderGenerator.kt:344 */;
       12844  +
            self
       12845  +
            /* ServerBuilderGenerator.kt:343 */
       12846  +
        }
       12847  +
        /// /* ServerBuilderGenerator.kt:426 */A list of lists of strings.
       12848  +
        /* ServerBuilderGenerator.kt:428 */
       12849  +
        pub(crate) fn set_nested_string_list(
       12850  +
            mut self,
       12851  +
            input: Option<
       12852  +
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
       12853  +
            >,
       12854  +
        ) -> Self {
       12855  +
            /* ServerBuilderGenerator.kt:429 */
       12856  +
            self.nested_string_list = input.map(|v| v.into());
       12857  +
            self
       12858  +
            /* ServerBuilderGenerator.kt:428 */
       12859  +
        }
       12860  +
        /* ServerBuilderGenerator.kt:331 */
       12861  +
        #[allow(missing_docs)] // documentation missing in model
       12862  +
                               /* ServerBuilderGenerator.kt:343 */
       12863  +
        pub fn structure_list(
       12864  +
            mut self,
       12865  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
       12866  +
        ) -> Self {
       12867  +
            /* ServerBuilderGenerator.kt:344 */
       12868  +
            self.structure_list =
       12869  +
                /* ServerBuilderGenerator.kt:376 */input
       12870  +
            /* ServerBuilderGenerator.kt:344 */;
       12871  +
            self
       12872  +
            /* ServerBuilderGenerator.kt:343 */
       12873  +
        }
       12874  +
        /* ServerBuilderGenerator.kt:426 */
       12875  +
        #[allow(missing_docs)] // documentation missing in model
       12876  +
                               /* ServerBuilderGenerator.kt:428 */
       12877  +
        pub(crate) fn set_structure_list(
       12878  +
            mut self,
       12879  +
            input: Option<
       12880  +
                impl ::std::convert::Into<::std::vec::Vec<crate::model::StructureListMember>>,
       12881  +
            >,
       12882  +
        ) -> Self {
       12883  +
            /* ServerBuilderGenerator.kt:429 */
       12884  +
            self.structure_list = input.map(|v| v.into());
       12885  +
            self
       12886  +
            /* ServerBuilderGenerator.kt:428 */
       12887  +
        }
       12888  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonListsInput`](crate::input::JsonListsInput).
       12889  +
        /// /* ServerBuilderGenerator.kt:260 */
       12890  +
        /// The builder fails to construct a [`JsonListsInput`](crate::input::JsonListsInput) if a [`ConstraintViolation`] occurs.
       12891  +
        ///
       12892  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       12893  +
        /* ServerBuilderGenerator.kt:271 */
       12894  +
        pub fn build(self) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       12895  +
            self.build_enforcing_all_constraints()
       12896  +
        }
       12897  +
        /* ServerBuilderGenerator.kt:283 */
       12898  +
        fn build_enforcing_all_constraints(
       12899  +
            self,
       12900  +
        ) -> Result<crate::input::JsonListsInput, ConstraintViolation> {
       12901  +
            /* ServerBuilderGenerator.kt:287 */
       12902  +
            Ok(
       12903  +
                /* ServerBuilderGenerator.kt:542 */
       12904  +
                crate::input::JsonListsInput {
       12905  +
                    /* ServerBuilderGenerator.kt:546 */
       12906  +
                    string_list: self.string_list,
       12907  +
                    /* ServerBuilderGenerator.kt:546 */
       12908  +
                    string_set: self
       12909  +
                        .string_set
       12910  +
                        /* ServerBuilderGenerator.kt:602 */
       12911  +
                        .map(|v| match v {
       12912  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12913  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12914  +
                        })
       12915  +
                        /* ServerBuilderGenerator.kt:614 */
       12916  +
                        .map(|res| res.map_err(ConstraintViolation::StringSet))
       12917  +
                        .transpose()?,
       12918  +
                    /* ServerBuilderGenerator.kt:546 */
       12919  +
                    integer_list: self.integer_list,
       12920  +
                    /* ServerBuilderGenerator.kt:546 */
       12921  +
                    boolean_list: self.boolean_list,
       12922  +
                    /* ServerBuilderGenerator.kt:546 */
       12923  +
                    timestamp_list: self.timestamp_list,
       12924  +
                    /* ServerBuilderGenerator.kt:546 */
       12925  +
                    enum_list: self
       12926  +
                        .enum_list
       12927  +
                        /* ServerBuilderGenerator.kt:602 */
       12928  +
                        .map(|v| match v {
       12929  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       12930  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       12931  +
                        })
       12932  +
                        /* ServerBuilderGenerator.kt:614 */
       12933  +
                        .map(|res| res.map(|v| v.into()).map_err(ConstraintViolation::EnumList))
       12934  +
                        .transpose()?,
       12935  +
                    /* ServerBuilderGenerator.kt:546 */
       12936  +
                    int_enum_list: self.int_enum_list,
       12937  +
                    /* ServerBuilderGenerator.kt:546 */
       12938  +
                    nested_string_list: self.nested_string_list,
       12939  +
                    /* ServerBuilderGenerator.kt:546 */
       12940  +
                    structure_list: self.structure_list,
       12941  +
                    /* ServerBuilderGenerator.kt:542 */
       12942  +
                }, /* ServerBuilderGenerator.kt:287 */
       12943  +
            )
       12944  +
            /* ServerBuilderGenerator.kt:283 */
       12945  +
        }
       12946  +
        /* ServerBuilderGenerator.kt:215 */
       12947  +
    }
       12948  +
       12949  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       12950  +
}
       12951  +
/// /* ServerBuilderGenerator.kt:171 */See [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       12952  +
pub mod recursive_shapes_input {
       12953  +
       12954  +
    /* ServerBuilderGenerator.kt:461 */
       12955  +
    impl ::std::convert::From<Builder> for crate::input::RecursiveShapesInput {
       12956  +
        fn from(builder: Builder) -> Self {
       12957  +
            builder.build()
       12958  +
        }
       12959  +
    }
       12960  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       12961  +
    /* RustType.kt:534 */
       12962  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       12963  +
    /* ServerBuilderGenerator.kt:211 */
       12964  +
    pub struct Builder {
       12965  +
        /* ServerBuilderGenerator.kt:308 */
       12966  +
        pub(crate) nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       12967  +
        /* ServerBuilderGenerator.kt:211 */
       12968  +
    }
       12969  +
    /* ServerBuilderGenerator.kt:215 */
       12970  +
    impl Builder {
       12971  +
        /* ServerBuilderGenerator.kt:331 */
       12972  +
        #[allow(missing_docs)] // documentation missing in model
       12973  +
                               /* ServerBuilderGenerator.kt:343 */
       12974  +
        pub fn nested(
       12975  +
            mut self,
       12976  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
       12977  +
        ) -> Self {
       12978  +
            /* ServerBuilderGenerator.kt:344 */
       12979  +
            self.nested =
       12980  +
                /* ServerBuilderGenerator.kt:376 */input
       12981  +
            /* ServerBuilderGenerator.kt:344 */;
       12982  +
            self
       12983  +
            /* ServerBuilderGenerator.kt:343 */
       12984  +
        }
       12985  +
        /* ServerBuilderGenerator.kt:426 */
       12986  +
        #[allow(missing_docs)] // documentation missing in model
       12987  +
                               /* ServerBuilderGenerator.kt:428 */
       12988  +
        pub(crate) fn set_nested(
       12989  +
            mut self,
       12990  +
            input: Option<
       12991  +
                impl ::std::convert::Into<crate::model::RecursiveShapesInputOutputNested1>,
       12992  +
            >,
       12993  +
        ) -> Self {
       12994  +
            /* ServerBuilderGenerator.kt:429 */
       12995  +
            self.nested = input.map(|v| v.into());
       12996  +
            self
       12997  +
            /* ServerBuilderGenerator.kt:428 */
       12998  +
        }
       12999  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`RecursiveShapesInput`](crate::input::RecursiveShapesInput).
       13000  +
        /* ServerBuilderGenerator.kt:271 */
       13001  +
        pub fn build(self) -> crate::input::RecursiveShapesInput {
       13002  +
            self.build_enforcing_all_constraints()
       13003  +
        }
       13004  +
        /* ServerBuilderGenerator.kt:283 */
       13005  +
        fn build_enforcing_all_constraints(self) -> crate::input::RecursiveShapesInput {
       13006  +
            /* ServerBuilderGenerator.kt:542 */
       13007  +
            crate::input::RecursiveShapesInput {
       13008  +
                /* ServerBuilderGenerator.kt:546 */
       13009  +
                nested: self.nested,
       13010  +
                /* ServerBuilderGenerator.kt:542 */
       13011  +
            }
       13012  +
            /* ServerBuilderGenerator.kt:283 */
       13013  +
        }
       13014  +
        /* ServerBuilderGenerator.kt:215 */
       13015  +
    }
       13016  +
       13017  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       13018  +
}
       13019  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       13020  +
pub mod json_int_enums_input {
       13021  +
       13022  +
    /* RustType.kt:534 */
       13023  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       13024  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       13025  +
    /* RustType.kt:534 */
       13026  +
    #[non_exhaustive]
       13027  +
    /* ServerBuilderConstraintViolations.kt:75 */
       13028  +
    #[allow(clippy::enum_variant_names)]
       13029  +
    pub enum ConstraintViolation {
       13030  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`.
       13031  +
        /* RustType.kt:534 */
       13032  +
        #[doc(hidden)]
       13033  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13034  +
        IntegerEnumSet(crate::model::integer_enum_set::ConstraintViolation),
       13035  +
        /* ServerBuilderConstraintViolations.kt:75 */
       13036  +
    }
       13037  +
    /* ServerBuilderConstraintViolations.kt:116 */
       13038  +
    impl ::std::fmt::Display for ConstraintViolation {
       13039  +
        /* ServerBuilderConstraintViolations.kt:117 */
       13040  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       13041  +
            /* ServerBuilderConstraintViolations.kt:118 */
       13042  +
            match self {
       13043  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::IntegerEnumSet(_) => write!(f, "constraint violation occurred building member `integer_enum_set` when building `JsonIntEnumsInput`"),
       13044  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       13045  +
            /* ServerBuilderConstraintViolations.kt:117 */
       13046  +
        }
       13047  +
        /* ServerBuilderConstraintViolations.kt:116 */
       13048  +
    }
       13049  +
    /* ServerBuilderConstraintViolations.kt:83 */
       13050  +
    impl ::std::error::Error for ConstraintViolation {}
       13051  +
    /* ServerBuilderConstraintViolations.kt:172 */
       13052  +
    impl ConstraintViolation {
       13053  +
        pub(crate) fn as_validation_exception_field(
       13054  +
            self,
       13055  +
            path: ::std::string::String,
       13056  +
        ) -> crate::model::ValidationExceptionField {
       13057  +
            match self {
       13058  +
                ConstraintViolation::IntegerEnumSet(inner) => {
       13059  +
                    inner.as_validation_exception_field(path + "/integerEnumSet")
       13060  +
                }
       13061  +
            }
       13062  +
        }
       13063  +
    }
       13064  +
    /* ServerBuilderGenerator.kt:234 */
       13065  +
    impl ::std::convert::From<ConstraintViolation>
       13066  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       13067  +
    {
       13068  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       13069  +
            let first_validation_exception_field =
       13070  +
                constraint_violation.as_validation_exception_field("".to_owned());
       13071  +
            let validation_exception = crate::error::ValidationException {
       13072  +
                message: format!(
       13073  +
                    "1 validation error detected. {}",
       13074  +
                    &first_validation_exception_field.message
       13075  +
                ),
       13076  +
                field_list: Some(vec![first_validation_exception_field]),
       13077  +
            };
       13078  +
            Self::ConstraintViolation(
       13079  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       13080  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       13081  +
                            )
       13082  +
        }
       13083  +
    }
       13084  +
    /* ServerBuilderGenerator.kt:244 */
       13085  +
    impl ::std::convert::From<Builder>
       13086  +
        for crate::constrained::MaybeConstrained<crate::input::JsonIntEnumsInput>
       13087  +
    {
       13088  +
        fn from(builder: Builder) -> Self {
       13089  +
            Self::Unconstrained(builder)
       13090  +
        }
       13091  +
    }
       13092  +
    /* ServerBuilderGenerator.kt:446 */
       13093  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonIntEnumsInput {
       13094  +
        type Error = ConstraintViolation;
       13095  +
       13096  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       13097  +
            builder.build()
       13098  +
        }
       13099  +
    }
       13100  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       13101  +
    /* RustType.kt:534 */
       13102  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       13103  +
    /* ServerBuilderGenerator.kt:211 */
       13104  +
    pub struct Builder {
       13105  +
        /* ServerBuilderGenerator.kt:308 */
       13106  +
        pub(crate) integer_enum1: ::std::option::Option<i32>,
       13107  +
        /* ServerBuilderGenerator.kt:308 */
       13108  +
        pub(crate) integer_enum2: ::std::option::Option<i32>,
       13109  +
        /* ServerBuilderGenerator.kt:308 */
       13110  +
        pub(crate) integer_enum3: ::std::option::Option<i32>,
       13111  +
        /* ServerBuilderGenerator.kt:308 */
       13112  +
        pub(crate) integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       13113  +
        /* ServerBuilderGenerator.kt:308 */
       13114  +
        pub(crate) integer_enum_set: ::std::option::Option<
       13115  +
            crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
       13116  +
        >,
       13117  +
        /* ServerBuilderGenerator.kt:308 */
       13118  +
        pub(crate) integer_enum_map:
       13119  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       13120  +
        /* ServerBuilderGenerator.kt:211 */
       13121  +
    }
       13122  +
    /* ServerBuilderGenerator.kt:215 */
       13123  +
    impl Builder {
       13124  +
        /* ServerBuilderGenerator.kt:331 */
       13125  +
        #[allow(missing_docs)] // documentation missing in model
       13126  +
                               /* ServerBuilderGenerator.kt:343 */
       13127  +
        pub fn integer_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
       13128  +
            /* ServerBuilderGenerator.kt:344 */
       13129  +
            self.integer_enum1 =
       13130  +
                /* ServerBuilderGenerator.kt:376 */input
       13131  +
            /* ServerBuilderGenerator.kt:344 */;
       13132  +
            self
       13133  +
            /* ServerBuilderGenerator.kt:343 */
       13134  +
        }
       13135  +
        /* ServerBuilderGenerator.kt:426 */
       13136  +
        #[allow(missing_docs)] // documentation missing in model
       13137  +
                               /* ServerBuilderGenerator.kt:428 */
       13138  +
        pub(crate) fn set_integer_enum1(
       13139  +
            mut self,
       13140  +
            input: Option<impl ::std::convert::Into<i32>>,
       13141  +
        ) -> Self {
       13142  +
            /* ServerBuilderGenerator.kt:429 */
       13143  +
            self.integer_enum1 = input.map(|v| v.into());
       13144  +
            self
       13145  +
            /* ServerBuilderGenerator.kt:428 */
       13146  +
        }
       13147  +
        /* ServerBuilderGenerator.kt:331 */
       13148  +
        #[allow(missing_docs)] // documentation missing in model
       13149  +
                               /* ServerBuilderGenerator.kt:343 */
       13150  +
        pub fn integer_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
       13151  +
            /* ServerBuilderGenerator.kt:344 */
       13152  +
            self.integer_enum2 =
       13153  +
                /* ServerBuilderGenerator.kt:376 */input
       13154  +
            /* ServerBuilderGenerator.kt:344 */;
       13155  +
            self
       13156  +
            /* ServerBuilderGenerator.kt:343 */
       13157  +
        }
       13158  +
        /* ServerBuilderGenerator.kt:426 */
       13159  +
        #[allow(missing_docs)] // documentation missing in model
       13160  +
                               /* ServerBuilderGenerator.kt:428 */
       13161  +
        pub(crate) fn set_integer_enum2(
       13162  +
            mut self,
       13163  +
            input: Option<impl ::std::convert::Into<i32>>,
       13164  +
        ) -> Self {
       13165  +
            /* ServerBuilderGenerator.kt:429 */
       13166  +
            self.integer_enum2 = input.map(|v| v.into());
       13167  +
            self
       13168  +
            /* ServerBuilderGenerator.kt:428 */
       13169  +
        }
       13170  +
        /* ServerBuilderGenerator.kt:331 */
       13171  +
        #[allow(missing_docs)] // documentation missing in model
       13172  +
                               /* ServerBuilderGenerator.kt:343 */
       13173  +
        pub fn integer_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
       13174  +
            /* ServerBuilderGenerator.kt:344 */
       13175  +
            self.integer_enum3 =
       13176  +
                /* ServerBuilderGenerator.kt:376 */input
       13177  +
            /* ServerBuilderGenerator.kt:344 */;
       13178  +
            self
       13179  +
            /* ServerBuilderGenerator.kt:343 */
       13180  +
        }
       13181  +
        /* ServerBuilderGenerator.kt:426 */
       13182  +
        #[allow(missing_docs)] // documentation missing in model
       13183  +
                               /* ServerBuilderGenerator.kt:428 */
       13184  +
        pub(crate) fn set_integer_enum3(
       13185  +
            mut self,
       13186  +
            input: Option<impl ::std::convert::Into<i32>>,
       13187  +
        ) -> Self {
       13188  +
            /* ServerBuilderGenerator.kt:429 */
       13189  +
            self.integer_enum3 = input.map(|v| v.into());
       13190  +
            self
       13191  +
            /* ServerBuilderGenerator.kt:428 */
       13192  +
        }
       13193  +
        /* ServerBuilderGenerator.kt:331 */
       13194  +
        #[allow(missing_docs)] // documentation missing in model
       13195  +
                               /* ServerBuilderGenerator.kt:343 */
       13196  +
        pub fn integer_enum_list(
       13197  +
            mut self,
       13198  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       13199  +
        ) -> Self {
       13200  +
            /* ServerBuilderGenerator.kt:344 */
       13201  +
            self.integer_enum_list =
       13202  +
                /* ServerBuilderGenerator.kt:376 */input
       13203  +
            /* ServerBuilderGenerator.kt:344 */;
       13204  +
            self
       13205  +
            /* ServerBuilderGenerator.kt:343 */
       13206  +
        }
       13207  +
        /* ServerBuilderGenerator.kt:426 */
       13208  +
        #[allow(missing_docs)] // documentation missing in model
       13209  +
                               /* ServerBuilderGenerator.kt:428 */
       13210  +
        pub(crate) fn set_integer_enum_list(
       13211  +
            mut self,
       13212  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       13213  +
        ) -> Self {
       13214  +
            /* ServerBuilderGenerator.kt:429 */
       13215  +
            self.integer_enum_list = input.map(|v| v.into());
       13216  +
            self
       13217  +
            /* ServerBuilderGenerator.kt:428 */
       13218  +
        }
       13219  +
        /* ServerBuilderGenerator.kt:331 */
       13220  +
        #[allow(missing_docs)] // documentation missing in model
       13221  +
                               /* ServerBuilderGenerator.kt:343 */
       13222  +
        pub fn integer_enum_set(
       13223  +
            mut self,
       13224  +
            input: ::std::option::Option<crate::model::IntegerEnumSet>,
       13225  +
        ) -> Self {
       13226  +
            /* ServerBuilderGenerator.kt:344 */
       13227  +
            self.integer_enum_set =
       13228  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       13229  +
            /* ServerBuilderGenerator.kt:344 */;
       13230  +
            self
       13231  +
            /* ServerBuilderGenerator.kt:343 */
       13232  +
        }
       13233  +
        /* ServerBuilderGenerator.kt:426 */
       13234  +
        #[allow(missing_docs)] // documentation missing in model
       13235  +
                               /* ServerBuilderGenerator.kt:428 */
       13236  +
        pub(crate) fn set_integer_enum_set(
       13237  +
            mut self,
       13238  +
            input: Option<
       13239  +
                impl ::std::convert::Into<
       13240  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerEnumSet>,
       13241  +
                >,
       13242  +
            >,
       13243  +
        ) -> Self {
       13244  +
            /* ServerBuilderGenerator.kt:429 */
       13245  +
            self.integer_enum_set = input.map(|v| v.into());
       13246  +
            self
       13247  +
            /* ServerBuilderGenerator.kt:428 */
       13248  +
        }
       13249  +
        /* ServerBuilderGenerator.kt:331 */
       13250  +
        #[allow(missing_docs)] // documentation missing in model
       13251  +
                               /* ServerBuilderGenerator.kt:343 */
       13252  +
        pub fn integer_enum_map(
       13253  +
            mut self,
       13254  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
       13255  +
        ) -> Self {
       13256  +
            /* ServerBuilderGenerator.kt:344 */
       13257  +
            self.integer_enum_map =
       13258  +
                /* ServerBuilderGenerator.kt:376 */input
       13259  +
            /* ServerBuilderGenerator.kt:344 */;
       13260  +
            self
       13261  +
            /* ServerBuilderGenerator.kt:343 */
       13262  +
        }
       13263  +
        /* ServerBuilderGenerator.kt:426 */
       13264  +
        #[allow(missing_docs)] // documentation missing in model
       13265  +
                               /* ServerBuilderGenerator.kt:428 */
       13266  +
        pub(crate) fn set_integer_enum_map(
       13267  +
            mut self,
       13268  +
            input: Option<
       13269  +
                impl ::std::convert::Into<::std::collections::HashMap<::std::string::String, i32>>,
       13270  +
            >,
       13271  +
        ) -> Self {
       13272  +
            /* ServerBuilderGenerator.kt:429 */
       13273  +
            self.integer_enum_map = input.map(|v| v.into());
       13274  +
            self
       13275  +
            /* ServerBuilderGenerator.kt:428 */
       13276  +
        }
       13277  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput).
       13278  +
        /// /* ServerBuilderGenerator.kt:260 */
       13279  +
        /// The builder fails to construct a [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) if a [`ConstraintViolation`] occurs.
       13280  +
        ///
       13281  +
        /* ServerBuilderGenerator.kt:271 */
       13282  +
        pub fn build(self) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
       13283  +
            self.build_enforcing_all_constraints()
       13284  +
        }
       13285  +
        /* ServerBuilderGenerator.kt:283 */
       13286  +
        fn build_enforcing_all_constraints(
       13287  +
            self,
       13288  +
        ) -> Result<crate::input::JsonIntEnumsInput, ConstraintViolation> {
       13289  +
            /* ServerBuilderGenerator.kt:287 */
       13290  +
            Ok(
       13291  +
                /* ServerBuilderGenerator.kt:542 */
       13292  +
                crate::input::JsonIntEnumsInput {
       13293  +
                    /* ServerBuilderGenerator.kt:546 */
       13294  +
                    integer_enum1: self.integer_enum1,
       13295  +
                    /* ServerBuilderGenerator.kt:546 */
       13296  +
                    integer_enum2: self.integer_enum2,
       13297  +
                    /* ServerBuilderGenerator.kt:546 */
       13298  +
                    integer_enum3: self.integer_enum3,
       13299  +
                    /* ServerBuilderGenerator.kt:546 */
       13300  +
                    integer_enum_list: self.integer_enum_list,
       13301  +
                    /* ServerBuilderGenerator.kt:546 */
       13302  +
                    integer_enum_set: self
       13303  +
                        .integer_enum_set
       13304  +
                        /* ServerBuilderGenerator.kt:602 */
       13305  +
                        .map(|v| match v {
       13306  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13307  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13308  +
                        })
       13309  +
                        /* ServerBuilderGenerator.kt:614 */
       13310  +
                        .map(|res| res.map_err(ConstraintViolation::IntegerEnumSet))
       13311  +
                        .transpose()?,
       13312  +
                    /* ServerBuilderGenerator.kt:546 */
       13313  +
                    integer_enum_map: self.integer_enum_map,
       13314  +
                    /* ServerBuilderGenerator.kt:542 */
       13315  +
                }, /* ServerBuilderGenerator.kt:287 */
       13316  +
            )
       13317  +
            /* ServerBuilderGenerator.kt:283 */
       13318  +
        }
       13319  +
        /* ServerBuilderGenerator.kt:215 */
       13320  +
    }
       13321  +
       13322  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       13323  +
}
       13324  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       13325  +
pub mod json_enums_input {
       13326  +
       13327  +
    /* RustType.kt:534 */
       13328  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       13329  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       13330  +
    /* RustType.kt:534 */
       13331  +
    #[non_exhaustive]
       13332  +
    /* ServerBuilderConstraintViolations.kt:75 */
       13333  +
    #[allow(clippy::enum_variant_names)]
       13334  +
    pub enum ConstraintViolation {
       13335  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`.
       13336  +
        /* RustType.kt:534 */
       13337  +
        #[doc(hidden)]
       13338  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13339  +
        FooEnum1(crate::model::foo_enum::ConstraintViolation),
       13340  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`.
       13341  +
        /* RustType.kt:534 */
       13342  +
        #[doc(hidden)]
       13343  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13344  +
        FooEnum2(crate::model::foo_enum::ConstraintViolation),
       13345  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`.
       13346  +
        /* RustType.kt:534 */
       13347  +
        #[doc(hidden)]
       13348  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13349  +
        FooEnum3(crate::model::foo_enum::ConstraintViolation),
       13350  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`.
       13351  +
        /* RustType.kt:534 */
       13352  +
        #[doc(hidden)]
       13353  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13354  +
        FooEnumList(crate::model::foo_enum_list::ConstraintViolation),
       13355  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`.
       13356  +
        /* RustType.kt:534 */
       13357  +
        #[doc(hidden)]
       13358  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13359  +
        FooEnumSet(crate::model::foo_enum_set::ConstraintViolation),
       13360  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`.
       13361  +
        /* RustType.kt:534 */
       13362  +
        #[doc(hidden)]
       13363  +
        /* ServerBuilderConstraintViolations.kt:165 */
       13364  +
        FooEnumMap(crate::model::foo_enum_map::ConstraintViolation),
       13365  +
        /* ServerBuilderConstraintViolations.kt:75 */
       13366  +
    }
       13367  +
    /* ServerBuilderConstraintViolations.kt:116 */
       13368  +
    impl ::std::fmt::Display for ConstraintViolation {
       13369  +
        /* ServerBuilderConstraintViolations.kt:117 */
       13370  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       13371  +
            /* ServerBuilderConstraintViolations.kt:118 */
       13372  +
            match self {
       13373  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum1(_) => write!(f, "constraint violation occurred building member `foo_enum1` when building `JsonEnumsInput`"),
       13374  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum2(_) => write!(f, "constraint violation occurred building member `foo_enum2` when building `JsonEnumsInput`"),
       13375  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnum3(_) => write!(f, "constraint violation occurred building member `foo_enum3` when building `JsonEnumsInput`"),
       13376  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumList(_) => write!(f, "constraint violation occurred building member `foo_enum_list` when building `JsonEnumsInput`"),
       13377  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumSet(_) => write!(f, "constraint violation occurred building member `foo_enum_set` when building `JsonEnumsInput`"),
       13378  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::FooEnumMap(_) => write!(f, "constraint violation occurred building member `foo_enum_map` when building `JsonEnumsInput`"),
       13379  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       13380  +
            /* ServerBuilderConstraintViolations.kt:117 */
       13381  +
        }
       13382  +
        /* ServerBuilderConstraintViolations.kt:116 */
       13383  +
    }
       13384  +
    /* ServerBuilderConstraintViolations.kt:83 */
       13385  +
    impl ::std::error::Error for ConstraintViolation {}
       13386  +
    /* ServerBuilderConstraintViolations.kt:172 */
       13387  +
    impl ConstraintViolation {
       13388  +
        pub(crate) fn as_validation_exception_field(
       13389  +
            self,
       13390  +
            path: ::std::string::String,
       13391  +
        ) -> crate::model::ValidationExceptionField {
       13392  +
            match self {
       13393  +
                ConstraintViolation::FooEnum1(inner) => {
       13394  +
                    inner.as_validation_exception_field(path + "/fooEnum1")
       13395  +
                }
       13396  +
                ConstraintViolation::FooEnum2(inner) => {
       13397  +
                    inner.as_validation_exception_field(path + "/fooEnum2")
       13398  +
                }
       13399  +
                ConstraintViolation::FooEnum3(inner) => {
       13400  +
                    inner.as_validation_exception_field(path + "/fooEnum3")
       13401  +
                }
       13402  +
                ConstraintViolation::FooEnumList(inner) => {
       13403  +
                    inner.as_validation_exception_field(path + "/fooEnumList")
       13404  +
                }
       13405  +
                ConstraintViolation::FooEnumSet(inner) => {
       13406  +
                    inner.as_validation_exception_field(path + "/fooEnumSet")
       13407  +
                }
       13408  +
                ConstraintViolation::FooEnumMap(inner) => {
       13409  +
                    inner.as_validation_exception_field(path + "/fooEnumMap")
       13410  +
                }
       13411  +
            }
       13412  +
        }
       13413  +
    }
       13414  +
    /* ServerBuilderGenerator.kt:234 */
       13415  +
    impl ::std::convert::From<ConstraintViolation>
       13416  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       13417  +
    {
       13418  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       13419  +
            let first_validation_exception_field =
       13420  +
                constraint_violation.as_validation_exception_field("".to_owned());
       13421  +
            let validation_exception = crate::error::ValidationException {
       13422  +
                message: format!(
       13423  +
                    "1 validation error detected. {}",
       13424  +
                    &first_validation_exception_field.message
       13425  +
                ),
       13426  +
                field_list: Some(vec![first_validation_exception_field]),
       13427  +
            };
       13428  +
            Self::ConstraintViolation(
       13429  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       13430  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       13431  +
                            )
       13432  +
        }
       13433  +
    }
       13434  +
    /* ServerBuilderGenerator.kt:244 */
       13435  +
    impl ::std::convert::From<Builder>
       13436  +
        for crate::constrained::MaybeConstrained<crate::input::JsonEnumsInput>
       13437  +
    {
       13438  +
        fn from(builder: Builder) -> Self {
       13439  +
            Self::Unconstrained(builder)
       13440  +
        }
       13441  +
    }
       13442  +
    /* ServerBuilderGenerator.kt:446 */
       13443  +
    impl ::std::convert::TryFrom<Builder> for crate::input::JsonEnumsInput {
       13444  +
        type Error = ConstraintViolation;
       13445  +
       13446  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       13447  +
            builder.build()
       13448  +
        }
       13449  +
    }
       13450  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       13451  +
    /* RustType.kt:534 */
       13452  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       13453  +
    /* ServerBuilderGenerator.kt:211 */
       13454  +
    pub struct Builder {
       13455  +
        /* ServerBuilderGenerator.kt:308 */
       13456  +
        pub(crate) foo_enum1:
       13457  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13458  +
        /* ServerBuilderGenerator.kt:308 */
       13459  +
        pub(crate) foo_enum2:
       13460  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13461  +
        /* ServerBuilderGenerator.kt:308 */
       13462  +
        pub(crate) foo_enum3:
       13463  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13464  +
        /* ServerBuilderGenerator.kt:308 */
       13465  +
        pub(crate) foo_enum_list: ::std::option::Option<
       13466  +
            crate::constrained::MaybeConstrained<
       13467  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       13468  +
            >,
       13469  +
        >,
       13470  +
        /* ServerBuilderGenerator.kt:308 */
       13471  +
        pub(crate) foo_enum_set:
       13472  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnumSet>>,
       13473  +
        /* ServerBuilderGenerator.kt:308 */
       13474  +
        pub(crate) foo_enum_map: ::std::option::Option<
       13475  +
            crate::constrained::MaybeConstrained<
       13476  +
                crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
       13477  +
            >,
       13478  +
        >,
       13479  +
        /* ServerBuilderGenerator.kt:211 */
       13480  +
    }
       13481  +
    /* ServerBuilderGenerator.kt:215 */
       13482  +
    impl Builder {
       13483  +
        /* ServerBuilderGenerator.kt:331 */
       13484  +
        #[allow(missing_docs)] // documentation missing in model
       13485  +
                               /* ServerBuilderGenerator.kt:343 */
       13486  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       13487  +
            /* ServerBuilderGenerator.kt:344 */
       13488  +
            self.foo_enum1 =
       13489  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       13490  +
            /* ServerBuilderGenerator.kt:344 */;
       13491  +
            self
       13492  +
            /* ServerBuilderGenerator.kt:343 */
       13493  +
        }
       13494  +
        /* ServerBuilderGenerator.kt:426 */
       13495  +
        #[allow(missing_docs)] // documentation missing in model
       13496  +
                               /* ServerBuilderGenerator.kt:428 */
       13497  +
        pub(crate) fn set_foo_enum1(
       13498  +
            mut self,
       13499  +
            input: Option<
       13500  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13501  +
            >,
       13502  +
        ) -> Self {
       13503  +
            /* ServerBuilderGenerator.kt:429 */
       13504  +
            self.foo_enum1 = input.map(|v| v.into());
       13505  +
            self
       13506  +
            /* ServerBuilderGenerator.kt:428 */
       13507  +
        }
       13508  +
        /* ServerBuilderGenerator.kt:331 */
       13509  +
        #[allow(missing_docs)] // documentation missing in model
       13510  +
                               /* ServerBuilderGenerator.kt:343 */
       13511  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       13512  +
            /* ServerBuilderGenerator.kt:344 */
       13513  +
            self.foo_enum2 =
       13514  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       13515  +
            /* ServerBuilderGenerator.kt:344 */;
       13516  +
            self
       13517  +
            /* ServerBuilderGenerator.kt:343 */
       13518  +
        }
       13519  +
        /* ServerBuilderGenerator.kt:426 */
       13520  +
        #[allow(missing_docs)] // documentation missing in model
       13521  +
                               /* ServerBuilderGenerator.kt:428 */
       13522  +
        pub(crate) fn set_foo_enum2(
       13523  +
            mut self,
       13524  +
            input: Option<
       13525  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13526  +
            >,
       13527  +
        ) -> Self {
       13528  +
            /* ServerBuilderGenerator.kt:429 */
       13529  +
            self.foo_enum2 = input.map(|v| v.into());
       13530  +
            self
       13531  +
            /* ServerBuilderGenerator.kt:428 */
       13532  +
        }
       13533  +
        /* ServerBuilderGenerator.kt:331 */
       13534  +
        #[allow(missing_docs)] // documentation missing in model
       13535  +
                               /* ServerBuilderGenerator.kt:343 */
       13536  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       13537  +
            /* ServerBuilderGenerator.kt:344 */
       13538  +
            self.foo_enum3 =
       13539  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       13540  +
            /* ServerBuilderGenerator.kt:344 */;
       13541  +
            self
       13542  +
            /* ServerBuilderGenerator.kt:343 */
       13543  +
        }
       13544  +
        /* ServerBuilderGenerator.kt:426 */
       13545  +
        #[allow(missing_docs)] // documentation missing in model
       13546  +
                               /* ServerBuilderGenerator.kt:428 */
       13547  +
        pub(crate) fn set_foo_enum3(
       13548  +
            mut self,
       13549  +
            input: Option<
       13550  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       13551  +
            >,
       13552  +
        ) -> Self {
       13553  +
            /* ServerBuilderGenerator.kt:429 */
       13554  +
            self.foo_enum3 = input.map(|v| v.into());
       13555  +
            self
       13556  +
            /* ServerBuilderGenerator.kt:428 */
       13557  +
        }
       13558  +
        /* ServerBuilderGenerator.kt:331 */
       13559  +
        #[allow(missing_docs)] // documentation missing in model
       13560  +
                               /* ServerBuilderGenerator.kt:343 */
       13561  +
        pub fn foo_enum_list(
       13562  +
            mut self,
       13563  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       13564  +
        ) -> Self {
       13565  +
            /* ServerBuilderGenerator.kt:344 */
       13566  +
            self.foo_enum_list =
       13567  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       13568  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       13569  +
                /* ServerBuilderGenerator.kt:363 */)
       13570  +
            /* ServerBuilderGenerator.kt:344 */;
       13571  +
            self
       13572  +
            /* ServerBuilderGenerator.kt:343 */
       13573  +
        }
       13574  +
        /* ServerBuilderGenerator.kt:426 */
       13575  +
        #[allow(missing_docs)] // documentation missing in model
       13576  +
                               /* ServerBuilderGenerator.kt:428 */
       13577  +
        pub(crate) fn set_foo_enum_list(
       13578  +
            mut self,
       13579  +
            input: Option<
       13580  +
                impl ::std::convert::Into<
       13581  +
                    crate::constrained::MaybeConstrained<
       13582  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       13583  +
                    >,
       13584  +
                >,
       13585  +
            >,
       13586  +
        ) -> Self {
       13587  +
            /* ServerBuilderGenerator.kt:429 */
       13588  +
            self.foo_enum_list = input.map(|v| v.into());
       13589  +
            self
       13590  +
            /* ServerBuilderGenerator.kt:428 */
       13591  +
        }
       13592  +
        /* ServerBuilderGenerator.kt:331 */
       13593  +
        #[allow(missing_docs)] // documentation missing in model
       13594  +
                               /* ServerBuilderGenerator.kt:343 */
       13595  +
        pub fn foo_enum_set(
       13596  +
            mut self,
       13597  +
            input: ::std::option::Option<crate::model::FooEnumSet>,
       13598  +
        ) -> Self {
       13599  +
            /* ServerBuilderGenerator.kt:344 */
       13600  +
            self.foo_enum_set =
       13601  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       13602  +
            /* ServerBuilderGenerator.kt:344 */;
       13603  +
            self
       13604  +
            /* ServerBuilderGenerator.kt:343 */
       13605  +
        }
       13606  +
        /* ServerBuilderGenerator.kt:426 */
       13607  +
        #[allow(missing_docs)] // documentation missing in model
       13608  +
                               /* ServerBuilderGenerator.kt:428 */
       13609  +
        pub(crate) fn set_foo_enum_set(
       13610  +
            mut self,
       13611  +
            input: Option<
       13612  +
                impl ::std::convert::Into<
       13613  +
                    crate::constrained::MaybeConstrained<crate::model::FooEnumSet>,
       13614  +
                >,
       13615  +
            >,
       13616  +
        ) -> Self {
       13617  +
            /* ServerBuilderGenerator.kt:429 */
       13618  +
            self.foo_enum_set = input.map(|v| v.into());
       13619  +
            self
       13620  +
            /* ServerBuilderGenerator.kt:428 */
       13621  +
        }
       13622  +
        /* ServerBuilderGenerator.kt:331 */
       13623  +
        #[allow(missing_docs)] // documentation missing in model
       13624  +
                               /* ServerBuilderGenerator.kt:343 */
       13625  +
        pub fn foo_enum_map(
       13626  +
            mut self,
       13627  +
            input: ::std::option::Option<
       13628  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
       13629  +
            >,
       13630  +
        ) -> Self {
       13631  +
            /* ServerBuilderGenerator.kt:344 */
       13632  +
            self.foo_enum_map =
       13633  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       13634  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       13635  +
                /* ServerBuilderGenerator.kt:363 */)
       13636  +
            /* ServerBuilderGenerator.kt:344 */;
       13637  +
            self
       13638  +
            /* ServerBuilderGenerator.kt:343 */
       13639  +
        }
       13640  +
        /* ServerBuilderGenerator.kt:426 */
       13641  +
        #[allow(missing_docs)] // documentation missing in model
       13642  +
                               /* ServerBuilderGenerator.kt:428 */
       13643  +
        pub(crate) fn set_foo_enum_map(
       13644  +
            mut self,
       13645  +
            input: Option<
       13646  +
                impl ::std::convert::Into<
       13647  +
                    crate::constrained::MaybeConstrained<
       13648  +
                        crate::constrained::foo_enum_map_constrained::FooEnumMapConstrained,
       13649  +
                    >,
       13650  +
                >,
       13651  +
            >,
       13652  +
        ) -> Self {
       13653  +
            /* ServerBuilderGenerator.kt:429 */
       13654  +
            self.foo_enum_map = input.map(|v| v.into());
       13655  +
            self
       13656  +
            /* ServerBuilderGenerator.kt:428 */
       13657  +
        }
       13658  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonEnumsInput`](crate::input::JsonEnumsInput).
       13659  +
        /// /* ServerBuilderGenerator.kt:260 */
       13660  +
        /// The builder fails to construct a [`JsonEnumsInput`](crate::input::JsonEnumsInput) if a [`ConstraintViolation`] occurs.
       13661  +
        ///
       13662  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       13663  +
        /* ServerBuilderGenerator.kt:271 */
       13664  +
        pub fn build(self) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
       13665  +
            self.build_enforcing_all_constraints()
       13666  +
        }
       13667  +
        /* ServerBuilderGenerator.kt:283 */
       13668  +
        fn build_enforcing_all_constraints(
       13669  +
            self,
       13670  +
        ) -> Result<crate::input::JsonEnumsInput, ConstraintViolation> {
       13671  +
            /* ServerBuilderGenerator.kt:287 */
       13672  +
            Ok(
       13673  +
                /* ServerBuilderGenerator.kt:542 */
       13674  +
                crate::input::JsonEnumsInput {
       13675  +
                    /* ServerBuilderGenerator.kt:546 */
       13676  +
                    foo_enum1: self
       13677  +
                        .foo_enum1
       13678  +
                        /* ServerBuilderGenerator.kt:602 */
       13679  +
                        .map(|v| match v {
       13680  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13681  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13682  +
                        })
       13683  +
                        /* ServerBuilderGenerator.kt:614 */
       13684  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnum1))
       13685  +
                        .transpose()?,
       13686  +
                    /* ServerBuilderGenerator.kt:546 */
       13687  +
                    foo_enum2: self
       13688  +
                        .foo_enum2
       13689  +
                        /* ServerBuilderGenerator.kt:602 */
       13690  +
                        .map(|v| match v {
       13691  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13692  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13693  +
                        })
       13694  +
                        /* ServerBuilderGenerator.kt:614 */
       13695  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnum2))
       13696  +
                        .transpose()?,
       13697  +
                    /* ServerBuilderGenerator.kt:546 */
       13698  +
                    foo_enum3: self
       13699  +
                        .foo_enum3
       13700  +
                        /* ServerBuilderGenerator.kt:602 */
       13701  +
                        .map(|v| match v {
       13702  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13703  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13704  +
                        })
       13705  +
                        /* ServerBuilderGenerator.kt:614 */
       13706  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnum3))
       13707  +
                        .transpose()?,
       13708  +
                    /* ServerBuilderGenerator.kt:546 */
       13709  +
                    foo_enum_list: self
       13710  +
                        .foo_enum_list
       13711  +
                        /* ServerBuilderGenerator.kt:602 */
       13712  +
                        .map(|v| match v {
       13713  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13714  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13715  +
                        })
       13716  +
                        /* ServerBuilderGenerator.kt:614 */
       13717  +
                        .map(|res| {
       13718  +
                            res.map(|v| v.into())
       13719  +
                                .map_err(ConstraintViolation::FooEnumList)
       13720  +
                        })
       13721  +
                        .transpose()?,
       13722  +
                    /* ServerBuilderGenerator.kt:546 */
       13723  +
                    foo_enum_set: self
       13724  +
                        .foo_enum_set
       13725  +
                        /* ServerBuilderGenerator.kt:602 */
       13726  +
                        .map(|v| match v {
       13727  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13728  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13729  +
                        })
       13730  +
                        /* ServerBuilderGenerator.kt:614 */
       13731  +
                        .map(|res| res.map_err(ConstraintViolation::FooEnumSet))
       13732  +
                        .transpose()?,
       13733  +
                    /* ServerBuilderGenerator.kt:546 */
       13734  +
                    foo_enum_map: self
       13735  +
                        .foo_enum_map
       13736  +
                        /* ServerBuilderGenerator.kt:602 */
       13737  +
                        .map(|v| match v {
       13738  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       13739  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       13740  +
                        })
       13741  +
                        /* ServerBuilderGenerator.kt:614 */
       13742  +
                        .map(|res| {
       13743  +
                            res.map(|v| v.into())
       13744  +
                                .map_err(ConstraintViolation::FooEnumMap)
       13745  +
                        })
       13746  +
                        .transpose()?,
       13747  +
                    /* ServerBuilderGenerator.kt:542 */
       13748  +
                }, /* ServerBuilderGenerator.kt:287 */
       13749  +
            )
       13750  +
            /* ServerBuilderGenerator.kt:283 */
       13751  +
        }
       13752  +
        /* ServerBuilderGenerator.kt:215 */
       13753  +
    }
       13754  +
       13755  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       13756  +
}
       13757  +
/// /* ServerBuilderGenerator.kt:171 */See [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13758  +
pub mod json_timestamps_input {
       13759  +
       13760  +
    /* ServerBuilderGenerator.kt:461 */
       13761  +
    impl ::std::convert::From<Builder> for crate::input::JsonTimestampsInput {
       13762  +
        fn from(builder: Builder) -> Self {
       13763  +
            builder.build()
       13764  +
        }
       13765  +
    }
       13766  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13767  +
    /* RustType.kt:534 */
       13768  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       13769  +
    /* ServerBuilderGenerator.kt:211 */
       13770  +
    pub struct Builder {
       13771  +
        /* ServerBuilderGenerator.kt:308 */
       13772  +
        pub(crate) normal: ::std::option::Option<::aws_smithy_types::DateTime>,
       13773  +
        /* ServerBuilderGenerator.kt:308 */
       13774  +
        pub(crate) date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       13775  +
        /* ServerBuilderGenerator.kt:308 */
       13776  +
        pub(crate) date_time_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
       13777  +
        /* ServerBuilderGenerator.kt:308 */
       13778  +
        pub(crate) epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
       13779  +
        /* ServerBuilderGenerator.kt:308 */
       13780  +
        pub(crate) epoch_seconds_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
       13781  +
        /* ServerBuilderGenerator.kt:308 */
       13782  +
        pub(crate) http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       13783  +
        /* ServerBuilderGenerator.kt:308 */
       13784  +
        pub(crate) http_date_on_target: ::std::option::Option<::aws_smithy_types::DateTime>,
       13785  +
        /* ServerBuilderGenerator.kt:211 */
       13786  +
    }
       13787  +
    /* ServerBuilderGenerator.kt:215 */
       13788  +
    impl Builder {
       13789  +
        /* ServerBuilderGenerator.kt:331 */
       13790  +
        #[allow(missing_docs)] // documentation missing in model
       13791  +
                               /* ServerBuilderGenerator.kt:343 */
       13792  +
        pub fn normal(
       13793  +
            mut self,
       13794  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13795  +
        ) -> Self {
       13796  +
            /* ServerBuilderGenerator.kt:344 */
       13797  +
            self.normal =
       13798  +
                /* ServerBuilderGenerator.kt:376 */input
       13799  +
            /* ServerBuilderGenerator.kt:344 */;
       13800  +
            self
       13801  +
            /* ServerBuilderGenerator.kt:343 */
       13802  +
        }
       13803  +
        /* ServerBuilderGenerator.kt:426 */
       13804  +
        #[allow(missing_docs)] // documentation missing in model
       13805  +
                               /* ServerBuilderGenerator.kt:428 */
       13806  +
        pub(crate) fn set_normal(
       13807  +
            mut self,
       13808  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13809  +
        ) -> Self {
       13810  +
            /* ServerBuilderGenerator.kt:429 */
       13811  +
            self.normal = input.map(|v| v.into());
       13812  +
            self
       13813  +
            /* ServerBuilderGenerator.kt:428 */
       13814  +
        }
       13815  +
        /* ServerBuilderGenerator.kt:331 */
       13816  +
        #[allow(missing_docs)] // documentation missing in model
       13817  +
                               /* ServerBuilderGenerator.kt:343 */
       13818  +
        pub fn date_time(
       13819  +
            mut self,
       13820  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13821  +
        ) -> Self {
       13822  +
            /* ServerBuilderGenerator.kt:344 */
       13823  +
            self.date_time =
       13824  +
                /* ServerBuilderGenerator.kt:376 */input
       13825  +
            /* ServerBuilderGenerator.kt:344 */;
       13826  +
            self
       13827  +
            /* ServerBuilderGenerator.kt:343 */
       13828  +
        }
       13829  +
        /* ServerBuilderGenerator.kt:426 */
       13830  +
        #[allow(missing_docs)] // documentation missing in model
       13831  +
                               /* ServerBuilderGenerator.kt:428 */
       13832  +
        pub(crate) fn set_date_time(
       13833  +
            mut self,
       13834  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13835  +
        ) -> Self {
       13836  +
            /* ServerBuilderGenerator.kt:429 */
       13837  +
            self.date_time = input.map(|v| v.into());
       13838  +
            self
       13839  +
            /* ServerBuilderGenerator.kt:428 */
       13840  +
        }
       13841  +
        /* ServerBuilderGenerator.kt:331 */
       13842  +
        #[allow(missing_docs)] // documentation missing in model
       13843  +
                               /* ServerBuilderGenerator.kt:343 */
       13844  +
        pub fn date_time_on_target(
       13845  +
            mut self,
       13846  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13847  +
        ) -> Self {
       13848  +
            /* ServerBuilderGenerator.kt:344 */
       13849  +
            self.date_time_on_target =
       13850  +
                /* ServerBuilderGenerator.kt:376 */input
       13851  +
            /* ServerBuilderGenerator.kt:344 */;
       13852  +
            self
       13853  +
            /* ServerBuilderGenerator.kt:343 */
       13854  +
        }
       13855  +
        /* ServerBuilderGenerator.kt:426 */
       13856  +
        #[allow(missing_docs)] // documentation missing in model
       13857  +
                               /* ServerBuilderGenerator.kt:428 */
       13858  +
        pub(crate) fn set_date_time_on_target(
       13859  +
            mut self,
       13860  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13861  +
        ) -> Self {
       13862  +
            /* ServerBuilderGenerator.kt:429 */
       13863  +
            self.date_time_on_target = input.map(|v| v.into());
       13864  +
            self
       13865  +
            /* ServerBuilderGenerator.kt:428 */
       13866  +
        }
       13867  +
        /* ServerBuilderGenerator.kt:331 */
       13868  +
        #[allow(missing_docs)] // documentation missing in model
       13869  +
                               /* ServerBuilderGenerator.kt:343 */
       13870  +
        pub fn epoch_seconds(
       13871  +
            mut self,
       13872  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13873  +
        ) -> Self {
       13874  +
            /* ServerBuilderGenerator.kt:344 */
       13875  +
            self.epoch_seconds =
       13876  +
                /* ServerBuilderGenerator.kt:376 */input
       13877  +
            /* ServerBuilderGenerator.kt:344 */;
       13878  +
            self
       13879  +
            /* ServerBuilderGenerator.kt:343 */
       13880  +
        }
       13881  +
        /* ServerBuilderGenerator.kt:426 */
       13882  +
        #[allow(missing_docs)] // documentation missing in model
       13883  +
                               /* ServerBuilderGenerator.kt:428 */
       13884  +
        pub(crate) fn set_epoch_seconds(
       13885  +
            mut self,
       13886  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13887  +
        ) -> Self {
       13888  +
            /* ServerBuilderGenerator.kt:429 */
       13889  +
            self.epoch_seconds = input.map(|v| v.into());
       13890  +
            self
       13891  +
            /* ServerBuilderGenerator.kt:428 */
       13892  +
        }
       13893  +
        /* ServerBuilderGenerator.kt:331 */
       13894  +
        #[allow(missing_docs)] // documentation missing in model
       13895  +
                               /* ServerBuilderGenerator.kt:343 */
       13896  +
        pub fn epoch_seconds_on_target(
       13897  +
            mut self,
       13898  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13899  +
        ) -> Self {
       13900  +
            /* ServerBuilderGenerator.kt:344 */
       13901  +
            self.epoch_seconds_on_target =
       13902  +
                /* ServerBuilderGenerator.kt:376 */input
       13903  +
            /* ServerBuilderGenerator.kt:344 */;
       13904  +
            self
       13905  +
            /* ServerBuilderGenerator.kt:343 */
       13906  +
        }
       13907  +
        /* ServerBuilderGenerator.kt:426 */
       13908  +
        #[allow(missing_docs)] // documentation missing in model
       13909  +
                               /* ServerBuilderGenerator.kt:428 */
       13910  +
        pub(crate) fn set_epoch_seconds_on_target(
       13911  +
            mut self,
       13912  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13913  +
        ) -> Self {
       13914  +
            /* ServerBuilderGenerator.kt:429 */
       13915  +
            self.epoch_seconds_on_target = input.map(|v| v.into());
       13916  +
            self
       13917  +
            /* ServerBuilderGenerator.kt:428 */
       13918  +
        }
       13919  +
        /* ServerBuilderGenerator.kt:331 */
       13920  +
        #[allow(missing_docs)] // documentation missing in model
       13921  +
                               /* ServerBuilderGenerator.kt:343 */
       13922  +
        pub fn http_date(
       13923  +
            mut self,
       13924  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13925  +
        ) -> Self {
       13926  +
            /* ServerBuilderGenerator.kt:344 */
       13927  +
            self.http_date =
       13928  +
                /* ServerBuilderGenerator.kt:376 */input
       13929  +
            /* ServerBuilderGenerator.kt:344 */;
       13930  +
            self
       13931  +
            /* ServerBuilderGenerator.kt:343 */
       13932  +
        }
       13933  +
        /* ServerBuilderGenerator.kt:426 */
       13934  +
        #[allow(missing_docs)] // documentation missing in model
       13935  +
                               /* ServerBuilderGenerator.kt:428 */
       13936  +
        pub(crate) fn set_http_date(
       13937  +
            mut self,
       13938  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13939  +
        ) -> Self {
       13940  +
            /* ServerBuilderGenerator.kt:429 */
       13941  +
            self.http_date = input.map(|v| v.into());
       13942  +
            self
       13943  +
            /* ServerBuilderGenerator.kt:428 */
       13944  +
        }
       13945  +
        /* ServerBuilderGenerator.kt:331 */
       13946  +
        #[allow(missing_docs)] // documentation missing in model
       13947  +
                               /* ServerBuilderGenerator.kt:343 */
       13948  +
        pub fn http_date_on_target(
       13949  +
            mut self,
       13950  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       13951  +
        ) -> Self {
       13952  +
            /* ServerBuilderGenerator.kt:344 */
       13953  +
            self.http_date_on_target =
       13954  +
                /* ServerBuilderGenerator.kt:376 */input
       13955  +
            /* ServerBuilderGenerator.kt:344 */;
       13956  +
            self
       13957  +
            /* ServerBuilderGenerator.kt:343 */
       13958  +
        }
       13959  +
        /* ServerBuilderGenerator.kt:426 */
       13960  +
        #[allow(missing_docs)] // documentation missing in model
       13961  +
                               /* ServerBuilderGenerator.kt:428 */
       13962  +
        pub(crate) fn set_http_date_on_target(
       13963  +
            mut self,
       13964  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       13965  +
        ) -> Self {
       13966  +
            /* ServerBuilderGenerator.kt:429 */
       13967  +
            self.http_date_on_target = input.map(|v| v.into());
       13968  +
            self
       13969  +
            /* ServerBuilderGenerator.kt:428 */
       13970  +
        }
       13971  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`JsonTimestampsInput`](crate::input::JsonTimestampsInput).
       13972  +
        /* ServerBuilderGenerator.kt:271 */
       13973  +
        pub fn build(self) -> crate::input::JsonTimestampsInput {
       13974  +
            self.build_enforcing_all_constraints()
       13975  +
        }
       13976  +
        /* ServerBuilderGenerator.kt:283 */
       13977  +
        fn build_enforcing_all_constraints(self) -> crate::input::JsonTimestampsInput {
       13978  +
            /* ServerBuilderGenerator.kt:542 */
       13979  +
            crate::input::JsonTimestampsInput {
       13980  +
                /* ServerBuilderGenerator.kt:546 */
       13981  +
                normal: self.normal,
       13982  +
                /* ServerBuilderGenerator.kt:546 */
       13983  +
                date_time: self.date_time,
       13984  +
                /* ServerBuilderGenerator.kt:546 */
       13985  +
                date_time_on_target: self.date_time_on_target,
       13986  +
                /* ServerBuilderGenerator.kt:546 */
       13987  +
                epoch_seconds: self.epoch_seconds,
       13988  +
                /* ServerBuilderGenerator.kt:546 */
       13989  +
                epoch_seconds_on_target: self.epoch_seconds_on_target,
       13990  +
                /* ServerBuilderGenerator.kt:546 */
       13991  +
                http_date: self.http_date,
       13992  +
                /* ServerBuilderGenerator.kt:546 */
       13993  +
                http_date_on_target: self.http_date_on_target,
       13994  +
                /* ServerBuilderGenerator.kt:542 */
       13995  +
            }
       13996  +
            /* ServerBuilderGenerator.kt:283 */
       13997  +
        }
       13998  +
        /* ServerBuilderGenerator.kt:215 */
       13999  +
    }
       14000  +
       14001  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14002  +
}
       14003  +
/// /* ServerBuilderGenerator.kt:171 */See [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       14004  +
pub mod simple_scalar_properties_input {
       14005  +
       14006  +
    /* ServerBuilderGenerator.kt:461 */
       14007  +
    impl ::std::convert::From<Builder> for crate::input::SimpleScalarPropertiesInput {
       14008  +
        fn from(builder: Builder) -> Self {
       14009  +
            builder.build()
       14010  +
        }
       14011  +
    }
       14012  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       14013  +
    /* RustType.kt:534 */
       14014  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14015  +
    /* ServerBuilderGenerator.kt:211 */
       14016  +
    pub struct Builder {
       14017  +
        /* ServerBuilderGenerator.kt:308 */
       14018  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       14019  +
        /* ServerBuilderGenerator.kt:308 */
       14020  +
        pub(crate) string_value: ::std::option::Option<::std::string::String>,
       14021  +
        /* ServerBuilderGenerator.kt:308 */
       14022  +
        pub(crate) true_boolean_value: ::std::option::Option<bool>,
       14023  +
        /* ServerBuilderGenerator.kt:308 */
       14024  +
        pub(crate) false_boolean_value: ::std::option::Option<bool>,
       14025  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) byte_value: ::std::option::Option<i8>,
       14026  +
        /* ServerBuilderGenerator.kt:308 */
       14027  +
        pub(crate) short_value: ::std::option::Option<i16>,
       14028  +
        /* ServerBuilderGenerator.kt:308 */
       14029  +
        pub(crate) integer_value: ::std::option::Option<i32>,
       14030  +
        /* ServerBuilderGenerator.kt:308 */
       14031  +
        pub(crate) long_value: ::std::option::Option<i64>,
       14032  +
        /* ServerBuilderGenerator.kt:308 */
       14033  +
        pub(crate) float_value: ::std::option::Option<f32>,
       14034  +
        /* ServerBuilderGenerator.kt:308 */
       14035  +
        pub(crate) double_value: ::std::option::Option<f64>,
       14036  +
        /* ServerBuilderGenerator.kt:211 */
       14037  +
    }
       14038  +
    /* ServerBuilderGenerator.kt:215 */
       14039  +
    impl Builder {
       14040  +
        /* ServerBuilderGenerator.kt:331 */
       14041  +
        #[allow(missing_docs)] // documentation missing in model
       14042  +
                               /* ServerBuilderGenerator.kt:343 */
       14043  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       14044  +
            /* ServerBuilderGenerator.kt:344 */
       14045  +
            self.foo =
       14046  +
                /* ServerBuilderGenerator.kt:376 */input
       14047  +
            /* ServerBuilderGenerator.kt:344 */;
       14048  +
            self
       14049  +
            /* ServerBuilderGenerator.kt:343 */
       14050  +
        }
       14051  +
        /* ServerBuilderGenerator.kt:426 */
       14052  +
        #[allow(missing_docs)] // documentation missing in model
       14053  +
                               /* ServerBuilderGenerator.kt:428 */
       14054  +
        pub(crate) fn set_foo(
       14055  +
            mut self,
       14056  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14057  +
        ) -> Self {
       14058  +
            /* ServerBuilderGenerator.kt:429 */
       14059  +
            self.foo = input.map(|v| v.into());
       14060  +
            self
       14061  +
            /* ServerBuilderGenerator.kt:428 */
       14062  +
        }
       14063  +
        /* ServerBuilderGenerator.kt:331 */
       14064  +
        #[allow(missing_docs)] // documentation missing in model
       14065  +
                               /* ServerBuilderGenerator.kt:343 */
       14066  +
        pub fn string_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       14067  +
            /* ServerBuilderGenerator.kt:344 */
       14068  +
            self.string_value =
       14069  +
                /* ServerBuilderGenerator.kt:376 */input
       14070  +
            /* ServerBuilderGenerator.kt:344 */;
       14071  +
            self
       14072  +
            /* ServerBuilderGenerator.kt:343 */
       14073  +
        }
       14074  +
        /* ServerBuilderGenerator.kt:426 */
       14075  +
        #[allow(missing_docs)] // documentation missing in model
       14076  +
                               /* ServerBuilderGenerator.kt:428 */
       14077  +
        pub(crate) fn set_string_value(
       14078  +
            mut self,
       14079  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14080  +
        ) -> Self {
       14081  +
            /* ServerBuilderGenerator.kt:429 */
       14082  +
            self.string_value = input.map(|v| v.into());
       14083  +
            self
       14084  +
            /* ServerBuilderGenerator.kt:428 */
       14085  +
        }
       14086  +
        /* ServerBuilderGenerator.kt:331 */
       14087  +
        #[allow(missing_docs)] // documentation missing in model
       14088  +
                               /* ServerBuilderGenerator.kt:343 */
       14089  +
        pub fn true_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
       14090  +
            /* ServerBuilderGenerator.kt:344 */
       14091  +
            self.true_boolean_value =
       14092  +
                /* ServerBuilderGenerator.kt:376 */input
       14093  +
            /* ServerBuilderGenerator.kt:344 */;
       14094  +
            self
       14095  +
            /* ServerBuilderGenerator.kt:343 */
       14096  +
        }
       14097  +
        /* ServerBuilderGenerator.kt:426 */
       14098  +
        #[allow(missing_docs)] // documentation missing in model
       14099  +
                               /* ServerBuilderGenerator.kt:428 */
       14100  +
        pub(crate) fn set_true_boolean_value(
       14101  +
            mut self,
       14102  +
            input: Option<impl ::std::convert::Into<bool>>,
       14103  +
        ) -> Self {
       14104  +
            /* ServerBuilderGenerator.kt:429 */
       14105  +
            self.true_boolean_value = input.map(|v| v.into());
       14106  +
            self
       14107  +
            /* ServerBuilderGenerator.kt:428 */
       14108  +
        }
       14109  +
        /* ServerBuilderGenerator.kt:331 */
       14110  +
        #[allow(missing_docs)] // documentation missing in model
       14111  +
                               /* ServerBuilderGenerator.kt:343 */
       14112  +
        pub fn false_boolean_value(mut self, input: ::std::option::Option<bool>) -> Self {
       14113  +
            /* ServerBuilderGenerator.kt:344 */
       14114  +
            self.false_boolean_value =
       14115  +
                /* ServerBuilderGenerator.kt:376 */input
       14116  +
            /* ServerBuilderGenerator.kt:344 */;
       14117  +
            self
       14118  +
            /* ServerBuilderGenerator.kt:343 */
       14119  +
        }
       14120  +
        /* ServerBuilderGenerator.kt:426 */
       14121  +
        #[allow(missing_docs)] // documentation missing in model
       14122  +
                               /* ServerBuilderGenerator.kt:428 */
       14123  +
        pub(crate) fn set_false_boolean_value(
       14124  +
            mut self,
       14125  +
            input: Option<impl ::std::convert::Into<bool>>,
       14126  +
        ) -> Self {
       14127  +
            /* ServerBuilderGenerator.kt:429 */
       14128  +
            self.false_boolean_value = input.map(|v| v.into());
       14129  +
            self
       14130  +
            /* ServerBuilderGenerator.kt:428 */
       14131  +
        }
       14132  +
        /* ServerBuilderGenerator.kt:331 */
       14133  +
        #[allow(missing_docs)] // documentation missing in model
       14134  +
                               /* ServerBuilderGenerator.kt:343 */
       14135  +
        pub fn byte_value(mut self, input: ::std::option::Option<i8>) -> Self {
       14136  +
            /* ServerBuilderGenerator.kt:344 */
       14137  +
            self.byte_value =
       14138  +
                /* ServerBuilderGenerator.kt:376 */input
       14139  +
            /* ServerBuilderGenerator.kt:344 */;
       14140  +
            self
       14141  +
            /* ServerBuilderGenerator.kt:343 */
       14142  +
        }
       14143  +
        /* ServerBuilderGenerator.kt:426 */
       14144  +
        #[allow(missing_docs)] // documentation missing in model
       14145  +
                               /* ServerBuilderGenerator.kt:428 */
       14146  +
        pub(crate) fn set_byte_value(
       14147  +
            mut self,
       14148  +
            input: Option<impl ::std::convert::Into<i8>>,
       14149  +
        ) -> Self {
       14150  +
            /* ServerBuilderGenerator.kt:429 */
       14151  +
            self.byte_value = input.map(|v| v.into());
       14152  +
            self
       14153  +
            /* ServerBuilderGenerator.kt:428 */
       14154  +
        }
       14155  +
        /* ServerBuilderGenerator.kt:331 */
       14156  +
        #[allow(missing_docs)] // documentation missing in model
       14157  +
                               /* ServerBuilderGenerator.kt:343 */
       14158  +
        pub fn short_value(mut self, input: ::std::option::Option<i16>) -> Self {
       14159  +
            /* ServerBuilderGenerator.kt:344 */
       14160  +
            self.short_value =
       14161  +
                /* ServerBuilderGenerator.kt:376 */input
       14162  +
            /* ServerBuilderGenerator.kt:344 */;
       14163  +
            self
       14164  +
            /* ServerBuilderGenerator.kt:343 */
       14165  +
        }
       14166  +
        /* ServerBuilderGenerator.kt:426 */
       14167  +
        #[allow(missing_docs)] // documentation missing in model
       14168  +
                               /* ServerBuilderGenerator.kt:428 */
       14169  +
        pub(crate) fn set_short_value(
       14170  +
            mut self,
       14171  +
            input: Option<impl ::std::convert::Into<i16>>,
       14172  +
        ) -> Self {
       14173  +
            /* ServerBuilderGenerator.kt:429 */
       14174  +
            self.short_value = input.map(|v| v.into());
       14175  +
            self
       14176  +
            /* ServerBuilderGenerator.kt:428 */
       14177  +
        }
       14178  +
        /* ServerBuilderGenerator.kt:331 */
       14179  +
        #[allow(missing_docs)] // documentation missing in model
       14180  +
                               /* ServerBuilderGenerator.kt:343 */
       14181  +
        pub fn integer_value(mut self, input: ::std::option::Option<i32>) -> Self {
       14182  +
            /* ServerBuilderGenerator.kt:344 */
       14183  +
            self.integer_value =
       14184  +
                /* ServerBuilderGenerator.kt:376 */input
       14185  +
            /* ServerBuilderGenerator.kt:344 */;
       14186  +
            self
       14187  +
            /* ServerBuilderGenerator.kt:343 */
       14188  +
        }
       14189  +
        /* ServerBuilderGenerator.kt:426 */
       14190  +
        #[allow(missing_docs)] // documentation missing in model
       14191  +
                               /* ServerBuilderGenerator.kt:428 */
       14192  +
        pub(crate) fn set_integer_value(
       14193  +
            mut self,
       14194  +
            input: Option<impl ::std::convert::Into<i32>>,
       14195  +
        ) -> Self {
       14196  +
            /* ServerBuilderGenerator.kt:429 */
       14197  +
            self.integer_value = input.map(|v| v.into());
       14198  +
            self
       14199  +
            /* ServerBuilderGenerator.kt:428 */
       14200  +
        }
       14201  +
        /* ServerBuilderGenerator.kt:331 */
       14202  +
        #[allow(missing_docs)] // documentation missing in model
       14203  +
                               /* ServerBuilderGenerator.kt:343 */
       14204  +
        pub fn long_value(mut self, input: ::std::option::Option<i64>) -> Self {
       14205  +
            /* ServerBuilderGenerator.kt:344 */
       14206  +
            self.long_value =
       14207  +
                /* ServerBuilderGenerator.kt:376 */input
       14208  +
            /* ServerBuilderGenerator.kt:344 */;
       14209  +
            self
       14210  +
            /* ServerBuilderGenerator.kt:343 */
       14211  +
        }
       14212  +
        /* ServerBuilderGenerator.kt:426 */
       14213  +
        #[allow(missing_docs)] // documentation missing in model
       14214  +
                               /* ServerBuilderGenerator.kt:428 */
       14215  +
        pub(crate) fn set_long_value(
       14216  +
            mut self,
       14217  +
            input: Option<impl ::std::convert::Into<i64>>,
       14218  +
        ) -> Self {
       14219  +
            /* ServerBuilderGenerator.kt:429 */
       14220  +
            self.long_value = input.map(|v| v.into());
       14221  +
            self
       14222  +
            /* ServerBuilderGenerator.kt:428 */
       14223  +
        }
       14224  +
        /* ServerBuilderGenerator.kt:331 */
       14225  +
        #[allow(missing_docs)] // documentation missing in model
       14226  +
                               /* ServerBuilderGenerator.kt:343 */
       14227  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
       14228  +
            /* ServerBuilderGenerator.kt:344 */
       14229  +
            self.float_value =
       14230  +
                /* ServerBuilderGenerator.kt:376 */input
       14231  +
            /* ServerBuilderGenerator.kt:344 */;
       14232  +
            self
       14233  +
            /* ServerBuilderGenerator.kt:343 */
       14234  +
        }
       14235  +
        /* ServerBuilderGenerator.kt:426 */
       14236  +
        #[allow(missing_docs)] // documentation missing in model
       14237  +
                               /* ServerBuilderGenerator.kt:428 */
       14238  +
        pub(crate) fn set_float_value(
       14239  +
            mut self,
       14240  +
            input: Option<impl ::std::convert::Into<f32>>,
       14241  +
        ) -> Self {
       14242  +
            /* ServerBuilderGenerator.kt:429 */
       14243  +
            self.float_value = input.map(|v| v.into());
       14244  +
            self
       14245  +
            /* ServerBuilderGenerator.kt:428 */
       14246  +
        }
       14247  +
        /* ServerBuilderGenerator.kt:331 */
       14248  +
        #[allow(missing_docs)] // documentation missing in model
       14249  +
                               /* ServerBuilderGenerator.kt:343 */
       14250  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
       14251  +
            /* ServerBuilderGenerator.kt:344 */
       14252  +
            self.double_value =
       14253  +
                /* ServerBuilderGenerator.kt:376 */input
       14254  +
            /* ServerBuilderGenerator.kt:344 */;
       14255  +
            self
       14256  +
            /* ServerBuilderGenerator.kt:343 */
       14257  +
        }
       14258  +
        /* ServerBuilderGenerator.kt:426 */
       14259  +
        #[allow(missing_docs)] // documentation missing in model
       14260  +
                               /* ServerBuilderGenerator.kt:428 */
       14261  +
        pub(crate) fn set_double_value(
       14262  +
            mut self,
       14263  +
            input: Option<impl ::std::convert::Into<f64>>,
       14264  +
        ) -> Self {
       14265  +
            /* ServerBuilderGenerator.kt:429 */
       14266  +
            self.double_value = input.map(|v| v.into());
       14267  +
            self
       14268  +
            /* ServerBuilderGenerator.kt:428 */
       14269  +
        }
       14270  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput).
       14271  +
        /* ServerBuilderGenerator.kt:271 */
       14272  +
        pub fn build(self) -> crate::input::SimpleScalarPropertiesInput {
       14273  +
            self.build_enforcing_all_constraints()
       14274  +
        }
       14275  +
        /* ServerBuilderGenerator.kt:283 */
       14276  +
        fn build_enforcing_all_constraints(self) -> crate::input::SimpleScalarPropertiesInput {
       14277  +
            /* ServerBuilderGenerator.kt:542 */
       14278  +
            crate::input::SimpleScalarPropertiesInput {
       14279  +
                /* ServerBuilderGenerator.kt:546 */
       14280  +
                foo: self.foo,
       14281  +
                /* ServerBuilderGenerator.kt:546 */
       14282  +
                string_value: self.string_value,
       14283  +
                /* ServerBuilderGenerator.kt:546 */
       14284  +
                true_boolean_value: self.true_boolean_value,
       14285  +
                /* ServerBuilderGenerator.kt:546 */
       14286  +
                false_boolean_value: self.false_boolean_value,
       14287  +
                /* ServerBuilderGenerator.kt:546 */
       14288  +
                byte_value: self.byte_value,
       14289  +
                /* ServerBuilderGenerator.kt:546 */
       14290  +
                short_value: self.short_value,
       14291  +
                /* ServerBuilderGenerator.kt:546 */
       14292  +
                integer_value: self.integer_value,
       14293  +
                /* ServerBuilderGenerator.kt:546 */
       14294  +
                long_value: self.long_value,
       14295  +
                /* ServerBuilderGenerator.kt:546 */
       14296  +
                float_value: self.float_value,
       14297  +
                /* ServerBuilderGenerator.kt:546 */
       14298  +
                double_value: self.double_value,
       14299  +
                /* ServerBuilderGenerator.kt:542 */
       14300  +
            }
       14301  +
            /* ServerBuilderGenerator.kt:283 */
       14302  +
        }
       14303  +
        /* ServerBuilderGenerator.kt:215 */
       14304  +
    }
       14305  +
       14306  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14307  +
}
       14308  +
/// /* ServerBuilderGenerator.kt:171 */See [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       14309  +
pub mod greeting_with_errors_input {
       14310  +
       14311  +
    /* ServerBuilderGenerator.kt:461 */
       14312  +
    impl ::std::convert::From<Builder> for crate::input::GreetingWithErrorsInput {
       14313  +
        fn from(builder: Builder) -> Self {
       14314  +
            builder.build()
       14315  +
        }
       14316  +
    }
       14317  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       14318  +
    /* RustType.kt:534 */
       14319  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14320  +
    /* ServerBuilderGenerator.kt:211 */
       14321  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       14322  +
    /* ServerBuilderGenerator.kt:215 */
       14323  +
    impl Builder {
       14324  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput).
       14325  +
        /* ServerBuilderGenerator.kt:271 */
       14326  +
        pub fn build(self) -> crate::input::GreetingWithErrorsInput {
       14327  +
            self.build_enforcing_all_constraints()
       14328  +
        }
       14329  +
        /* ServerBuilderGenerator.kt:283 */
       14330  +
        fn build_enforcing_all_constraints(self) -> crate::input::GreetingWithErrorsInput {
       14331  +
            /* ServerBuilderGenerator.kt:542 */
       14332  +
            crate::input::GreetingWithErrorsInput {
       14333  +
            /* ServerBuilderGenerator.kt:542 */}
       14334  +
            /* ServerBuilderGenerator.kt:283 */
       14335  +
        }
       14336  +
        /* ServerBuilderGenerator.kt:215 */
       14337  +
    }
       14338  +
       14339  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14340  +
}
       14341  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       14342  +
pub mod streaming_traits_with_media_type_input {
       14343  +
       14344  +
    /* ServerBuilderGenerator.kt:461 */
       14345  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsWithMediaTypeInput {
       14346  +
        fn from(builder: Builder) -> Self {
       14347  +
            builder.build()
       14348  +
        }
       14349  +
    }
       14350  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       14351  +
    /* RustType.kt:534 */
       14352  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       14353  +
    /* ServerBuilderGenerator.kt:211 */
       14354  +
    pub struct Builder {
       14355  +
        /* ServerBuilderGenerator.kt:308 */
       14356  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       14357  +
        /* ServerBuilderGenerator.kt:308 */
       14358  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
       14359  +
        /* ServerBuilderGenerator.kt:211 */
       14360  +
    }
       14361  +
    /* ServerBuilderGenerator.kt:215 */
       14362  +
    impl Builder {
       14363  +
        /* ServerBuilderGenerator.kt:331 */
       14364  +
        #[allow(missing_docs)] // documentation missing in model
       14365  +
                               /* ServerBuilderGenerator.kt:343 */
       14366  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       14367  +
            /* ServerBuilderGenerator.kt:344 */
       14368  +
            self.foo =
       14369  +
                /* ServerBuilderGenerator.kt:376 */input
       14370  +
            /* ServerBuilderGenerator.kt:344 */;
       14371  +
            self
       14372  +
            /* ServerBuilderGenerator.kt:343 */
       14373  +
        }
       14374  +
        /* ServerBuilderGenerator.kt:426 */
       14375  +
        #[allow(missing_docs)] // documentation missing in model
       14376  +
                               /* ServerBuilderGenerator.kt:428 */
       14377  +
        pub(crate) fn set_foo(
       14378  +
            mut self,
       14379  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14380  +
        ) -> Self {
       14381  +
            /* ServerBuilderGenerator.kt:429 */
       14382  +
            self.foo = input.map(|v| v.into());
       14383  +
            self
       14384  +
            /* ServerBuilderGenerator.kt:428 */
       14385  +
        }
       14386  +
        /* ServerBuilderGenerator.kt:331 */
       14387  +
        #[allow(missing_docs)] // documentation missing in model
       14388  +
                               /* ServerBuilderGenerator.kt:343 */
       14389  +
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
       14390  +
            /* ServerBuilderGenerator.kt:344 */
       14391  +
            self.blob =
       14392  +
                /* ServerBuilderGenerator.kt:345 */Some(
       14393  +
                    /* ServerBuilderGenerator.kt:376 */input
       14394  +
                /* ServerBuilderGenerator.kt:345 */)
       14395  +
            /* ServerBuilderGenerator.kt:344 */;
       14396  +
            self
       14397  +
            /* ServerBuilderGenerator.kt:343 */
       14398  +
        }
       14399  +
        /* ServerBuilderGenerator.kt:426 */
       14400  +
        #[allow(missing_docs)] // documentation missing in model
       14401  +
                               /* ServerBuilderGenerator.kt:428 */
       14402  +
        pub(crate) fn set_blob(
       14403  +
            mut self,
       14404  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
       14405  +
        ) -> Self {
       14406  +
            /* ServerBuilderGenerator.kt:429 */
       14407  +
            self.blob = Some(input.into());
       14408  +
            self
       14409  +
            /* ServerBuilderGenerator.kt:428 */
       14410  +
        }
       14411  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsWithMediaTypeInput`](crate::input::StreamingTraitsWithMediaTypeInput).
       14412  +
        /* ServerBuilderGenerator.kt:271 */
       14413  +
        pub fn build(self) -> crate::input::StreamingTraitsWithMediaTypeInput {
       14414  +
            self.build_enforcing_all_constraints()
       14415  +
        }
       14416  +
        /* ServerBuilderGenerator.kt:283 */
       14417  +
        fn build_enforcing_all_constraints(
       14418  +
            self,
       14419  +
        ) -> crate::input::StreamingTraitsWithMediaTypeInput {
       14420  +
            /* ServerBuilderGenerator.kt:542 */
       14421  +
            crate::input::StreamingTraitsWithMediaTypeInput {
       14422  +
                /* ServerBuilderGenerator.kt:546 */
       14423  +
                foo: self.foo,
       14424  +
                /* ServerBuilderGenerator.kt:546 */
       14425  +
                blob: self
       14426  +
                    .blob
       14427  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
       14428  +
                    .unwrap_or_default(),
       14429  +
                /* ServerBuilderGenerator.kt:542 */
       14430  +
            }
       14431  +
            /* ServerBuilderGenerator.kt:283 */
       14432  +
        }
       14433  +
        /* ServerBuilderGenerator.kt:215 */
       14434  +
    }
       14435  +
       14436  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14437  +
}
       14438  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       14439  +
pub mod streaming_traits_require_length_input {
       14440  +
       14441  +
    /* ServerBuilderGenerator.kt:461 */
       14442  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsRequireLengthInput {
       14443  +
        fn from(builder: Builder) -> Self {
       14444  +
            builder.build()
       14445  +
        }
       14446  +
    }
       14447  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       14448  +
    /* RustType.kt:534 */
       14449  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       14450  +
    /* ServerBuilderGenerator.kt:211 */
       14451  +
    pub struct Builder {
       14452  +
        /* ServerBuilderGenerator.kt:308 */
       14453  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       14454  +
        /* ServerBuilderGenerator.kt:308 */
       14455  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
       14456  +
        /* ServerBuilderGenerator.kt:211 */
       14457  +
    }
       14458  +
    /* ServerBuilderGenerator.kt:215 */
       14459  +
    impl Builder {
       14460  +
        /* ServerBuilderGenerator.kt:331 */
       14461  +
        #[allow(missing_docs)] // documentation missing in model
       14462  +
                               /* ServerBuilderGenerator.kt:343 */
       14463  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       14464  +
            /* ServerBuilderGenerator.kt:344 */
       14465  +
            self.foo =
       14466  +
                /* ServerBuilderGenerator.kt:376 */input
       14467  +
            /* ServerBuilderGenerator.kt:344 */;
       14468  +
            self
       14469  +
            /* ServerBuilderGenerator.kt:343 */
       14470  +
        }
       14471  +
        /* ServerBuilderGenerator.kt:426 */
       14472  +
        #[allow(missing_docs)] // documentation missing in model
       14473  +
                               /* ServerBuilderGenerator.kt:428 */
       14474  +
        pub(crate) fn set_foo(
       14475  +
            mut self,
       14476  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14477  +
        ) -> Self {
       14478  +
            /* ServerBuilderGenerator.kt:429 */
       14479  +
            self.foo = input.map(|v| v.into());
       14480  +
            self
       14481  +
            /* ServerBuilderGenerator.kt:428 */
       14482  +
        }
       14483  +
        /* ServerBuilderGenerator.kt:331 */
       14484  +
        #[allow(missing_docs)] // documentation missing in model
       14485  +
                               /* ServerBuilderGenerator.kt:343 */
       14486  +
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
       14487  +
            /* ServerBuilderGenerator.kt:344 */
       14488  +
            self.blob =
       14489  +
                /* ServerBuilderGenerator.kt:345 */Some(
       14490  +
                    /* ServerBuilderGenerator.kt:376 */input
       14491  +
                /* ServerBuilderGenerator.kt:345 */)
       14492  +
            /* ServerBuilderGenerator.kt:344 */;
       14493  +
            self
       14494  +
            /* ServerBuilderGenerator.kt:343 */
       14495  +
        }
       14496  +
        /* ServerBuilderGenerator.kt:426 */
       14497  +
        #[allow(missing_docs)] // documentation missing in model
       14498  +
                               /* ServerBuilderGenerator.kt:428 */
       14499  +
        pub(crate) fn set_blob(
       14500  +
            mut self,
       14501  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
       14502  +
        ) -> Self {
       14503  +
            /* ServerBuilderGenerator.kt:429 */
       14504  +
            self.blob = Some(input.into());
       14505  +
            self
       14506  +
            /* ServerBuilderGenerator.kt:428 */
       14507  +
        }
       14508  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsRequireLengthInput`](crate::input::StreamingTraitsRequireLengthInput).
       14509  +
        /* ServerBuilderGenerator.kt:271 */
       14510  +
        pub fn build(self) -> crate::input::StreamingTraitsRequireLengthInput {
       14511  +
            self.build_enforcing_all_constraints()
       14512  +
        }
       14513  +
        /* ServerBuilderGenerator.kt:283 */
       14514  +
        fn build_enforcing_all_constraints(
       14515  +
            self,
       14516  +
        ) -> crate::input::StreamingTraitsRequireLengthInput {
       14517  +
            /* ServerBuilderGenerator.kt:542 */
       14518  +
            crate::input::StreamingTraitsRequireLengthInput {
       14519  +
                /* ServerBuilderGenerator.kt:546 */
       14520  +
                foo: self.foo,
       14521  +
                /* ServerBuilderGenerator.kt:546 */
       14522  +
                blob: self
       14523  +
                    .blob
       14524  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
       14525  +
                    .unwrap_or_default(),
       14526  +
                /* ServerBuilderGenerator.kt:542 */
       14527  +
            }
       14528  +
            /* ServerBuilderGenerator.kt:283 */
       14529  +
        }
       14530  +
        /* ServerBuilderGenerator.kt:215 */
       14531  +
    }
       14532  +
       14533  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14534  +
}
       14535  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       14536  +
pub mod streaming_traits_input {
       14537  +
       14538  +
    /* ServerBuilderGenerator.kt:461 */
       14539  +
    impl ::std::convert::From<Builder> for crate::input::StreamingTraitsInput {
       14540  +
        fn from(builder: Builder) -> Self {
       14541  +
            builder.build()
       14542  +
        }
       14543  +
    }
       14544  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       14545  +
    /* RustType.kt:534 */
       14546  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
       14547  +
    /* ServerBuilderGenerator.kt:211 */
       14548  +
    pub struct Builder {
       14549  +
        /* ServerBuilderGenerator.kt:308 */
       14550  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       14551  +
        /* ServerBuilderGenerator.kt:308 */
       14552  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
       14553  +
        /* ServerBuilderGenerator.kt:211 */
       14554  +
    }
       14555  +
    /* ServerBuilderGenerator.kt:215 */
       14556  +
    impl Builder {
       14557  +
        /* ServerBuilderGenerator.kt:331 */
       14558  +
        #[allow(missing_docs)] // documentation missing in model
       14559  +
                               /* ServerBuilderGenerator.kt:343 */
       14560  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       14561  +
            /* ServerBuilderGenerator.kt:344 */
       14562  +
            self.foo =
       14563  +
                /* ServerBuilderGenerator.kt:376 */input
       14564  +
            /* ServerBuilderGenerator.kt:344 */;
       14565  +
            self
       14566  +
            /* ServerBuilderGenerator.kt:343 */
       14567  +
        }
       14568  +
        /* ServerBuilderGenerator.kt:426 */
       14569  +
        #[allow(missing_docs)] // documentation missing in model
       14570  +
                               /* ServerBuilderGenerator.kt:428 */
       14571  +
        pub(crate) fn set_foo(
       14572  +
            mut self,
       14573  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14574  +
        ) -> Self {
       14575  +
            /* ServerBuilderGenerator.kt:429 */
       14576  +
            self.foo = input.map(|v| v.into());
       14577  +
            self
       14578  +
            /* ServerBuilderGenerator.kt:428 */
       14579  +
        }
       14580  +
        /* ServerBuilderGenerator.kt:331 */
       14581  +
        #[allow(missing_docs)] // documentation missing in model
       14582  +
                               /* ServerBuilderGenerator.kt:343 */
       14583  +
        pub fn blob(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
       14584  +
            /* ServerBuilderGenerator.kt:344 */
       14585  +
            self.blob =
       14586  +
                /* ServerBuilderGenerator.kt:345 */Some(
       14587  +
                    /* ServerBuilderGenerator.kt:376 */input
       14588  +
                /* ServerBuilderGenerator.kt:345 */)
       14589  +
            /* ServerBuilderGenerator.kt:344 */;
       14590  +
            self
       14591  +
            /* ServerBuilderGenerator.kt:343 */
       14592  +
        }
       14593  +
        /* ServerBuilderGenerator.kt:426 */
       14594  +
        #[allow(missing_docs)] // documentation missing in model
       14595  +
                               /* ServerBuilderGenerator.kt:428 */
       14596  +
        pub(crate) fn set_blob(
       14597  +
            mut self,
       14598  +
            input: impl ::std::convert::Into<::aws_smithy_types::byte_stream::ByteStream>,
       14599  +
        ) -> Self {
       14600  +
            /* ServerBuilderGenerator.kt:429 */
       14601  +
            self.blob = Some(input.into());
       14602  +
            self
       14603  +
            /* ServerBuilderGenerator.kt:428 */
       14604  +
        }
       14605  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamingTraitsInput`](crate::input::StreamingTraitsInput).
       14606  +
        /* ServerBuilderGenerator.kt:271 */
       14607  +
        pub fn build(self) -> crate::input::StreamingTraitsInput {
       14608  +
            self.build_enforcing_all_constraints()
       14609  +
        }
       14610  +
        /* ServerBuilderGenerator.kt:283 */
       14611  +
        fn build_enforcing_all_constraints(self) -> crate::input::StreamingTraitsInput {
       14612  +
            /* ServerBuilderGenerator.kt:542 */
       14613  +
            crate::input::StreamingTraitsInput {
       14614  +
                /* ServerBuilderGenerator.kt:546 */
       14615  +
                foo: self.foo,
       14616  +
                /* ServerBuilderGenerator.kt:546 */
       14617  +
                blob: self
       14618  +
                    .blob
       14619  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
       14620  +
                    .unwrap_or_default(),
       14621  +
                /* ServerBuilderGenerator.kt:542 */
       14622  +
            }
       14623  +
            /* ServerBuilderGenerator.kt:283 */
       14624  +
        }
       14625  +
        /* ServerBuilderGenerator.kt:215 */
       14626  +
    }
       14627  +
       14628  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14629  +
}
       14630  +
/// /* ServerBuilderGenerator.kt:171 */See [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       14631  +
pub mod response_code_http_fallback_input {
       14632  +
       14633  +
    /* ServerBuilderGenerator.kt:461 */
       14634  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeHttpFallbackInput {
       14635  +
        fn from(builder: Builder) -> Self {
       14636  +
            builder.build()
       14637  +
        }
       14638  +
    }
       14639  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       14640  +
    /* RustType.kt:534 */
       14641  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14642  +
    /* ServerBuilderGenerator.kt:211 */
       14643  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       14644  +
    /* ServerBuilderGenerator.kt:215 */
       14645  +
    impl Builder {
       14646  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ResponseCodeHttpFallbackInput`](crate::input::ResponseCodeHttpFallbackInput).
       14647  +
        /* ServerBuilderGenerator.kt:271 */
       14648  +
        pub fn build(self) -> crate::input::ResponseCodeHttpFallbackInput {
       14649  +
            self.build_enforcing_all_constraints()
       14650  +
        }
       14651  +
        /* ServerBuilderGenerator.kt:283 */
       14652  +
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeHttpFallbackInput {
       14653  +
            /* ServerBuilderGenerator.kt:542 */
       14654  +
            crate::input::ResponseCodeHttpFallbackInput {
       14655  +
            /* ServerBuilderGenerator.kt:542 */}
       14656  +
            /* ServerBuilderGenerator.kt:283 */
       14657  +
        }
       14658  +
        /* ServerBuilderGenerator.kt:215 */
       14659  +
    }
       14660  +
       14661  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14662  +
}
       14663  +
/// /* ServerBuilderGenerator.kt:171 */See [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       14664  +
pub mod response_code_required_input {
       14665  +
       14666  +
    /* ServerBuilderGenerator.kt:461 */
       14667  +
    impl ::std::convert::From<Builder> for crate::input::ResponseCodeRequiredInput {
       14668  +
        fn from(builder: Builder) -> Self {
       14669  +
            builder.build()
       14670  +
        }
       14671  +
    }
       14672  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       14673  +
    /* RustType.kt:534 */
       14674  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14675  +
    /* ServerBuilderGenerator.kt:211 */
       14676  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       14677  +
    /* ServerBuilderGenerator.kt:215 */
       14678  +
    impl Builder {
       14679  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ResponseCodeRequiredInput`](crate::input::ResponseCodeRequiredInput).
       14680  +
        /* ServerBuilderGenerator.kt:271 */
       14681  +
        pub fn build(self) -> crate::input::ResponseCodeRequiredInput {
       14682  +
            self.build_enforcing_all_constraints()
       14683  +
        }
       14684  +
        /* ServerBuilderGenerator.kt:283 */
       14685  +
        fn build_enforcing_all_constraints(self) -> crate::input::ResponseCodeRequiredInput {
       14686  +
            /* ServerBuilderGenerator.kt:542 */
       14687  +
            crate::input::ResponseCodeRequiredInput {
       14688  +
            /* ServerBuilderGenerator.kt:542 */}
       14689  +
            /* ServerBuilderGenerator.kt:283 */
       14690  +
        }
       14691  +
        /* ServerBuilderGenerator.kt:215 */
       14692  +
    }
       14693  +
       14694  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14695  +
}
       14696  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       14697  +
pub mod http_response_code_input {
       14698  +
       14699  +
    /* ServerBuilderGenerator.kt:461 */
       14700  +
    impl ::std::convert::From<Builder> for crate::input::HttpResponseCodeInput {
       14701  +
        fn from(builder: Builder) -> Self {
       14702  +
            builder.build()
       14703  +
        }
       14704  +
    }
       14705  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       14706  +
    /* RustType.kt:534 */
       14707  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14708  +
    /* ServerBuilderGenerator.kt:211 */
       14709  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       14710  +
    /* ServerBuilderGenerator.kt:215 */
       14711  +
    impl Builder {
       14712  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpResponseCodeInput`](crate::input::HttpResponseCodeInput).
       14713  +
        /* ServerBuilderGenerator.kt:271 */
       14714  +
        pub fn build(self) -> crate::input::HttpResponseCodeInput {
       14715  +
            self.build_enforcing_all_constraints()
       14716  +
        }
       14717  +
        /* ServerBuilderGenerator.kt:283 */
       14718  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpResponseCodeInput {
       14719  +
            /* ServerBuilderGenerator.kt:542 */
       14720  +
            crate::input::HttpResponseCodeInput {
       14721  +
            /* ServerBuilderGenerator.kt:542 */}
       14722  +
            /* ServerBuilderGenerator.kt:283 */
       14723  +
        }
       14724  +
        /* ServerBuilderGenerator.kt:215 */
       14725  +
    }
       14726  +
       14727  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14728  +
}
       14729  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       14730  +
pub mod http_payload_with_union_input {
       14731  +
       14732  +
    /* ServerBuilderGenerator.kt:461 */
       14733  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithUnionInput {
       14734  +
        fn from(builder: Builder) -> Self {
       14735  +
            builder.build()
       14736  +
        }
       14737  +
    }
       14738  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       14739  +
    /* RustType.kt:534 */
       14740  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14741  +
    /* ServerBuilderGenerator.kt:211 */
       14742  +
    pub struct Builder {
       14743  +
        /* ServerBuilderGenerator.kt:308 */
       14744  +
        pub(crate) nested: ::std::option::Option<crate::model::UnionPayload>,
       14745  +
        /* ServerBuilderGenerator.kt:211 */
       14746  +
    }
       14747  +
    /* ServerBuilderGenerator.kt:215 */
       14748  +
    impl Builder {
       14749  +
        /* ServerBuilderGenerator.kt:331 */
       14750  +
        #[allow(missing_docs)] // documentation missing in model
       14751  +
                               /* ServerBuilderGenerator.kt:343 */
       14752  +
        pub fn nested(mut self, input: ::std::option::Option<crate::model::UnionPayload>) -> Self {
       14753  +
            /* ServerBuilderGenerator.kt:344 */
       14754  +
            self.nested =
       14755  +
                /* ServerBuilderGenerator.kt:376 */input
       14756  +
            /* ServerBuilderGenerator.kt:344 */;
       14757  +
            self
       14758  +
            /* ServerBuilderGenerator.kt:343 */
       14759  +
        }
       14760  +
        /* ServerBuilderGenerator.kt:426 */
       14761  +
        #[allow(missing_docs)] // documentation missing in model
       14762  +
                               /* ServerBuilderGenerator.kt:428 */
       14763  +
        pub(crate) fn set_nested(
       14764  +
            mut self,
       14765  +
            input: Option<impl ::std::convert::Into<crate::model::UnionPayload>>,
       14766  +
        ) -> Self {
       14767  +
            /* ServerBuilderGenerator.kt:429 */
       14768  +
            self.nested = input.map(|v| v.into());
       14769  +
            self
       14770  +
            /* ServerBuilderGenerator.kt:428 */
       14771  +
        }
       14772  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadWithUnionInput`](crate::input::HttpPayloadWithUnionInput).
       14773  +
        /* ServerBuilderGenerator.kt:271 */
       14774  +
        pub fn build(self) -> crate::input::HttpPayloadWithUnionInput {
       14775  +
            self.build_enforcing_all_constraints()
       14776  +
        }
       14777  +
        /* ServerBuilderGenerator.kt:283 */
       14778  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithUnionInput {
       14779  +
            /* ServerBuilderGenerator.kt:542 */
       14780  +
            crate::input::HttpPayloadWithUnionInput {
       14781  +
                /* ServerBuilderGenerator.kt:546 */
       14782  +
                nested: self.nested,
       14783  +
                /* ServerBuilderGenerator.kt:542 */
       14784  +
            }
       14785  +
            /* ServerBuilderGenerator.kt:283 */
       14786  +
        }
       14787  +
        /* ServerBuilderGenerator.kt:215 */
       14788  +
    }
       14789  +
       14790  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14791  +
}
       14792  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       14793  +
pub mod http_string_payload_input {
       14794  +
       14795  +
    /* ServerBuilderGenerator.kt:461 */
       14796  +
    impl ::std::convert::From<Builder> for crate::input::HttpStringPayloadInput {
       14797  +
        fn from(builder: Builder) -> Self {
       14798  +
            builder.build()
       14799  +
        }
       14800  +
    }
       14801  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       14802  +
    /* RustType.kt:534 */
       14803  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14804  +
    /* ServerBuilderGenerator.kt:211 */
       14805  +
    pub struct Builder {
       14806  +
        /* ServerBuilderGenerator.kt:308 */
       14807  +
        pub(crate) payload: ::std::option::Option<::std::string::String>,
       14808  +
        /* ServerBuilderGenerator.kt:211 */
       14809  +
    }
       14810  +
    /* ServerBuilderGenerator.kt:215 */
       14811  +
    impl Builder {
       14812  +
        /* ServerBuilderGenerator.kt:331 */
       14813  +
        #[allow(missing_docs)] // documentation missing in model
       14814  +
                               /* ServerBuilderGenerator.kt:343 */
       14815  +
        pub fn payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       14816  +
            /* ServerBuilderGenerator.kt:344 */
       14817  +
            self.payload =
       14818  +
                /* ServerBuilderGenerator.kt:376 */input
       14819  +
            /* ServerBuilderGenerator.kt:344 */;
       14820  +
            self
       14821  +
            /* ServerBuilderGenerator.kt:343 */
       14822  +
        }
       14823  +
        /* ServerBuilderGenerator.kt:426 */
       14824  +
        #[allow(missing_docs)] // documentation missing in model
       14825  +
                               /* ServerBuilderGenerator.kt:428 */
       14826  +
        pub(crate) fn set_payload(
       14827  +
            mut self,
       14828  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       14829  +
        ) -> Self {
       14830  +
            /* ServerBuilderGenerator.kt:429 */
       14831  +
            self.payload = input.map(|v| v.into());
       14832  +
            self
       14833  +
            /* ServerBuilderGenerator.kt:428 */
       14834  +
        }
       14835  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpStringPayloadInput`](crate::input::HttpStringPayloadInput).
       14836  +
        /* ServerBuilderGenerator.kt:271 */
       14837  +
        pub fn build(self) -> crate::input::HttpStringPayloadInput {
       14838  +
            self.build_enforcing_all_constraints()
       14839  +
        }
       14840  +
        /* ServerBuilderGenerator.kt:283 */
       14841  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpStringPayloadInput {
       14842  +
            /* ServerBuilderGenerator.kt:542 */
       14843  +
            crate::input::HttpStringPayloadInput {
       14844  +
                /* ServerBuilderGenerator.kt:546 */
       14845  +
                payload: self.payload,
       14846  +
                /* ServerBuilderGenerator.kt:542 */
       14847  +
            }
       14848  +
            /* ServerBuilderGenerator.kt:283 */
       14849  +
        }
       14850  +
        /* ServerBuilderGenerator.kt:215 */
       14851  +
    }
       14852  +
       14853  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       14854  +
}
       14855  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       14856  +
pub mod http_enum_payload_input {
       14857  +
       14858  +
    /* RustType.kt:534 */
       14859  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       14860  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       14861  +
    /* RustType.kt:534 */
       14862  +
    #[non_exhaustive]
       14863  +
    /* ServerBuilderConstraintViolations.kt:75 */
       14864  +
    #[allow(clippy::enum_variant_names)]
       14865  +
    pub enum ConstraintViolation {
       14866  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`.
       14867  +
        /* RustType.kt:534 */
       14868  +
        #[doc(hidden)]
       14869  +
        /* ServerBuilderConstraintViolations.kt:165 */
       14870  +
        Payload(crate::model::string_enum::ConstraintViolation),
       14871  +
        /* ServerBuilderConstraintViolations.kt:75 */
       14872  +
    }
       14873  +
    /* ServerBuilderConstraintViolations.kt:116 */
       14874  +
    impl ::std::fmt::Display for ConstraintViolation {
       14875  +
        /* ServerBuilderConstraintViolations.kt:117 */
       14876  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       14877  +
            /* ServerBuilderConstraintViolations.kt:118 */
       14878  +
            match self {
       14879  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::Payload(_) => write!(f, "constraint violation occurred building member `payload` when building `HttpEnumPayloadInput`"),
       14880  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       14881  +
            /* ServerBuilderConstraintViolations.kt:117 */
       14882  +
        }
       14883  +
        /* ServerBuilderConstraintViolations.kt:116 */
       14884  +
    }
       14885  +
    /* ServerBuilderConstraintViolations.kt:83 */
       14886  +
    impl ::std::error::Error for ConstraintViolation {}
       14887  +
    /* ServerBuilderConstraintViolations.kt:172 */
       14888  +
    impl ConstraintViolation {
       14889  +
        pub(crate) fn as_validation_exception_field(
       14890  +
            self,
       14891  +
            path: ::std::string::String,
       14892  +
        ) -> crate::model::ValidationExceptionField {
       14893  +
            match self {
       14894  +
                ConstraintViolation::Payload(inner) => {
       14895  +
                    inner.as_validation_exception_field(path + "/payload")
       14896  +
                }
       14897  +
            }
       14898  +
        }
       14899  +
    }
       14900  +
    /* ServerBuilderGenerator.kt:234 */
       14901  +
    impl ::std::convert::From<ConstraintViolation>
       14902  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       14903  +
    {
       14904  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       14905  +
            let first_validation_exception_field =
       14906  +
                constraint_violation.as_validation_exception_field("".to_owned());
       14907  +
            let validation_exception = crate::error::ValidationException {
       14908  +
                message: format!(
       14909  +
                    "1 validation error detected. {}",
       14910  +
                    &first_validation_exception_field.message
       14911  +
                ),
       14912  +
                field_list: Some(vec![first_validation_exception_field]),
       14913  +
            };
       14914  +
            Self::ConstraintViolation(
       14915  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       14916  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       14917  +
                            )
       14918  +
        }
       14919  +
    }
       14920  +
    /* ServerBuilderGenerator.kt:244 */
       14921  +
    impl ::std::convert::From<Builder>
       14922  +
        for crate::constrained::MaybeConstrained<crate::input::HttpEnumPayloadInput>
       14923  +
    {
       14924  +
        fn from(builder: Builder) -> Self {
       14925  +
            Self::Unconstrained(builder)
       14926  +
        }
       14927  +
    }
       14928  +
    /* ServerBuilderGenerator.kt:446 */
       14929  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpEnumPayloadInput {
       14930  +
        type Error = ConstraintViolation;
       14931  +
       14932  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       14933  +
            builder.build()
       14934  +
        }
       14935  +
    }
       14936  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       14937  +
    /* RustType.kt:534 */
       14938  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       14939  +
    /* ServerBuilderGenerator.kt:211 */
       14940  +
    pub struct Builder {
       14941  +
        /* ServerBuilderGenerator.kt:308 */
       14942  +
        pub(crate) payload:
       14943  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringEnum>>,
       14944  +
        /* ServerBuilderGenerator.kt:211 */
       14945  +
    }
       14946  +
    /* ServerBuilderGenerator.kt:215 */
       14947  +
    impl Builder {
       14948  +
        /* ServerBuilderGenerator.kt:331 */
       14949  +
        #[allow(missing_docs)] // documentation missing in model
       14950  +
                               /* ServerBuilderGenerator.kt:343 */
       14951  +
        pub fn payload(mut self, input: ::std::option::Option<crate::model::StringEnum>) -> Self {
       14952  +
            /* ServerBuilderGenerator.kt:344 */
       14953  +
            self.payload =
       14954  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       14955  +
            /* ServerBuilderGenerator.kt:344 */;
       14956  +
            self
       14957  +
            /* ServerBuilderGenerator.kt:343 */
       14958  +
        }
       14959  +
        /* ServerBuilderGenerator.kt:426 */
       14960  +
        #[allow(missing_docs)] // documentation missing in model
       14961  +
                               /* ServerBuilderGenerator.kt:428 */
       14962  +
        pub(crate) fn set_payload(
       14963  +
            mut self,
       14964  +
            input: Option<
       14965  +
                impl ::std::convert::Into<
       14966  +
                    crate::constrained::MaybeConstrained<crate::model::StringEnum>,
       14967  +
                >,
       14968  +
            >,
       14969  +
        ) -> Self {
       14970  +
            /* ServerBuilderGenerator.kt:429 */
       14971  +
            self.payload = input.map(|v| v.into());
       14972  +
            self
       14973  +
            /* ServerBuilderGenerator.kt:428 */
       14974  +
        }
       14975  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput).
       14976  +
        /// /* ServerBuilderGenerator.kt:260 */
       14977  +
        /// The builder fails to construct a [`HttpEnumPayloadInput`](crate::input::HttpEnumPayloadInput) if a [`ConstraintViolation`] occurs.
       14978  +
        ///
       14979  +
        /* ServerBuilderGenerator.kt:271 */
       14980  +
        pub fn build(self) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       14981  +
            self.build_enforcing_all_constraints()
       14982  +
        }
       14983  +
        /* ServerBuilderGenerator.kt:283 */
       14984  +
        fn build_enforcing_all_constraints(
       14985  +
            self,
       14986  +
        ) -> Result<crate::input::HttpEnumPayloadInput, ConstraintViolation> {
       14987  +
            /* ServerBuilderGenerator.kt:287 */
       14988  +
            Ok(
       14989  +
                /* ServerBuilderGenerator.kt:542 */
       14990  +
                crate::input::HttpEnumPayloadInput {
       14991  +
                    /* ServerBuilderGenerator.kt:546 */
       14992  +
                    payload: self
       14993  +
                        .payload
       14994  +
                        /* ServerBuilderGenerator.kt:602 */
       14995  +
                        .map(|v| match v {
       14996  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       14997  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       14998  +
                        })
       14999  +
                        /* ServerBuilderGenerator.kt:614 */
       15000  +
                        .map(|res| res.map_err(ConstraintViolation::Payload))
       15001  +
                        .transpose()?,
       15002  +
                    /* ServerBuilderGenerator.kt:542 */
       15003  +
                }, /* ServerBuilderGenerator.kt:287 */
       15004  +
            )
       15005  +
            /* ServerBuilderGenerator.kt:283 */
       15006  +
        }
       15007  +
        /* ServerBuilderGenerator.kt:215 */
       15008  +
    }
       15009  +
       15010  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15011  +
}
       15012  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       15013  +
pub mod http_payload_with_structure_input {
       15014  +
       15015  +
    /* ServerBuilderGenerator.kt:461 */
       15016  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadWithStructureInput {
       15017  +
        fn from(builder: Builder) -> Self {
       15018  +
            builder.build()
       15019  +
        }
       15020  +
    }
       15021  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       15022  +
    /* RustType.kt:534 */
       15023  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15024  +
    /* ServerBuilderGenerator.kt:211 */
       15025  +
    pub struct Builder {
       15026  +
        /* ServerBuilderGenerator.kt:308 */
       15027  +
        pub(crate) nested: ::std::option::Option<crate::model::NestedPayload>,
       15028  +
        /* ServerBuilderGenerator.kt:211 */
       15029  +
    }
       15030  +
    /* ServerBuilderGenerator.kt:215 */
       15031  +
    impl Builder {
       15032  +
        /* ServerBuilderGenerator.kt:331 */
       15033  +
        #[allow(missing_docs)] // documentation missing in model
       15034  +
                               /* ServerBuilderGenerator.kt:343 */
       15035  +
        pub fn nested(mut self, input: ::std::option::Option<crate::model::NestedPayload>) -> Self {
       15036  +
            /* ServerBuilderGenerator.kt:344 */
       15037  +
            self.nested =
       15038  +
                /* ServerBuilderGenerator.kt:376 */input
       15039  +
            /* ServerBuilderGenerator.kt:344 */;
       15040  +
            self
       15041  +
            /* ServerBuilderGenerator.kt:343 */
       15042  +
        }
       15043  +
        /* ServerBuilderGenerator.kt:426 */
       15044  +
        #[allow(missing_docs)] // documentation missing in model
       15045  +
                               /* ServerBuilderGenerator.kt:428 */
       15046  +
        pub(crate) fn set_nested(
       15047  +
            mut self,
       15048  +
            input: Option<impl ::std::convert::Into<crate::model::NestedPayload>>,
       15049  +
        ) -> Self {
       15050  +
            /* ServerBuilderGenerator.kt:429 */
       15051  +
            self.nested = input.map(|v| v.into());
       15052  +
            self
       15053  +
            /* ServerBuilderGenerator.kt:428 */
       15054  +
        }
       15055  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadWithStructureInput`](crate::input::HttpPayloadWithStructureInput).
       15056  +
        /* ServerBuilderGenerator.kt:271 */
       15057  +
        pub fn build(self) -> crate::input::HttpPayloadWithStructureInput {
       15058  +
            self.build_enforcing_all_constraints()
       15059  +
        }
       15060  +
        /* ServerBuilderGenerator.kt:283 */
       15061  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadWithStructureInput {
       15062  +
            /* ServerBuilderGenerator.kt:542 */
       15063  +
            crate::input::HttpPayloadWithStructureInput {
       15064  +
                /* ServerBuilderGenerator.kt:546 */
       15065  +
                nested: self.nested,
       15066  +
                /* ServerBuilderGenerator.kt:542 */
       15067  +
            }
       15068  +
            /* ServerBuilderGenerator.kt:283 */
       15069  +
        }
       15070  +
        /* ServerBuilderGenerator.kt:215 */
       15071  +
    }
       15072  +
       15073  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15074  +
}
       15075  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       15076  +
pub mod http_payload_traits_with_media_type_input {
       15077  +
       15078  +
    /* ServerBuilderGenerator.kt:461 */
       15079  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsWithMediaTypeInput {
       15080  +
        fn from(builder: Builder) -> Self {
       15081  +
            builder.build()
       15082  +
        }
       15083  +
    }
       15084  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       15085  +
    /* RustType.kt:534 */
       15086  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15087  +
    /* ServerBuilderGenerator.kt:211 */
       15088  +
    pub struct Builder {
       15089  +
        /* ServerBuilderGenerator.kt:308 */
       15090  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       15091  +
        /* ServerBuilderGenerator.kt:308 */
       15092  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
       15093  +
        /* ServerBuilderGenerator.kt:211 */
       15094  +
    }
       15095  +
    /* ServerBuilderGenerator.kt:215 */
       15096  +
    impl Builder {
       15097  +
        /* ServerBuilderGenerator.kt:331 */
       15098  +
        #[allow(missing_docs)] // documentation missing in model
       15099  +
                               /* ServerBuilderGenerator.kt:343 */
       15100  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15101  +
            /* ServerBuilderGenerator.kt:344 */
       15102  +
            self.foo =
       15103  +
                /* ServerBuilderGenerator.kt:376 */input
       15104  +
            /* ServerBuilderGenerator.kt:344 */;
       15105  +
            self
       15106  +
            /* ServerBuilderGenerator.kt:343 */
       15107  +
        }
       15108  +
        /* ServerBuilderGenerator.kt:426 */
       15109  +
        #[allow(missing_docs)] // documentation missing in model
       15110  +
                               /* ServerBuilderGenerator.kt:428 */
       15111  +
        pub(crate) fn set_foo(
       15112  +
            mut self,
       15113  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15114  +
        ) -> Self {
       15115  +
            /* ServerBuilderGenerator.kt:429 */
       15116  +
            self.foo = input.map(|v| v.into());
       15117  +
            self
       15118  +
            /* ServerBuilderGenerator.kt:428 */
       15119  +
        }
       15120  +
        /* ServerBuilderGenerator.kt:331 */
       15121  +
        #[allow(missing_docs)] // documentation missing in model
       15122  +
                               /* ServerBuilderGenerator.kt:343 */
       15123  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       15124  +
            /* ServerBuilderGenerator.kt:344 */
       15125  +
            self.blob =
       15126  +
                /* ServerBuilderGenerator.kt:376 */input
       15127  +
            /* ServerBuilderGenerator.kt:344 */;
       15128  +
            self
       15129  +
            /* ServerBuilderGenerator.kt:343 */
       15130  +
        }
       15131  +
        /* ServerBuilderGenerator.kt:426 */
       15132  +
        #[allow(missing_docs)] // documentation missing in model
       15133  +
                               /* ServerBuilderGenerator.kt:428 */
       15134  +
        pub(crate) fn set_blob(
       15135  +
            mut self,
       15136  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       15137  +
        ) -> Self {
       15138  +
            /* ServerBuilderGenerator.kt:429 */
       15139  +
            self.blob = input.map(|v| v.into());
       15140  +
            self
       15141  +
            /* ServerBuilderGenerator.kt:428 */
       15142  +
        }
       15143  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadTraitsWithMediaTypeInput`](crate::input::HttpPayloadTraitsWithMediaTypeInput).
       15144  +
        /* ServerBuilderGenerator.kt:271 */
       15145  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       15146  +
            self.build_enforcing_all_constraints()
       15147  +
        }
       15148  +
        /* ServerBuilderGenerator.kt:283 */
       15149  +
        fn build_enforcing_all_constraints(
       15150  +
            self,
       15151  +
        ) -> crate::input::HttpPayloadTraitsWithMediaTypeInput {
       15152  +
            /* ServerBuilderGenerator.kt:542 */
       15153  +
            crate::input::HttpPayloadTraitsWithMediaTypeInput {
       15154  +
                /* ServerBuilderGenerator.kt:546 */
       15155  +
                foo: self.foo,
       15156  +
                /* ServerBuilderGenerator.kt:546 */
       15157  +
                blob: self.blob,
       15158  +
                /* ServerBuilderGenerator.kt:542 */
       15159  +
            }
       15160  +
            /* ServerBuilderGenerator.kt:283 */
       15161  +
        }
       15162  +
        /* ServerBuilderGenerator.kt:215 */
       15163  +
    }
       15164  +
       15165  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15166  +
}
       15167  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       15168  +
pub mod http_payload_traits_input {
       15169  +
       15170  +
    /* ServerBuilderGenerator.kt:461 */
       15171  +
    impl ::std::convert::From<Builder> for crate::input::HttpPayloadTraitsInput {
       15172  +
        fn from(builder: Builder) -> Self {
       15173  +
            builder.build()
       15174  +
        }
       15175  +
    }
       15176  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       15177  +
    /* RustType.kt:534 */
       15178  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15179  +
    /* ServerBuilderGenerator.kt:211 */
       15180  +
    pub struct Builder {
       15181  +
        /* ServerBuilderGenerator.kt:308 */
       15182  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       15183  +
        /* ServerBuilderGenerator.kt:308 */
       15184  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
       15185  +
        /* ServerBuilderGenerator.kt:211 */
       15186  +
    }
       15187  +
    /* ServerBuilderGenerator.kt:215 */
       15188  +
    impl Builder {
       15189  +
        /* ServerBuilderGenerator.kt:331 */
       15190  +
        #[allow(missing_docs)] // documentation missing in model
       15191  +
                               /* ServerBuilderGenerator.kt:343 */
       15192  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15193  +
            /* ServerBuilderGenerator.kt:344 */
       15194  +
            self.foo =
       15195  +
                /* ServerBuilderGenerator.kt:376 */input
       15196  +
            /* ServerBuilderGenerator.kt:344 */;
       15197  +
            self
       15198  +
            /* ServerBuilderGenerator.kt:343 */
       15199  +
        }
       15200  +
        /* ServerBuilderGenerator.kt:426 */
       15201  +
        #[allow(missing_docs)] // documentation missing in model
       15202  +
                               /* ServerBuilderGenerator.kt:428 */
       15203  +
        pub(crate) fn set_foo(
       15204  +
            mut self,
       15205  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15206  +
        ) -> Self {
       15207  +
            /* ServerBuilderGenerator.kt:429 */
       15208  +
            self.foo = input.map(|v| v.into());
       15209  +
            self
       15210  +
            /* ServerBuilderGenerator.kt:428 */
       15211  +
        }
       15212  +
        /* ServerBuilderGenerator.kt:331 */
       15213  +
        #[allow(missing_docs)] // documentation missing in model
       15214  +
                               /* ServerBuilderGenerator.kt:343 */
       15215  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
       15216  +
            /* ServerBuilderGenerator.kt:344 */
       15217  +
            self.blob =
       15218  +
                /* ServerBuilderGenerator.kt:376 */input
       15219  +
            /* ServerBuilderGenerator.kt:344 */;
       15220  +
            self
       15221  +
            /* ServerBuilderGenerator.kt:343 */
       15222  +
        }
       15223  +
        /* ServerBuilderGenerator.kt:426 */
       15224  +
        #[allow(missing_docs)] // documentation missing in model
       15225  +
                               /* ServerBuilderGenerator.kt:428 */
       15226  +
        pub(crate) fn set_blob(
       15227  +
            mut self,
       15228  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
       15229  +
        ) -> Self {
       15230  +
            /* ServerBuilderGenerator.kt:429 */
       15231  +
            self.blob = input.map(|v| v.into());
       15232  +
            self
       15233  +
            /* ServerBuilderGenerator.kt:428 */
       15234  +
        }
       15235  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPayloadTraitsInput`](crate::input::HttpPayloadTraitsInput).
       15236  +
        /* ServerBuilderGenerator.kt:271 */
       15237  +
        pub fn build(self) -> crate::input::HttpPayloadTraitsInput {
       15238  +
            self.build_enforcing_all_constraints()
       15239  +
        }
       15240  +
        /* ServerBuilderGenerator.kt:283 */
       15241  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPayloadTraitsInput {
       15242  +
            /* ServerBuilderGenerator.kt:542 */
       15243  +
            crate::input::HttpPayloadTraitsInput {
       15244  +
                /* ServerBuilderGenerator.kt:546 */
       15245  +
                foo: self.foo,
       15246  +
                /* ServerBuilderGenerator.kt:546 */
       15247  +
                blob: self.blob,
       15248  +
                /* ServerBuilderGenerator.kt:542 */
       15249  +
            }
       15250  +
            /* ServerBuilderGenerator.kt:283 */
       15251  +
        }
       15252  +
        /* ServerBuilderGenerator.kt:215 */
       15253  +
    }
       15254  +
       15255  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15256  +
}
       15257  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       15258  +
pub mod http_empty_prefix_headers_input {
       15259  +
       15260  +
    /* ServerBuilderGenerator.kt:461 */
       15261  +
    impl ::std::convert::From<Builder> for crate::input::HttpEmptyPrefixHeadersInput {
       15262  +
        fn from(builder: Builder) -> Self {
       15263  +
            builder.build()
       15264  +
        }
       15265  +
    }
       15266  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       15267  +
    /* RustType.kt:534 */
       15268  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15269  +
    /* ServerBuilderGenerator.kt:211 */
       15270  +
    pub struct Builder {
       15271  +
        /* ServerBuilderGenerator.kt:308 */
       15272  +
        pub(crate) prefix_headers: ::std::option::Option<
       15273  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15274  +
        >,
       15275  +
        /* ServerBuilderGenerator.kt:308 */
       15276  +
        pub(crate) specific_header: ::std::option::Option<::std::string::String>,
       15277  +
        /* ServerBuilderGenerator.kt:211 */
       15278  +
    }
       15279  +
    /* ServerBuilderGenerator.kt:215 */
       15280  +
    impl Builder {
       15281  +
        /* ServerBuilderGenerator.kt:331 */
       15282  +
        #[allow(missing_docs)] // documentation missing in model
       15283  +
                               /* ServerBuilderGenerator.kt:343 */
       15284  +
        pub fn prefix_headers(
       15285  +
            mut self,
       15286  +
            input: ::std::option::Option<
       15287  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15288  +
            >,
       15289  +
        ) -> Self {
       15290  +
            /* ServerBuilderGenerator.kt:344 */
       15291  +
            self.prefix_headers =
       15292  +
                /* ServerBuilderGenerator.kt:376 */input
       15293  +
            /* ServerBuilderGenerator.kt:344 */;
       15294  +
            self
       15295  +
            /* ServerBuilderGenerator.kt:343 */
       15296  +
        }
       15297  +
        /* ServerBuilderGenerator.kt:426 */
       15298  +
        #[allow(missing_docs)] // documentation missing in model
       15299  +
                               /* ServerBuilderGenerator.kt:428 */
       15300  +
        pub(crate) fn set_prefix_headers(
       15301  +
            mut self,
       15302  +
            input: Option<
       15303  +
                impl ::std::convert::Into<
       15304  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15305  +
                >,
       15306  +
            >,
       15307  +
        ) -> Self {
       15308  +
            /* ServerBuilderGenerator.kt:429 */
       15309  +
            self.prefix_headers = input.map(|v| v.into());
       15310  +
            self
       15311  +
            /* ServerBuilderGenerator.kt:428 */
       15312  +
        }
       15313  +
        /* ServerBuilderGenerator.kt:331 */
       15314  +
        #[allow(missing_docs)] // documentation missing in model
       15315  +
                               /* ServerBuilderGenerator.kt:343 */
       15316  +
        pub fn specific_header(
       15317  +
            mut self,
       15318  +
            input: ::std::option::Option<::std::string::String>,
       15319  +
        ) -> Self {
       15320  +
            /* ServerBuilderGenerator.kt:344 */
       15321  +
            self.specific_header =
       15322  +
                /* ServerBuilderGenerator.kt:376 */input
       15323  +
            /* ServerBuilderGenerator.kt:344 */;
       15324  +
            self
       15325  +
            /* ServerBuilderGenerator.kt:343 */
       15326  +
        }
       15327  +
        /* ServerBuilderGenerator.kt:426 */
       15328  +
        #[allow(missing_docs)] // documentation missing in model
       15329  +
                               /* ServerBuilderGenerator.kt:428 */
       15330  +
        pub(crate) fn set_specific_header(
       15331  +
            mut self,
       15332  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15333  +
        ) -> Self {
       15334  +
            /* ServerBuilderGenerator.kt:429 */
       15335  +
            self.specific_header = input.map(|v| v.into());
       15336  +
            self
       15337  +
            /* ServerBuilderGenerator.kt:428 */
       15338  +
        }
       15339  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpEmptyPrefixHeadersInput`](crate::input::HttpEmptyPrefixHeadersInput).
       15340  +
        /* ServerBuilderGenerator.kt:271 */
       15341  +
        pub fn build(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       15342  +
            self.build_enforcing_all_constraints()
       15343  +
        }
       15344  +
        /* ServerBuilderGenerator.kt:283 */
       15345  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpEmptyPrefixHeadersInput {
       15346  +
            /* ServerBuilderGenerator.kt:542 */
       15347  +
            crate::input::HttpEmptyPrefixHeadersInput {
       15348  +
                /* ServerBuilderGenerator.kt:546 */
       15349  +
                prefix_headers: self.prefix_headers,
       15350  +
                /* ServerBuilderGenerator.kt:546 */
       15351  +
                specific_header: self.specific_header,
       15352  +
                /* ServerBuilderGenerator.kt:542 */
       15353  +
            }
       15354  +
            /* ServerBuilderGenerator.kt:283 */
       15355  +
        }
       15356  +
        /* ServerBuilderGenerator.kt:215 */
       15357  +
    }
       15358  +
       15359  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15360  +
}
       15361  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       15362  +
pub mod http_prefix_headers_in_response_input {
       15363  +
       15364  +
    /* ServerBuilderGenerator.kt:461 */
       15365  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInResponseInput {
       15366  +
        fn from(builder: Builder) -> Self {
       15367  +
            builder.build()
       15368  +
        }
       15369  +
    }
       15370  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       15371  +
    /* RustType.kt:534 */
       15372  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15373  +
    /* ServerBuilderGenerator.kt:211 */
       15374  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       15375  +
    /* ServerBuilderGenerator.kt:215 */
       15376  +
    impl Builder {
       15377  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPrefixHeadersInResponseInput`](crate::input::HttpPrefixHeadersInResponseInput).
       15378  +
        /* ServerBuilderGenerator.kt:271 */
       15379  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       15380  +
            self.build_enforcing_all_constraints()
       15381  +
        }
       15382  +
        /* ServerBuilderGenerator.kt:283 */
       15383  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInResponseInput {
       15384  +
            /* ServerBuilderGenerator.kt:542 */
       15385  +
            crate::input::HttpPrefixHeadersInResponseInput {
       15386  +
            /* ServerBuilderGenerator.kt:542 */}
       15387  +
            /* ServerBuilderGenerator.kt:283 */
       15388  +
        }
       15389  +
        /* ServerBuilderGenerator.kt:215 */
       15390  +
    }
       15391  +
       15392  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15393  +
}
       15394  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       15395  +
pub mod http_prefix_headers_input {
       15396  +
       15397  +
    /* ServerBuilderGenerator.kt:461 */
       15398  +
    impl ::std::convert::From<Builder> for crate::input::HttpPrefixHeadersInput {
       15399  +
        fn from(builder: Builder) -> Self {
       15400  +
            builder.build()
       15401  +
        }
       15402  +
    }
       15403  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       15404  +
    /* RustType.kt:534 */
       15405  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15406  +
    /* ServerBuilderGenerator.kt:211 */
       15407  +
    pub struct Builder {
       15408  +
        /* ServerBuilderGenerator.kt:308 */
       15409  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       15410  +
        /* ServerBuilderGenerator.kt:308 */
       15411  +
        pub(crate) foo_map: ::std::option::Option<
       15412  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15413  +
        >,
       15414  +
        /* ServerBuilderGenerator.kt:211 */
       15415  +
    }
       15416  +
    /* ServerBuilderGenerator.kt:215 */
       15417  +
    impl Builder {
       15418  +
        /* ServerBuilderGenerator.kt:331 */
       15419  +
        #[allow(missing_docs)] // documentation missing in model
       15420  +
                               /* ServerBuilderGenerator.kt:343 */
       15421  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15422  +
            /* ServerBuilderGenerator.kt:344 */
       15423  +
            self.foo =
       15424  +
                /* ServerBuilderGenerator.kt:376 */input
       15425  +
            /* ServerBuilderGenerator.kt:344 */;
       15426  +
            self
       15427  +
            /* ServerBuilderGenerator.kt:343 */
       15428  +
        }
       15429  +
        /* ServerBuilderGenerator.kt:426 */
       15430  +
        #[allow(missing_docs)] // documentation missing in model
       15431  +
                               /* ServerBuilderGenerator.kt:428 */
       15432  +
        pub(crate) fn set_foo(
       15433  +
            mut self,
       15434  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15435  +
        ) -> Self {
       15436  +
            /* ServerBuilderGenerator.kt:429 */
       15437  +
            self.foo = input.map(|v| v.into());
       15438  +
            self
       15439  +
            /* ServerBuilderGenerator.kt:428 */
       15440  +
        }
       15441  +
        /* ServerBuilderGenerator.kt:331 */
       15442  +
        #[allow(missing_docs)] // documentation missing in model
       15443  +
                               /* ServerBuilderGenerator.kt:343 */
       15444  +
        pub fn foo_map(
       15445  +
            mut self,
       15446  +
            input: ::std::option::Option<
       15447  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15448  +
            >,
       15449  +
        ) -> Self {
       15450  +
            /* ServerBuilderGenerator.kt:344 */
       15451  +
            self.foo_map =
       15452  +
                /* ServerBuilderGenerator.kt:376 */input
       15453  +
            /* ServerBuilderGenerator.kt:344 */;
       15454  +
            self
       15455  +
            /* ServerBuilderGenerator.kt:343 */
       15456  +
        }
       15457  +
        /* ServerBuilderGenerator.kt:426 */
       15458  +
        #[allow(missing_docs)] // documentation missing in model
       15459  +
                               /* ServerBuilderGenerator.kt:428 */
       15460  +
        pub(crate) fn set_foo_map(
       15461  +
            mut self,
       15462  +
            input: Option<
       15463  +
                impl ::std::convert::Into<
       15464  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15465  +
                >,
       15466  +
            >,
       15467  +
        ) -> Self {
       15468  +
            /* ServerBuilderGenerator.kt:429 */
       15469  +
            self.foo_map = input.map(|v| v.into());
       15470  +
            self
       15471  +
            /* ServerBuilderGenerator.kt:428 */
       15472  +
        }
       15473  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpPrefixHeadersInput`](crate::input::HttpPrefixHeadersInput).
       15474  +
        /* ServerBuilderGenerator.kt:271 */
       15475  +
        pub fn build(self) -> crate::input::HttpPrefixHeadersInput {
       15476  +
            self.build_enforcing_all_constraints()
       15477  +
        }
       15478  +
        /* ServerBuilderGenerator.kt:283 */
       15479  +
        fn build_enforcing_all_constraints(self) -> crate::input::HttpPrefixHeadersInput {
       15480  +
            /* ServerBuilderGenerator.kt:542 */
       15481  +
            crate::input::HttpPrefixHeadersInput {
       15482  +
                /* ServerBuilderGenerator.kt:546 */
       15483  +
                foo: self.foo,
       15484  +
                /* ServerBuilderGenerator.kt:546 */
       15485  +
                foo_map: self.foo_map,
       15486  +
                /* ServerBuilderGenerator.kt:542 */
       15487  +
            }
       15488  +
            /* ServerBuilderGenerator.kt:283 */
       15489  +
        }
       15490  +
        /* ServerBuilderGenerator.kt:215 */
       15491  +
    }
       15492  +
       15493  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15494  +
}
       15495  +
/// /* ServerBuilderGenerator.kt:171 */See [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       15496  +
pub mod query_params_as_string_list_map_input {
       15497  +
       15498  +
    /* ServerBuilderGenerator.kt:461 */
       15499  +
    impl ::std::convert::From<Builder> for crate::input::QueryParamsAsStringListMapInput {
       15500  +
        fn from(builder: Builder) -> Self {
       15501  +
            builder.build()
       15502  +
        }
       15503  +
    }
       15504  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       15505  +
    /* RustType.kt:534 */
       15506  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15507  +
    /* ServerBuilderGenerator.kt:211 */
       15508  +
    pub struct Builder {
       15509  +
        /* ServerBuilderGenerator.kt:308 */
       15510  +
        pub(crate) qux: ::std::option::Option<::std::string::String>,
       15511  +
        /* ServerBuilderGenerator.kt:308 */
       15512  +
        pub(crate) foo: ::std::option::Option<
       15513  +
            ::std::collections::HashMap<
       15514  +
                ::std::string::String,
       15515  +
                ::std::vec::Vec<::std::string::String>,
       15516  +
            >,
       15517  +
        >,
       15518  +
        /* ServerBuilderGenerator.kt:211 */
       15519  +
    }
       15520  +
    /* ServerBuilderGenerator.kt:215 */
       15521  +
    impl Builder {
       15522  +
        /* ServerBuilderGenerator.kt:331 */
       15523  +
        #[allow(missing_docs)] // documentation missing in model
       15524  +
                               /* ServerBuilderGenerator.kt:343 */
       15525  +
        pub fn qux(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15526  +
            /* ServerBuilderGenerator.kt:344 */
       15527  +
            self.qux =
       15528  +
                /* ServerBuilderGenerator.kt:376 */input
       15529  +
            /* ServerBuilderGenerator.kt:344 */;
       15530  +
            self
       15531  +
            /* ServerBuilderGenerator.kt:343 */
       15532  +
        }
       15533  +
        /* ServerBuilderGenerator.kt:426 */
       15534  +
        #[allow(missing_docs)] // documentation missing in model
       15535  +
                               /* ServerBuilderGenerator.kt:428 */
       15536  +
        pub(crate) fn set_qux(
       15537  +
            mut self,
       15538  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15539  +
        ) -> Self {
       15540  +
            /* ServerBuilderGenerator.kt:429 */
       15541  +
            self.qux = input.map(|v| v.into());
       15542  +
            self
       15543  +
            /* ServerBuilderGenerator.kt:428 */
       15544  +
        }
       15545  +
        /* ServerBuilderGenerator.kt:331 */
       15546  +
        #[allow(missing_docs)] // documentation missing in model
       15547  +
                               /* ServerBuilderGenerator.kt:343 */
       15548  +
        pub fn foo(
       15549  +
            mut self,
       15550  +
            input: ::std::option::Option<
       15551  +
                ::std::collections::HashMap<
       15552  +
                    ::std::string::String,
       15553  +
                    ::std::vec::Vec<::std::string::String>,
       15554  +
                >,
       15555  +
            >,
       15556  +
        ) -> Self {
       15557  +
            /* ServerBuilderGenerator.kt:344 */
       15558  +
            self.foo =
       15559  +
                /* ServerBuilderGenerator.kt:376 */input
       15560  +
            /* ServerBuilderGenerator.kt:344 */;
       15561  +
            self
       15562  +
            /* ServerBuilderGenerator.kt:343 */
       15563  +
        }
       15564  +
        /* ServerBuilderGenerator.kt:426 */
       15565  +
        #[allow(missing_docs)] // documentation missing in model
       15566  +
                               /* ServerBuilderGenerator.kt:428 */
       15567  +
        pub(crate) fn set_foo(
       15568  +
            mut self,
       15569  +
            input: Option<
       15570  +
                impl ::std::convert::Into<
       15571  +
                    ::std::collections::HashMap<
       15572  +
                        ::std::string::String,
       15573  +
                        ::std::vec::Vec<::std::string::String>,
       15574  +
                    >,
       15575  +
                >,
       15576  +
            >,
       15577  +
        ) -> Self {
       15578  +
            /* ServerBuilderGenerator.kt:429 */
       15579  +
            self.foo = input.map(|v| v.into());
       15580  +
            self
       15581  +
            /* ServerBuilderGenerator.kt:428 */
       15582  +
        }
       15583  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryParamsAsStringListMapInput`](crate::input::QueryParamsAsStringListMapInput).
       15584  +
        /* ServerBuilderGenerator.kt:271 */
       15585  +
        pub fn build(self) -> crate::input::QueryParamsAsStringListMapInput {
       15586  +
            self.build_enforcing_all_constraints()
       15587  +
        }
       15588  +
        /* ServerBuilderGenerator.kt:283 */
       15589  +
        fn build_enforcing_all_constraints(self) -> crate::input::QueryParamsAsStringListMapInput {
       15590  +
            /* ServerBuilderGenerator.kt:542 */
       15591  +
            crate::input::QueryParamsAsStringListMapInput {
       15592  +
                /* ServerBuilderGenerator.kt:546 */
       15593  +
                qux: self.qux,
       15594  +
                /* ServerBuilderGenerator.kt:546 */
       15595  +
                foo: self.foo,
       15596  +
                /* ServerBuilderGenerator.kt:542 */
       15597  +
            }
       15598  +
            /* ServerBuilderGenerator.kt:283 */
       15599  +
        }
       15600  +
        /* ServerBuilderGenerator.kt:215 */
       15601  +
    }
       15602  +
       15603  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15604  +
}
       15605  +
/// /* ServerBuilderGenerator.kt:171 */See [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       15606  +
pub mod query_precedence_input {
       15607  +
       15608  +
    /* ServerBuilderGenerator.kt:461 */
       15609  +
    impl ::std::convert::From<Builder> for crate::input::QueryPrecedenceInput {
       15610  +
        fn from(builder: Builder) -> Self {
       15611  +
            builder.build()
       15612  +
        }
       15613  +
    }
       15614  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       15615  +
    /* RustType.kt:534 */
       15616  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15617  +
    /* ServerBuilderGenerator.kt:211 */
       15618  +
    pub struct Builder {
       15619  +
        /* ServerBuilderGenerator.kt:308 */
       15620  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       15621  +
        /* ServerBuilderGenerator.kt:308 */
       15622  +
        pub(crate) baz: ::std::option::Option<
       15623  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15624  +
        >,
       15625  +
        /* ServerBuilderGenerator.kt:211 */
       15626  +
    }
       15627  +
    /* ServerBuilderGenerator.kt:215 */
       15628  +
    impl Builder {
       15629  +
        /* ServerBuilderGenerator.kt:331 */
       15630  +
        #[allow(missing_docs)] // documentation missing in model
       15631  +
                               /* ServerBuilderGenerator.kt:343 */
       15632  +
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15633  +
            /* ServerBuilderGenerator.kt:344 */
       15634  +
            self.foo =
       15635  +
                /* ServerBuilderGenerator.kt:376 */input
       15636  +
            /* ServerBuilderGenerator.kt:344 */;
       15637  +
            self
       15638  +
            /* ServerBuilderGenerator.kt:343 */
       15639  +
        }
       15640  +
        /* ServerBuilderGenerator.kt:426 */
       15641  +
        #[allow(missing_docs)] // documentation missing in model
       15642  +
                               /* ServerBuilderGenerator.kt:428 */
       15643  +
        pub(crate) fn set_foo(
       15644  +
            mut self,
       15645  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15646  +
        ) -> Self {
       15647  +
            /* ServerBuilderGenerator.kt:429 */
       15648  +
            self.foo = input.map(|v| v.into());
       15649  +
            self
       15650  +
            /* ServerBuilderGenerator.kt:428 */
       15651  +
        }
       15652  +
        /* ServerBuilderGenerator.kt:331 */
       15653  +
        #[allow(missing_docs)] // documentation missing in model
       15654  +
                               /* ServerBuilderGenerator.kt:343 */
       15655  +
        pub fn baz(
       15656  +
            mut self,
       15657  +
            input: ::std::option::Option<
       15658  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15659  +
            >,
       15660  +
        ) -> Self {
       15661  +
            /* ServerBuilderGenerator.kt:344 */
       15662  +
            self.baz =
       15663  +
                /* ServerBuilderGenerator.kt:376 */input
       15664  +
            /* ServerBuilderGenerator.kt:344 */;
       15665  +
            self
       15666  +
            /* ServerBuilderGenerator.kt:343 */
       15667  +
        }
       15668  +
        /* ServerBuilderGenerator.kt:426 */
       15669  +
        #[allow(missing_docs)] // documentation missing in model
       15670  +
                               /* ServerBuilderGenerator.kt:428 */
       15671  +
        pub(crate) fn set_baz(
       15672  +
            mut self,
       15673  +
            input: Option<
       15674  +
                impl ::std::convert::Into<
       15675  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
       15676  +
                >,
       15677  +
            >,
       15678  +
        ) -> Self {
       15679  +
            /* ServerBuilderGenerator.kt:429 */
       15680  +
            self.baz = input.map(|v| v.into());
       15681  +
            self
       15682  +
            /* ServerBuilderGenerator.kt:428 */
       15683  +
        }
       15684  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryPrecedenceInput`](crate::input::QueryPrecedenceInput).
       15685  +
        /* ServerBuilderGenerator.kt:271 */
       15686  +
        pub fn build(self) -> crate::input::QueryPrecedenceInput {
       15687  +
            self.build_enforcing_all_constraints()
       15688  +
        }
       15689  +
        /* ServerBuilderGenerator.kt:283 */
       15690  +
        fn build_enforcing_all_constraints(self) -> crate::input::QueryPrecedenceInput {
       15691  +
            /* ServerBuilderGenerator.kt:542 */
       15692  +
            crate::input::QueryPrecedenceInput {
       15693  +
                /* ServerBuilderGenerator.kt:546 */
       15694  +
                foo: self.foo,
       15695  +
                /* ServerBuilderGenerator.kt:546 */
       15696  +
                baz: self.baz,
       15697  +
                /* ServerBuilderGenerator.kt:542 */
       15698  +
            }
       15699  +
            /* ServerBuilderGenerator.kt:283 */
       15700  +
        }
       15701  +
        /* ServerBuilderGenerator.kt:215 */
       15702  +
    }
       15703  +
       15704  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15705  +
}
       15706  +
/// /* ServerBuilderGenerator.kt:171 */See [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       15707  +
pub mod query_idempotency_token_auto_fill_input {
       15708  +
       15709  +
    /* ServerBuilderGenerator.kt:461 */
       15710  +
    impl ::std::convert::From<Builder> for crate::input::QueryIdempotencyTokenAutoFillInput {
       15711  +
        fn from(builder: Builder) -> Self {
       15712  +
            builder.build()
       15713  +
        }
       15714  +
    }
       15715  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       15716  +
    /* RustType.kt:534 */
       15717  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15718  +
    /* ServerBuilderGenerator.kt:211 */
       15719  +
    pub struct Builder {
       15720  +
        /* ServerBuilderGenerator.kt:308 */
       15721  +
        pub(crate) token: ::std::option::Option<::std::string::String>,
       15722  +
        /* ServerBuilderGenerator.kt:211 */
       15723  +
    }
       15724  +
    /* ServerBuilderGenerator.kt:215 */
       15725  +
    impl Builder {
       15726  +
        /* ServerBuilderGenerator.kt:331 */
       15727  +
        #[allow(missing_docs)] // documentation missing in model
       15728  +
                               /* ServerBuilderGenerator.kt:343 */
       15729  +
        pub fn token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       15730  +
            /* ServerBuilderGenerator.kt:344 */
       15731  +
            self.token =
       15732  +
                /* ServerBuilderGenerator.kt:376 */input
       15733  +
            /* ServerBuilderGenerator.kt:344 */;
       15734  +
            self
       15735  +
            /* ServerBuilderGenerator.kt:343 */
       15736  +
        }
       15737  +
        /* ServerBuilderGenerator.kt:426 */
       15738  +
        #[allow(missing_docs)] // documentation missing in model
       15739  +
                               /* ServerBuilderGenerator.kt:428 */
       15740  +
        pub(crate) fn set_token(
       15741  +
            mut self,
       15742  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       15743  +
        ) -> Self {
       15744  +
            /* ServerBuilderGenerator.kt:429 */
       15745  +
            self.token = input.map(|v| v.into());
       15746  +
            self
       15747  +
            /* ServerBuilderGenerator.kt:428 */
       15748  +
        }
       15749  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`QueryIdempotencyTokenAutoFillInput`](crate::input::QueryIdempotencyTokenAutoFillInput).
       15750  +
        /* ServerBuilderGenerator.kt:271 */
       15751  +
        pub fn build(self) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       15752  +
            self.build_enforcing_all_constraints()
       15753  +
        }
       15754  +
        /* ServerBuilderGenerator.kt:283 */
       15755  +
        fn build_enforcing_all_constraints(
       15756  +
            self,
       15757  +
        ) -> crate::input::QueryIdempotencyTokenAutoFillInput {
       15758  +
            /* ServerBuilderGenerator.kt:542 */
       15759  +
            crate::input::QueryIdempotencyTokenAutoFillInput {
       15760  +
                /* ServerBuilderGenerator.kt:546 */
       15761  +
                token: self.token,
       15762  +
                /* ServerBuilderGenerator.kt:542 */
       15763  +
            }
       15764  +
            /* ServerBuilderGenerator.kt:283 */
       15765  +
        }
       15766  +
        /* ServerBuilderGenerator.kt:215 */
       15767  +
    }
       15768  +
       15769  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       15770  +
}
       15771  +
/// /* ServerBuilderGenerator.kt:171 */See [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       15772  +
pub mod omits_serializing_empty_lists_input {
       15773  +
       15774  +
    /* RustType.kt:534 */
       15775  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       15776  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       15777  +
    /* RustType.kt:534 */
       15778  +
    #[non_exhaustive]
       15779  +
    /* ServerBuilderConstraintViolations.kt:75 */
       15780  +
    #[allow(clippy::enum_variant_names)]
       15781  +
    pub enum ConstraintViolation {
       15782  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`.
       15783  +
        /* RustType.kt:534 */
       15784  +
        #[doc(hidden)]
       15785  +
        /* ServerBuilderConstraintViolations.kt:165 */
       15786  +
        QueryEnumList(crate::model::foo_enum_list::ConstraintViolation),
       15787  +
        /* ServerBuilderConstraintViolations.kt:75 */
       15788  +
    }
       15789  +
    /* ServerBuilderConstraintViolations.kt:116 */
       15790  +
    impl ::std::fmt::Display for ConstraintViolation {
       15791  +
        /* ServerBuilderConstraintViolations.kt:117 */
       15792  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       15793  +
            /* ServerBuilderConstraintViolations.kt:118 */
       15794  +
            match self {
       15795  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `OmitsSerializingEmptyListsInput`"),
       15796  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       15797  +
            /* ServerBuilderConstraintViolations.kt:117 */
       15798  +
        }
       15799  +
        /* ServerBuilderConstraintViolations.kt:116 */
       15800  +
    }
       15801  +
    /* ServerBuilderConstraintViolations.kt:83 */
       15802  +
    impl ::std::error::Error for ConstraintViolation {}
       15803  +
    /* ServerBuilderConstraintViolations.kt:172 */
       15804  +
    impl ConstraintViolation {
       15805  +
        pub(crate) fn as_validation_exception_field(
       15806  +
            self,
       15807  +
            path: ::std::string::String,
       15808  +
        ) -> crate::model::ValidationExceptionField {
       15809  +
            match self {
       15810  +
                ConstraintViolation::QueryEnumList(inner) => {
       15811  +
                    inner.as_validation_exception_field(path + "/queryEnumList")
       15812  +
                }
       15813  +
            }
       15814  +
        }
       15815  +
    }
       15816  +
    /* ServerBuilderGenerator.kt:234 */
       15817  +
    impl ::std::convert::From<ConstraintViolation>
       15818  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       15819  +
    {
       15820  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       15821  +
            let first_validation_exception_field =
       15822  +
                constraint_violation.as_validation_exception_field("".to_owned());
       15823  +
            let validation_exception = crate::error::ValidationException {
       15824  +
                message: format!(
       15825  +
                    "1 validation error detected. {}",
       15826  +
                    &first_validation_exception_field.message
       15827  +
                ),
       15828  +
                field_list: Some(vec![first_validation_exception_field]),
       15829  +
            };
       15830  +
            Self::ConstraintViolation(
       15831  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       15832  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       15833  +
                            )
       15834  +
        }
       15835  +
    }
       15836  +
    /* ServerBuilderGenerator.kt:244 */
       15837  +
    impl ::std::convert::From<Builder>
       15838  +
        for crate::constrained::MaybeConstrained<crate::input::OmitsSerializingEmptyListsInput>
       15839  +
    {
       15840  +
        fn from(builder: Builder) -> Self {
       15841  +
            Self::Unconstrained(builder)
       15842  +
        }
       15843  +
    }
       15844  +
    /* ServerBuilderGenerator.kt:446 */
       15845  +
    impl ::std::convert::TryFrom<Builder> for crate::input::OmitsSerializingEmptyListsInput {
       15846  +
        type Error = ConstraintViolation;
       15847  +
       15848  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       15849  +
            builder.build()
       15850  +
        }
       15851  +
    }
       15852  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       15853  +
    /* RustType.kt:534 */
       15854  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       15855  +
    /* ServerBuilderGenerator.kt:211 */
       15856  +
    pub struct Builder {
       15857  +
        /* ServerBuilderGenerator.kt:308 */
       15858  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       15859  +
        /* ServerBuilderGenerator.kt:308 */
       15860  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       15861  +
        /* ServerBuilderGenerator.kt:308 */
       15862  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
       15863  +
        /* ServerBuilderGenerator.kt:308 */
       15864  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       15865  +
        /* ServerBuilderGenerator.kt:308 */
       15866  +
        pub(crate) query_timestamp_list:
       15867  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       15868  +
        /* ServerBuilderGenerator.kt:308 */
       15869  +
        pub(crate) query_enum_list: ::std::option::Option<
       15870  +
            crate::constrained::MaybeConstrained<
       15871  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       15872  +
            >,
       15873  +
        >,
       15874  +
        /* ServerBuilderGenerator.kt:308 */
       15875  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       15876  +
        /* ServerBuilderGenerator.kt:211 */
       15877  +
    }
       15878  +
    /* ServerBuilderGenerator.kt:215 */
       15879  +
    impl Builder {
       15880  +
        /* ServerBuilderGenerator.kt:331 */
       15881  +
        #[allow(missing_docs)] // documentation missing in model
       15882  +
                               /* ServerBuilderGenerator.kt:343 */
       15883  +
        pub fn query_string_list(
       15884  +
            mut self,
       15885  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       15886  +
        ) -> Self {
       15887  +
            /* ServerBuilderGenerator.kt:344 */
       15888  +
            self.query_string_list =
       15889  +
                /* ServerBuilderGenerator.kt:376 */input
       15890  +
            /* ServerBuilderGenerator.kt:344 */;
       15891  +
            self
       15892  +
            /* ServerBuilderGenerator.kt:343 */
       15893  +
        }
       15894  +
        /* ServerBuilderGenerator.kt:426 */
       15895  +
        #[allow(missing_docs)] // documentation missing in model
       15896  +
                               /* ServerBuilderGenerator.kt:428 */
       15897  +
        pub(crate) fn set_query_string_list(
       15898  +
            mut self,
       15899  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       15900  +
        ) -> Self {
       15901  +
            /* ServerBuilderGenerator.kt:429 */
       15902  +
            self.query_string_list = input.map(|v| v.into());
       15903  +
            self
       15904  +
            /* ServerBuilderGenerator.kt:428 */
       15905  +
        }
       15906  +
        /* ServerBuilderGenerator.kt:331 */
       15907  +
        #[allow(missing_docs)] // documentation missing in model
       15908  +
                               /* ServerBuilderGenerator.kt:343 */
       15909  +
        pub fn query_integer_list(
       15910  +
            mut self,
       15911  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       15912  +
        ) -> Self {
       15913  +
            /* ServerBuilderGenerator.kt:344 */
       15914  +
            self.query_integer_list =
       15915  +
                /* ServerBuilderGenerator.kt:376 */input
       15916  +
            /* ServerBuilderGenerator.kt:344 */;
       15917  +
            self
       15918  +
            /* ServerBuilderGenerator.kt:343 */
       15919  +
        }
       15920  +
        /* ServerBuilderGenerator.kt:426 */
       15921  +
        #[allow(missing_docs)] // documentation missing in model
       15922  +
                               /* ServerBuilderGenerator.kt:428 */
       15923  +
        pub(crate) fn set_query_integer_list(
       15924  +
            mut self,
       15925  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       15926  +
        ) -> Self {
       15927  +
            /* ServerBuilderGenerator.kt:429 */
       15928  +
            self.query_integer_list = input.map(|v| v.into());
       15929  +
            self
       15930  +
            /* ServerBuilderGenerator.kt:428 */
       15931  +
        }
       15932  +
        /* ServerBuilderGenerator.kt:331 */
       15933  +
        #[allow(missing_docs)] // documentation missing in model
       15934  +
                               /* ServerBuilderGenerator.kt:343 */
       15935  +
        pub fn query_double_list(
       15936  +
            mut self,
       15937  +
            input: ::std::option::Option<::std::vec::Vec<f64>>,
       15938  +
        ) -> Self {
       15939  +
            /* ServerBuilderGenerator.kt:344 */
       15940  +
            self.query_double_list =
       15941  +
                /* ServerBuilderGenerator.kt:376 */input
       15942  +
            /* ServerBuilderGenerator.kt:344 */;
       15943  +
            self
       15944  +
            /* ServerBuilderGenerator.kt:343 */
       15945  +
        }
       15946  +
        /* ServerBuilderGenerator.kt:426 */
       15947  +
        #[allow(missing_docs)] // documentation missing in model
       15948  +
                               /* ServerBuilderGenerator.kt:428 */
       15949  +
        pub(crate) fn set_query_double_list(
       15950  +
            mut self,
       15951  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       15952  +
        ) -> Self {
       15953  +
            /* ServerBuilderGenerator.kt:429 */
       15954  +
            self.query_double_list = input.map(|v| v.into());
       15955  +
            self
       15956  +
            /* ServerBuilderGenerator.kt:428 */
       15957  +
        }
       15958  +
        /* ServerBuilderGenerator.kt:331 */
       15959  +
        #[allow(missing_docs)] // documentation missing in model
       15960  +
                               /* ServerBuilderGenerator.kt:343 */
       15961  +
        pub fn query_boolean_list(
       15962  +
            mut self,
       15963  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
       15964  +
        ) -> Self {
       15965  +
            /* ServerBuilderGenerator.kt:344 */
       15966  +
            self.query_boolean_list =
       15967  +
                /* ServerBuilderGenerator.kt:376 */input
       15968  +
            /* ServerBuilderGenerator.kt:344 */;
       15969  +
            self
       15970  +
            /* ServerBuilderGenerator.kt:343 */
       15971  +
        }
       15972  +
        /* ServerBuilderGenerator.kt:426 */
       15973  +
        #[allow(missing_docs)] // documentation missing in model
       15974  +
                               /* ServerBuilderGenerator.kt:428 */
       15975  +
        pub(crate) fn set_query_boolean_list(
       15976  +
            mut self,
       15977  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       15978  +
        ) -> Self {
       15979  +
            /* ServerBuilderGenerator.kt:429 */
       15980  +
            self.query_boolean_list = input.map(|v| v.into());
       15981  +
            self
       15982  +
            /* ServerBuilderGenerator.kt:428 */
       15983  +
        }
       15984  +
        /* ServerBuilderGenerator.kt:331 */
       15985  +
        #[allow(missing_docs)] // documentation missing in model
       15986  +
                               /* ServerBuilderGenerator.kt:343 */
       15987  +
        pub fn query_timestamp_list(
       15988  +
            mut self,
       15989  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       15990  +
        ) -> Self {
       15991  +
            /* ServerBuilderGenerator.kt:344 */
       15992  +
            self.query_timestamp_list =
       15993  +
                /* ServerBuilderGenerator.kt:376 */input
       15994  +
            /* ServerBuilderGenerator.kt:344 */;
       15995  +
            self
       15996  +
            /* ServerBuilderGenerator.kt:343 */
       15997  +
        }
       15998  +
        /* ServerBuilderGenerator.kt:426 */
       15999  +
        #[allow(missing_docs)] // documentation missing in model
       16000  +
                               /* ServerBuilderGenerator.kt:428 */
       16001  +
        pub(crate) fn set_query_timestamp_list(
       16002  +
            mut self,
       16003  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
       16004  +
        ) -> Self {
       16005  +
            /* ServerBuilderGenerator.kt:429 */
       16006  +
            self.query_timestamp_list = input.map(|v| v.into());
       16007  +
            self
       16008  +
            /* ServerBuilderGenerator.kt:428 */
       16009  +
        }
       16010  +
        /* ServerBuilderGenerator.kt:331 */
       16011  +
        #[allow(missing_docs)] // documentation missing in model
       16012  +
                               /* ServerBuilderGenerator.kt:343 */
       16013  +
        pub fn query_enum_list(
       16014  +
            mut self,
       16015  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       16016  +
        ) -> Self {
       16017  +
            /* ServerBuilderGenerator.kt:344 */
       16018  +
            self.query_enum_list =
       16019  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       16020  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       16021  +
                /* ServerBuilderGenerator.kt:363 */)
       16022  +
            /* ServerBuilderGenerator.kt:344 */;
       16023  +
            self
       16024  +
            /* ServerBuilderGenerator.kt:343 */
       16025  +
        }
       16026  +
        /* ServerBuilderGenerator.kt:426 */
       16027  +
        #[allow(missing_docs)] // documentation missing in model
       16028  +
                               /* ServerBuilderGenerator.kt:428 */
       16029  +
        pub(crate) fn set_query_enum_list(
       16030  +
            mut self,
       16031  +
            input: Option<
       16032  +
                impl ::std::convert::Into<
       16033  +
                    crate::constrained::MaybeConstrained<
       16034  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       16035  +
                    >,
       16036  +
                >,
       16037  +
            >,
       16038  +
        ) -> Self {
       16039  +
            /* ServerBuilderGenerator.kt:429 */
       16040  +
            self.query_enum_list = input.map(|v| v.into());
       16041  +
            self
       16042  +
            /* ServerBuilderGenerator.kt:428 */
       16043  +
        }
       16044  +
        /* ServerBuilderGenerator.kt:331 */
       16045  +
        #[allow(missing_docs)] // documentation missing in model
       16046  +
                               /* ServerBuilderGenerator.kt:343 */
       16047  +
        pub fn query_integer_enum_list(
       16048  +
            mut self,
       16049  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       16050  +
        ) -> Self {
       16051  +
            /* ServerBuilderGenerator.kt:344 */
       16052  +
            self.query_integer_enum_list =
       16053  +
                /* ServerBuilderGenerator.kt:376 */input
       16054  +
            /* ServerBuilderGenerator.kt:344 */;
       16055  +
            self
       16056  +
            /* ServerBuilderGenerator.kt:343 */
       16057  +
        }
       16058  +
        /* ServerBuilderGenerator.kt:426 */
       16059  +
        #[allow(missing_docs)] // documentation missing in model
       16060  +
                               /* ServerBuilderGenerator.kt:428 */
       16061  +
        pub(crate) fn set_query_integer_enum_list(
       16062  +
            mut self,
       16063  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       16064  +
        ) -> Self {
       16065  +
            /* ServerBuilderGenerator.kt:429 */
       16066  +
            self.query_integer_enum_list = input.map(|v| v.into());
       16067  +
            self
       16068  +
            /* ServerBuilderGenerator.kt:428 */
       16069  +
        }
       16070  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput).
       16071  +
        /// /* ServerBuilderGenerator.kt:260 */
       16072  +
        /// The builder fails to construct a [`OmitsSerializingEmptyListsInput`](crate::input::OmitsSerializingEmptyListsInput) if a [`ConstraintViolation`] occurs.
       16073  +
        ///
       16074  +
        /* ServerBuilderGenerator.kt:271 */
       16075  +
        pub fn build(
       16076  +
            self,
       16077  +
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
       16078  +
            self.build_enforcing_all_constraints()
       16079  +
        }
       16080  +
        /* ServerBuilderGenerator.kt:283 */
       16081  +
        fn build_enforcing_all_constraints(
       16082  +
            self,
       16083  +
        ) -> Result<crate::input::OmitsSerializingEmptyListsInput, ConstraintViolation> {
       16084  +
            /* ServerBuilderGenerator.kt:287 */
       16085  +
            Ok(
       16086  +
                /* ServerBuilderGenerator.kt:542 */
       16087  +
                crate::input::OmitsSerializingEmptyListsInput {
       16088  +
                    /* ServerBuilderGenerator.kt:546 */
       16089  +
                    query_string_list: self.query_string_list,
       16090  +
                    /* ServerBuilderGenerator.kt:546 */
       16091  +
                    query_integer_list: self.query_integer_list,
       16092  +
                    /* ServerBuilderGenerator.kt:546 */
       16093  +
                    query_double_list: self.query_double_list,
       16094  +
                    /* ServerBuilderGenerator.kt:546 */
       16095  +
                    query_boolean_list: self.query_boolean_list,
       16096  +
                    /* ServerBuilderGenerator.kt:546 */
       16097  +
                    query_timestamp_list: self.query_timestamp_list,
       16098  +
                    /* ServerBuilderGenerator.kt:546 */
       16099  +
                    query_enum_list: self
       16100  +
                        .query_enum_list
       16101  +
                        /* ServerBuilderGenerator.kt:602 */
       16102  +
                        .map(|v| match v {
       16103  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       16104  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       16105  +
                        })
       16106  +
                        /* ServerBuilderGenerator.kt:614 */
       16107  +
                        .map(|res| {
       16108  +
                            res.map(|v| v.into())
       16109  +
                                .map_err(ConstraintViolation::QueryEnumList)
       16110  +
                        })
       16111  +
                        .transpose()?,
       16112  +
                    /* ServerBuilderGenerator.kt:546 */
       16113  +
                    query_integer_enum_list: self.query_integer_enum_list,
       16114  +
                    /* ServerBuilderGenerator.kt:542 */
       16115  +
                }, /* ServerBuilderGenerator.kt:287 */
       16116  +
            )
       16117  +
            /* ServerBuilderGenerator.kt:283 */
       16118  +
        }
       16119  +
        /* ServerBuilderGenerator.kt:215 */
       16120  +
    }
       16121  +
       16122  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16123  +
}
       16124  +
/// /* ServerBuilderGenerator.kt:171 */See [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       16125  +
pub mod omits_null_serializes_empty_string_input {
       16126  +
       16127  +
    /* ServerBuilderGenerator.kt:461 */
       16128  +
    impl ::std::convert::From<Builder> for crate::input::OmitsNullSerializesEmptyStringInput {
       16129  +
        fn from(builder: Builder) -> Self {
       16130  +
            builder.build()
       16131  +
        }
       16132  +
    }
       16133  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       16134  +
    /* RustType.kt:534 */
       16135  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16136  +
    /* ServerBuilderGenerator.kt:211 */
       16137  +
    pub struct Builder {
       16138  +
        /* ServerBuilderGenerator.kt:308 */
       16139  +
        pub(crate) null_value: ::std::option::Option<::std::string::String>,
       16140  +
        /* ServerBuilderGenerator.kt:308 */
       16141  +
        pub(crate) empty_string: ::std::option::Option<::std::string::String>,
       16142  +
        /* ServerBuilderGenerator.kt:211 */
       16143  +
    }
       16144  +
    /* ServerBuilderGenerator.kt:215 */
       16145  +
    impl Builder {
       16146  +
        /* ServerBuilderGenerator.kt:331 */
       16147  +
        #[allow(missing_docs)] // documentation missing in model
       16148  +
                               /* ServerBuilderGenerator.kt:343 */
       16149  +
        pub fn null_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16150  +
            /* ServerBuilderGenerator.kt:344 */
       16151  +
            self.null_value =
       16152  +
                /* ServerBuilderGenerator.kt:376 */input
       16153  +
            /* ServerBuilderGenerator.kt:344 */;
       16154  +
            self
       16155  +
            /* ServerBuilderGenerator.kt:343 */
       16156  +
        }
       16157  +
        /* ServerBuilderGenerator.kt:426 */
       16158  +
        #[allow(missing_docs)] // documentation missing in model
       16159  +
                               /* ServerBuilderGenerator.kt:428 */
       16160  +
        pub(crate) fn set_null_value(
       16161  +
            mut self,
       16162  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16163  +
        ) -> Self {
       16164  +
            /* ServerBuilderGenerator.kt:429 */
       16165  +
            self.null_value = input.map(|v| v.into());
       16166  +
            self
       16167  +
            /* ServerBuilderGenerator.kt:428 */
       16168  +
        }
       16169  +
        /* ServerBuilderGenerator.kt:331 */
       16170  +
        #[allow(missing_docs)] // documentation missing in model
       16171  +
                               /* ServerBuilderGenerator.kt:343 */
       16172  +
        pub fn empty_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16173  +
            /* ServerBuilderGenerator.kt:344 */
       16174  +
            self.empty_string =
       16175  +
                /* ServerBuilderGenerator.kt:376 */input
       16176  +
            /* ServerBuilderGenerator.kt:344 */;
       16177  +
            self
       16178  +
            /* ServerBuilderGenerator.kt:343 */
       16179  +
        }
       16180  +
        /* ServerBuilderGenerator.kt:426 */
       16181  +
        #[allow(missing_docs)] // documentation missing in model
       16182  +
                               /* ServerBuilderGenerator.kt:428 */
       16183  +
        pub(crate) fn set_empty_string(
       16184  +
            mut self,
       16185  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16186  +
        ) -> Self {
       16187  +
            /* ServerBuilderGenerator.kt:429 */
       16188  +
            self.empty_string = input.map(|v| v.into());
       16189  +
            self
       16190  +
            /* ServerBuilderGenerator.kt:428 */
       16191  +
        }
       16192  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`OmitsNullSerializesEmptyStringInput`](crate::input::OmitsNullSerializesEmptyStringInput).
       16193  +
        /* ServerBuilderGenerator.kt:271 */
       16194  +
        pub fn build(self) -> crate::input::OmitsNullSerializesEmptyStringInput {
       16195  +
            self.build_enforcing_all_constraints()
       16196  +
        }
       16197  +
        /* ServerBuilderGenerator.kt:283 */
       16198  +
        fn build_enforcing_all_constraints(
       16199  +
            self,
       16200  +
        ) -> crate::input::OmitsNullSerializesEmptyStringInput {
       16201  +
            /* ServerBuilderGenerator.kt:542 */
       16202  +
            crate::input::OmitsNullSerializesEmptyStringInput {
       16203  +
                /* ServerBuilderGenerator.kt:546 */
       16204  +
                null_value: self.null_value,
       16205  +
                /* ServerBuilderGenerator.kt:546 */
       16206  +
                empty_string: self.empty_string,
       16207  +
                /* ServerBuilderGenerator.kt:542 */
       16208  +
            }
       16209  +
            /* ServerBuilderGenerator.kt:283 */
       16210  +
        }
       16211  +
        /* ServerBuilderGenerator.kt:215 */
       16212  +
    }
       16213  +
       16214  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16215  +
}
       16216  +
/// /* ServerBuilderGenerator.kt:171 */See [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       16217  +
pub mod ignore_query_params_in_response_input {
       16218  +
       16219  +
    /* ServerBuilderGenerator.kt:461 */
       16220  +
    impl ::std::convert::From<Builder> for crate::input::IgnoreQueryParamsInResponseInput {
       16221  +
        fn from(builder: Builder) -> Self {
       16222  +
            builder.build()
       16223  +
        }
       16224  +
    }
       16225  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       16226  +
    /* RustType.kt:534 */
       16227  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16228  +
    /* ServerBuilderGenerator.kt:211 */
       16229  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       16230  +
    /* ServerBuilderGenerator.kt:215 */
       16231  +
    impl Builder {
       16232  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`IgnoreQueryParamsInResponseInput`](crate::input::IgnoreQueryParamsInResponseInput).
       16233  +
        /* ServerBuilderGenerator.kt:271 */
       16234  +
        pub fn build(self) -> crate::input::IgnoreQueryParamsInResponseInput {
       16235  +
            self.build_enforcing_all_constraints()
       16236  +
        }
       16237  +
        /* ServerBuilderGenerator.kt:283 */
       16238  +
        fn build_enforcing_all_constraints(self) -> crate::input::IgnoreQueryParamsInResponseInput {
       16239  +
            /* ServerBuilderGenerator.kt:542 */
       16240  +
            crate::input::IgnoreQueryParamsInResponseInput {
       16241  +
            /* ServerBuilderGenerator.kt:542 */}
       16242  +
            /* ServerBuilderGenerator.kt:283 */
       16243  +
        }
       16244  +
        /* ServerBuilderGenerator.kt:215 */
       16245  +
    }
       16246  +
       16247  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16248  +
}
       16249  +
/// /* ServerBuilderGenerator.kt:171 */See [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       16250  +
pub mod constant_and_variable_query_string_input {
       16251  +
       16252  +
    /* ServerBuilderGenerator.kt:461 */
       16253  +
    impl ::std::convert::From<Builder> for crate::input::ConstantAndVariableQueryStringInput {
       16254  +
        fn from(builder: Builder) -> Self {
       16255  +
            builder.build()
       16256  +
        }
       16257  +
    }
       16258  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       16259  +
    /* RustType.kt:534 */
       16260  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16261  +
    /* ServerBuilderGenerator.kt:211 */
       16262  +
    pub struct Builder {
       16263  +
        /* ServerBuilderGenerator.kt:308 */
       16264  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       16265  +
        /* ServerBuilderGenerator.kt:308 */
       16266  +
        pub(crate) maybe_set: ::std::option::Option<::std::string::String>,
       16267  +
        /* ServerBuilderGenerator.kt:211 */
       16268  +
    }
       16269  +
    /* ServerBuilderGenerator.kt:215 */
       16270  +
    impl Builder {
       16271  +
        /* ServerBuilderGenerator.kt:331 */
       16272  +
        #[allow(missing_docs)] // documentation missing in model
       16273  +
                               /* ServerBuilderGenerator.kt:343 */
       16274  +
        pub fn baz(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16275  +
            /* ServerBuilderGenerator.kt:344 */
       16276  +
            self.baz =
       16277  +
                /* ServerBuilderGenerator.kt:376 */input
       16278  +
            /* ServerBuilderGenerator.kt:344 */;
       16279  +
            self
       16280  +
            /* ServerBuilderGenerator.kt:343 */
       16281  +
        }
       16282  +
        /* ServerBuilderGenerator.kt:426 */
       16283  +
        #[allow(missing_docs)] // documentation missing in model
       16284  +
                               /* ServerBuilderGenerator.kt:428 */
       16285  +
        pub(crate) fn set_baz(
       16286  +
            mut self,
       16287  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16288  +
        ) -> Self {
       16289  +
            /* ServerBuilderGenerator.kt:429 */
       16290  +
            self.baz = input.map(|v| v.into());
       16291  +
            self
       16292  +
            /* ServerBuilderGenerator.kt:428 */
       16293  +
        }
       16294  +
        /* ServerBuilderGenerator.kt:331 */
       16295  +
        #[allow(missing_docs)] // documentation missing in model
       16296  +
                               /* ServerBuilderGenerator.kt:343 */
       16297  +
        pub fn maybe_set(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16298  +
            /* ServerBuilderGenerator.kt:344 */
       16299  +
            self.maybe_set =
       16300  +
                /* ServerBuilderGenerator.kt:376 */input
       16301  +
            /* ServerBuilderGenerator.kt:344 */;
       16302  +
            self
       16303  +
            /* ServerBuilderGenerator.kt:343 */
       16304  +
        }
       16305  +
        /* ServerBuilderGenerator.kt:426 */
       16306  +
        #[allow(missing_docs)] // documentation missing in model
       16307  +
                               /* ServerBuilderGenerator.kt:428 */
       16308  +
        pub(crate) fn set_maybe_set(
       16309  +
            mut self,
       16310  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16311  +
        ) -> Self {
       16312  +
            /* ServerBuilderGenerator.kt:429 */
       16313  +
            self.maybe_set = input.map(|v| v.into());
       16314  +
            self
       16315  +
            /* ServerBuilderGenerator.kt:428 */
       16316  +
        }
       16317  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ConstantAndVariableQueryStringInput`](crate::input::ConstantAndVariableQueryStringInput).
       16318  +
        /* ServerBuilderGenerator.kt:271 */
       16319  +
        pub fn build(self) -> crate::input::ConstantAndVariableQueryStringInput {
       16320  +
            self.build_enforcing_all_constraints()
       16321  +
        }
       16322  +
        /* ServerBuilderGenerator.kt:283 */
       16323  +
        fn build_enforcing_all_constraints(
       16324  +
            self,
       16325  +
        ) -> crate::input::ConstantAndVariableQueryStringInput {
       16326  +
            /* ServerBuilderGenerator.kt:542 */
       16327  +
            crate::input::ConstantAndVariableQueryStringInput {
       16328  +
                /* ServerBuilderGenerator.kt:546 */
       16329  +
                baz: self.baz,
       16330  +
                /* ServerBuilderGenerator.kt:546 */
       16331  +
                maybe_set: self.maybe_set,
       16332  +
                /* ServerBuilderGenerator.kt:542 */
       16333  +
            }
       16334  +
            /* ServerBuilderGenerator.kt:283 */
       16335  +
        }
       16336  +
        /* ServerBuilderGenerator.kt:215 */
       16337  +
    }
       16338  +
       16339  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16340  +
}
       16341  +
/// /* ServerBuilderGenerator.kt:171 */See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       16342  +
pub mod constant_query_string_input {
       16343  +
       16344  +
    /* RustType.kt:534 */
       16345  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16346  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       16347  +
    /* RustType.kt:534 */
       16348  +
    #[non_exhaustive]
       16349  +
    /* ServerBuilderConstraintViolations.kt:75 */
       16350  +
    #[allow(clippy::enum_variant_names)]
       16351  +
    pub enum ConstraintViolation {
       16352  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`hello` was not provided but it is required when building `ConstantQueryStringInput`.
       16353  +
        /* ServerBuilderConstraintViolations.kt:144 */
       16354  +
        MissingHello,
       16355  +
        /* ServerBuilderConstraintViolations.kt:75 */
       16356  +
    }
       16357  +
    /* ServerBuilderConstraintViolations.kt:116 */
       16358  +
    impl ::std::fmt::Display for ConstraintViolation {
       16359  +
        /* ServerBuilderConstraintViolations.kt:117 */
       16360  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16361  +
            /* ServerBuilderConstraintViolations.kt:118 */
       16362  +
            match self {
       16363  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
       16364  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       16365  +
            /* ServerBuilderConstraintViolations.kt:117 */
       16366  +
        }
       16367  +
        /* ServerBuilderConstraintViolations.kt:116 */
       16368  +
    }
       16369  +
    /* ServerBuilderConstraintViolations.kt:83 */
       16370  +
    impl ::std::error::Error for ConstraintViolation {}
       16371  +
    /* ServerBuilderConstraintViolations.kt:172 */
       16372  +
    impl ConstraintViolation {
       16373  +
        pub(crate) fn as_validation_exception_field(
       16374  +
            self,
       16375  +
            path: ::std::string::String,
       16376  +
        ) -> crate::model::ValidationExceptionField {
       16377  +
            match self {
       16378  +
                ConstraintViolation::MissingHello => crate::model::ValidationExceptionField {
       16379  +
                    message: format!(
       16380  +
                        "Value at '{}/hello' failed to satisfy constraint: Member must not be null",
       16381  +
                        path
       16382  +
                    ),
       16383  +
                    path: path + "/hello",
       16384  +
                },
       16385  +
            }
       16386  +
        }
       16387  +
    }
       16388  +
    /* ServerBuilderGenerator.kt:234 */
       16389  +
    impl ::std::convert::From<ConstraintViolation>
       16390  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16391  +
    {
       16392  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16393  +
            let first_validation_exception_field =
       16394  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16395  +
            let validation_exception = crate::error::ValidationException {
       16396  +
                message: format!(
       16397  +
                    "1 validation error detected. {}",
       16398  +
                    &first_validation_exception_field.message
       16399  +
                ),
       16400  +
                field_list: Some(vec![first_validation_exception_field]),
       16401  +
            };
       16402  +
            Self::ConstraintViolation(
       16403  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16404  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16405  +
                            )
       16406  +
        }
       16407  +
    }
       16408  +
    /* ServerBuilderGenerator.kt:244 */
       16409  +
    impl ::std::convert::From<Builder>
       16410  +
        for crate::constrained::MaybeConstrained<crate::input::ConstantQueryStringInput>
       16411  +
    {
       16412  +
        fn from(builder: Builder) -> Self {
       16413  +
            Self::Unconstrained(builder)
       16414  +
        }
       16415  +
    }
       16416  +
    /* ServerBuilderGenerator.kt:446 */
       16417  +
    impl ::std::convert::TryFrom<Builder> for crate::input::ConstantQueryStringInput {
       16418  +
        type Error = ConstraintViolation;
       16419  +
       16420  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16421  +
            builder.build()
       16422  +
        }
       16423  +
    }
       16424  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       16425  +
    /* RustType.kt:534 */
       16426  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16427  +
    /* ServerBuilderGenerator.kt:211 */
       16428  +
    pub struct Builder {
       16429  +
        /* ServerBuilderGenerator.kt:308 */
       16430  +
        pub(crate) hello: ::std::option::Option<::std::string::String>,
       16431  +
        /* ServerBuilderGenerator.kt:211 */
       16432  +
    }
       16433  +
    /* ServerBuilderGenerator.kt:215 */
       16434  +
    impl Builder {
       16435  +
        /* ServerBuilderGenerator.kt:331 */
       16436  +
        #[allow(missing_docs)] // documentation missing in model
       16437  +
                               /* ServerBuilderGenerator.kt:343 */
       16438  +
        pub fn hello(mut self, input: ::std::string::String) -> Self {
       16439  +
            /* ServerBuilderGenerator.kt:344 */
       16440  +
            self.hello =
       16441  +
                /* ServerBuilderGenerator.kt:345 */Some(
       16442  +
                    /* ServerBuilderGenerator.kt:376 */input
       16443  +
                /* ServerBuilderGenerator.kt:345 */)
       16444  +
            /* ServerBuilderGenerator.kt:344 */;
       16445  +
            self
       16446  +
            /* ServerBuilderGenerator.kt:343 */
       16447  +
        }
       16448  +
        /* ServerBuilderGenerator.kt:426 */
       16449  +
        #[allow(missing_docs)] // documentation missing in model
       16450  +
                               /* ServerBuilderGenerator.kt:428 */
       16451  +
        pub(crate) fn set_hello(
       16452  +
            mut self,
       16453  +
            input: impl ::std::convert::Into<::std::string::String>,
       16454  +
        ) -> Self {
       16455  +
            /* ServerBuilderGenerator.kt:429 */
       16456  +
            self.hello = Some(input.into());
       16457  +
            self
       16458  +
            /* ServerBuilderGenerator.kt:428 */
       16459  +
        }
       16460  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
       16461  +
        /// /* ServerBuilderGenerator.kt:260 */
       16462  +
        /// The builder fails to construct a [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput) if a [`ConstraintViolation`] occurs.
       16463  +
        ///
       16464  +
        /* ServerBuilderGenerator.kt:271 */
       16465  +
        pub fn build(self) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       16466  +
            self.build_enforcing_all_constraints()
       16467  +
        }
       16468  +
        /* ServerBuilderGenerator.kt:283 */
       16469  +
        fn build_enforcing_all_constraints(
       16470  +
            self,
       16471  +
        ) -> Result<crate::input::ConstantQueryStringInput, ConstraintViolation> {
       16472  +
            /* ServerBuilderGenerator.kt:287 */
       16473  +
            Ok(
       16474  +
                /* ServerBuilderGenerator.kt:542 */
       16475  +
                crate::input::ConstantQueryStringInput {
       16476  +
                    /* ServerBuilderGenerator.kt:546 */
       16477  +
                    hello: self
       16478  +
                        .hello
       16479  +
                        /* ServerBuilderGenerator.kt:569 */
       16480  +
                        .ok_or(ConstraintViolation::MissingHello)?,
       16481  +
                    /* ServerBuilderGenerator.kt:542 */
       16482  +
                }, /* ServerBuilderGenerator.kt:287 */
       16483  +
            )
       16484  +
            /* ServerBuilderGenerator.kt:283 */
       16485  +
        }
       16486  +
        /* ServerBuilderGenerator.kt:215 */
       16487  +
    }
       16488  +
       16489  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       16490  +
}
       16491  +
/// /* ServerBuilderGenerator.kt:171 */See [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       16492  +
pub mod all_query_string_types_input {
       16493  +
       16494  +
    /* RustType.kt:534 */
       16495  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       16496  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       16497  +
    /* RustType.kt:534 */
       16498  +
    #[non_exhaustive]
       16499  +
    /* ServerBuilderConstraintViolations.kt:75 */
       16500  +
    #[allow(clippy::enum_variant_names)]
       16501  +
    pub enum ConstraintViolation {
       16502  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`.
       16503  +
        /* RustType.kt:534 */
       16504  +
        #[doc(hidden)]
       16505  +
        /* ServerBuilderConstraintViolations.kt:165 */
       16506  +
        QueryStringSet(crate::model::string_set::ConstraintViolation),
       16507  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`.
       16508  +
        /* RustType.kt:534 */
       16509  +
        #[doc(hidden)]
       16510  +
        /* ServerBuilderConstraintViolations.kt:165 */
       16511  +
        QueryIntegerSet(crate::model::integer_set::ConstraintViolation),
       16512  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`.
       16513  +
        /* RustType.kt:534 */
       16514  +
        #[doc(hidden)]
       16515  +
        /* ServerBuilderConstraintViolations.kt:165 */
       16516  +
        QueryEnum(crate::model::foo_enum::ConstraintViolation),
       16517  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`.
       16518  +
        /* RustType.kt:534 */
       16519  +
        #[doc(hidden)]
       16520  +
        /* ServerBuilderConstraintViolations.kt:165 */
       16521  +
        QueryEnumList(crate::model::foo_enum_list::ConstraintViolation),
       16522  +
        /* ServerBuilderConstraintViolations.kt:75 */
       16523  +
    }
       16524  +
    /* ServerBuilderConstraintViolations.kt:116 */
       16525  +
    impl ::std::fmt::Display for ConstraintViolation {
       16526  +
        /* ServerBuilderConstraintViolations.kt:117 */
       16527  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       16528  +
            /* ServerBuilderConstraintViolations.kt:118 */
       16529  +
            match self {
       16530  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryStringSet(_) => write!(f, "constraint violation occurred building member `query_string_set` when building `AllQueryStringTypesInput`"),
       16531  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryIntegerSet(_) => write!(f, "constraint violation occurred building member `query_integer_set` when building `AllQueryStringTypesInput`"),
       16532  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnum(_) => write!(f, "constraint violation occurred building member `query_enum` when building `AllQueryStringTypesInput`"),
       16533  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::QueryEnumList(_) => write!(f, "constraint violation occurred building member `query_enum_list` when building `AllQueryStringTypesInput`"),
       16534  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       16535  +
            /* ServerBuilderConstraintViolations.kt:117 */
       16536  +
        }
       16537  +
        /* ServerBuilderConstraintViolations.kt:116 */
       16538  +
    }
       16539  +
    /* ServerBuilderConstraintViolations.kt:83 */
       16540  +
    impl ::std::error::Error for ConstraintViolation {}
       16541  +
    /* ServerBuilderConstraintViolations.kt:172 */
       16542  +
    impl ConstraintViolation {
       16543  +
        pub(crate) fn as_validation_exception_field(
       16544  +
            self,
       16545  +
            path: ::std::string::String,
       16546  +
        ) -> crate::model::ValidationExceptionField {
       16547  +
            match self {
       16548  +
                ConstraintViolation::QueryStringSet(inner) => {
       16549  +
                    inner.as_validation_exception_field(path + "/queryStringSet")
       16550  +
                }
       16551  +
                ConstraintViolation::QueryIntegerSet(inner) => {
       16552  +
                    inner.as_validation_exception_field(path + "/queryIntegerSet")
       16553  +
                }
       16554  +
                ConstraintViolation::QueryEnum(inner) => {
       16555  +
                    inner.as_validation_exception_field(path + "/queryEnum")
       16556  +
                }
       16557  +
                ConstraintViolation::QueryEnumList(inner) => {
       16558  +
                    inner.as_validation_exception_field(path + "/queryEnumList")
       16559  +
                }
       16560  +
            }
       16561  +
        }
       16562  +
    }
       16563  +
    /* ServerBuilderGenerator.kt:234 */
       16564  +
    impl ::std::convert::From<ConstraintViolation>
       16565  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       16566  +
    {
       16567  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       16568  +
            let first_validation_exception_field =
       16569  +
                constraint_violation.as_validation_exception_field("".to_owned());
       16570  +
            let validation_exception = crate::error::ValidationException {
       16571  +
                message: format!(
       16572  +
                    "1 validation error detected. {}",
       16573  +
                    &first_validation_exception_field.message
       16574  +
                ),
       16575  +
                field_list: Some(vec![first_validation_exception_field]),
       16576  +
            };
       16577  +
            Self::ConstraintViolation(
       16578  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       16579  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       16580  +
                            )
       16581  +
        }
       16582  +
    }
       16583  +
    /* ServerBuilderGenerator.kt:244 */
       16584  +
    impl ::std::convert::From<Builder>
       16585  +
        for crate::constrained::MaybeConstrained<crate::input::AllQueryStringTypesInput>
       16586  +
    {
       16587  +
        fn from(builder: Builder) -> Self {
       16588  +
            Self::Unconstrained(builder)
       16589  +
        }
       16590  +
    }
       16591  +
    /* ServerBuilderGenerator.kt:446 */
       16592  +
    impl ::std::convert::TryFrom<Builder> for crate::input::AllQueryStringTypesInput {
       16593  +
        type Error = ConstraintViolation;
       16594  +
       16595  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       16596  +
            builder.build()
       16597  +
        }
       16598  +
    }
       16599  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       16600  +
    /* RustType.kt:534 */
       16601  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       16602  +
    /* ServerBuilderGenerator.kt:211 */
       16603  +
    pub struct Builder {
       16604  +
        /* ServerBuilderGenerator.kt:308 */
       16605  +
        pub(crate) query_string: ::std::option::Option<::std::string::String>,
       16606  +
        /* ServerBuilderGenerator.kt:308 */
       16607  +
        pub(crate) query_string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       16608  +
        /* ServerBuilderGenerator.kt:308 */
       16609  +
        pub(crate) query_string_set:
       16610  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       16611  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) query_byte: ::std::option::Option<i8>,
       16612  +
        /* ServerBuilderGenerator.kt:308 */
       16613  +
        pub(crate) query_short: ::std::option::Option<i16>,
       16614  +
        /* ServerBuilderGenerator.kt:308 */
       16615  +
        pub(crate) query_integer: ::std::option::Option<i32>,
       16616  +
        /* ServerBuilderGenerator.kt:308 */
       16617  +
        pub(crate) query_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       16618  +
        /* ServerBuilderGenerator.kt:308 */
       16619  +
        pub(crate) query_integer_set:
       16620  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::IntegerSet>>,
       16621  +
        /* ServerBuilderGenerator.kt:308 */
       16622  +
        pub(crate) query_long: ::std::option::Option<i64>,
       16623  +
        /* ServerBuilderGenerator.kt:308 */
       16624  +
        pub(crate) query_float: ::std::option::Option<f32>,
       16625  +
        /* ServerBuilderGenerator.kt:308 */
       16626  +
        pub(crate) query_double: ::std::option::Option<f64>,
       16627  +
        /* ServerBuilderGenerator.kt:308 */
       16628  +
        pub(crate) query_double_list: ::std::option::Option<::std::vec::Vec<f64>>,
       16629  +
        /* ServerBuilderGenerator.kt:308 */
       16630  +
        pub(crate) query_boolean: ::std::option::Option<bool>,
       16631  +
        /* ServerBuilderGenerator.kt:308 */
       16632  +
        pub(crate) query_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       16633  +
        /* ServerBuilderGenerator.kt:308 */
       16634  +
        pub(crate) query_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       16635  +
        /* ServerBuilderGenerator.kt:308 */
       16636  +
        pub(crate) query_timestamp_list:
       16637  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       16638  +
        /* ServerBuilderGenerator.kt:308 */
       16639  +
        pub(crate) query_enum:
       16640  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       16641  +
        /* ServerBuilderGenerator.kt:308 */
       16642  +
        pub(crate) query_enum_list: ::std::option::Option<
       16643  +
            crate::constrained::MaybeConstrained<
       16644  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       16645  +
            >,
       16646  +
        >,
       16647  +
        /* ServerBuilderGenerator.kt:308 */
       16648  +
        pub(crate) query_integer_enum: ::std::option::Option<i32>,
       16649  +
        /* ServerBuilderGenerator.kt:308 */
       16650  +
        pub(crate) query_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       16651  +
        /* ServerBuilderGenerator.kt:308 */
       16652  +
        pub(crate) query_params_map_of_string_list: ::std::option::Option<
       16653  +
            ::std::collections::HashMap<
       16654  +
                ::std::string::String,
       16655  +
                ::std::vec::Vec<::std::string::String>,
       16656  +
            >,
       16657  +
        >,
       16658  +
        /* ServerBuilderGenerator.kt:211 */
       16659  +
    }
       16660  +
    /* ServerBuilderGenerator.kt:215 */
       16661  +
    impl Builder {
       16662  +
        /* ServerBuilderGenerator.kt:331 */
       16663  +
        #[allow(missing_docs)] // documentation missing in model
       16664  +
                               /* ServerBuilderGenerator.kt:343 */
       16665  +
        pub fn query_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       16666  +
            /* ServerBuilderGenerator.kt:344 */
       16667  +
            self.query_string =
       16668  +
                /* ServerBuilderGenerator.kt:376 */input
       16669  +
            /* ServerBuilderGenerator.kt:344 */;
       16670  +
            self
       16671  +
            /* ServerBuilderGenerator.kt:343 */
       16672  +
        }
       16673  +
        /* ServerBuilderGenerator.kt:426 */
       16674  +
        #[allow(missing_docs)] // documentation missing in model
       16675  +
                               /* ServerBuilderGenerator.kt:428 */
       16676  +
        pub(crate) fn set_query_string(
       16677  +
            mut self,
       16678  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       16679  +
        ) -> Self {
       16680  +
            /* ServerBuilderGenerator.kt:429 */
       16681  +
            self.query_string = input.map(|v| v.into());
       16682  +
            self
       16683  +
            /* ServerBuilderGenerator.kt:428 */
       16684  +
        }
       16685  +
        /* ServerBuilderGenerator.kt:331 */
       16686  +
        #[allow(missing_docs)] // documentation missing in model
       16687  +
                               /* ServerBuilderGenerator.kt:343 */
       16688  +
        pub fn query_string_list(
       16689  +
            mut self,
       16690  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       16691  +
        ) -> Self {
       16692  +
            /* ServerBuilderGenerator.kt:344 */
       16693  +
            self.query_string_list =
       16694  +
                /* ServerBuilderGenerator.kt:376 */input
       16695  +
            /* ServerBuilderGenerator.kt:344 */;
       16696  +
            self
       16697  +
            /* ServerBuilderGenerator.kt:343 */
       16698  +
        }
       16699  +
        /* ServerBuilderGenerator.kt:426 */
       16700  +
        #[allow(missing_docs)] // documentation missing in model
       16701  +
                               /* ServerBuilderGenerator.kt:428 */
       16702  +
        pub(crate) fn set_query_string_list(
       16703  +
            mut self,
       16704  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       16705  +
        ) -> Self {
       16706  +
            /* ServerBuilderGenerator.kt:429 */
       16707  +
            self.query_string_list = input.map(|v| v.into());
       16708  +
            self
       16709  +
            /* ServerBuilderGenerator.kt:428 */
       16710  +
        }
       16711  +
        /* ServerBuilderGenerator.kt:331 */
       16712  +
        #[allow(missing_docs)] // documentation missing in model
       16713  +
                               /* ServerBuilderGenerator.kt:343 */
       16714  +
        pub fn query_string_set(
       16715  +
            mut self,
       16716  +
            input: ::std::option::Option<crate::model::StringSet>,
       16717  +
        ) -> Self {
       16718  +
            /* ServerBuilderGenerator.kt:344 */
       16719  +
            self.query_string_set =
       16720  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       16721  +
            /* ServerBuilderGenerator.kt:344 */;
       16722  +
            self
       16723  +
            /* ServerBuilderGenerator.kt:343 */
       16724  +
        }
       16725  +
        /* ServerBuilderGenerator.kt:426 */
       16726  +
        #[allow(missing_docs)] // documentation missing in model
       16727  +
                               /* ServerBuilderGenerator.kt:428 */
       16728  +
        pub(crate) fn set_query_string_set(
       16729  +
            mut self,
       16730  +
            input: Option<
       16731  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       16732  +
            >,
       16733  +
        ) -> Self {
       16734  +
            /* ServerBuilderGenerator.kt:429 */
       16735  +
            self.query_string_set = input.map(|v| v.into());
       16736  +
            self
       16737  +
            /* ServerBuilderGenerator.kt:428 */
       16738  +
        }
       16739  +
        /* ServerBuilderGenerator.kt:331 */
       16740  +
        #[allow(missing_docs)] // documentation missing in model
       16741  +
                               /* ServerBuilderGenerator.kt:343 */
       16742  +
        pub fn query_byte(mut self, input: ::std::option::Option<i8>) -> Self {
       16743  +
            /* ServerBuilderGenerator.kt:344 */
       16744  +
            self.query_byte =
       16745  +
                /* ServerBuilderGenerator.kt:376 */input
       16746  +
            /* ServerBuilderGenerator.kt:344 */;
       16747  +
            self
       16748  +
            /* ServerBuilderGenerator.kt:343 */
       16749  +
        }
       16750  +
        /* ServerBuilderGenerator.kt:426 */
       16751  +
        #[allow(missing_docs)] // documentation missing in model
       16752  +
                               /* ServerBuilderGenerator.kt:428 */
       16753  +
        pub(crate) fn set_query_byte(
       16754  +
            mut self,
       16755  +
            input: Option<impl ::std::convert::Into<i8>>,
       16756  +
        ) -> Self {
       16757  +
            /* ServerBuilderGenerator.kt:429 */
       16758  +
            self.query_byte = input.map(|v| v.into());
       16759  +
            self
       16760  +
            /* ServerBuilderGenerator.kt:428 */
       16761  +
        }
       16762  +
        /* ServerBuilderGenerator.kt:331 */
       16763  +
        #[allow(missing_docs)] // documentation missing in model
       16764  +
                               /* ServerBuilderGenerator.kt:343 */
       16765  +
        pub fn query_short(mut self, input: ::std::option::Option<i16>) -> Self {
       16766  +
            /* ServerBuilderGenerator.kt:344 */
       16767  +
            self.query_short =
       16768  +
                /* ServerBuilderGenerator.kt:376 */input
       16769  +
            /* ServerBuilderGenerator.kt:344 */;
       16770  +
            self
       16771  +
            /* ServerBuilderGenerator.kt:343 */
       16772  +
        }
       16773  +
        /* ServerBuilderGenerator.kt:426 */
       16774  +
        #[allow(missing_docs)] // documentation missing in model
       16775  +
                               /* ServerBuilderGenerator.kt:428 */
       16776  +
        pub(crate) fn set_query_short(
       16777  +
            mut self,
       16778  +
            input: Option<impl ::std::convert::Into<i16>>,
       16779  +
        ) -> Self {
       16780  +
            /* ServerBuilderGenerator.kt:429 */
       16781  +
            self.query_short = input.map(|v| v.into());
       16782  +
            self
       16783  +
            /* ServerBuilderGenerator.kt:428 */
       16784  +
        }
       16785  +
        /* ServerBuilderGenerator.kt:331 */
       16786  +
        #[allow(missing_docs)] // documentation missing in model
       16787  +
                               /* ServerBuilderGenerator.kt:343 */
       16788  +
        pub fn query_integer(mut self, input: ::std::option::Option<i32>) -> Self {
       16789  +
            /* ServerBuilderGenerator.kt:344 */
       16790  +
            self.query_integer =
       16791  +
                /* ServerBuilderGenerator.kt:376 */input
       16792  +
            /* ServerBuilderGenerator.kt:344 */;
       16793  +
            self
       16794  +
            /* ServerBuilderGenerator.kt:343 */
       16795  +
        }
       16796  +
        /* ServerBuilderGenerator.kt:426 */
       16797  +
        #[allow(missing_docs)] // documentation missing in model
       16798  +
                               /* ServerBuilderGenerator.kt:428 */
       16799  +
        pub(crate) fn set_query_integer(
       16800  +
            mut self,
       16801  +
            input: Option<impl ::std::convert::Into<i32>>,
       16802  +
        ) -> Self {
       16803  +
            /* ServerBuilderGenerator.kt:429 */
       16804  +
            self.query_integer = input.map(|v| v.into());
       16805  +
            self
       16806  +
            /* ServerBuilderGenerator.kt:428 */
       16807  +
        }
       16808  +
        /* ServerBuilderGenerator.kt:331 */
       16809  +
        #[allow(missing_docs)] // documentation missing in model
       16810  +
                               /* ServerBuilderGenerator.kt:343 */
       16811  +
        pub fn query_integer_list(
       16812  +
            mut self,
       16813  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       16814  +
        ) -> Self {
       16815  +
            /* ServerBuilderGenerator.kt:344 */
       16816  +
            self.query_integer_list =
       16817  +
                /* ServerBuilderGenerator.kt:376 */input
       16818  +
            /* ServerBuilderGenerator.kt:344 */;
       16819  +
            self
       16820  +
            /* ServerBuilderGenerator.kt:343 */
       16821  +
        }
       16822  +
        /* ServerBuilderGenerator.kt:426 */
       16823  +
        #[allow(missing_docs)] // documentation missing in model
       16824  +
                               /* ServerBuilderGenerator.kt:428 */
       16825  +
        pub(crate) fn set_query_integer_list(
       16826  +
            mut self,
       16827  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       16828  +
        ) -> Self {
       16829  +
            /* ServerBuilderGenerator.kt:429 */
       16830  +
            self.query_integer_list = input.map(|v| v.into());
       16831  +
            self
       16832  +
            /* ServerBuilderGenerator.kt:428 */
       16833  +
        }
       16834  +
        /* ServerBuilderGenerator.kt:331 */
       16835  +
        #[allow(missing_docs)] // documentation missing in model
       16836  +
                               /* ServerBuilderGenerator.kt:343 */
       16837  +
        pub fn query_integer_set(
       16838  +
            mut self,
       16839  +
            input: ::std::option::Option<crate::model::IntegerSet>,
       16840  +
        ) -> Self {
       16841  +
            /* ServerBuilderGenerator.kt:344 */
       16842  +
            self.query_integer_set =
       16843  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       16844  +
            /* ServerBuilderGenerator.kt:344 */;
       16845  +
            self
       16846  +
            /* ServerBuilderGenerator.kt:343 */
       16847  +
        }
       16848  +
        /* ServerBuilderGenerator.kt:426 */
       16849  +
        #[allow(missing_docs)] // documentation missing in model
       16850  +
                               /* ServerBuilderGenerator.kt:428 */
       16851  +
        pub(crate) fn set_query_integer_set(
       16852  +
            mut self,
       16853  +
            input: Option<
       16854  +
                impl ::std::convert::Into<
       16855  +
                    crate::constrained::MaybeConstrained<crate::model::IntegerSet>,
       16856  +
                >,
       16857  +
            >,
       16858  +
        ) -> Self {
       16859  +
            /* ServerBuilderGenerator.kt:429 */
       16860  +
            self.query_integer_set = input.map(|v| v.into());
       16861  +
            self
       16862  +
            /* ServerBuilderGenerator.kt:428 */
       16863  +
        }
       16864  +
        /* ServerBuilderGenerator.kt:331 */
       16865  +
        #[allow(missing_docs)] // documentation missing in model
       16866  +
                               /* ServerBuilderGenerator.kt:343 */
       16867  +
        pub fn query_long(mut self, input: ::std::option::Option<i64>) -> Self {
       16868  +
            /* ServerBuilderGenerator.kt:344 */
       16869  +
            self.query_long =
       16870  +
                /* ServerBuilderGenerator.kt:376 */input
       16871  +
            /* ServerBuilderGenerator.kt:344 */;
       16872  +
            self
       16873  +
            /* ServerBuilderGenerator.kt:343 */
       16874  +
        }
       16875  +
        /* ServerBuilderGenerator.kt:426 */
       16876  +
        #[allow(missing_docs)] // documentation missing in model
       16877  +
                               /* ServerBuilderGenerator.kt:428 */
       16878  +
        pub(crate) fn set_query_long(
       16879  +
            mut self,
       16880  +
            input: Option<impl ::std::convert::Into<i64>>,
       16881  +
        ) -> Self {
       16882  +
            /* ServerBuilderGenerator.kt:429 */
       16883  +
            self.query_long = input.map(|v| v.into());
       16884  +
            self
       16885  +
            /* ServerBuilderGenerator.kt:428 */
       16886  +
        }
       16887  +
        /* ServerBuilderGenerator.kt:331 */
       16888  +
        #[allow(missing_docs)] // documentation missing in model
       16889  +
                               /* ServerBuilderGenerator.kt:343 */
       16890  +
        pub fn query_float(mut self, input: ::std::option::Option<f32>) -> Self {
       16891  +
            /* ServerBuilderGenerator.kt:344 */
       16892  +
            self.query_float =
       16893  +
                /* ServerBuilderGenerator.kt:376 */input
       16894  +
            /* ServerBuilderGenerator.kt:344 */;
       16895  +
            self
       16896  +
            /* ServerBuilderGenerator.kt:343 */
       16897  +
        }
       16898  +
        /* ServerBuilderGenerator.kt:426 */
       16899  +
        #[allow(missing_docs)] // documentation missing in model
       16900  +
                               /* ServerBuilderGenerator.kt:428 */
       16901  +
        pub(crate) fn set_query_float(
       16902  +
            mut self,
       16903  +
            input: Option<impl ::std::convert::Into<f32>>,
       16904  +
        ) -> Self {
       16905  +
            /* ServerBuilderGenerator.kt:429 */
       16906  +
            self.query_float = input.map(|v| v.into());
       16907  +
            self
       16908  +
            /* ServerBuilderGenerator.kt:428 */
       16909  +
        }
       16910  +
        /* ServerBuilderGenerator.kt:331 */
       16911  +
        #[allow(missing_docs)] // documentation missing in model
       16912  +
                               /* ServerBuilderGenerator.kt:343 */
       16913  +
        pub fn query_double(mut self, input: ::std::option::Option<f64>) -> Self {
       16914  +
            /* ServerBuilderGenerator.kt:344 */
       16915  +
            self.query_double =
       16916  +
                /* ServerBuilderGenerator.kt:376 */input
       16917  +
            /* ServerBuilderGenerator.kt:344 */;
       16918  +
            self
       16919  +
            /* ServerBuilderGenerator.kt:343 */
       16920  +
        }
       16921  +
        /* ServerBuilderGenerator.kt:426 */
       16922  +
        #[allow(missing_docs)] // documentation missing in model
       16923  +
                               /* ServerBuilderGenerator.kt:428 */
       16924  +
        pub(crate) fn set_query_double(
       16925  +
            mut self,
       16926  +
            input: Option<impl ::std::convert::Into<f64>>,
       16927  +
        ) -> Self {
       16928  +
            /* ServerBuilderGenerator.kt:429 */
       16929  +
            self.query_double = input.map(|v| v.into());
       16930  +
            self
       16931  +
            /* ServerBuilderGenerator.kt:428 */
       16932  +
        }
       16933  +
        /* ServerBuilderGenerator.kt:331 */
       16934  +
        #[allow(missing_docs)] // documentation missing in model
       16935  +
                               /* ServerBuilderGenerator.kt:343 */
       16936  +
        pub fn query_double_list(
       16937  +
            mut self,
       16938  +
            input: ::std::option::Option<::std::vec::Vec<f64>>,
       16939  +
        ) -> Self {
       16940  +
            /* ServerBuilderGenerator.kt:344 */
       16941  +
            self.query_double_list =
       16942  +
                /* ServerBuilderGenerator.kt:376 */input
       16943  +
            /* ServerBuilderGenerator.kt:344 */;
       16944  +
            self
       16945  +
            /* ServerBuilderGenerator.kt:343 */
       16946  +
        }
       16947  +
        /* ServerBuilderGenerator.kt:426 */
       16948  +
        #[allow(missing_docs)] // documentation missing in model
       16949  +
                               /* ServerBuilderGenerator.kt:428 */
       16950  +
        pub(crate) fn set_query_double_list(
       16951  +
            mut self,
       16952  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<f64>>>,
       16953  +
        ) -> Self {
       16954  +
            /* ServerBuilderGenerator.kt:429 */
       16955  +
            self.query_double_list = input.map(|v| v.into());
       16956  +
            self
       16957  +
            /* ServerBuilderGenerator.kt:428 */
       16958  +
        }
       16959  +
        /* ServerBuilderGenerator.kt:331 */
       16960  +
        #[allow(missing_docs)] // documentation missing in model
       16961  +
                               /* ServerBuilderGenerator.kt:343 */
       16962  +
        pub fn query_boolean(mut self, input: ::std::option::Option<bool>) -> Self {
       16963  +
            /* ServerBuilderGenerator.kt:344 */
       16964  +
            self.query_boolean =
       16965  +
                /* ServerBuilderGenerator.kt:376 */input
       16966  +
            /* ServerBuilderGenerator.kt:344 */;
       16967  +
            self
       16968  +
            /* ServerBuilderGenerator.kt:343 */
       16969  +
        }
       16970  +
        /* ServerBuilderGenerator.kt:426 */
       16971  +
        #[allow(missing_docs)] // documentation missing in model
       16972  +
                               /* ServerBuilderGenerator.kt:428 */
       16973  +
        pub(crate) fn set_query_boolean(
       16974  +
            mut self,
       16975  +
            input: Option<impl ::std::convert::Into<bool>>,
       16976  +
        ) -> Self {
       16977  +
            /* ServerBuilderGenerator.kt:429 */
       16978  +
            self.query_boolean = input.map(|v| v.into());
       16979  +
            self
       16980  +
            /* ServerBuilderGenerator.kt:428 */
       16981  +
        }
       16982  +
        /* ServerBuilderGenerator.kt:331 */
       16983  +
        #[allow(missing_docs)] // documentation missing in model
       16984  +
                               /* ServerBuilderGenerator.kt:343 */
       16985  +
        pub fn query_boolean_list(
       16986  +
            mut self,
       16987  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
       16988  +
        ) -> Self {
       16989  +
            /* ServerBuilderGenerator.kt:344 */
       16990  +
            self.query_boolean_list =
       16991  +
                /* ServerBuilderGenerator.kt:376 */input
       16992  +
            /* ServerBuilderGenerator.kt:344 */;
       16993  +
            self
       16994  +
            /* ServerBuilderGenerator.kt:343 */
       16995  +
        }
       16996  +
        /* ServerBuilderGenerator.kt:426 */
       16997  +
        #[allow(missing_docs)] // documentation missing in model
       16998  +
                               /* ServerBuilderGenerator.kt:428 */
       16999  +
        pub(crate) fn set_query_boolean_list(
       17000  +
            mut self,
       17001  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       17002  +
        ) -> Self {
       17003  +
            /* ServerBuilderGenerator.kt:429 */
       17004  +
            self.query_boolean_list = input.map(|v| v.into());
       17005  +
            self
       17006  +
            /* ServerBuilderGenerator.kt:428 */
       17007  +
        }
       17008  +
        /* ServerBuilderGenerator.kt:331 */
       17009  +
        #[allow(missing_docs)] // documentation missing in model
       17010  +
                               /* ServerBuilderGenerator.kt:343 */
       17011  +
        pub fn query_timestamp(
       17012  +
            mut self,
       17013  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       17014  +
        ) -> Self {
       17015  +
            /* ServerBuilderGenerator.kt:344 */
       17016  +
            self.query_timestamp =
       17017  +
                /* ServerBuilderGenerator.kt:376 */input
       17018  +
            /* ServerBuilderGenerator.kt:344 */;
       17019  +
            self
       17020  +
            /* ServerBuilderGenerator.kt:343 */
       17021  +
        }
       17022  +
        /* ServerBuilderGenerator.kt:426 */
       17023  +
        #[allow(missing_docs)] // documentation missing in model
       17024  +
                               /* ServerBuilderGenerator.kt:428 */
       17025  +
        pub(crate) fn set_query_timestamp(
       17026  +
            mut self,
       17027  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       17028  +
        ) -> Self {
       17029  +
            /* ServerBuilderGenerator.kt:429 */
       17030  +
            self.query_timestamp = input.map(|v| v.into());
       17031  +
            self
       17032  +
            /* ServerBuilderGenerator.kt:428 */
       17033  +
        }
       17034  +
        /* ServerBuilderGenerator.kt:331 */
       17035  +
        #[allow(missing_docs)] // documentation missing in model
       17036  +
                               /* ServerBuilderGenerator.kt:343 */
       17037  +
        pub fn query_timestamp_list(
       17038  +
            mut self,
       17039  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       17040  +
        ) -> Self {
       17041  +
            /* ServerBuilderGenerator.kt:344 */
       17042  +
            self.query_timestamp_list =
       17043  +
                /* ServerBuilderGenerator.kt:376 */input
       17044  +
            /* ServerBuilderGenerator.kt:344 */;
       17045  +
            self
       17046  +
            /* ServerBuilderGenerator.kt:343 */
       17047  +
        }
       17048  +
        /* ServerBuilderGenerator.kt:426 */
       17049  +
        #[allow(missing_docs)] // documentation missing in model
       17050  +
                               /* ServerBuilderGenerator.kt:428 */
       17051  +
        pub(crate) fn set_query_timestamp_list(
       17052  +
            mut self,
       17053  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
       17054  +
        ) -> Self {
       17055  +
            /* ServerBuilderGenerator.kt:429 */
       17056  +
            self.query_timestamp_list = input.map(|v| v.into());
       17057  +
            self
       17058  +
            /* ServerBuilderGenerator.kt:428 */
       17059  +
        }
       17060  +
        /* ServerBuilderGenerator.kt:331 */
       17061  +
        #[allow(missing_docs)] // documentation missing in model
       17062  +
                               /* ServerBuilderGenerator.kt:343 */
       17063  +
        pub fn query_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       17064  +
            /* ServerBuilderGenerator.kt:344 */
       17065  +
            self.query_enum =
       17066  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       17067  +
            /* ServerBuilderGenerator.kt:344 */;
       17068  +
            self
       17069  +
            /* ServerBuilderGenerator.kt:343 */
       17070  +
        }
       17071  +
        /* ServerBuilderGenerator.kt:426 */
       17072  +
        #[allow(missing_docs)] // documentation missing in model
       17073  +
                               /* ServerBuilderGenerator.kt:428 */
       17074  +
        pub(crate) fn set_query_enum(
       17075  +
            mut self,
       17076  +
            input: Option<
       17077  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       17078  +
            >,
       17079  +
        ) -> Self {
       17080  +
            /* ServerBuilderGenerator.kt:429 */
       17081  +
            self.query_enum = input.map(|v| v.into());
       17082  +
            self
       17083  +
            /* ServerBuilderGenerator.kt:428 */
       17084  +
        }
       17085  +
        /* ServerBuilderGenerator.kt:331 */
       17086  +
        #[allow(missing_docs)] // documentation missing in model
       17087  +
                               /* ServerBuilderGenerator.kt:343 */
       17088  +
        pub fn query_enum_list(
       17089  +
            mut self,
       17090  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       17091  +
        ) -> Self {
       17092  +
            /* ServerBuilderGenerator.kt:344 */
       17093  +
            self.query_enum_list =
       17094  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       17095  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       17096  +
                /* ServerBuilderGenerator.kt:363 */)
       17097  +
            /* ServerBuilderGenerator.kt:344 */;
       17098  +
            self
       17099  +
            /* ServerBuilderGenerator.kt:343 */
       17100  +
        }
       17101  +
        /* ServerBuilderGenerator.kt:426 */
       17102  +
        #[allow(missing_docs)] // documentation missing in model
       17103  +
                               /* ServerBuilderGenerator.kt:428 */
       17104  +
        pub(crate) fn set_query_enum_list(
       17105  +
            mut self,
       17106  +
            input: Option<
       17107  +
                impl ::std::convert::Into<
       17108  +
                    crate::constrained::MaybeConstrained<
       17109  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       17110  +
                    >,
       17111  +
                >,
       17112  +
            >,
       17113  +
        ) -> Self {
       17114  +
            /* ServerBuilderGenerator.kt:429 */
       17115  +
            self.query_enum_list = input.map(|v| v.into());
       17116  +
            self
       17117  +
            /* ServerBuilderGenerator.kt:428 */
       17118  +
        }
       17119  +
        /* ServerBuilderGenerator.kt:331 */
       17120  +
        #[allow(missing_docs)] // documentation missing in model
       17121  +
                               /* ServerBuilderGenerator.kt:343 */
       17122  +
        pub fn query_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
       17123  +
            /* ServerBuilderGenerator.kt:344 */
       17124  +
            self.query_integer_enum =
       17125  +
                /* ServerBuilderGenerator.kt:376 */input
       17126  +
            /* ServerBuilderGenerator.kt:344 */;
       17127  +
            self
       17128  +
            /* ServerBuilderGenerator.kt:343 */
       17129  +
        }
       17130  +
        /* ServerBuilderGenerator.kt:426 */
       17131  +
        #[allow(missing_docs)] // documentation missing in model
       17132  +
                               /* ServerBuilderGenerator.kt:428 */
       17133  +
        pub(crate) fn set_query_integer_enum(
       17134  +
            mut self,
       17135  +
            input: Option<impl ::std::convert::Into<i32>>,
       17136  +
        ) -> Self {
       17137  +
            /* ServerBuilderGenerator.kt:429 */
       17138  +
            self.query_integer_enum = input.map(|v| v.into());
       17139  +
            self
       17140  +
            /* ServerBuilderGenerator.kt:428 */
       17141  +
        }
       17142  +
        /* ServerBuilderGenerator.kt:331 */
       17143  +
        #[allow(missing_docs)] // documentation missing in model
       17144  +
                               /* ServerBuilderGenerator.kt:343 */
       17145  +
        pub fn query_integer_enum_list(
       17146  +
            mut self,
       17147  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       17148  +
        ) -> Self {
       17149  +
            /* ServerBuilderGenerator.kt:344 */
       17150  +
            self.query_integer_enum_list =
       17151  +
                /* ServerBuilderGenerator.kt:376 */input
       17152  +
            /* ServerBuilderGenerator.kt:344 */;
       17153  +
            self
       17154  +
            /* ServerBuilderGenerator.kt:343 */
       17155  +
        }
       17156  +
        /* ServerBuilderGenerator.kt:426 */
       17157  +
        #[allow(missing_docs)] // documentation missing in model
       17158  +
                               /* ServerBuilderGenerator.kt:428 */
       17159  +
        pub(crate) fn set_query_integer_enum_list(
       17160  +
            mut self,
       17161  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       17162  +
        ) -> Self {
       17163  +
            /* ServerBuilderGenerator.kt:429 */
       17164  +
            self.query_integer_enum_list = input.map(|v| v.into());
       17165  +
            self
       17166  +
            /* ServerBuilderGenerator.kt:428 */
       17167  +
        }
       17168  +
        /* ServerBuilderGenerator.kt:331 */
       17169  +
        #[allow(missing_docs)] // documentation missing in model
       17170  +
                               /* ServerBuilderGenerator.kt:343 */
       17171  +
        pub fn query_params_map_of_string_list(
       17172  +
            mut self,
       17173  +
            input: ::std::option::Option<
       17174  +
                ::std::collections::HashMap<
       17175  +
                    ::std::string::String,
       17176  +
                    ::std::vec::Vec<::std::string::String>,
       17177  +
                >,
       17178  +
            >,
       17179  +
        ) -> Self {
       17180  +
            /* ServerBuilderGenerator.kt:344 */
       17181  +
            self.query_params_map_of_string_list =
       17182  +
                /* ServerBuilderGenerator.kt:376 */input
       17183  +
            /* ServerBuilderGenerator.kt:344 */;
       17184  +
            self
       17185  +
            /* ServerBuilderGenerator.kt:343 */
       17186  +
        }
       17187  +
        /* ServerBuilderGenerator.kt:426 */
       17188  +
        #[allow(missing_docs)] // documentation missing in model
       17189  +
                               /* ServerBuilderGenerator.kt:428 */
       17190  +
        pub(crate) fn set_query_params_map_of_string_list(
       17191  +
            mut self,
       17192  +
            input: Option<
       17193  +
                impl ::std::convert::Into<
       17194  +
                    ::std::collections::HashMap<
       17195  +
                        ::std::string::String,
       17196  +
                        ::std::vec::Vec<::std::string::String>,
       17197  +
                    >,
       17198  +
                >,
       17199  +
            >,
       17200  +
        ) -> Self {
       17201  +
            /* ServerBuilderGenerator.kt:429 */
       17202  +
            self.query_params_map_of_string_list = input.map(|v| v.into());
       17203  +
            self
       17204  +
            /* ServerBuilderGenerator.kt:428 */
       17205  +
        }
       17206  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput).
       17207  +
        /// /* ServerBuilderGenerator.kt:260 */
       17208  +
        /// The builder fails to construct a [`AllQueryStringTypesInput`](crate::input::AllQueryStringTypesInput) if a [`ConstraintViolation`] occurs.
       17209  +
        ///
       17210  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       17211  +
        /* ServerBuilderGenerator.kt:271 */
       17212  +
        pub fn build(self) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       17213  +
            self.build_enforcing_all_constraints()
       17214  +
        }
       17215  +
        /* ServerBuilderGenerator.kt:283 */
       17216  +
        fn build_enforcing_all_constraints(
       17217  +
            self,
       17218  +
        ) -> Result<crate::input::AllQueryStringTypesInput, ConstraintViolation> {
       17219  +
            /* ServerBuilderGenerator.kt:287 */
       17220  +
            Ok(
       17221  +
                /* ServerBuilderGenerator.kt:542 */
       17222  +
                crate::input::AllQueryStringTypesInput {
       17223  +
                    /* ServerBuilderGenerator.kt:546 */
       17224  +
                    query_string: self.query_string,
       17225  +
                    /* ServerBuilderGenerator.kt:546 */
       17226  +
                    query_string_list: self.query_string_list,
       17227  +
                    /* ServerBuilderGenerator.kt:546 */
       17228  +
                    query_string_set: self
       17229  +
                        .query_string_set
       17230  +
                        /* ServerBuilderGenerator.kt:602 */
       17231  +
                        .map(|v| match v {
       17232  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       17233  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       17234  +
                        })
       17235  +
                        /* ServerBuilderGenerator.kt:614 */
       17236  +
                        .map(|res| res.map_err(ConstraintViolation::QueryStringSet))
       17237  +
                        .transpose()?,
       17238  +
                    /* ServerBuilderGenerator.kt:546 */
       17239  +
                    query_byte: self.query_byte,
       17240  +
                    /* ServerBuilderGenerator.kt:546 */
       17241  +
                    query_short: self.query_short,
       17242  +
                    /* ServerBuilderGenerator.kt:546 */
       17243  +
                    query_integer: self.query_integer,
       17244  +
                    /* ServerBuilderGenerator.kt:546 */
       17245  +
                    query_integer_list: self.query_integer_list,
       17246  +
                    /* ServerBuilderGenerator.kt:546 */
       17247  +
                    query_integer_set: self
       17248  +
                        .query_integer_set
       17249  +
                        /* ServerBuilderGenerator.kt:602 */
       17250  +
                        .map(|v| match v {
       17251  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       17252  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       17253  +
                        })
       17254  +
                        /* ServerBuilderGenerator.kt:614 */
       17255  +
                        .map(|res| res.map_err(ConstraintViolation::QueryIntegerSet))
       17256  +
                        .transpose()?,
       17257  +
                    /* ServerBuilderGenerator.kt:546 */
       17258  +
                    query_long: self.query_long,
       17259  +
                    /* ServerBuilderGenerator.kt:546 */
       17260  +
                    query_float: self.query_float,
       17261  +
                    /* ServerBuilderGenerator.kt:546 */
       17262  +
                    query_double: self.query_double,
       17263  +
                    /* ServerBuilderGenerator.kt:546 */
       17264  +
                    query_double_list: self.query_double_list,
       17265  +
                    /* ServerBuilderGenerator.kt:546 */
       17266  +
                    query_boolean: self.query_boolean,
       17267  +
                    /* ServerBuilderGenerator.kt:546 */
       17268  +
                    query_boolean_list: self.query_boolean_list,
       17269  +
                    /* ServerBuilderGenerator.kt:546 */
       17270  +
                    query_timestamp: self.query_timestamp,
       17271  +
                    /* ServerBuilderGenerator.kt:546 */
       17272  +
                    query_timestamp_list: self.query_timestamp_list,
       17273  +
                    /* ServerBuilderGenerator.kt:546 */
       17274  +
                    query_enum: self
       17275  +
                        .query_enum
       17276  +
                        /* ServerBuilderGenerator.kt:602 */
       17277  +
                        .map(|v| match v {
       17278  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       17279  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       17280  +
                        })
       17281  +
                        /* ServerBuilderGenerator.kt:614 */
       17282  +
                        .map(|res| res.map_err(ConstraintViolation::QueryEnum))
       17283  +
                        .transpose()?,
       17284  +
                    /* ServerBuilderGenerator.kt:546 */
       17285  +
                    query_enum_list: self
       17286  +
                        .query_enum_list
       17287  +
                        /* ServerBuilderGenerator.kt:602 */
       17288  +
                        .map(|v| match v {
       17289  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       17290  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       17291  +
                        })
       17292  +
                        /* ServerBuilderGenerator.kt:614 */
       17293  +
                        .map(|res| {
       17294  +
                            res.map(|v| v.into())
       17295  +
                                .map_err(ConstraintViolation::QueryEnumList)
       17296  +
                        })
       17297  +
                        .transpose()?,
       17298  +
                    /* ServerBuilderGenerator.kt:546 */
       17299  +
                    query_integer_enum: self.query_integer_enum,
       17300  +
                    /* ServerBuilderGenerator.kt:546 */
       17301  +
                    query_integer_enum_list: self.query_integer_enum_list,
       17302  +
                    /* ServerBuilderGenerator.kt:546 */
       17303  +
                    query_params_map_of_string_list: self.query_params_map_of_string_list,
       17304  +
                    /* ServerBuilderGenerator.kt:542 */
       17305  +
                }, /* ServerBuilderGenerator.kt:287 */
       17306  +
            )
       17307  +
            /* ServerBuilderGenerator.kt:283 */
       17308  +
        }
       17309  +
        /* ServerBuilderGenerator.kt:215 */
       17310  +
    }
       17311  +
       17312  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17313  +
}
       17314  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       17315  +
pub mod http_request_with_regex_literal_input {
       17316  +
       17317  +
    /* RustType.kt:534 */
       17318  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17319  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17320  +
    /* RustType.kt:534 */
       17321  +
    #[non_exhaustive]
       17322  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17323  +
    #[allow(clippy::enum_variant_names)]
       17324  +
    pub enum ConstraintViolation {
       17325  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
       17326  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17327  +
        MissingStr,
       17328  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17329  +
    }
       17330  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17331  +
    impl ::std::fmt::Display for ConstraintViolation {
       17332  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17333  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17334  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17335  +
            match self {
       17336  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
       17337  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17338  +
            /* ServerBuilderConstraintViolations.kt:117 */
       17339  +
        }
       17340  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17341  +
    }
       17342  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17343  +
    impl ::std::error::Error for ConstraintViolation {}
       17344  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17345  +
    impl ConstraintViolation {
       17346  +
        pub(crate) fn as_validation_exception_field(
       17347  +
            self,
       17348  +
            path: ::std::string::String,
       17349  +
        ) -> crate::model::ValidationExceptionField {
       17350  +
            match self {
       17351  +
                ConstraintViolation::MissingStr => crate::model::ValidationExceptionField {
       17352  +
                    message: format!(
       17353  +
                        "Value at '{}/str' failed to satisfy constraint: Member must not be null",
       17354  +
                        path
       17355  +
                    ),
       17356  +
                    path: path + "/str",
       17357  +
                },
       17358  +
            }
       17359  +
        }
       17360  +
    }
       17361  +
    /* ServerBuilderGenerator.kt:234 */
       17362  +
    impl ::std::convert::From<ConstraintViolation>
       17363  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17364  +
    {
       17365  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17366  +
            let first_validation_exception_field =
       17367  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17368  +
            let validation_exception = crate::error::ValidationException {
       17369  +
                message: format!(
       17370  +
                    "1 validation error detected. {}",
       17371  +
                    &first_validation_exception_field.message
       17372  +
                ),
       17373  +
                field_list: Some(vec![first_validation_exception_field]),
       17374  +
            };
       17375  +
            Self::ConstraintViolation(
       17376  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17377  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17378  +
                            )
       17379  +
        }
       17380  +
    }
       17381  +
    /* ServerBuilderGenerator.kt:244 */
       17382  +
    impl ::std::convert::From<Builder>
       17383  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithRegexLiteralInput>
       17384  +
    {
       17385  +
        fn from(builder: Builder) -> Self {
       17386  +
            Self::Unconstrained(builder)
       17387  +
        }
       17388  +
    }
       17389  +
    /* ServerBuilderGenerator.kt:446 */
       17390  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithRegexLiteralInput {
       17391  +
        type Error = ConstraintViolation;
       17392  +
       17393  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17394  +
            builder.build()
       17395  +
        }
       17396  +
    }
       17397  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       17398  +
    /* RustType.kt:534 */
       17399  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17400  +
    /* ServerBuilderGenerator.kt:211 */
       17401  +
    pub struct Builder {
       17402  +
        /* ServerBuilderGenerator.kt:308 */
       17403  +
        pub(crate) str: ::std::option::Option<::std::string::String>,
       17404  +
        /* ServerBuilderGenerator.kt:211 */
       17405  +
    }
       17406  +
    /* ServerBuilderGenerator.kt:215 */
       17407  +
    impl Builder {
       17408  +
        /* ServerBuilderGenerator.kt:331 */
       17409  +
        #[allow(missing_docs)] // documentation missing in model
       17410  +
                               /* ServerBuilderGenerator.kt:343 */
       17411  +
        pub fn str(mut self, input: ::std::string::String) -> Self {
       17412  +
            /* ServerBuilderGenerator.kt:344 */
       17413  +
            self.str =
       17414  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17415  +
                    /* ServerBuilderGenerator.kt:376 */input
       17416  +
                /* ServerBuilderGenerator.kt:345 */)
       17417  +
            /* ServerBuilderGenerator.kt:344 */;
       17418  +
            self
       17419  +
            /* ServerBuilderGenerator.kt:343 */
       17420  +
        }
       17421  +
        /* ServerBuilderGenerator.kt:426 */
       17422  +
        #[allow(missing_docs)] // documentation missing in model
       17423  +
                               /* ServerBuilderGenerator.kt:428 */
       17424  +
        pub(crate) fn set_str(
       17425  +
            mut self,
       17426  +
            input: impl ::std::convert::Into<::std::string::String>,
       17427  +
        ) -> Self {
       17428  +
            /* ServerBuilderGenerator.kt:429 */
       17429  +
            self.str = Some(input.into());
       17430  +
            self
       17431  +
            /* ServerBuilderGenerator.kt:428 */
       17432  +
        }
       17433  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
       17434  +
        /// /* ServerBuilderGenerator.kt:260 */
       17435  +
        /// The builder fails to construct a [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput) if a [`ConstraintViolation`] occurs.
       17436  +
        ///
       17437  +
        /* ServerBuilderGenerator.kt:271 */
       17438  +
        pub fn build(
       17439  +
            self,
       17440  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       17441  +
            self.build_enforcing_all_constraints()
       17442  +
        }
       17443  +
        /* ServerBuilderGenerator.kt:283 */
       17444  +
        fn build_enforcing_all_constraints(
       17445  +
            self,
       17446  +
        ) -> Result<crate::input::HttpRequestWithRegexLiteralInput, ConstraintViolation> {
       17447  +
            /* ServerBuilderGenerator.kt:287 */
       17448  +
            Ok(
       17449  +
                /* ServerBuilderGenerator.kt:542 */
       17450  +
                crate::input::HttpRequestWithRegexLiteralInput {
       17451  +
                    /* ServerBuilderGenerator.kt:546 */
       17452  +
                    str: self
       17453  +
                        .str
       17454  +
                        /* ServerBuilderGenerator.kt:569 */
       17455  +
                        .ok_or(ConstraintViolation::MissingStr)?,
       17456  +
                    /* ServerBuilderGenerator.kt:542 */
       17457  +
                }, /* ServerBuilderGenerator.kt:287 */
       17458  +
            )
       17459  +
            /* ServerBuilderGenerator.kt:283 */
       17460  +
        }
       17461  +
        /* ServerBuilderGenerator.kt:215 */
       17462  +
    }
       17463  +
       17464  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17465  +
}
       17466  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       17467  +
pub mod http_request_with_float_labels_input {
       17468  +
       17469  +
    /* RustType.kt:534 */
       17470  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17471  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17472  +
    /* RustType.kt:534 */
       17473  +
    #[non_exhaustive]
       17474  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17475  +
    #[allow(clippy::enum_variant_names)]
       17476  +
    pub enum ConstraintViolation {
       17477  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       17478  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17479  +
        MissingFloat,
       17480  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
       17481  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17482  +
        MissingDouble,
       17483  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17484  +
    }
       17485  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17486  +
    impl ::std::fmt::Display for ConstraintViolation {
       17487  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17488  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17489  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17490  +
            match self {
       17491  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
       17492  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`"),
       17493  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17494  +
            /* ServerBuilderConstraintViolations.kt:117 */
       17495  +
        }
       17496  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17497  +
    }
       17498  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17499  +
    impl ::std::error::Error for ConstraintViolation {}
       17500  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17501  +
    impl ConstraintViolation {
       17502  +
        pub(crate) fn as_validation_exception_field(
       17503  +
            self,
       17504  +
            path: ::std::string::String,
       17505  +
        ) -> crate::model::ValidationExceptionField {
       17506  +
            match self {
       17507  +
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
       17508  +
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
       17509  +
                                                path: path + "/float",
       17510  +
                                            },
       17511  +
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
       17512  +
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
       17513  +
                                                path: path + "/double",
       17514  +
                                            },
       17515  +
        }
       17516  +
        }
       17517  +
    }
       17518  +
    /* ServerBuilderGenerator.kt:234 */
       17519  +
    impl ::std::convert::From<ConstraintViolation>
       17520  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17521  +
    {
       17522  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17523  +
            let first_validation_exception_field =
       17524  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17525  +
            let validation_exception = crate::error::ValidationException {
       17526  +
                message: format!(
       17527  +
                    "1 validation error detected. {}",
       17528  +
                    &first_validation_exception_field.message
       17529  +
                ),
       17530  +
                field_list: Some(vec![first_validation_exception_field]),
       17531  +
            };
       17532  +
            Self::ConstraintViolation(
       17533  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17534  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17535  +
                            )
       17536  +
        }
       17537  +
    }
       17538  +
    /* ServerBuilderGenerator.kt:244 */
       17539  +
    impl ::std::convert::From<Builder>
       17540  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithFloatLabelsInput>
       17541  +
    {
       17542  +
        fn from(builder: Builder) -> Self {
       17543  +
            Self::Unconstrained(builder)
       17544  +
        }
       17545  +
    }
       17546  +
    /* ServerBuilderGenerator.kt:446 */
       17547  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithFloatLabelsInput {
       17548  +
        type Error = ConstraintViolation;
       17549  +
       17550  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17551  +
            builder.build()
       17552  +
        }
       17553  +
    }
       17554  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       17555  +
    /* RustType.kt:534 */
       17556  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17557  +
    /* ServerBuilderGenerator.kt:211 */
       17558  +
    pub struct Builder {
       17559  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
       17560  +
        /* ServerBuilderGenerator.kt:308 */
       17561  +
        pub(crate) double: ::std::option::Option<f64>,
       17562  +
        /* ServerBuilderGenerator.kt:211 */
       17563  +
    }
       17564  +
    /* ServerBuilderGenerator.kt:215 */
       17565  +
    impl Builder {
       17566  +
        /* ServerBuilderGenerator.kt:331 */
       17567  +
        #[allow(missing_docs)] // documentation missing in model
       17568  +
                               /* ServerBuilderGenerator.kt:343 */
       17569  +
        pub fn float(mut self, input: f32) -> Self {
       17570  +
            /* ServerBuilderGenerator.kt:344 */
       17571  +
            self.float =
       17572  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17573  +
                    /* ServerBuilderGenerator.kt:376 */input
       17574  +
                /* ServerBuilderGenerator.kt:345 */)
       17575  +
            /* ServerBuilderGenerator.kt:344 */;
       17576  +
            self
       17577  +
            /* ServerBuilderGenerator.kt:343 */
       17578  +
        }
       17579  +
        /* ServerBuilderGenerator.kt:426 */
       17580  +
        #[allow(missing_docs)] // documentation missing in model
       17581  +
                               /* ServerBuilderGenerator.kt:428 */
       17582  +
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
       17583  +
            /* ServerBuilderGenerator.kt:429 */
       17584  +
            self.float = Some(input.into());
       17585  +
            self
       17586  +
            /* ServerBuilderGenerator.kt:428 */
       17587  +
        }
       17588  +
        /* ServerBuilderGenerator.kt:331 */
       17589  +
        #[allow(missing_docs)] // documentation missing in model
       17590  +
                               /* ServerBuilderGenerator.kt:343 */
       17591  +
        pub fn double(mut self, input: f64) -> Self {
       17592  +
            /* ServerBuilderGenerator.kt:344 */
       17593  +
            self.double =
       17594  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17595  +
                    /* ServerBuilderGenerator.kt:376 */input
       17596  +
                /* ServerBuilderGenerator.kt:345 */)
       17597  +
            /* ServerBuilderGenerator.kt:344 */;
       17598  +
            self
       17599  +
            /* ServerBuilderGenerator.kt:343 */
       17600  +
        }
       17601  +
        /* ServerBuilderGenerator.kt:426 */
       17602  +
        #[allow(missing_docs)] // documentation missing in model
       17603  +
                               /* ServerBuilderGenerator.kt:428 */
       17604  +
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
       17605  +
            /* ServerBuilderGenerator.kt:429 */
       17606  +
            self.double = Some(input.into());
       17607  +
            self
       17608  +
            /* ServerBuilderGenerator.kt:428 */
       17609  +
        }
       17610  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
       17611  +
        /// /* ServerBuilderGenerator.kt:260 */
       17612  +
        /// The builder fails to construct a [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput) if a [`ConstraintViolation`] occurs.
       17613  +
        ///
       17614  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       17615  +
        /* ServerBuilderGenerator.kt:271 */
       17616  +
        pub fn build(
       17617  +
            self,
       17618  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       17619  +
            self.build_enforcing_all_constraints()
       17620  +
        }
       17621  +
        /* ServerBuilderGenerator.kt:283 */
       17622  +
        fn build_enforcing_all_constraints(
       17623  +
            self,
       17624  +
        ) -> Result<crate::input::HttpRequestWithFloatLabelsInput, ConstraintViolation> {
       17625  +
            /* ServerBuilderGenerator.kt:287 */
       17626  +
            Ok(
       17627  +
                /* ServerBuilderGenerator.kt:542 */
       17628  +
                crate::input::HttpRequestWithFloatLabelsInput {
       17629  +
                    /* ServerBuilderGenerator.kt:546 */
       17630  +
                    float: self
       17631  +
                        .float
       17632  +
                        /* ServerBuilderGenerator.kt:569 */
       17633  +
                        .ok_or(ConstraintViolation::MissingFloat)?,
       17634  +
                    /* ServerBuilderGenerator.kt:546 */
       17635  +
                    double: self
       17636  +
                        .double
       17637  +
                        /* ServerBuilderGenerator.kt:569 */
       17638  +
                        .ok_or(ConstraintViolation::MissingDouble)?,
       17639  +
                    /* ServerBuilderGenerator.kt:542 */
       17640  +
                }, /* ServerBuilderGenerator.kt:287 */
       17641  +
            )
       17642  +
            /* ServerBuilderGenerator.kt:283 */
       17643  +
        }
       17644  +
        /* ServerBuilderGenerator.kt:215 */
       17645  +
    }
       17646  +
       17647  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17648  +
}
       17649  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       17650  +
pub mod http_request_with_greedy_label_in_path_input {
       17651  +
       17652  +
    /* RustType.kt:534 */
       17653  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17654  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17655  +
    /* RustType.kt:534 */
       17656  +
    #[non_exhaustive]
       17657  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17658  +
    #[allow(clippy::enum_variant_names)]
       17659  +
    pub enum ConstraintViolation {
       17660  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
       17661  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17662  +
        MissingFoo,
       17663  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
       17664  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17665  +
        MissingBaz,
       17666  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17667  +
    }
       17668  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17669  +
    impl ::std::fmt::Display for ConstraintViolation {
       17670  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17671  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17672  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17673  +
            match self {
       17674  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFoo => write!(f, "`foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
       17675  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBaz => write!(f, "`baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`"),
       17676  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17677  +
            /* ServerBuilderConstraintViolations.kt:117 */
       17678  +
        }
       17679  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17680  +
    }
       17681  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17682  +
    impl ::std::error::Error for ConstraintViolation {}
       17683  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17684  +
    impl ConstraintViolation {
       17685  +
        pub(crate) fn as_validation_exception_field(
       17686  +
            self,
       17687  +
            path: ::std::string::String,
       17688  +
        ) -> crate::model::ValidationExceptionField {
       17689  +
            match self {
       17690  +
                ConstraintViolation::MissingFoo => crate::model::ValidationExceptionField {
       17691  +
                    message: format!(
       17692  +
                        "Value at '{}/foo' failed to satisfy constraint: Member must not be null",
       17693  +
                        path
       17694  +
                    ),
       17695  +
                    path: path + "/foo",
       17696  +
                },
       17697  +
                ConstraintViolation::MissingBaz => crate::model::ValidationExceptionField {
       17698  +
                    message: format!(
       17699  +
                        "Value at '{}/baz' failed to satisfy constraint: Member must not be null",
       17700  +
                        path
       17701  +
                    ),
       17702  +
                    path: path + "/baz",
       17703  +
                },
       17704  +
            }
       17705  +
        }
       17706  +
    }
       17707  +
    /* ServerBuilderGenerator.kt:234 */
       17708  +
    impl ::std::convert::From<ConstraintViolation>
       17709  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17710  +
    {
       17711  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17712  +
            let first_validation_exception_field =
       17713  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17714  +
            let validation_exception = crate::error::ValidationException {
       17715  +
                message: format!(
       17716  +
                    "1 validation error detected. {}",
       17717  +
                    &first_validation_exception_field.message
       17718  +
                ),
       17719  +
                field_list: Some(vec![first_validation_exception_field]),
       17720  +
            };
       17721  +
            Self::ConstraintViolation(
       17722  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17723  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17724  +
                            )
       17725  +
        }
       17726  +
    }
       17727  +
    /* ServerBuilderGenerator.kt:244 */
       17728  +
    impl ::std::convert::From<Builder>
       17729  +
        for crate::constrained::MaybeConstrained<
       17730  +
            crate::input::HttpRequestWithGreedyLabelInPathInput,
       17731  +
        >
       17732  +
    {
       17733  +
        fn from(builder: Builder) -> Self {
       17734  +
            Self::Unconstrained(builder)
       17735  +
        }
       17736  +
    }
       17737  +
    /* ServerBuilderGenerator.kt:446 */
       17738  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithGreedyLabelInPathInput {
       17739  +
        type Error = ConstraintViolation;
       17740  +
       17741  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17742  +
            builder.build()
       17743  +
        }
       17744  +
    }
       17745  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       17746  +
    /* RustType.kt:534 */
       17747  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17748  +
    /* ServerBuilderGenerator.kt:211 */
       17749  +
    pub struct Builder {
       17750  +
        /* ServerBuilderGenerator.kt:308 */
       17751  +
        pub(crate) foo: ::std::option::Option<::std::string::String>,
       17752  +
        /* ServerBuilderGenerator.kt:308 */
       17753  +
        pub(crate) baz: ::std::option::Option<::std::string::String>,
       17754  +
        /* ServerBuilderGenerator.kt:211 */
       17755  +
    }
       17756  +
    /* ServerBuilderGenerator.kt:215 */
       17757  +
    impl Builder {
       17758  +
        /* ServerBuilderGenerator.kt:331 */
       17759  +
        #[allow(missing_docs)] // documentation missing in model
       17760  +
                               /* ServerBuilderGenerator.kt:343 */
       17761  +
        pub fn foo(mut self, input: ::std::string::String) -> Self {
       17762  +
            /* ServerBuilderGenerator.kt:344 */
       17763  +
            self.foo =
       17764  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17765  +
                    /* ServerBuilderGenerator.kt:376 */input
       17766  +
                /* ServerBuilderGenerator.kt:345 */)
       17767  +
            /* ServerBuilderGenerator.kt:344 */;
       17768  +
            self
       17769  +
            /* ServerBuilderGenerator.kt:343 */
       17770  +
        }
       17771  +
        /* ServerBuilderGenerator.kt:426 */
       17772  +
        #[allow(missing_docs)] // documentation missing in model
       17773  +
                               /* ServerBuilderGenerator.kt:428 */
       17774  +
        pub(crate) fn set_foo(
       17775  +
            mut self,
       17776  +
            input: impl ::std::convert::Into<::std::string::String>,
       17777  +
        ) -> Self {
       17778  +
            /* ServerBuilderGenerator.kt:429 */
       17779  +
            self.foo = Some(input.into());
       17780  +
            self
       17781  +
            /* ServerBuilderGenerator.kt:428 */
       17782  +
        }
       17783  +
        /* ServerBuilderGenerator.kt:331 */
       17784  +
        #[allow(missing_docs)] // documentation missing in model
       17785  +
                               /* ServerBuilderGenerator.kt:343 */
       17786  +
        pub fn baz(mut self, input: ::std::string::String) -> Self {
       17787  +
            /* ServerBuilderGenerator.kt:344 */
       17788  +
            self.baz =
       17789  +
                /* ServerBuilderGenerator.kt:345 */Some(
       17790  +
                    /* ServerBuilderGenerator.kt:376 */input
       17791  +
                /* ServerBuilderGenerator.kt:345 */)
       17792  +
            /* ServerBuilderGenerator.kt:344 */;
       17793  +
            self
       17794  +
            /* ServerBuilderGenerator.kt:343 */
       17795  +
        }
       17796  +
        /* ServerBuilderGenerator.kt:426 */
       17797  +
        #[allow(missing_docs)] // documentation missing in model
       17798  +
                               /* ServerBuilderGenerator.kt:428 */
       17799  +
        pub(crate) fn set_baz(
       17800  +
            mut self,
       17801  +
            input: impl ::std::convert::Into<::std::string::String>,
       17802  +
        ) -> Self {
       17803  +
            /* ServerBuilderGenerator.kt:429 */
       17804  +
            self.baz = Some(input.into());
       17805  +
            self
       17806  +
            /* ServerBuilderGenerator.kt:428 */
       17807  +
        }
       17808  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
       17809  +
        /// /* ServerBuilderGenerator.kt:260 */
       17810  +
        /// The builder fails to construct a [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput) if a [`ConstraintViolation`] occurs.
       17811  +
        ///
       17812  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       17813  +
        /* ServerBuilderGenerator.kt:271 */
       17814  +
        pub fn build(
       17815  +
            self,
       17816  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
       17817  +
        {
       17818  +
            self.build_enforcing_all_constraints()
       17819  +
        }
       17820  +
        /* ServerBuilderGenerator.kt:283 */
       17821  +
        fn build_enforcing_all_constraints(
       17822  +
            self,
       17823  +
        ) -> Result<crate::input::HttpRequestWithGreedyLabelInPathInput, ConstraintViolation>
       17824  +
        {
       17825  +
            /* ServerBuilderGenerator.kt:287 */
       17826  +
            Ok(
       17827  +
                /* ServerBuilderGenerator.kt:542 */
       17828  +
                crate::input::HttpRequestWithGreedyLabelInPathInput {
       17829  +
                    /* ServerBuilderGenerator.kt:546 */
       17830  +
                    foo: self
       17831  +
                        .foo
       17832  +
                        /* ServerBuilderGenerator.kt:569 */
       17833  +
                        .ok_or(ConstraintViolation::MissingFoo)?,
       17834  +
                    /* ServerBuilderGenerator.kt:546 */
       17835  +
                    baz: self
       17836  +
                        .baz
       17837  +
                        /* ServerBuilderGenerator.kt:569 */
       17838  +
                        .ok_or(ConstraintViolation::MissingBaz)?,
       17839  +
                    /* ServerBuilderGenerator.kt:542 */
       17840  +
                }, /* ServerBuilderGenerator.kt:287 */
       17841  +
            )
       17842  +
            /* ServerBuilderGenerator.kt:283 */
       17843  +
        }
       17844  +
        /* ServerBuilderGenerator.kt:215 */
       17845  +
    }
       17846  +
       17847  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       17848  +
}
       17849  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
       17850  +
pub mod http_request_with_labels_and_timestamp_format_input {
       17851  +
       17852  +
    /* RustType.kt:534 */
       17853  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       17854  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       17855  +
    /* RustType.kt:534 */
       17856  +
    #[non_exhaustive]
       17857  +
    /* ServerBuilderConstraintViolations.kt:75 */
       17858  +
    #[allow(clippy::enum_variant_names)]
       17859  +
    pub enum ConstraintViolation {
       17860  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17861  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17862  +
        MissingMemberEpochSeconds,
       17863  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17864  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17865  +
        MissingMemberHttpDate,
       17866  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17867  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17868  +
        MissingMemberDateTime,
       17869  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17870  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17871  +
        MissingDefaultFormat,
       17872  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17873  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17874  +
        MissingTargetEpochSeconds,
       17875  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17876  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17877  +
        MissingTargetHttpDate,
       17878  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
       17879  +
        /* ServerBuilderConstraintViolations.kt:144 */
       17880  +
        MissingTargetDateTime,
       17881  +
        /* ServerBuilderConstraintViolations.kt:75 */
       17882  +
    }
       17883  +
    /* ServerBuilderConstraintViolations.kt:116 */
       17884  +
    impl ::std::fmt::Display for ConstraintViolation {
       17885  +
        /* ServerBuilderConstraintViolations.kt:117 */
       17886  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       17887  +
            /* ServerBuilderConstraintViolations.kt:118 */
       17888  +
            match self {
       17889  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberEpochSeconds => write!(f, "`member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17890  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberHttpDate => write!(f, "`member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17891  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingMemberDateTime => write!(f, "`member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17892  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDefaultFormat => write!(f, "`default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17893  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetEpochSeconds => write!(f, "`target_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17894  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetHttpDate => write!(f, "`target_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17895  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTargetDateTime => write!(f, "`target_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`"),
       17896  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       17897  +
            /* ServerBuilderConstraintViolations.kt:117 */
       17898  +
        }
       17899  +
        /* ServerBuilderConstraintViolations.kt:116 */
       17900  +
    }
       17901  +
    /* ServerBuilderConstraintViolations.kt:83 */
       17902  +
    impl ::std::error::Error for ConstraintViolation {}
       17903  +
    /* ServerBuilderConstraintViolations.kt:172 */
       17904  +
    impl ConstraintViolation {
       17905  +
        pub(crate) fn as_validation_exception_field(
       17906  +
            self,
       17907  +
            path: ::std::string::String,
       17908  +
        ) -> crate::model::ValidationExceptionField {
       17909  +
            match self {
       17910  +
            ConstraintViolation::MissingMemberEpochSeconds => crate::model::ValidationExceptionField {
       17911  +
                                                message: format!("Value at '{}/memberEpochSeconds' failed to satisfy constraint: Member must not be null", path),
       17912  +
                                                path: path + "/memberEpochSeconds",
       17913  +
                                            },
       17914  +
            ConstraintViolation::MissingMemberHttpDate => crate::model::ValidationExceptionField {
       17915  +
                                                message: format!("Value at '{}/memberHttpDate' failed to satisfy constraint: Member must not be null", path),
       17916  +
                                                path: path + "/memberHttpDate",
       17917  +
                                            },
       17918  +
            ConstraintViolation::MissingMemberDateTime => crate::model::ValidationExceptionField {
       17919  +
                                                message: format!("Value at '{}/memberDateTime' failed to satisfy constraint: Member must not be null", path),
       17920  +
                                                path: path + "/memberDateTime",
       17921  +
                                            },
       17922  +
            ConstraintViolation::MissingDefaultFormat => crate::model::ValidationExceptionField {
       17923  +
                                                message: format!("Value at '{}/defaultFormat' failed to satisfy constraint: Member must not be null", path),
       17924  +
                                                path: path + "/defaultFormat",
       17925  +
                                            },
       17926  +
            ConstraintViolation::MissingTargetEpochSeconds => crate::model::ValidationExceptionField {
       17927  +
                                                message: format!("Value at '{}/targetEpochSeconds' failed to satisfy constraint: Member must not be null", path),
       17928  +
                                                path: path + "/targetEpochSeconds",
       17929  +
                                            },
       17930  +
            ConstraintViolation::MissingTargetHttpDate => crate::model::ValidationExceptionField {
       17931  +
                                                message: format!("Value at '{}/targetHttpDate' failed to satisfy constraint: Member must not be null", path),
       17932  +
                                                path: path + "/targetHttpDate",
       17933  +
                                            },
       17934  +
            ConstraintViolation::MissingTargetDateTime => crate::model::ValidationExceptionField {
       17935  +
                                                message: format!("Value at '{}/targetDateTime' failed to satisfy constraint: Member must not be null", path),
       17936  +
                                                path: path + "/targetDateTime",
       17937  +
                                            },
       17938  +
        }
       17939  +
        }
       17940  +
    }
       17941  +
    /* ServerBuilderGenerator.kt:234 */
       17942  +
    impl ::std::convert::From<ConstraintViolation>
       17943  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       17944  +
    {
       17945  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       17946  +
            let first_validation_exception_field =
       17947  +
                constraint_violation.as_validation_exception_field("".to_owned());
       17948  +
            let validation_exception = crate::error::ValidationException {
       17949  +
                message: format!(
       17950  +
                    "1 validation error detected. {}",
       17951  +
                    &first_validation_exception_field.message
       17952  +
                ),
       17953  +
                field_list: Some(vec![first_validation_exception_field]),
       17954  +
            };
       17955  +
            Self::ConstraintViolation(
       17956  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       17957  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       17958  +
                            )
       17959  +
        }
       17960  +
    }
       17961  +
    /* ServerBuilderGenerator.kt:244 */
       17962  +
    impl ::std::convert::From<Builder>
       17963  +
        for crate::constrained::MaybeConstrained<
       17964  +
            crate::input::HttpRequestWithLabelsAndTimestampFormatInput,
       17965  +
        >
       17966  +
    {
       17967  +
        fn from(builder: Builder) -> Self {
       17968  +
            Self::Unconstrained(builder)
       17969  +
        }
       17970  +
    }
       17971  +
    /* ServerBuilderGenerator.kt:446 */
       17972  +
    impl ::std::convert::TryFrom<Builder>
       17973  +
        for crate::input::HttpRequestWithLabelsAndTimestampFormatInput
       17974  +
    {
       17975  +
        type Error = ConstraintViolation;
       17976  +
       17977  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       17978  +
            builder.build()
       17979  +
        }
       17980  +
    }
       17981  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
       17982  +
    /* RustType.kt:534 */
       17983  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       17984  +
    /* ServerBuilderGenerator.kt:211 */
       17985  +
    pub struct Builder {
       17986  +
        /* ServerBuilderGenerator.kt:308 */
       17987  +
        pub(crate) member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
       17988  +
        /* ServerBuilderGenerator.kt:308 */
       17989  +
        pub(crate) member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       17990  +
        /* ServerBuilderGenerator.kt:308 */
       17991  +
        pub(crate) member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       17992  +
        /* ServerBuilderGenerator.kt:308 */
       17993  +
        pub(crate) default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
       17994  +
        /* ServerBuilderGenerator.kt:308 */
       17995  +
        pub(crate) target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
       17996  +
        /* ServerBuilderGenerator.kt:308 */
       17997  +
        pub(crate) target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       17998  +
        /* ServerBuilderGenerator.kt:308 */
       17999  +
        pub(crate) target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       18000  +
        /* ServerBuilderGenerator.kt:211 */
       18001  +
    }
       18002  +
    /* ServerBuilderGenerator.kt:215 */
       18003  +
    impl Builder {
       18004  +
        /* ServerBuilderGenerator.kt:331 */
       18005  +
        #[allow(missing_docs)] // documentation missing in model
       18006  +
                               /* ServerBuilderGenerator.kt:343 */
       18007  +
        pub fn member_epoch_seconds(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18008  +
            /* ServerBuilderGenerator.kt:344 */
       18009  +
            self.member_epoch_seconds =
       18010  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18011  +
                    /* ServerBuilderGenerator.kt:376 */input
       18012  +
                /* ServerBuilderGenerator.kt:345 */)
       18013  +
            /* ServerBuilderGenerator.kt:344 */;
       18014  +
            self
       18015  +
            /* ServerBuilderGenerator.kt:343 */
       18016  +
        }
       18017  +
        /* ServerBuilderGenerator.kt:426 */
       18018  +
        #[allow(missing_docs)] // documentation missing in model
       18019  +
                               /* ServerBuilderGenerator.kt:428 */
       18020  +
        pub(crate) fn set_member_epoch_seconds(
       18021  +
            mut self,
       18022  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18023  +
        ) -> Self {
       18024  +
            /* ServerBuilderGenerator.kt:429 */
       18025  +
            self.member_epoch_seconds = Some(input.into());
       18026  +
            self
       18027  +
            /* ServerBuilderGenerator.kt:428 */
       18028  +
        }
       18029  +
        /* ServerBuilderGenerator.kt:331 */
       18030  +
        #[allow(missing_docs)] // documentation missing in model
       18031  +
                               /* ServerBuilderGenerator.kt:343 */
       18032  +
        pub fn member_http_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18033  +
            /* ServerBuilderGenerator.kt:344 */
       18034  +
            self.member_http_date =
       18035  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18036  +
                    /* ServerBuilderGenerator.kt:376 */input
       18037  +
                /* ServerBuilderGenerator.kt:345 */)
       18038  +
            /* ServerBuilderGenerator.kt:344 */;
       18039  +
            self
       18040  +
            /* ServerBuilderGenerator.kt:343 */
       18041  +
        }
       18042  +
        /* ServerBuilderGenerator.kt:426 */
       18043  +
        #[allow(missing_docs)] // documentation missing in model
       18044  +
                               /* ServerBuilderGenerator.kt:428 */
       18045  +
        pub(crate) fn set_member_http_date(
       18046  +
            mut self,
       18047  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18048  +
        ) -> Self {
       18049  +
            /* ServerBuilderGenerator.kt:429 */
       18050  +
            self.member_http_date = Some(input.into());
       18051  +
            self
       18052  +
            /* ServerBuilderGenerator.kt:428 */
       18053  +
        }
       18054  +
        /* ServerBuilderGenerator.kt:331 */
       18055  +
        #[allow(missing_docs)] // documentation missing in model
       18056  +
                               /* ServerBuilderGenerator.kt:343 */
       18057  +
        pub fn member_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18058  +
            /* ServerBuilderGenerator.kt:344 */
       18059  +
            self.member_date_time =
       18060  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18061  +
                    /* ServerBuilderGenerator.kt:376 */input
       18062  +
                /* ServerBuilderGenerator.kt:345 */)
       18063  +
            /* ServerBuilderGenerator.kt:344 */;
       18064  +
            self
       18065  +
            /* ServerBuilderGenerator.kt:343 */
       18066  +
        }
       18067  +
        /* ServerBuilderGenerator.kt:426 */
       18068  +
        #[allow(missing_docs)] // documentation missing in model
       18069  +
                               /* ServerBuilderGenerator.kt:428 */
       18070  +
        pub(crate) fn set_member_date_time(
       18071  +
            mut self,
       18072  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18073  +
        ) -> Self {
       18074  +
            /* ServerBuilderGenerator.kt:429 */
       18075  +
            self.member_date_time = Some(input.into());
       18076  +
            self
       18077  +
            /* ServerBuilderGenerator.kt:428 */
       18078  +
        }
       18079  +
        /* ServerBuilderGenerator.kt:331 */
       18080  +
        #[allow(missing_docs)] // documentation missing in model
       18081  +
                               /* ServerBuilderGenerator.kt:343 */
       18082  +
        pub fn default_format(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18083  +
            /* ServerBuilderGenerator.kt:344 */
       18084  +
            self.default_format =
       18085  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18086  +
                    /* ServerBuilderGenerator.kt:376 */input
       18087  +
                /* ServerBuilderGenerator.kt:345 */)
       18088  +
            /* ServerBuilderGenerator.kt:344 */;
       18089  +
            self
       18090  +
            /* ServerBuilderGenerator.kt:343 */
       18091  +
        }
       18092  +
        /* ServerBuilderGenerator.kt:426 */
       18093  +
        #[allow(missing_docs)] // documentation missing in model
       18094  +
                               /* ServerBuilderGenerator.kt:428 */
       18095  +
        pub(crate) fn set_default_format(
       18096  +
            mut self,
       18097  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18098  +
        ) -> Self {
       18099  +
            /* ServerBuilderGenerator.kt:429 */
       18100  +
            self.default_format = Some(input.into());
       18101  +
            self
       18102  +
            /* ServerBuilderGenerator.kt:428 */
       18103  +
        }
       18104  +
        /* ServerBuilderGenerator.kt:331 */
       18105  +
        #[allow(missing_docs)] // documentation missing in model
       18106  +
                               /* ServerBuilderGenerator.kt:343 */
       18107  +
        pub fn target_epoch_seconds(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18108  +
            /* ServerBuilderGenerator.kt:344 */
       18109  +
            self.target_epoch_seconds =
       18110  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18111  +
                    /* ServerBuilderGenerator.kt:376 */input
       18112  +
                /* ServerBuilderGenerator.kt:345 */)
       18113  +
            /* ServerBuilderGenerator.kt:344 */;
       18114  +
            self
       18115  +
            /* ServerBuilderGenerator.kt:343 */
       18116  +
        }
       18117  +
        /* ServerBuilderGenerator.kt:426 */
       18118  +
        #[allow(missing_docs)] // documentation missing in model
       18119  +
                               /* ServerBuilderGenerator.kt:428 */
       18120  +
        pub(crate) fn set_target_epoch_seconds(
       18121  +
            mut self,
       18122  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18123  +
        ) -> Self {
       18124  +
            /* ServerBuilderGenerator.kt:429 */
       18125  +
            self.target_epoch_seconds = Some(input.into());
       18126  +
            self
       18127  +
            /* ServerBuilderGenerator.kt:428 */
       18128  +
        }
       18129  +
        /* ServerBuilderGenerator.kt:331 */
       18130  +
        #[allow(missing_docs)] // documentation missing in model
       18131  +
                               /* ServerBuilderGenerator.kt:343 */
       18132  +
        pub fn target_http_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18133  +
            /* ServerBuilderGenerator.kt:344 */
       18134  +
            self.target_http_date =
       18135  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18136  +
                    /* ServerBuilderGenerator.kt:376 */input
       18137  +
                /* ServerBuilderGenerator.kt:345 */)
       18138  +
            /* ServerBuilderGenerator.kt:344 */;
       18139  +
            self
       18140  +
            /* ServerBuilderGenerator.kt:343 */
       18141  +
        }
       18142  +
        /* ServerBuilderGenerator.kt:426 */
       18143  +
        #[allow(missing_docs)] // documentation missing in model
       18144  +
                               /* ServerBuilderGenerator.kt:428 */
       18145  +
        pub(crate) fn set_target_http_date(
       18146  +
            mut self,
       18147  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18148  +
        ) -> Self {
       18149  +
            /* ServerBuilderGenerator.kt:429 */
       18150  +
            self.target_http_date = Some(input.into());
       18151  +
            self
       18152  +
            /* ServerBuilderGenerator.kt:428 */
       18153  +
        }
       18154  +
        /* ServerBuilderGenerator.kt:331 */
       18155  +
        #[allow(missing_docs)] // documentation missing in model
       18156  +
                               /* ServerBuilderGenerator.kt:343 */
       18157  +
        pub fn target_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18158  +
            /* ServerBuilderGenerator.kt:344 */
       18159  +
            self.target_date_time =
       18160  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18161  +
                    /* ServerBuilderGenerator.kt:376 */input
       18162  +
                /* ServerBuilderGenerator.kt:345 */)
       18163  +
            /* ServerBuilderGenerator.kt:344 */;
       18164  +
            self
       18165  +
            /* ServerBuilderGenerator.kt:343 */
       18166  +
        }
       18167  +
        /* ServerBuilderGenerator.kt:426 */
       18168  +
        #[allow(missing_docs)] // documentation missing in model
       18169  +
                               /* ServerBuilderGenerator.kt:428 */
       18170  +
        pub(crate) fn set_target_date_time(
       18171  +
            mut self,
       18172  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18173  +
        ) -> Self {
       18174  +
            /* ServerBuilderGenerator.kt:429 */
       18175  +
            self.target_date_time = Some(input.into());
       18176  +
            self
       18177  +
            /* ServerBuilderGenerator.kt:428 */
       18178  +
        }
       18179  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
       18180  +
        /// /* ServerBuilderGenerator.kt:260 */
       18181  +
        /// The builder fails to construct a [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput) if a [`ConstraintViolation`] occurs.
       18182  +
        ///
       18183  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       18184  +
        /* ServerBuilderGenerator.kt:271 */
       18185  +
        pub fn build(
       18186  +
            self,
       18187  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
       18188  +
        {
       18189  +
            self.build_enforcing_all_constraints()
       18190  +
        }
       18191  +
        /* ServerBuilderGenerator.kt:283 */
       18192  +
        fn build_enforcing_all_constraints(
       18193  +
            self,
       18194  +
        ) -> Result<crate::input::HttpRequestWithLabelsAndTimestampFormatInput, ConstraintViolation>
       18195  +
        {
       18196  +
            /* ServerBuilderGenerator.kt:287 */
       18197  +
            Ok(
       18198  +
                /* ServerBuilderGenerator.kt:542 */
       18199  +
                crate::input::HttpRequestWithLabelsAndTimestampFormatInput {
       18200  +
                    /* ServerBuilderGenerator.kt:546 */
       18201  +
                    member_epoch_seconds: self
       18202  +
                        .member_epoch_seconds
       18203  +
                        /* ServerBuilderGenerator.kt:569 */
       18204  +
                        .ok_or(ConstraintViolation::MissingMemberEpochSeconds)?,
       18205  +
                    /* ServerBuilderGenerator.kt:546 */
       18206  +
                    member_http_date: self
       18207  +
                        .member_http_date
       18208  +
                        /* ServerBuilderGenerator.kt:569 */
       18209  +
                        .ok_or(ConstraintViolation::MissingMemberHttpDate)?,
       18210  +
                    /* ServerBuilderGenerator.kt:546 */
       18211  +
                    member_date_time: self
       18212  +
                        .member_date_time
       18213  +
                        /* ServerBuilderGenerator.kt:569 */
       18214  +
                        .ok_or(ConstraintViolation::MissingMemberDateTime)?,
       18215  +
                    /* ServerBuilderGenerator.kt:546 */
       18216  +
                    default_format: self
       18217  +
                        .default_format
       18218  +
                        /* ServerBuilderGenerator.kt:569 */
       18219  +
                        .ok_or(ConstraintViolation::MissingDefaultFormat)?,
       18220  +
                    /* ServerBuilderGenerator.kt:546 */
       18221  +
                    target_epoch_seconds: self
       18222  +
                        .target_epoch_seconds
       18223  +
                        /* ServerBuilderGenerator.kt:569 */
       18224  +
                        .ok_or(ConstraintViolation::MissingTargetEpochSeconds)?,
       18225  +
                    /* ServerBuilderGenerator.kt:546 */
       18226  +
                    target_http_date: self
       18227  +
                        .target_http_date
       18228  +
                        /* ServerBuilderGenerator.kt:569 */
       18229  +
                        .ok_or(ConstraintViolation::MissingTargetHttpDate)?,
       18230  +
                    /* ServerBuilderGenerator.kt:546 */
       18231  +
                    target_date_time: self
       18232  +
                        .target_date_time
       18233  +
                        /* ServerBuilderGenerator.kt:569 */
       18234  +
                        .ok_or(ConstraintViolation::MissingTargetDateTime)?,
       18235  +
                    /* ServerBuilderGenerator.kt:542 */
       18236  +
                }, /* ServerBuilderGenerator.kt:287 */
       18237  +
            )
       18238  +
            /* ServerBuilderGenerator.kt:283 */
       18239  +
        }
       18240  +
        /* ServerBuilderGenerator.kt:215 */
       18241  +
    }
       18242  +
       18243  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18244  +
}
       18245  +
/// /* ServerBuilderGenerator.kt:171 */See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
       18246  +
pub mod http_request_with_labels_input {
       18247  +
       18248  +
    /* RustType.kt:534 */
       18249  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       18250  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       18251  +
    /* RustType.kt:534 */
       18252  +
    #[non_exhaustive]
       18253  +
    /* ServerBuilderConstraintViolations.kt:75 */
       18254  +
    #[allow(clippy::enum_variant_names)]
       18255  +
    pub enum ConstraintViolation {
       18256  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18257  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18258  +
        MissingString,
       18259  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18260  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18261  +
        MissingShort,
       18262  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18263  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18264  +
        MissingInteger,
       18265  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18266  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18267  +
        MissingLong,
       18268  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`float` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18269  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18270  +
        MissingFloat,
       18271  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`double` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18272  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18273  +
        MissingDouble,
       18274  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18275  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18276  +
        MissingBoolean,
       18277  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`.
       18278  +
        /* ServerBuilderConstraintViolations.kt:144 */
       18279  +
        MissingTimestamp,
       18280  +
        /* ServerBuilderConstraintViolations.kt:75 */
       18281  +
    }
       18282  +
    /* ServerBuilderConstraintViolations.kt:116 */
       18283  +
    impl ::std::fmt::Display for ConstraintViolation {
       18284  +
        /* ServerBuilderConstraintViolations.kt:117 */
       18285  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       18286  +
            /* ServerBuilderConstraintViolations.kt:118 */
       18287  +
            match self {
       18288  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingString => write!(f, "`string` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18289  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingShort => write!(f, "`short` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18290  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingInteger => write!(f, "`integer` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18291  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingLong => write!(f, "`long` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18292  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFloat => write!(f, "`float` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18293  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingDouble => write!(f, "`double` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18294  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingBoolean => write!(f, "`boolean` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18295  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `HttpRequestWithLabelsInput`"),
       18296  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       18297  +
            /* ServerBuilderConstraintViolations.kt:117 */
       18298  +
        }
       18299  +
        /* ServerBuilderConstraintViolations.kt:116 */
       18300  +
    }
       18301  +
    /* ServerBuilderConstraintViolations.kt:83 */
       18302  +
    impl ::std::error::Error for ConstraintViolation {}
       18303  +
    /* ServerBuilderConstraintViolations.kt:172 */
       18304  +
    impl ConstraintViolation {
       18305  +
        pub(crate) fn as_validation_exception_field(
       18306  +
            self,
       18307  +
            path: ::std::string::String,
       18308  +
        ) -> crate::model::ValidationExceptionField {
       18309  +
            match self {
       18310  +
            ConstraintViolation::MissingString => crate::model::ValidationExceptionField {
       18311  +
                                                message: format!("Value at '{}/string' failed to satisfy constraint: Member must not be null", path),
       18312  +
                                                path: path + "/string",
       18313  +
                                            },
       18314  +
            ConstraintViolation::MissingShort => crate::model::ValidationExceptionField {
       18315  +
                                                message: format!("Value at '{}/short' failed to satisfy constraint: Member must not be null", path),
       18316  +
                                                path: path + "/short",
       18317  +
                                            },
       18318  +
            ConstraintViolation::MissingInteger => crate::model::ValidationExceptionField {
       18319  +
                                                message: format!("Value at '{}/integer' failed to satisfy constraint: Member must not be null", path),
       18320  +
                                                path: path + "/integer",
       18321  +
                                            },
       18322  +
            ConstraintViolation::MissingLong => crate::model::ValidationExceptionField {
       18323  +
                                                message: format!("Value at '{}/long' failed to satisfy constraint: Member must not be null", path),
       18324  +
                                                path: path + "/long",
       18325  +
                                            },
       18326  +
            ConstraintViolation::MissingFloat => crate::model::ValidationExceptionField {
       18327  +
                                                message: format!("Value at '{}/float' failed to satisfy constraint: Member must not be null", path),
       18328  +
                                                path: path + "/float",
       18329  +
                                            },
       18330  +
            ConstraintViolation::MissingDouble => crate::model::ValidationExceptionField {
       18331  +
                                                message: format!("Value at '{}/double' failed to satisfy constraint: Member must not be null", path),
       18332  +
                                                path: path + "/double",
       18333  +
                                            },
       18334  +
            ConstraintViolation::MissingBoolean => crate::model::ValidationExceptionField {
       18335  +
                                                message: format!("Value at '{}/boolean' failed to satisfy constraint: Member must not be null", path),
       18336  +
                                                path: path + "/boolean",
       18337  +
                                            },
       18338  +
            ConstraintViolation::MissingTimestamp => crate::model::ValidationExceptionField {
       18339  +
                                                message: format!("Value at '{}/timestamp' failed to satisfy constraint: Member must not be null", path),
       18340  +
                                                path: path + "/timestamp",
       18341  +
                                            },
       18342  +
        }
       18343  +
        }
       18344  +
    }
       18345  +
    /* ServerBuilderGenerator.kt:234 */
       18346  +
    impl ::std::convert::From<ConstraintViolation>
       18347  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       18348  +
    {
       18349  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       18350  +
            let first_validation_exception_field =
       18351  +
                constraint_violation.as_validation_exception_field("".to_owned());
       18352  +
            let validation_exception = crate::error::ValidationException {
       18353  +
                message: format!(
       18354  +
                    "1 validation error detected. {}",
       18355  +
                    &first_validation_exception_field.message
       18356  +
                ),
       18357  +
                field_list: Some(vec![first_validation_exception_field]),
       18358  +
            };
       18359  +
            Self::ConstraintViolation(
       18360  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       18361  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       18362  +
                            )
       18363  +
        }
       18364  +
    }
       18365  +
    /* ServerBuilderGenerator.kt:244 */
       18366  +
    impl ::std::convert::From<Builder>
       18367  +
        for crate::constrained::MaybeConstrained<crate::input::HttpRequestWithLabelsInput>
       18368  +
    {
       18369  +
        fn from(builder: Builder) -> Self {
       18370  +
            Self::Unconstrained(builder)
       18371  +
        }
       18372  +
    }
       18373  +
    /* ServerBuilderGenerator.kt:446 */
       18374  +
    impl ::std::convert::TryFrom<Builder> for crate::input::HttpRequestWithLabelsInput {
       18375  +
        type Error = ConstraintViolation;
       18376  +
       18377  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       18378  +
            builder.build()
       18379  +
        }
       18380  +
    }
       18381  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
       18382  +
    /* RustType.kt:534 */
       18383  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18384  +
    /* ServerBuilderGenerator.kt:211 */
       18385  +
    pub struct Builder {
       18386  +
        /* ServerBuilderGenerator.kt:308 */
       18387  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
       18388  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) short: ::std::option::Option<i16>,
       18389  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) integer: ::std::option::Option<i32>,
       18390  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) long: ::std::option::Option<i64>,
       18391  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
       18392  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) double: ::std::option::Option<f64>,
       18393  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) boolean: ::std::option::Option<bool>,
       18394  +
        /* ServerBuilderGenerator.kt:308 */
       18395  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
       18396  +
        /* ServerBuilderGenerator.kt:211 */
       18397  +
    }
       18398  +
    /* ServerBuilderGenerator.kt:215 */
       18399  +
    impl Builder {
       18400  +
        /* ServerBuilderGenerator.kt:331 */
       18401  +
        #[allow(missing_docs)] // documentation missing in model
       18402  +
                               /* ServerBuilderGenerator.kt:343 */
       18403  +
        pub fn string(mut self, input: ::std::string::String) -> Self {
       18404  +
            /* ServerBuilderGenerator.kt:344 */
       18405  +
            self.string =
       18406  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18407  +
                    /* ServerBuilderGenerator.kt:376 */input
       18408  +
                /* ServerBuilderGenerator.kt:345 */)
       18409  +
            /* ServerBuilderGenerator.kt:344 */;
       18410  +
            self
       18411  +
            /* ServerBuilderGenerator.kt:343 */
       18412  +
        }
       18413  +
        /* ServerBuilderGenerator.kt:426 */
       18414  +
        #[allow(missing_docs)] // documentation missing in model
       18415  +
                               /* ServerBuilderGenerator.kt:428 */
       18416  +
        pub(crate) fn set_string(
       18417  +
            mut self,
       18418  +
            input: impl ::std::convert::Into<::std::string::String>,
       18419  +
        ) -> Self {
       18420  +
            /* ServerBuilderGenerator.kt:429 */
       18421  +
            self.string = Some(input.into());
       18422  +
            self
       18423  +
            /* ServerBuilderGenerator.kt:428 */
       18424  +
        }
       18425  +
        /* ServerBuilderGenerator.kt:331 */
       18426  +
        #[allow(missing_docs)] // documentation missing in model
       18427  +
                               /* ServerBuilderGenerator.kt:343 */
       18428  +
        pub fn short(mut self, input: i16) -> Self {
       18429  +
            /* ServerBuilderGenerator.kt:344 */
       18430  +
            self.short =
       18431  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18432  +
                    /* ServerBuilderGenerator.kt:376 */input
       18433  +
                /* ServerBuilderGenerator.kt:345 */)
       18434  +
            /* ServerBuilderGenerator.kt:344 */;
       18435  +
            self
       18436  +
            /* ServerBuilderGenerator.kt:343 */
       18437  +
        }
       18438  +
        /* ServerBuilderGenerator.kt:426 */
       18439  +
        #[allow(missing_docs)] // documentation missing in model
       18440  +
                               /* ServerBuilderGenerator.kt:428 */
       18441  +
        pub(crate) fn set_short(mut self, input: impl ::std::convert::Into<i16>) -> Self {
       18442  +
            /* ServerBuilderGenerator.kt:429 */
       18443  +
            self.short = Some(input.into());
       18444  +
            self
       18445  +
            /* ServerBuilderGenerator.kt:428 */
       18446  +
        }
       18447  +
        /* ServerBuilderGenerator.kt:331 */
       18448  +
        #[allow(missing_docs)] // documentation missing in model
       18449  +
                               /* ServerBuilderGenerator.kt:343 */
       18450  +
        pub fn integer(mut self, input: i32) -> Self {
       18451  +
            /* ServerBuilderGenerator.kt:344 */
       18452  +
            self.integer =
       18453  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18454  +
                    /* ServerBuilderGenerator.kt:376 */input
       18455  +
                /* ServerBuilderGenerator.kt:345 */)
       18456  +
            /* ServerBuilderGenerator.kt:344 */;
       18457  +
            self
       18458  +
            /* ServerBuilderGenerator.kt:343 */
       18459  +
        }
       18460  +
        /* ServerBuilderGenerator.kt:426 */
       18461  +
        #[allow(missing_docs)] // documentation missing in model
       18462  +
                               /* ServerBuilderGenerator.kt:428 */
       18463  +
        pub(crate) fn set_integer(mut self, input: impl ::std::convert::Into<i32>) -> Self {
       18464  +
            /* ServerBuilderGenerator.kt:429 */
       18465  +
            self.integer = Some(input.into());
       18466  +
            self
       18467  +
            /* ServerBuilderGenerator.kt:428 */
       18468  +
        }
       18469  +
        /* ServerBuilderGenerator.kt:331 */
       18470  +
        #[allow(missing_docs)] // documentation missing in model
       18471  +
                               /* ServerBuilderGenerator.kt:343 */
       18472  +
        pub fn long(mut self, input: i64) -> Self {
       18473  +
            /* ServerBuilderGenerator.kt:344 */
       18474  +
            self.long =
       18475  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18476  +
                    /* ServerBuilderGenerator.kt:376 */input
       18477  +
                /* ServerBuilderGenerator.kt:345 */)
       18478  +
            /* ServerBuilderGenerator.kt:344 */;
       18479  +
            self
       18480  +
            /* ServerBuilderGenerator.kt:343 */
       18481  +
        }
       18482  +
        /* ServerBuilderGenerator.kt:426 */
       18483  +
        #[allow(missing_docs)] // documentation missing in model
       18484  +
                               /* ServerBuilderGenerator.kt:428 */
       18485  +
        pub(crate) fn set_long(mut self, input: impl ::std::convert::Into<i64>) -> Self {
       18486  +
            /* ServerBuilderGenerator.kt:429 */
       18487  +
            self.long = Some(input.into());
       18488  +
            self
       18489  +
            /* ServerBuilderGenerator.kt:428 */
       18490  +
        }
       18491  +
        /* ServerBuilderGenerator.kt:331 */
       18492  +
        #[allow(missing_docs)] // documentation missing in model
       18493  +
                               /* ServerBuilderGenerator.kt:343 */
       18494  +
        pub fn float(mut self, input: f32) -> Self {
       18495  +
            /* ServerBuilderGenerator.kt:344 */
       18496  +
            self.float =
       18497  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18498  +
                    /* ServerBuilderGenerator.kt:376 */input
       18499  +
                /* ServerBuilderGenerator.kt:345 */)
       18500  +
            /* ServerBuilderGenerator.kt:344 */;
       18501  +
            self
       18502  +
            /* ServerBuilderGenerator.kt:343 */
       18503  +
        }
       18504  +
        /* ServerBuilderGenerator.kt:426 */
       18505  +
        #[allow(missing_docs)] // documentation missing in model
       18506  +
                               /* ServerBuilderGenerator.kt:428 */
       18507  +
        pub(crate) fn set_float(mut self, input: impl ::std::convert::Into<f32>) -> Self {
       18508  +
            /* ServerBuilderGenerator.kt:429 */
       18509  +
            self.float = Some(input.into());
       18510  +
            self
       18511  +
            /* ServerBuilderGenerator.kt:428 */
       18512  +
        }
       18513  +
        /* ServerBuilderGenerator.kt:331 */
       18514  +
        #[allow(missing_docs)] // documentation missing in model
       18515  +
                               /* ServerBuilderGenerator.kt:343 */
       18516  +
        pub fn double(mut self, input: f64) -> Self {
       18517  +
            /* ServerBuilderGenerator.kt:344 */
       18518  +
            self.double =
       18519  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18520  +
                    /* ServerBuilderGenerator.kt:376 */input
       18521  +
                /* ServerBuilderGenerator.kt:345 */)
       18522  +
            /* ServerBuilderGenerator.kt:344 */;
       18523  +
            self
       18524  +
            /* ServerBuilderGenerator.kt:343 */
       18525  +
        }
       18526  +
        /* ServerBuilderGenerator.kt:426 */
       18527  +
        #[allow(missing_docs)] // documentation missing in model
       18528  +
                               /* ServerBuilderGenerator.kt:428 */
       18529  +
        pub(crate) fn set_double(mut self, input: impl ::std::convert::Into<f64>) -> Self {
       18530  +
            /* ServerBuilderGenerator.kt:429 */
       18531  +
            self.double = Some(input.into());
       18532  +
            self
       18533  +
            /* ServerBuilderGenerator.kt:428 */
       18534  +
        }
       18535  +
        /// /* ServerBuilderGenerator.kt:331 */Serialized in the path as true or false.
       18536  +
        /* ServerBuilderGenerator.kt:343 */
       18537  +
        pub fn boolean(mut self, input: bool) -> Self {
       18538  +
            /* ServerBuilderGenerator.kt:344 */
       18539  +
            self.boolean =
       18540  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18541  +
                    /* ServerBuilderGenerator.kt:376 */input
       18542  +
                /* ServerBuilderGenerator.kt:345 */)
       18543  +
            /* ServerBuilderGenerator.kt:344 */;
       18544  +
            self
       18545  +
            /* ServerBuilderGenerator.kt:343 */
       18546  +
        }
       18547  +
        /// /* ServerBuilderGenerator.kt:426 */Serialized in the path as true or false.
       18548  +
        /* ServerBuilderGenerator.kt:428 */
       18549  +
        pub(crate) fn set_boolean(mut self, input: impl ::std::convert::Into<bool>) -> Self {
       18550  +
            /* ServerBuilderGenerator.kt:429 */
       18551  +
            self.boolean = Some(input.into());
       18552  +
            self
       18553  +
            /* ServerBuilderGenerator.kt:428 */
       18554  +
        }
       18555  +
        /// /* ServerBuilderGenerator.kt:331 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
       18556  +
        /* ServerBuilderGenerator.kt:343 */
       18557  +
        pub fn timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
       18558  +
            /* ServerBuilderGenerator.kt:344 */
       18559  +
            self.timestamp =
       18560  +
                /* ServerBuilderGenerator.kt:345 */Some(
       18561  +
                    /* ServerBuilderGenerator.kt:376 */input
       18562  +
                /* ServerBuilderGenerator.kt:345 */)
       18563  +
            /* ServerBuilderGenerator.kt:344 */;
       18564  +
            self
       18565  +
            /* ServerBuilderGenerator.kt:343 */
       18566  +
        }
       18567  +
        /// /* ServerBuilderGenerator.kt:426 */Note that this member has no format, so it's serialized as an RFC 3399 date-time.
       18568  +
        /* ServerBuilderGenerator.kt:428 */
       18569  +
        pub(crate) fn set_timestamp(
       18570  +
            mut self,
       18571  +
            input: impl ::std::convert::Into<::aws_smithy_types::DateTime>,
       18572  +
        ) -> Self {
       18573  +
            /* ServerBuilderGenerator.kt:429 */
       18574  +
            self.timestamp = Some(input.into());
       18575  +
            self
       18576  +
            /* ServerBuilderGenerator.kt:428 */
       18577  +
        }
       18578  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
       18579  +
        /// /* ServerBuilderGenerator.kt:260 */
       18580  +
        /// The builder fails to construct a [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput) if a [`ConstraintViolation`] occurs.
       18581  +
        ///
       18582  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       18583  +
        /* ServerBuilderGenerator.kt:271 */
       18584  +
        pub fn build(
       18585  +
            self,
       18586  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
       18587  +
            self.build_enforcing_all_constraints()
       18588  +
        }
       18589  +
        /* ServerBuilderGenerator.kt:283 */
       18590  +
        fn build_enforcing_all_constraints(
       18591  +
            self,
       18592  +
        ) -> Result<crate::input::HttpRequestWithLabelsInput, ConstraintViolation> {
       18593  +
            /* ServerBuilderGenerator.kt:287 */
       18594  +
            Ok(
       18595  +
                /* ServerBuilderGenerator.kt:542 */
       18596  +
                crate::input::HttpRequestWithLabelsInput {
       18597  +
                    /* ServerBuilderGenerator.kt:546 */
       18598  +
                    string: self
       18599  +
                        .string
       18600  +
                        /* ServerBuilderGenerator.kt:569 */
       18601  +
                        .ok_or(ConstraintViolation::MissingString)?,
       18602  +
                    /* ServerBuilderGenerator.kt:546 */
       18603  +
                    short: self
       18604  +
                        .short
       18605  +
                        /* ServerBuilderGenerator.kt:569 */
       18606  +
                        .ok_or(ConstraintViolation::MissingShort)?,
       18607  +
                    /* ServerBuilderGenerator.kt:546 */
       18608  +
                    integer: self
       18609  +
                        .integer
       18610  +
                        /* ServerBuilderGenerator.kt:569 */
       18611  +
                        .ok_or(ConstraintViolation::MissingInteger)?,
       18612  +
                    /* ServerBuilderGenerator.kt:546 */
       18613  +
                    long: self
       18614  +
                        .long
       18615  +
                        /* ServerBuilderGenerator.kt:569 */
       18616  +
                        .ok_or(ConstraintViolation::MissingLong)?,
       18617  +
                    /* ServerBuilderGenerator.kt:546 */
       18618  +
                    float: self
       18619  +
                        .float
       18620  +
                        /* ServerBuilderGenerator.kt:569 */
       18621  +
                        .ok_or(ConstraintViolation::MissingFloat)?,
       18622  +
                    /* ServerBuilderGenerator.kt:546 */
       18623  +
                    double: self
       18624  +
                        .double
       18625  +
                        /* ServerBuilderGenerator.kt:569 */
       18626  +
                        .ok_or(ConstraintViolation::MissingDouble)?,
       18627  +
                    /* ServerBuilderGenerator.kt:546 */
       18628  +
                    boolean: self
       18629  +
                        .boolean
       18630  +
                        /* ServerBuilderGenerator.kt:569 */
       18631  +
                        .ok_or(ConstraintViolation::MissingBoolean)?,
       18632  +
                    /* ServerBuilderGenerator.kt:546 */
       18633  +
                    timestamp: self
       18634  +
                        .timestamp
       18635  +
                        /* ServerBuilderGenerator.kt:569 */
       18636  +
                        .ok_or(ConstraintViolation::MissingTimestamp)?,
       18637  +
                    /* ServerBuilderGenerator.kt:542 */
       18638  +
                }, /* ServerBuilderGenerator.kt:287 */
       18639  +
            )
       18640  +
            /* ServerBuilderGenerator.kt:283 */
       18641  +
        }
       18642  +
        /* ServerBuilderGenerator.kt:215 */
       18643  +
    }
       18644  +
       18645  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18646  +
}
       18647  +
/// /* ServerBuilderGenerator.kt:171 */See [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       18648  +
pub mod media_type_header_input {
       18649  +
       18650  +
    /* ServerBuilderGenerator.kt:461 */
       18651  +
    impl ::std::convert::From<Builder> for crate::input::MediaTypeHeaderInput {
       18652  +
        fn from(builder: Builder) -> Self {
       18653  +
            builder.build()
       18654  +
        }
       18655  +
    }
       18656  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       18657  +
    /* RustType.kt:534 */
       18658  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18659  +
    /* ServerBuilderGenerator.kt:211 */
       18660  +
    pub struct Builder {
       18661  +
        /* ServerBuilderGenerator.kt:308 */
       18662  +
        pub(crate) json: ::std::option::Option<::std::string::String>,
       18663  +
        /* ServerBuilderGenerator.kt:211 */
       18664  +
    }
       18665  +
    /* ServerBuilderGenerator.kt:215 */
       18666  +
    impl Builder {
       18667  +
        /* ServerBuilderGenerator.kt:331 */
       18668  +
        #[allow(missing_docs)] // documentation missing in model
       18669  +
                               /* ServerBuilderGenerator.kt:343 */
       18670  +
        pub fn json(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       18671  +
            /* ServerBuilderGenerator.kt:344 */
       18672  +
            self.json =
       18673  +
                /* ServerBuilderGenerator.kt:376 */input
       18674  +
            /* ServerBuilderGenerator.kt:344 */;
       18675  +
            self
       18676  +
            /* ServerBuilderGenerator.kt:343 */
       18677  +
        }
       18678  +
        /* ServerBuilderGenerator.kt:426 */
       18679  +
        #[allow(missing_docs)] // documentation missing in model
       18680  +
                               /* ServerBuilderGenerator.kt:428 */
       18681  +
        pub(crate) fn set_json(
       18682  +
            mut self,
       18683  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       18684  +
        ) -> Self {
       18685  +
            /* ServerBuilderGenerator.kt:429 */
       18686  +
            self.json = input.map(|v| v.into());
       18687  +
            self
       18688  +
            /* ServerBuilderGenerator.kt:428 */
       18689  +
        }
       18690  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`MediaTypeHeaderInput`](crate::input::MediaTypeHeaderInput).
       18691  +
        /* ServerBuilderGenerator.kt:271 */
       18692  +
        pub fn build(self) -> crate::input::MediaTypeHeaderInput {
       18693  +
            self.build_enforcing_all_constraints()
       18694  +
        }
       18695  +
        /* ServerBuilderGenerator.kt:283 */
       18696  +
        fn build_enforcing_all_constraints(self) -> crate::input::MediaTypeHeaderInput {
       18697  +
            /* ServerBuilderGenerator.kt:542 */
       18698  +
            crate::input::MediaTypeHeaderInput {
       18699  +
                /* ServerBuilderGenerator.kt:546 */
       18700  +
                json: self.json,
       18701  +
                /* ServerBuilderGenerator.kt:542 */
       18702  +
            }
       18703  +
            /* ServerBuilderGenerator.kt:283 */
       18704  +
        }
       18705  +
        /* ServerBuilderGenerator.kt:215 */
       18706  +
    }
       18707  +
       18708  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18709  +
}
       18710  +
/// /* ServerBuilderGenerator.kt:171 */See [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       18711  +
pub mod timestamp_format_headers_input {
       18712  +
       18713  +
    /* ServerBuilderGenerator.kt:461 */
       18714  +
    impl ::std::convert::From<Builder> for crate::input::TimestampFormatHeadersInput {
       18715  +
        fn from(builder: Builder) -> Self {
       18716  +
            builder.build()
       18717  +
        }
       18718  +
    }
       18719  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       18720  +
    /* RustType.kt:534 */
       18721  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18722  +
    /* ServerBuilderGenerator.kt:211 */
       18723  +
    pub struct Builder {
       18724  +
        /* ServerBuilderGenerator.kt:308 */
       18725  +
        pub(crate) member_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
       18726  +
        /* ServerBuilderGenerator.kt:308 */
       18727  +
        pub(crate) member_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       18728  +
        /* ServerBuilderGenerator.kt:308 */
       18729  +
        pub(crate) member_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       18730  +
        /* ServerBuilderGenerator.kt:308 */
       18731  +
        pub(crate) default_format: ::std::option::Option<::aws_smithy_types::DateTime>,
       18732  +
        /* ServerBuilderGenerator.kt:308 */
       18733  +
        pub(crate) target_epoch_seconds: ::std::option::Option<::aws_smithy_types::DateTime>,
       18734  +
        /* ServerBuilderGenerator.kt:308 */
       18735  +
        pub(crate) target_http_date: ::std::option::Option<::aws_smithy_types::DateTime>,
       18736  +
        /* ServerBuilderGenerator.kt:308 */
       18737  +
        pub(crate) target_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
       18738  +
        /* ServerBuilderGenerator.kt:211 */
       18739  +
    }
       18740  +
    /* ServerBuilderGenerator.kt:215 */
       18741  +
    impl Builder {
       18742  +
        /* ServerBuilderGenerator.kt:331 */
       18743  +
        #[allow(missing_docs)] // documentation missing in model
       18744  +
                               /* ServerBuilderGenerator.kt:343 */
       18745  +
        pub fn member_epoch_seconds(
       18746  +
            mut self,
       18747  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18748  +
        ) -> Self {
       18749  +
            /* ServerBuilderGenerator.kt:344 */
       18750  +
            self.member_epoch_seconds =
       18751  +
                /* ServerBuilderGenerator.kt:376 */input
       18752  +
            /* ServerBuilderGenerator.kt:344 */;
       18753  +
            self
       18754  +
            /* ServerBuilderGenerator.kt:343 */
       18755  +
        }
       18756  +
        /* ServerBuilderGenerator.kt:426 */
       18757  +
        #[allow(missing_docs)] // documentation missing in model
       18758  +
                               /* ServerBuilderGenerator.kt:428 */
       18759  +
        pub(crate) fn set_member_epoch_seconds(
       18760  +
            mut self,
       18761  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18762  +
        ) -> Self {
       18763  +
            /* ServerBuilderGenerator.kt:429 */
       18764  +
            self.member_epoch_seconds = input.map(|v| v.into());
       18765  +
            self
       18766  +
            /* ServerBuilderGenerator.kt:428 */
       18767  +
        }
       18768  +
        /* ServerBuilderGenerator.kt:331 */
       18769  +
        #[allow(missing_docs)] // documentation missing in model
       18770  +
                               /* ServerBuilderGenerator.kt:343 */
       18771  +
        pub fn member_http_date(
       18772  +
            mut self,
       18773  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18774  +
        ) -> Self {
       18775  +
            /* ServerBuilderGenerator.kt:344 */
       18776  +
            self.member_http_date =
       18777  +
                /* ServerBuilderGenerator.kt:376 */input
       18778  +
            /* ServerBuilderGenerator.kt:344 */;
       18779  +
            self
       18780  +
            /* ServerBuilderGenerator.kt:343 */
       18781  +
        }
       18782  +
        /* ServerBuilderGenerator.kt:426 */
       18783  +
        #[allow(missing_docs)] // documentation missing in model
       18784  +
                               /* ServerBuilderGenerator.kt:428 */
       18785  +
        pub(crate) fn set_member_http_date(
       18786  +
            mut self,
       18787  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18788  +
        ) -> Self {
       18789  +
            /* ServerBuilderGenerator.kt:429 */
       18790  +
            self.member_http_date = input.map(|v| v.into());
       18791  +
            self
       18792  +
            /* ServerBuilderGenerator.kt:428 */
       18793  +
        }
       18794  +
        /* ServerBuilderGenerator.kt:331 */
       18795  +
        #[allow(missing_docs)] // documentation missing in model
       18796  +
                               /* ServerBuilderGenerator.kt:343 */
       18797  +
        pub fn member_date_time(
       18798  +
            mut self,
       18799  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18800  +
        ) -> Self {
       18801  +
            /* ServerBuilderGenerator.kt:344 */
       18802  +
            self.member_date_time =
       18803  +
                /* ServerBuilderGenerator.kt:376 */input
       18804  +
            /* ServerBuilderGenerator.kt:344 */;
       18805  +
            self
       18806  +
            /* ServerBuilderGenerator.kt:343 */
       18807  +
        }
       18808  +
        /* ServerBuilderGenerator.kt:426 */
       18809  +
        #[allow(missing_docs)] // documentation missing in model
       18810  +
                               /* ServerBuilderGenerator.kt:428 */
       18811  +
        pub(crate) fn set_member_date_time(
       18812  +
            mut self,
       18813  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18814  +
        ) -> Self {
       18815  +
            /* ServerBuilderGenerator.kt:429 */
       18816  +
            self.member_date_time = input.map(|v| v.into());
       18817  +
            self
       18818  +
            /* ServerBuilderGenerator.kt:428 */
       18819  +
        }
       18820  +
        /* ServerBuilderGenerator.kt:331 */
       18821  +
        #[allow(missing_docs)] // documentation missing in model
       18822  +
                               /* ServerBuilderGenerator.kt:343 */
       18823  +
        pub fn default_format(
       18824  +
            mut self,
       18825  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18826  +
        ) -> Self {
       18827  +
            /* ServerBuilderGenerator.kt:344 */
       18828  +
            self.default_format =
       18829  +
                /* ServerBuilderGenerator.kt:376 */input
       18830  +
            /* ServerBuilderGenerator.kt:344 */;
       18831  +
            self
       18832  +
            /* ServerBuilderGenerator.kt:343 */
       18833  +
        }
       18834  +
        /* ServerBuilderGenerator.kt:426 */
       18835  +
        #[allow(missing_docs)] // documentation missing in model
       18836  +
                               /* ServerBuilderGenerator.kt:428 */
       18837  +
        pub(crate) fn set_default_format(
       18838  +
            mut self,
       18839  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18840  +
        ) -> Self {
       18841  +
            /* ServerBuilderGenerator.kt:429 */
       18842  +
            self.default_format = input.map(|v| v.into());
       18843  +
            self
       18844  +
            /* ServerBuilderGenerator.kt:428 */
       18845  +
        }
       18846  +
        /* ServerBuilderGenerator.kt:331 */
       18847  +
        #[allow(missing_docs)] // documentation missing in model
       18848  +
                               /* ServerBuilderGenerator.kt:343 */
       18849  +
        pub fn target_epoch_seconds(
       18850  +
            mut self,
       18851  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18852  +
        ) -> Self {
       18853  +
            /* ServerBuilderGenerator.kt:344 */
       18854  +
            self.target_epoch_seconds =
       18855  +
                /* ServerBuilderGenerator.kt:376 */input
       18856  +
            /* ServerBuilderGenerator.kt:344 */;
       18857  +
            self
       18858  +
            /* ServerBuilderGenerator.kt:343 */
       18859  +
        }
       18860  +
        /* ServerBuilderGenerator.kt:426 */
       18861  +
        #[allow(missing_docs)] // documentation missing in model
       18862  +
                               /* ServerBuilderGenerator.kt:428 */
       18863  +
        pub(crate) fn set_target_epoch_seconds(
       18864  +
            mut self,
       18865  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18866  +
        ) -> Self {
       18867  +
            /* ServerBuilderGenerator.kt:429 */
       18868  +
            self.target_epoch_seconds = input.map(|v| v.into());
       18869  +
            self
       18870  +
            /* ServerBuilderGenerator.kt:428 */
       18871  +
        }
       18872  +
        /* ServerBuilderGenerator.kt:331 */
       18873  +
        #[allow(missing_docs)] // documentation missing in model
       18874  +
                               /* ServerBuilderGenerator.kt:343 */
       18875  +
        pub fn target_http_date(
       18876  +
            mut self,
       18877  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18878  +
        ) -> Self {
       18879  +
            /* ServerBuilderGenerator.kt:344 */
       18880  +
            self.target_http_date =
       18881  +
                /* ServerBuilderGenerator.kt:376 */input
       18882  +
            /* ServerBuilderGenerator.kt:344 */;
       18883  +
            self
       18884  +
            /* ServerBuilderGenerator.kt:343 */
       18885  +
        }
       18886  +
        /* ServerBuilderGenerator.kt:426 */
       18887  +
        #[allow(missing_docs)] // documentation missing in model
       18888  +
                               /* ServerBuilderGenerator.kt:428 */
       18889  +
        pub(crate) fn set_target_http_date(
       18890  +
            mut self,
       18891  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18892  +
        ) -> Self {
       18893  +
            /* ServerBuilderGenerator.kt:429 */
       18894  +
            self.target_http_date = input.map(|v| v.into());
       18895  +
            self
       18896  +
            /* ServerBuilderGenerator.kt:428 */
       18897  +
        }
       18898  +
        /* ServerBuilderGenerator.kt:331 */
       18899  +
        #[allow(missing_docs)] // documentation missing in model
       18900  +
                               /* ServerBuilderGenerator.kt:343 */
       18901  +
        pub fn target_date_time(
       18902  +
            mut self,
       18903  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
       18904  +
        ) -> Self {
       18905  +
            /* ServerBuilderGenerator.kt:344 */
       18906  +
            self.target_date_time =
       18907  +
                /* ServerBuilderGenerator.kt:376 */input
       18908  +
            /* ServerBuilderGenerator.kt:344 */;
       18909  +
            self
       18910  +
            /* ServerBuilderGenerator.kt:343 */
       18911  +
        }
       18912  +
        /* ServerBuilderGenerator.kt:426 */
       18913  +
        #[allow(missing_docs)] // documentation missing in model
       18914  +
                               /* ServerBuilderGenerator.kt:428 */
       18915  +
        pub(crate) fn set_target_date_time(
       18916  +
            mut self,
       18917  +
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
       18918  +
        ) -> Self {
       18919  +
            /* ServerBuilderGenerator.kt:429 */
       18920  +
            self.target_date_time = input.map(|v| v.into());
       18921  +
            self
       18922  +
            /* ServerBuilderGenerator.kt:428 */
       18923  +
        }
       18924  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`TimestampFormatHeadersInput`](crate::input::TimestampFormatHeadersInput).
       18925  +
        /* ServerBuilderGenerator.kt:271 */
       18926  +
        pub fn build(self) -> crate::input::TimestampFormatHeadersInput {
       18927  +
            self.build_enforcing_all_constraints()
       18928  +
        }
       18929  +
        /* ServerBuilderGenerator.kt:283 */
       18930  +
        fn build_enforcing_all_constraints(self) -> crate::input::TimestampFormatHeadersInput {
       18931  +
            /* ServerBuilderGenerator.kt:542 */
       18932  +
            crate::input::TimestampFormatHeadersInput {
       18933  +
                /* ServerBuilderGenerator.kt:546 */
       18934  +
                member_epoch_seconds: self.member_epoch_seconds,
       18935  +
                /* ServerBuilderGenerator.kt:546 */
       18936  +
                member_http_date: self.member_http_date,
       18937  +
                /* ServerBuilderGenerator.kt:546 */
       18938  +
                member_date_time: self.member_date_time,
       18939  +
                /* ServerBuilderGenerator.kt:546 */
       18940  +
                default_format: self.default_format,
       18941  +
                /* ServerBuilderGenerator.kt:546 */
       18942  +
                target_epoch_seconds: self.target_epoch_seconds,
       18943  +
                /* ServerBuilderGenerator.kt:546 */
       18944  +
                target_http_date: self.target_http_date,
       18945  +
                /* ServerBuilderGenerator.kt:546 */
       18946  +
                target_date_time: self.target_date_time,
       18947  +
                /* ServerBuilderGenerator.kt:542 */
       18948  +
            }
       18949  +
            /* ServerBuilderGenerator.kt:283 */
       18950  +
        }
       18951  +
        /* ServerBuilderGenerator.kt:215 */
       18952  +
    }
       18953  +
       18954  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       18955  +
}
       18956  +
/// /* ServerBuilderGenerator.kt:171 */See [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       18957  +
pub mod null_and_empty_headers_server_input {
       18958  +
       18959  +
    /* ServerBuilderGenerator.kt:461 */
       18960  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersServerInput {
       18961  +
        fn from(builder: Builder) -> Self {
       18962  +
            builder.build()
       18963  +
        }
       18964  +
    }
       18965  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       18966  +
    /* RustType.kt:534 */
       18967  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       18968  +
    /* ServerBuilderGenerator.kt:211 */
       18969  +
    pub struct Builder {
       18970  +
        /* ServerBuilderGenerator.kt:308 */
       18971  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
       18972  +
        /* ServerBuilderGenerator.kt:308 */
       18973  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
       18974  +
        /* ServerBuilderGenerator.kt:308 */
       18975  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       18976  +
        /* ServerBuilderGenerator.kt:211 */
       18977  +
    }
       18978  +
    /* ServerBuilderGenerator.kt:215 */
       18979  +
    impl Builder {
       18980  +
        /* ServerBuilderGenerator.kt:331 */
       18981  +
        #[allow(missing_docs)] // documentation missing in model
       18982  +
                               /* ServerBuilderGenerator.kt:343 */
       18983  +
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       18984  +
            /* ServerBuilderGenerator.kt:344 */
       18985  +
            self.a =
       18986  +
                /* ServerBuilderGenerator.kt:376 */input
       18987  +
            /* ServerBuilderGenerator.kt:344 */;
       18988  +
            self
       18989  +
            /* ServerBuilderGenerator.kt:343 */
       18990  +
        }
       18991  +
        /* ServerBuilderGenerator.kt:426 */
       18992  +
        #[allow(missing_docs)] // documentation missing in model
       18993  +
                               /* ServerBuilderGenerator.kt:428 */
       18994  +
        pub(crate) fn set_a(
       18995  +
            mut self,
       18996  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       18997  +
        ) -> Self {
       18998  +
            /* ServerBuilderGenerator.kt:429 */
       18999  +
            self.a = input.map(|v| v.into());
       19000  +
            self
       19001  +
            /* ServerBuilderGenerator.kt:428 */
       19002  +
        }
       19003  +
        /* ServerBuilderGenerator.kt:331 */
       19004  +
        #[allow(missing_docs)] // documentation missing in model
       19005  +
                               /* ServerBuilderGenerator.kt:343 */
       19006  +
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       19007  +
            /* ServerBuilderGenerator.kt:344 */
       19008  +
            self.b =
       19009  +
                /* ServerBuilderGenerator.kt:376 */input
       19010  +
            /* ServerBuilderGenerator.kt:344 */;
       19011  +
            self
       19012  +
            /* ServerBuilderGenerator.kt:343 */
       19013  +
        }
       19014  +
        /* ServerBuilderGenerator.kt:426 */
       19015  +
        #[allow(missing_docs)] // documentation missing in model
       19016  +
                               /* ServerBuilderGenerator.kt:428 */
       19017  +
        pub(crate) fn set_b(
       19018  +
            mut self,
       19019  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       19020  +
        ) -> Self {
       19021  +
            /* ServerBuilderGenerator.kt:429 */
       19022  +
            self.b = input.map(|v| v.into());
       19023  +
            self
       19024  +
            /* ServerBuilderGenerator.kt:428 */
       19025  +
        }
       19026  +
        /* ServerBuilderGenerator.kt:331 */
       19027  +
        #[allow(missing_docs)] // documentation missing in model
       19028  +
                               /* ServerBuilderGenerator.kt:343 */
       19029  +
        pub fn c(
       19030  +
            mut self,
       19031  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19032  +
        ) -> Self {
       19033  +
            /* ServerBuilderGenerator.kt:344 */
       19034  +
            self.c =
       19035  +
                /* ServerBuilderGenerator.kt:376 */input
       19036  +
            /* ServerBuilderGenerator.kt:344 */;
       19037  +
            self
       19038  +
            /* ServerBuilderGenerator.kt:343 */
       19039  +
        }
       19040  +
        /* ServerBuilderGenerator.kt:426 */
       19041  +
        #[allow(missing_docs)] // documentation missing in model
       19042  +
                               /* ServerBuilderGenerator.kt:428 */
       19043  +
        pub(crate) fn set_c(
       19044  +
            mut self,
       19045  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       19046  +
        ) -> Self {
       19047  +
            /* ServerBuilderGenerator.kt:429 */
       19048  +
            self.c = input.map(|v| v.into());
       19049  +
            self
       19050  +
            /* ServerBuilderGenerator.kt:428 */
       19051  +
        }
       19052  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NullAndEmptyHeadersServerInput`](crate::input::NullAndEmptyHeadersServerInput).
       19053  +
        /* ServerBuilderGenerator.kt:271 */
       19054  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersServerInput {
       19055  +
            self.build_enforcing_all_constraints()
       19056  +
        }
       19057  +
        /* ServerBuilderGenerator.kt:283 */
       19058  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersServerInput {
       19059  +
            /* ServerBuilderGenerator.kt:542 */
       19060  +
            crate::input::NullAndEmptyHeadersServerInput {
       19061  +
                /* ServerBuilderGenerator.kt:546 */
       19062  +
                a: self.a,
       19063  +
                /* ServerBuilderGenerator.kt:546 */
       19064  +
                b: self.b,
       19065  +
                /* ServerBuilderGenerator.kt:546 */
       19066  +
                c: self.c,
       19067  +
                /* ServerBuilderGenerator.kt:542 */
       19068  +
            }
       19069  +
            /* ServerBuilderGenerator.kt:283 */
       19070  +
        }
       19071  +
        /* ServerBuilderGenerator.kt:215 */
       19072  +
    }
       19073  +
       19074  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19075  +
}
       19076  +
/// /* ServerBuilderGenerator.kt:171 */See [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       19077  +
pub mod null_and_empty_headers_client_input {
       19078  +
       19079  +
    /* ServerBuilderGenerator.kt:461 */
       19080  +
    impl ::std::convert::From<Builder> for crate::input::NullAndEmptyHeadersClientInput {
       19081  +
        fn from(builder: Builder) -> Self {
       19082  +
            builder.build()
       19083  +
        }
       19084  +
    }
       19085  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       19086  +
    /* RustType.kt:534 */
       19087  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19088  +
    /* ServerBuilderGenerator.kt:211 */
       19089  +
    pub struct Builder {
       19090  +
        /* ServerBuilderGenerator.kt:308 */
       19091  +
        pub(crate) a: ::std::option::Option<::std::string::String>,
       19092  +
        /* ServerBuilderGenerator.kt:308 */
       19093  +
        pub(crate) b: ::std::option::Option<::std::string::String>,
       19094  +
        /* ServerBuilderGenerator.kt:308 */
       19095  +
        pub(crate) c: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19096  +
        /* ServerBuilderGenerator.kt:211 */
       19097  +
    }
       19098  +
    /* ServerBuilderGenerator.kt:215 */
       19099  +
    impl Builder {
       19100  +
        /* ServerBuilderGenerator.kt:331 */
       19101  +
        #[allow(missing_docs)] // documentation missing in model
       19102  +
                               /* ServerBuilderGenerator.kt:343 */
       19103  +
        pub fn a(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       19104  +
            /* ServerBuilderGenerator.kt:344 */
       19105  +
            self.a =
       19106  +
                /* ServerBuilderGenerator.kt:376 */input
       19107  +
            /* ServerBuilderGenerator.kt:344 */;
       19108  +
            self
       19109  +
            /* ServerBuilderGenerator.kt:343 */
       19110  +
        }
       19111  +
        /* ServerBuilderGenerator.kt:426 */
       19112  +
        #[allow(missing_docs)] // documentation missing in model
       19113  +
                               /* ServerBuilderGenerator.kt:428 */
       19114  +
        pub(crate) fn set_a(
       19115  +
            mut self,
       19116  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       19117  +
        ) -> Self {
       19118  +
            /* ServerBuilderGenerator.kt:429 */
       19119  +
            self.a = input.map(|v| v.into());
       19120  +
            self
       19121  +
            /* ServerBuilderGenerator.kt:428 */
       19122  +
        }
       19123  +
        /* ServerBuilderGenerator.kt:331 */
       19124  +
        #[allow(missing_docs)] // documentation missing in model
       19125  +
                               /* ServerBuilderGenerator.kt:343 */
       19126  +
        pub fn b(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
       19127  +
            /* ServerBuilderGenerator.kt:344 */
       19128  +
            self.b =
       19129  +
                /* ServerBuilderGenerator.kt:376 */input
       19130  +
            /* ServerBuilderGenerator.kt:344 */;
       19131  +
            self
       19132  +
            /* ServerBuilderGenerator.kt:343 */
       19133  +
        }
       19134  +
        /* ServerBuilderGenerator.kt:426 */
       19135  +
        #[allow(missing_docs)] // documentation missing in model
       19136  +
                               /* ServerBuilderGenerator.kt:428 */
       19137  +
        pub(crate) fn set_b(
       19138  +
            mut self,
       19139  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       19140  +
        ) -> Self {
       19141  +
            /* ServerBuilderGenerator.kt:429 */
       19142  +
            self.b = input.map(|v| v.into());
       19143  +
            self
       19144  +
            /* ServerBuilderGenerator.kt:428 */
       19145  +
        }
       19146  +
        /* ServerBuilderGenerator.kt:331 */
       19147  +
        #[allow(missing_docs)] // documentation missing in model
       19148  +
                               /* ServerBuilderGenerator.kt:343 */
       19149  +
        pub fn c(
       19150  +
            mut self,
       19151  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19152  +
        ) -> Self {
       19153  +
            /* ServerBuilderGenerator.kt:344 */
       19154  +
            self.c =
       19155  +
                /* ServerBuilderGenerator.kt:376 */input
       19156  +
            /* ServerBuilderGenerator.kt:344 */;
       19157  +
            self
       19158  +
            /* ServerBuilderGenerator.kt:343 */
       19159  +
        }
       19160  +
        /* ServerBuilderGenerator.kt:426 */
       19161  +
        #[allow(missing_docs)] // documentation missing in model
       19162  +
                               /* ServerBuilderGenerator.kt:428 */
       19163  +
        pub(crate) fn set_c(
       19164  +
            mut self,
       19165  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       19166  +
        ) -> Self {
       19167  +
            /* ServerBuilderGenerator.kt:429 */
       19168  +
            self.c = input.map(|v| v.into());
       19169  +
            self
       19170  +
            /* ServerBuilderGenerator.kt:428 */
       19171  +
        }
       19172  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NullAndEmptyHeadersClientInput`](crate::input::NullAndEmptyHeadersClientInput).
       19173  +
        /* ServerBuilderGenerator.kt:271 */
       19174  +
        pub fn build(self) -> crate::input::NullAndEmptyHeadersClientInput {
       19175  +
            self.build_enforcing_all_constraints()
       19176  +
        }
       19177  +
        /* ServerBuilderGenerator.kt:283 */
       19178  +
        fn build_enforcing_all_constraints(self) -> crate::input::NullAndEmptyHeadersClientInput {
       19179  +
            /* ServerBuilderGenerator.kt:542 */
       19180  +
            crate::input::NullAndEmptyHeadersClientInput {
       19181  +
                /* ServerBuilderGenerator.kt:546 */
       19182  +
                a: self.a,
       19183  +
                /* ServerBuilderGenerator.kt:546 */
       19184  +
                b: self.b,
       19185  +
                /* ServerBuilderGenerator.kt:546 */
       19186  +
                c: self.c,
       19187  +
                /* ServerBuilderGenerator.kt:542 */
       19188  +
            }
       19189  +
            /* ServerBuilderGenerator.kt:283 */
       19190  +
        }
       19191  +
        /* ServerBuilderGenerator.kt:215 */
       19192  +
    }
       19193  +
       19194  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19195  +
}
       19196  +
/// /* ServerBuilderGenerator.kt:171 */See [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       19197  +
pub mod input_and_output_with_headers_input {
       19198  +
       19199  +
    /* RustType.kt:534 */
       19200  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
       19201  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
       19202  +
    /* RustType.kt:534 */
       19203  +
    #[non_exhaustive]
       19204  +
    /* ServerBuilderConstraintViolations.kt:75 */
       19205  +
    #[allow(clippy::enum_variant_names)]
       19206  +
    pub enum ConstraintViolation {
       19207  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`.
       19208  +
        /* RustType.kt:534 */
       19209  +
        #[doc(hidden)]
       19210  +
        /* ServerBuilderConstraintViolations.kt:165 */
       19211  +
        HeaderStringSet(crate::model::string_set::ConstraintViolation),
       19212  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`.
       19213  +
        /* RustType.kt:534 */
       19214  +
        #[doc(hidden)]
       19215  +
        /* ServerBuilderConstraintViolations.kt:165 */
       19216  +
        HeaderEnum(crate::model::foo_enum::ConstraintViolation),
       19217  +
        /// /* ServerBuilderConstraintViolations.kt:159 */Constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`.
       19218  +
        /* RustType.kt:534 */
       19219  +
        #[doc(hidden)]
       19220  +
        /* ServerBuilderConstraintViolations.kt:165 */
       19221  +
        HeaderEnumList(crate::model::foo_enum_list::ConstraintViolation),
       19222  +
        /* ServerBuilderConstraintViolations.kt:75 */
       19223  +
    }
       19224  +
    /* ServerBuilderConstraintViolations.kt:116 */
       19225  +
    impl ::std::fmt::Display for ConstraintViolation {
       19226  +
        /* ServerBuilderConstraintViolations.kt:117 */
       19227  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
       19228  +
            /* ServerBuilderConstraintViolations.kt:118 */
       19229  +
            match self {
       19230  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderStringSet(_) => write!(f, "constraint violation occurred building member `header_string_set` when building `InputAndOutputWithHeadersInput`"),
       19231  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderEnum(_) => write!(f, "constraint violation occurred building member `header_enum` when building `InputAndOutputWithHeadersInput`"),
       19232  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::HeaderEnumList(_) => write!(f, "constraint violation occurred building member `header_enum_list` when building `InputAndOutputWithHeadersInput`"),
       19233  +
            /* ServerBuilderConstraintViolations.kt:118 */}
       19234  +
            /* ServerBuilderConstraintViolations.kt:117 */
       19235  +
        }
       19236  +
        /* ServerBuilderConstraintViolations.kt:116 */
       19237  +
    }
       19238  +
    /* ServerBuilderConstraintViolations.kt:83 */
       19239  +
    impl ::std::error::Error for ConstraintViolation {}
       19240  +
    /* ServerBuilderConstraintViolations.kt:172 */
       19241  +
    impl ConstraintViolation {
       19242  +
        pub(crate) fn as_validation_exception_field(
       19243  +
            self,
       19244  +
            path: ::std::string::String,
       19245  +
        ) -> crate::model::ValidationExceptionField {
       19246  +
            match self {
       19247  +
                ConstraintViolation::HeaderStringSet(inner) => {
       19248  +
                    inner.as_validation_exception_field(path + "/headerStringSet")
       19249  +
                }
       19250  +
                ConstraintViolation::HeaderEnum(inner) => {
       19251  +
                    inner.as_validation_exception_field(path + "/headerEnum")
       19252  +
                }
       19253  +
                ConstraintViolation::HeaderEnumList(inner) => {
       19254  +
                    inner.as_validation_exception_field(path + "/headerEnumList")
       19255  +
                }
       19256  +
            }
       19257  +
        }
       19258  +
    }
       19259  +
    /* ServerBuilderGenerator.kt:234 */
       19260  +
    impl ::std::convert::From<ConstraintViolation>
       19261  +
        for ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection
       19262  +
    {
       19263  +
        fn from(constraint_violation: ConstraintViolation) -> Self {
       19264  +
            let first_validation_exception_field =
       19265  +
                constraint_violation.as_validation_exception_field("".to_owned());
       19266  +
            let validation_exception = crate::error::ValidationException {
       19267  +
                message: format!(
       19268  +
                    "1 validation error detected. {}",
       19269  +
                    &first_validation_exception_field.message
       19270  +
                ),
       19271  +
                field_list: Some(vec![first_validation_exception_field]),
       19272  +
            };
       19273  +
            Self::ConstraintViolation(
       19274  +
                                crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(&validation_exception)
       19275  +
                                    .expect("validation exceptions should never fail to serialize; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues")
       19276  +
                            )
       19277  +
        }
       19278  +
    }
       19279  +
    /* ServerBuilderGenerator.kt:244 */
       19280  +
    impl ::std::convert::From<Builder>
       19281  +
        for crate::constrained::MaybeConstrained<crate::input::InputAndOutputWithHeadersInput>
       19282  +
    {
       19283  +
        fn from(builder: Builder) -> Self {
       19284  +
            Self::Unconstrained(builder)
       19285  +
        }
       19286  +
    }
       19287  +
    /* ServerBuilderGenerator.kt:446 */
       19288  +
    impl ::std::convert::TryFrom<Builder> for crate::input::InputAndOutputWithHeadersInput {
       19289  +
        type Error = ConstraintViolation;
       19290  +
       19291  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
       19292  +
            builder.build()
       19293  +
        }
       19294  +
    }
       19295  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       19296  +
    /* RustType.kt:534 */
       19297  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19298  +
    /* ServerBuilderGenerator.kt:211 */
       19299  +
    pub struct Builder {
       19300  +
        /* ServerBuilderGenerator.kt:308 */
       19301  +
        pub(crate) header_string: ::std::option::Option<::std::string::String>,
       19302  +
        /* ServerBuilderGenerator.kt:308 */
       19303  +
        pub(crate) header_byte: ::std::option::Option<i8>,
       19304  +
        /* ServerBuilderGenerator.kt:308 */
       19305  +
        pub(crate) header_short: ::std::option::Option<i16>,
       19306  +
        /* ServerBuilderGenerator.kt:308 */
       19307  +
        pub(crate) header_integer: ::std::option::Option<i32>,
       19308  +
        /* ServerBuilderGenerator.kt:308 */
       19309  +
        pub(crate) header_long: ::std::option::Option<i64>,
       19310  +
        /* ServerBuilderGenerator.kt:308 */
       19311  +
        pub(crate) header_float: ::std::option::Option<f32>,
       19312  +
        /* ServerBuilderGenerator.kt:308 */
       19313  +
        pub(crate) header_double: ::std::option::Option<f64>,
       19314  +
        /* ServerBuilderGenerator.kt:308 */
       19315  +
        pub(crate) header_true_bool: ::std::option::Option<bool>,
       19316  +
        /* ServerBuilderGenerator.kt:308 */
       19317  +
        pub(crate) header_false_bool: ::std::option::Option<bool>,
       19318  +
        /* ServerBuilderGenerator.kt:308 */
       19319  +
        pub(crate) header_string_list:
       19320  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19321  +
        /* ServerBuilderGenerator.kt:308 */
       19322  +
        pub(crate) header_string_set:
       19323  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       19324  +
        /* ServerBuilderGenerator.kt:308 */
       19325  +
        pub(crate) header_integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
       19326  +
        /* ServerBuilderGenerator.kt:308 */
       19327  +
        pub(crate) header_boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
       19328  +
        /* ServerBuilderGenerator.kt:308 */
       19329  +
        pub(crate) header_timestamp_list:
       19330  +
            ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       19331  +
        /* ServerBuilderGenerator.kt:308 */
       19332  +
        pub(crate) header_enum:
       19333  +
            ::std::option::Option<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       19334  +
        /* ServerBuilderGenerator.kt:308 */
       19335  +
        pub(crate) header_enum_list: ::std::option::Option<
       19336  +
            crate::constrained::MaybeConstrained<
       19337  +
                crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       19338  +
            >,
       19339  +
        >,
       19340  +
        /* ServerBuilderGenerator.kt:308 */
       19341  +
        pub(crate) header_integer_enum: ::std::option::Option<i32>,
       19342  +
        /* ServerBuilderGenerator.kt:308 */
       19343  +
        pub(crate) header_integer_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
       19344  +
        /* ServerBuilderGenerator.kt:211 */
       19345  +
    }
       19346  +
    /* ServerBuilderGenerator.kt:215 */
       19347  +
    impl Builder {
       19348  +
        /* ServerBuilderGenerator.kt:331 */
       19349  +
        #[allow(missing_docs)] // documentation missing in model
       19350  +
                               /* ServerBuilderGenerator.kt:343 */
       19351  +
        pub fn header_string(
       19352  +
            mut self,
       19353  +
            input: ::std::option::Option<::std::string::String>,
       19354  +
        ) -> Self {
       19355  +
            /* ServerBuilderGenerator.kt:344 */
       19356  +
            self.header_string =
       19357  +
                /* ServerBuilderGenerator.kt:376 */input
       19358  +
            /* ServerBuilderGenerator.kt:344 */;
       19359  +
            self
       19360  +
            /* ServerBuilderGenerator.kt:343 */
       19361  +
        }
       19362  +
        /* ServerBuilderGenerator.kt:426 */
       19363  +
        #[allow(missing_docs)] // documentation missing in model
       19364  +
                               /* ServerBuilderGenerator.kt:428 */
       19365  +
        pub(crate) fn set_header_string(
       19366  +
            mut self,
       19367  +
            input: Option<impl ::std::convert::Into<::std::string::String>>,
       19368  +
        ) -> Self {
       19369  +
            /* ServerBuilderGenerator.kt:429 */
       19370  +
            self.header_string = input.map(|v| v.into());
       19371  +
            self
       19372  +
            /* ServerBuilderGenerator.kt:428 */
       19373  +
        }
       19374  +
        /* ServerBuilderGenerator.kt:331 */
       19375  +
        #[allow(missing_docs)] // documentation missing in model
       19376  +
                               /* ServerBuilderGenerator.kt:343 */
       19377  +
        pub fn header_byte(mut self, input: ::std::option::Option<i8>) -> Self {
       19378  +
            /* ServerBuilderGenerator.kt:344 */
       19379  +
            self.header_byte =
       19380  +
                /* ServerBuilderGenerator.kt:376 */input
       19381  +
            /* ServerBuilderGenerator.kt:344 */;
       19382  +
            self
       19383  +
            /* ServerBuilderGenerator.kt:343 */
       19384  +
        }
       19385  +
        /* ServerBuilderGenerator.kt:426 */
       19386  +
        #[allow(missing_docs)] // documentation missing in model
       19387  +
                               /* ServerBuilderGenerator.kt:428 */
       19388  +
        pub(crate) fn set_header_byte(
       19389  +
            mut self,
       19390  +
            input: Option<impl ::std::convert::Into<i8>>,
       19391  +
        ) -> Self {
       19392  +
            /* ServerBuilderGenerator.kt:429 */
       19393  +
            self.header_byte = input.map(|v| v.into());
       19394  +
            self
       19395  +
            /* ServerBuilderGenerator.kt:428 */
       19396  +
        }
       19397  +
        /* ServerBuilderGenerator.kt:331 */
       19398  +
        #[allow(missing_docs)] // documentation missing in model
       19399  +
                               /* ServerBuilderGenerator.kt:343 */
       19400  +
        pub fn header_short(mut self, input: ::std::option::Option<i16>) -> Self {
       19401  +
            /* ServerBuilderGenerator.kt:344 */
       19402  +
            self.header_short =
       19403  +
                /* ServerBuilderGenerator.kt:376 */input
       19404  +
            /* ServerBuilderGenerator.kt:344 */;
       19405  +
            self
       19406  +
            /* ServerBuilderGenerator.kt:343 */
       19407  +
        }
       19408  +
        /* ServerBuilderGenerator.kt:426 */
       19409  +
        #[allow(missing_docs)] // documentation missing in model
       19410  +
                               /* ServerBuilderGenerator.kt:428 */
       19411  +
        pub(crate) fn set_header_short(
       19412  +
            mut self,
       19413  +
            input: Option<impl ::std::convert::Into<i16>>,
       19414  +
        ) -> Self {
       19415  +
            /* ServerBuilderGenerator.kt:429 */
       19416  +
            self.header_short = input.map(|v| v.into());
       19417  +
            self
       19418  +
            /* ServerBuilderGenerator.kt:428 */
       19419  +
        }
       19420  +
        /* ServerBuilderGenerator.kt:331 */
       19421  +
        #[allow(missing_docs)] // documentation missing in model
       19422  +
                               /* ServerBuilderGenerator.kt:343 */
       19423  +
        pub fn header_integer(mut self, input: ::std::option::Option<i32>) -> Self {
       19424  +
            /* ServerBuilderGenerator.kt:344 */
       19425  +
            self.header_integer =
       19426  +
                /* ServerBuilderGenerator.kt:376 */input
       19427  +
            /* ServerBuilderGenerator.kt:344 */;
       19428  +
            self
       19429  +
            /* ServerBuilderGenerator.kt:343 */
       19430  +
        }
       19431  +
        /* ServerBuilderGenerator.kt:426 */
       19432  +
        #[allow(missing_docs)] // documentation missing in model
       19433  +
                               /* ServerBuilderGenerator.kt:428 */
       19434  +
        pub(crate) fn set_header_integer(
       19435  +
            mut self,
       19436  +
            input: Option<impl ::std::convert::Into<i32>>,
       19437  +
        ) -> Self {
       19438  +
            /* ServerBuilderGenerator.kt:429 */
       19439  +
            self.header_integer = input.map(|v| v.into());
       19440  +
            self
       19441  +
            /* ServerBuilderGenerator.kt:428 */
       19442  +
        }
       19443  +
        /* ServerBuilderGenerator.kt:331 */
       19444  +
        #[allow(missing_docs)] // documentation missing in model
       19445  +
                               /* ServerBuilderGenerator.kt:343 */
       19446  +
        pub fn header_long(mut self, input: ::std::option::Option<i64>) -> Self {
       19447  +
            /* ServerBuilderGenerator.kt:344 */
       19448  +
            self.header_long =
       19449  +
                /* ServerBuilderGenerator.kt:376 */input
       19450  +
            /* ServerBuilderGenerator.kt:344 */;
       19451  +
            self
       19452  +
            /* ServerBuilderGenerator.kt:343 */
       19453  +
        }
       19454  +
        /* ServerBuilderGenerator.kt:426 */
       19455  +
        #[allow(missing_docs)] // documentation missing in model
       19456  +
                               /* ServerBuilderGenerator.kt:428 */
       19457  +
        pub(crate) fn set_header_long(
       19458  +
            mut self,
       19459  +
            input: Option<impl ::std::convert::Into<i64>>,
       19460  +
        ) -> Self {
       19461  +
            /* ServerBuilderGenerator.kt:429 */
       19462  +
            self.header_long = input.map(|v| v.into());
       19463  +
            self
       19464  +
            /* ServerBuilderGenerator.kt:428 */
       19465  +
        }
       19466  +
        /* ServerBuilderGenerator.kt:331 */
       19467  +
        #[allow(missing_docs)] // documentation missing in model
       19468  +
                               /* ServerBuilderGenerator.kt:343 */
       19469  +
        pub fn header_float(mut self, input: ::std::option::Option<f32>) -> Self {
       19470  +
            /* ServerBuilderGenerator.kt:344 */
       19471  +
            self.header_float =
       19472  +
                /* ServerBuilderGenerator.kt:376 */input
       19473  +
            /* ServerBuilderGenerator.kt:344 */;
       19474  +
            self
       19475  +
            /* ServerBuilderGenerator.kt:343 */
       19476  +
        }
       19477  +
        /* ServerBuilderGenerator.kt:426 */
       19478  +
        #[allow(missing_docs)] // documentation missing in model
       19479  +
                               /* ServerBuilderGenerator.kt:428 */
       19480  +
        pub(crate) fn set_header_float(
       19481  +
            mut self,
       19482  +
            input: Option<impl ::std::convert::Into<f32>>,
       19483  +
        ) -> Self {
       19484  +
            /* ServerBuilderGenerator.kt:429 */
       19485  +
            self.header_float = input.map(|v| v.into());
       19486  +
            self
       19487  +
            /* ServerBuilderGenerator.kt:428 */
       19488  +
        }
       19489  +
        /* ServerBuilderGenerator.kt:331 */
       19490  +
        #[allow(missing_docs)] // documentation missing in model
       19491  +
                               /* ServerBuilderGenerator.kt:343 */
       19492  +
        pub fn header_double(mut self, input: ::std::option::Option<f64>) -> Self {
       19493  +
            /* ServerBuilderGenerator.kt:344 */
       19494  +
            self.header_double =
       19495  +
                /* ServerBuilderGenerator.kt:376 */input
       19496  +
            /* ServerBuilderGenerator.kt:344 */;
       19497  +
            self
       19498  +
            /* ServerBuilderGenerator.kt:343 */
       19499  +
        }
       19500  +
        /* ServerBuilderGenerator.kt:426 */
       19501  +
        #[allow(missing_docs)] // documentation missing in model
       19502  +
                               /* ServerBuilderGenerator.kt:428 */
       19503  +
        pub(crate) fn set_header_double(
       19504  +
            mut self,
       19505  +
            input: Option<impl ::std::convert::Into<f64>>,
       19506  +
        ) -> Self {
       19507  +
            /* ServerBuilderGenerator.kt:429 */
       19508  +
            self.header_double = input.map(|v| v.into());
       19509  +
            self
       19510  +
            /* ServerBuilderGenerator.kt:428 */
       19511  +
        }
       19512  +
        /* ServerBuilderGenerator.kt:331 */
       19513  +
        #[allow(missing_docs)] // documentation missing in model
       19514  +
                               /* ServerBuilderGenerator.kt:343 */
       19515  +
        pub fn header_true_bool(mut self, input: ::std::option::Option<bool>) -> Self {
       19516  +
            /* ServerBuilderGenerator.kt:344 */
       19517  +
            self.header_true_bool =
       19518  +
                /* ServerBuilderGenerator.kt:376 */input
       19519  +
            /* ServerBuilderGenerator.kt:344 */;
       19520  +
            self
       19521  +
            /* ServerBuilderGenerator.kt:343 */
       19522  +
        }
       19523  +
        /* ServerBuilderGenerator.kt:426 */
       19524  +
        #[allow(missing_docs)] // documentation missing in model
       19525  +
                               /* ServerBuilderGenerator.kt:428 */
       19526  +
        pub(crate) fn set_header_true_bool(
       19527  +
            mut self,
       19528  +
            input: Option<impl ::std::convert::Into<bool>>,
       19529  +
        ) -> Self {
       19530  +
            /* ServerBuilderGenerator.kt:429 */
       19531  +
            self.header_true_bool = input.map(|v| v.into());
       19532  +
            self
       19533  +
            /* ServerBuilderGenerator.kt:428 */
       19534  +
        }
       19535  +
        /* ServerBuilderGenerator.kt:331 */
       19536  +
        #[allow(missing_docs)] // documentation missing in model
       19537  +
                               /* ServerBuilderGenerator.kt:343 */
       19538  +
        pub fn header_false_bool(mut self, input: ::std::option::Option<bool>) -> Self {
       19539  +
            /* ServerBuilderGenerator.kt:344 */
       19540  +
            self.header_false_bool =
       19541  +
                /* ServerBuilderGenerator.kt:376 */input
       19542  +
            /* ServerBuilderGenerator.kt:344 */;
       19543  +
            self
       19544  +
            /* ServerBuilderGenerator.kt:343 */
       19545  +
        }
       19546  +
        /* ServerBuilderGenerator.kt:426 */
       19547  +
        #[allow(missing_docs)] // documentation missing in model
       19548  +
                               /* ServerBuilderGenerator.kt:428 */
       19549  +
        pub(crate) fn set_header_false_bool(
       19550  +
            mut self,
       19551  +
            input: Option<impl ::std::convert::Into<bool>>,
       19552  +
        ) -> Self {
       19553  +
            /* ServerBuilderGenerator.kt:429 */
       19554  +
            self.header_false_bool = input.map(|v| v.into());
       19555  +
            self
       19556  +
            /* ServerBuilderGenerator.kt:428 */
       19557  +
        }
       19558  +
        /* ServerBuilderGenerator.kt:331 */
       19559  +
        #[allow(missing_docs)] // documentation missing in model
       19560  +
                               /* ServerBuilderGenerator.kt:343 */
       19561  +
        pub fn header_string_list(
       19562  +
            mut self,
       19563  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
       19564  +
        ) -> Self {
       19565  +
            /* ServerBuilderGenerator.kt:344 */
       19566  +
            self.header_string_list =
       19567  +
                /* ServerBuilderGenerator.kt:376 */input
       19568  +
            /* ServerBuilderGenerator.kt:344 */;
       19569  +
            self
       19570  +
            /* ServerBuilderGenerator.kt:343 */
       19571  +
        }
       19572  +
        /* ServerBuilderGenerator.kt:426 */
       19573  +
        #[allow(missing_docs)] // documentation missing in model
       19574  +
                               /* ServerBuilderGenerator.kt:428 */
       19575  +
        pub(crate) fn set_header_string_list(
       19576  +
            mut self,
       19577  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
       19578  +
        ) -> Self {
       19579  +
            /* ServerBuilderGenerator.kt:429 */
       19580  +
            self.header_string_list = input.map(|v| v.into());
       19581  +
            self
       19582  +
            /* ServerBuilderGenerator.kt:428 */
       19583  +
        }
       19584  +
        /* ServerBuilderGenerator.kt:331 */
       19585  +
        #[allow(missing_docs)] // documentation missing in model
       19586  +
                               /* ServerBuilderGenerator.kt:343 */
       19587  +
        pub fn header_string_set(
       19588  +
            mut self,
       19589  +
            input: ::std::option::Option<crate::model::StringSet>,
       19590  +
        ) -> Self {
       19591  +
            /* ServerBuilderGenerator.kt:344 */
       19592  +
            self.header_string_set =
       19593  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       19594  +
            /* ServerBuilderGenerator.kt:344 */;
       19595  +
            self
       19596  +
            /* ServerBuilderGenerator.kt:343 */
       19597  +
        }
       19598  +
        /* ServerBuilderGenerator.kt:426 */
       19599  +
        #[allow(missing_docs)] // documentation missing in model
       19600  +
                               /* ServerBuilderGenerator.kt:428 */
       19601  +
        pub(crate) fn set_header_string_set(
       19602  +
            mut self,
       19603  +
            input: Option<
       19604  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::StringSet>>,
       19605  +
            >,
       19606  +
        ) -> Self {
       19607  +
            /* ServerBuilderGenerator.kt:429 */
       19608  +
            self.header_string_set = input.map(|v| v.into());
       19609  +
            self
       19610  +
            /* ServerBuilderGenerator.kt:428 */
       19611  +
        }
       19612  +
        /* ServerBuilderGenerator.kt:331 */
       19613  +
        #[allow(missing_docs)] // documentation missing in model
       19614  +
                               /* ServerBuilderGenerator.kt:343 */
       19615  +
        pub fn header_integer_list(
       19616  +
            mut self,
       19617  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       19618  +
        ) -> Self {
       19619  +
            /* ServerBuilderGenerator.kt:344 */
       19620  +
            self.header_integer_list =
       19621  +
                /* ServerBuilderGenerator.kt:376 */input
       19622  +
            /* ServerBuilderGenerator.kt:344 */;
       19623  +
            self
       19624  +
            /* ServerBuilderGenerator.kt:343 */
       19625  +
        }
       19626  +
        /* ServerBuilderGenerator.kt:426 */
       19627  +
        #[allow(missing_docs)] // documentation missing in model
       19628  +
                               /* ServerBuilderGenerator.kt:428 */
       19629  +
        pub(crate) fn set_header_integer_list(
       19630  +
            mut self,
       19631  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       19632  +
        ) -> Self {
       19633  +
            /* ServerBuilderGenerator.kt:429 */
       19634  +
            self.header_integer_list = input.map(|v| v.into());
       19635  +
            self
       19636  +
            /* ServerBuilderGenerator.kt:428 */
       19637  +
        }
       19638  +
        /* ServerBuilderGenerator.kt:331 */
       19639  +
        #[allow(missing_docs)] // documentation missing in model
       19640  +
                               /* ServerBuilderGenerator.kt:343 */
       19641  +
        pub fn header_boolean_list(
       19642  +
            mut self,
       19643  +
            input: ::std::option::Option<::std::vec::Vec<bool>>,
       19644  +
        ) -> Self {
       19645  +
            /* ServerBuilderGenerator.kt:344 */
       19646  +
            self.header_boolean_list =
       19647  +
                /* ServerBuilderGenerator.kt:376 */input
       19648  +
            /* ServerBuilderGenerator.kt:344 */;
       19649  +
            self
       19650  +
            /* ServerBuilderGenerator.kt:343 */
       19651  +
        }
       19652  +
        /* ServerBuilderGenerator.kt:426 */
       19653  +
        #[allow(missing_docs)] // documentation missing in model
       19654  +
                               /* ServerBuilderGenerator.kt:428 */
       19655  +
        pub(crate) fn set_header_boolean_list(
       19656  +
            mut self,
       19657  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<bool>>>,
       19658  +
        ) -> Self {
       19659  +
            /* ServerBuilderGenerator.kt:429 */
       19660  +
            self.header_boolean_list = input.map(|v| v.into());
       19661  +
            self
       19662  +
            /* ServerBuilderGenerator.kt:428 */
       19663  +
        }
       19664  +
        /* ServerBuilderGenerator.kt:331 */
       19665  +
        #[allow(missing_docs)] // documentation missing in model
       19666  +
                               /* ServerBuilderGenerator.kt:343 */
       19667  +
        pub fn header_timestamp_list(
       19668  +
            mut self,
       19669  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
       19670  +
        ) -> Self {
       19671  +
            /* ServerBuilderGenerator.kt:344 */
       19672  +
            self.header_timestamp_list =
       19673  +
                /* ServerBuilderGenerator.kt:376 */input
       19674  +
            /* ServerBuilderGenerator.kt:344 */;
       19675  +
            self
       19676  +
            /* ServerBuilderGenerator.kt:343 */
       19677  +
        }
       19678  +
        /* ServerBuilderGenerator.kt:426 */
       19679  +
        #[allow(missing_docs)] // documentation missing in model
       19680  +
                               /* ServerBuilderGenerator.kt:428 */
       19681  +
        pub(crate) fn set_header_timestamp_list(
       19682  +
            mut self,
       19683  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::aws_smithy_types::DateTime>>>,
       19684  +
        ) -> Self {
       19685  +
            /* ServerBuilderGenerator.kt:429 */
       19686  +
            self.header_timestamp_list = input.map(|v| v.into());
       19687  +
            self
       19688  +
            /* ServerBuilderGenerator.kt:428 */
       19689  +
        }
       19690  +
        /* ServerBuilderGenerator.kt:331 */
       19691  +
        #[allow(missing_docs)] // documentation missing in model
       19692  +
                               /* ServerBuilderGenerator.kt:343 */
       19693  +
        pub fn header_enum(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
       19694  +
            /* ServerBuilderGenerator.kt:344 */
       19695  +
            self.header_enum =
       19696  +
                /* ServerBuilderGenerator.kt:370 */input.map(crate::constrained::MaybeConstrained::Constrained)
       19697  +
            /* ServerBuilderGenerator.kt:344 */;
       19698  +
            self
       19699  +
            /* ServerBuilderGenerator.kt:343 */
       19700  +
        }
       19701  +
        /* ServerBuilderGenerator.kt:426 */
       19702  +
        #[allow(missing_docs)] // documentation missing in model
       19703  +
                               /* ServerBuilderGenerator.kt:428 */
       19704  +
        pub(crate) fn set_header_enum(
       19705  +
            mut self,
       19706  +
            input: Option<
       19707  +
                impl ::std::convert::Into<crate::constrained::MaybeConstrained<crate::model::FooEnum>>,
       19708  +
            >,
       19709  +
        ) -> Self {
       19710  +
            /* ServerBuilderGenerator.kt:429 */
       19711  +
            self.header_enum = input.map(|v| v.into());
       19712  +
            self
       19713  +
            /* ServerBuilderGenerator.kt:428 */
       19714  +
        }
       19715  +
        /* ServerBuilderGenerator.kt:331 */
       19716  +
        #[allow(missing_docs)] // documentation missing in model
       19717  +
                               /* ServerBuilderGenerator.kt:343 */
       19718  +
        pub fn header_enum_list(
       19719  +
            mut self,
       19720  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
       19721  +
        ) -> Self {
       19722  +
            /* ServerBuilderGenerator.kt:344 */
       19723  +
            self.header_enum_list =
       19724  +
                /* ServerBuilderGenerator.kt:363 */input.map(|v|
       19725  +
                    /* ServerBuilderGenerator.kt:365 */crate::constrained::MaybeConstrained::Constrained((v).into())
       19726  +
                /* ServerBuilderGenerator.kt:363 */)
       19727  +
            /* ServerBuilderGenerator.kt:344 */;
       19728  +
            self
       19729  +
            /* ServerBuilderGenerator.kt:343 */
       19730  +
        }
       19731  +
        /* ServerBuilderGenerator.kt:426 */
       19732  +
        #[allow(missing_docs)] // documentation missing in model
       19733  +
                               /* ServerBuilderGenerator.kt:428 */
       19734  +
        pub(crate) fn set_header_enum_list(
       19735  +
            mut self,
       19736  +
            input: Option<
       19737  +
                impl ::std::convert::Into<
       19738  +
                    crate::constrained::MaybeConstrained<
       19739  +
                        crate::constrained::foo_enum_list_constrained::FooEnumListConstrained,
       19740  +
                    >,
       19741  +
                >,
       19742  +
            >,
       19743  +
        ) -> Self {
       19744  +
            /* ServerBuilderGenerator.kt:429 */
       19745  +
            self.header_enum_list = input.map(|v| v.into());
       19746  +
            self
       19747  +
            /* ServerBuilderGenerator.kt:428 */
       19748  +
        }
       19749  +
        /* ServerBuilderGenerator.kt:331 */
       19750  +
        #[allow(missing_docs)] // documentation missing in model
       19751  +
                               /* ServerBuilderGenerator.kt:343 */
       19752  +
        pub fn header_integer_enum(mut self, input: ::std::option::Option<i32>) -> Self {
       19753  +
            /* ServerBuilderGenerator.kt:344 */
       19754  +
            self.header_integer_enum =
       19755  +
                /* ServerBuilderGenerator.kt:376 */input
       19756  +
            /* ServerBuilderGenerator.kt:344 */;
       19757  +
            self
       19758  +
            /* ServerBuilderGenerator.kt:343 */
       19759  +
        }
       19760  +
        /* ServerBuilderGenerator.kt:426 */
       19761  +
        #[allow(missing_docs)] // documentation missing in model
       19762  +
                               /* ServerBuilderGenerator.kt:428 */
       19763  +
        pub(crate) fn set_header_integer_enum(
       19764  +
            mut self,
       19765  +
            input: Option<impl ::std::convert::Into<i32>>,
       19766  +
        ) -> Self {
       19767  +
            /* ServerBuilderGenerator.kt:429 */
       19768  +
            self.header_integer_enum = input.map(|v| v.into());
       19769  +
            self
       19770  +
            /* ServerBuilderGenerator.kt:428 */
       19771  +
        }
       19772  +
        /* ServerBuilderGenerator.kt:331 */
       19773  +
        #[allow(missing_docs)] // documentation missing in model
       19774  +
                               /* ServerBuilderGenerator.kt:343 */
       19775  +
        pub fn header_integer_enum_list(
       19776  +
            mut self,
       19777  +
            input: ::std::option::Option<::std::vec::Vec<i32>>,
       19778  +
        ) -> Self {
       19779  +
            /* ServerBuilderGenerator.kt:344 */
       19780  +
            self.header_integer_enum_list =
       19781  +
                /* ServerBuilderGenerator.kt:376 */input
       19782  +
            /* ServerBuilderGenerator.kt:344 */;
       19783  +
            self
       19784  +
            /* ServerBuilderGenerator.kt:343 */
       19785  +
        }
       19786  +
        /* ServerBuilderGenerator.kt:426 */
       19787  +
        #[allow(missing_docs)] // documentation missing in model
       19788  +
                               /* ServerBuilderGenerator.kt:428 */
       19789  +
        pub(crate) fn set_header_integer_enum_list(
       19790  +
            mut self,
       19791  +
            input: Option<impl ::std::convert::Into<::std::vec::Vec<i32>>>,
       19792  +
        ) -> Self {
       19793  +
            /* ServerBuilderGenerator.kt:429 */
       19794  +
            self.header_integer_enum_list = input.map(|v| v.into());
       19795  +
            self
       19796  +
            /* ServerBuilderGenerator.kt:428 */
       19797  +
        }
       19798  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput).
       19799  +
        /// /* ServerBuilderGenerator.kt:260 */
       19800  +
        /// The builder fails to construct a [`InputAndOutputWithHeadersInput`](crate::input::InputAndOutputWithHeadersInput) if a [`ConstraintViolation`] occurs.
       19801  +
        ///
       19802  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
       19803  +
        /* ServerBuilderGenerator.kt:271 */
       19804  +
        pub fn build(
       19805  +
            self,
       19806  +
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
       19807  +
            self.build_enforcing_all_constraints()
       19808  +
        }
       19809  +
        /* ServerBuilderGenerator.kt:283 */
       19810  +
        fn build_enforcing_all_constraints(
       19811  +
            self,
       19812  +
        ) -> Result<crate::input::InputAndOutputWithHeadersInput, ConstraintViolation> {
       19813  +
            /* ServerBuilderGenerator.kt:287 */
       19814  +
            Ok(
       19815  +
                /* ServerBuilderGenerator.kt:542 */
       19816  +
                crate::input::InputAndOutputWithHeadersInput {
       19817  +
                    /* ServerBuilderGenerator.kt:546 */
       19818  +
                    header_string: self.header_string,
       19819  +
                    /* ServerBuilderGenerator.kt:546 */
       19820  +
                    header_byte: self.header_byte,
       19821  +
                    /* ServerBuilderGenerator.kt:546 */
       19822  +
                    header_short: self.header_short,
       19823  +
                    /* ServerBuilderGenerator.kt:546 */
       19824  +
                    header_integer: self.header_integer,
       19825  +
                    /* ServerBuilderGenerator.kt:546 */
       19826  +
                    header_long: self.header_long,
       19827  +
                    /* ServerBuilderGenerator.kt:546 */
       19828  +
                    header_float: self.header_float,
       19829  +
                    /* ServerBuilderGenerator.kt:546 */
       19830  +
                    header_double: self.header_double,
       19831  +
                    /* ServerBuilderGenerator.kt:546 */
       19832  +
                    header_true_bool: self.header_true_bool,
       19833  +
                    /* ServerBuilderGenerator.kt:546 */
       19834  +
                    header_false_bool: self.header_false_bool,
       19835  +
                    /* ServerBuilderGenerator.kt:546 */
       19836  +
                    header_string_list: self.header_string_list,
       19837  +
                    /* ServerBuilderGenerator.kt:546 */
       19838  +
                    header_string_set: self
       19839  +
                        .header_string_set
       19840  +
                        /* ServerBuilderGenerator.kt:602 */
       19841  +
                        .map(|v| match v {
       19842  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       19843  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       19844  +
                        })
       19845  +
                        /* ServerBuilderGenerator.kt:614 */
       19846  +
                        .map(|res| res.map_err(ConstraintViolation::HeaderStringSet))
       19847  +
                        .transpose()?,
       19848  +
                    /* ServerBuilderGenerator.kt:546 */
       19849  +
                    header_integer_list: self.header_integer_list,
       19850  +
                    /* ServerBuilderGenerator.kt:546 */
       19851  +
                    header_boolean_list: self.header_boolean_list,
       19852  +
                    /* ServerBuilderGenerator.kt:546 */
       19853  +
                    header_timestamp_list: self.header_timestamp_list,
       19854  +
                    /* ServerBuilderGenerator.kt:546 */
       19855  +
                    header_enum: self
       19856  +
                        .header_enum
       19857  +
                        /* ServerBuilderGenerator.kt:602 */
       19858  +
                        .map(|v| match v {
       19859  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       19860  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       19861  +
                        })
       19862  +
                        /* ServerBuilderGenerator.kt:614 */
       19863  +
                        .map(|res| res.map_err(ConstraintViolation::HeaderEnum))
       19864  +
                        .transpose()?,
       19865  +
                    /* ServerBuilderGenerator.kt:546 */
       19866  +
                    header_enum_list: self
       19867  +
                        .header_enum_list
       19868  +
                        /* ServerBuilderGenerator.kt:602 */
       19869  +
                        .map(|v| match v {
       19870  +
                            crate::constrained::MaybeConstrained::Constrained(x) => Ok(x),
       19871  +
                            crate::constrained::MaybeConstrained::Unconstrained(x) => x.try_into(),
       19872  +
                        })
       19873  +
                        /* ServerBuilderGenerator.kt:614 */
       19874  +
                        .map(|res| {
       19875  +
                            res.map(|v| v.into())
       19876  +
                                .map_err(ConstraintViolation::HeaderEnumList)
       19877  +
                        })
       19878  +
                        .transpose()?,
       19879  +
                    /* ServerBuilderGenerator.kt:546 */
       19880  +
                    header_integer_enum: self.header_integer_enum,
       19881  +
                    /* ServerBuilderGenerator.kt:546 */
       19882  +
                    header_integer_enum_list: self.header_integer_enum_list,
       19883  +
                    /* ServerBuilderGenerator.kt:542 */
       19884  +
                }, /* ServerBuilderGenerator.kt:287 */
       19885  +
            )
       19886  +
            /* ServerBuilderGenerator.kt:283 */
       19887  +
        }
       19888  +
        /* ServerBuilderGenerator.kt:215 */
       19889  +
    }
       19890  +
       19891  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19892  +
}
       19893  +
/// /* ServerBuilderGenerator.kt:171 */See [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
       19894  +
pub mod unit_input_and_output_input {
       19895  +
       19896  +
    /* ServerBuilderGenerator.kt:461 */
       19897  +
    impl ::std::convert::From<Builder> for crate::input::UnitInputAndOutputInput {
       19898  +
        fn from(builder: Builder) -> Self {
       19899  +
            builder.build()
       19900  +
        }
       19901  +
    }
       19902  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
       19903  +
    /* RustType.kt:534 */
       19904  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19905  +
    /* ServerBuilderGenerator.kt:211 */
       19906  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19907  +
    /* ServerBuilderGenerator.kt:215 */
       19908  +
    impl Builder {
       19909  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`UnitInputAndOutputInput`](crate::input::UnitInputAndOutputInput).
       19910  +
        /* ServerBuilderGenerator.kt:271 */
       19911  +
        pub fn build(self) -> crate::input::UnitInputAndOutputInput {
       19912  +
            self.build_enforcing_all_constraints()
       19913  +
        }
       19914  +
        /* ServerBuilderGenerator.kt:283 */
       19915  +
        fn build_enforcing_all_constraints(self) -> crate::input::UnitInputAndOutputInput {
       19916  +
            /* ServerBuilderGenerator.kt:542 */
       19917  +
            crate::input::UnitInputAndOutputInput {
       19918  +
            /* ServerBuilderGenerator.kt:542 */}
       19919  +
            /* ServerBuilderGenerator.kt:283 */
       19920  +
        }
       19921  +
        /* ServerBuilderGenerator.kt:215 */
       19922  +
    }
       19923  +
       19924  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19925  +
}
       19926  +
/// /* ServerBuilderGenerator.kt:171 */See [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
       19927  +
pub mod empty_input_and_empty_output_input {
       19928  +
       19929  +
    /* ServerBuilderGenerator.kt:461 */
       19930  +
    impl ::std::convert::From<Builder> for crate::input::EmptyInputAndEmptyOutputInput {
       19931  +
        fn from(builder: Builder) -> Self {
       19932  +
            builder.build()
       19933  +
        }
       19934  +
    }
       19935  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
       19936  +
    /* RustType.kt:534 */
       19937  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19938  +
    /* ServerBuilderGenerator.kt:211 */
       19939  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19940  +
    /* ServerBuilderGenerator.kt:215 */
       19941  +
    impl Builder {
       19942  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput).
       19943  +
        /* ServerBuilderGenerator.kt:271 */
       19944  +
        pub fn build(self) -> crate::input::EmptyInputAndEmptyOutputInput {
       19945  +
            self.build_enforcing_all_constraints()
       19946  +
        }
       19947  +
        /* ServerBuilderGenerator.kt:283 */
       19948  +
        fn build_enforcing_all_constraints(self) -> crate::input::EmptyInputAndEmptyOutputInput {
       19949  +
            /* ServerBuilderGenerator.kt:542 */
       19950  +
            crate::input::EmptyInputAndEmptyOutputInput {
       19951  +
            /* ServerBuilderGenerator.kt:542 */}
       19952  +
            /* ServerBuilderGenerator.kt:283 */
       19953  +
        }
       19954  +
        /* ServerBuilderGenerator.kt:215 */
       19955  +
    }
       19956  +
       19957  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19958  +
}
       19959  +
/// /* ServerBuilderGenerator.kt:171 */See [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
       19960  +
pub mod no_input_and_output_input {
       19961  +
       19962  +
    /* ServerBuilderGenerator.kt:461 */
       19963  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndOutputInput {
       19964  +
        fn from(builder: Builder) -> Self {
       19965  +
            builder.build()
       19966  +
        }
       19967  +
    }
       19968  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
       19969  +
    /* RustType.kt:534 */
       19970  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       19971  +
    /* ServerBuilderGenerator.kt:211 */
       19972  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       19973  +
    /* ServerBuilderGenerator.kt:215 */
       19974  +
    impl Builder {
       19975  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput).
       19976  +
        /* ServerBuilderGenerator.kt:271 */
       19977  +
        pub fn build(self) -> crate::input::NoInputAndOutputInput {
       19978  +
            self.build_enforcing_all_constraints()
       19979  +
        }
       19980  +
        /* ServerBuilderGenerator.kt:283 */
       19981  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndOutputInput {
       19982  +
            /* ServerBuilderGenerator.kt:542 */
       19983  +
            crate::input::NoInputAndOutputInput {
       19984  +
            /* ServerBuilderGenerator.kt:542 */}
       19985  +
            /* ServerBuilderGenerator.kt:283 */
       19986  +
        }
       19987  +
        /* ServerBuilderGenerator.kt:215 */
       19988  +
    }
       19989  +
       19990  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       19991  +
}
       19992  +
/// /* ServerBuilderGenerator.kt:171 */See [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       19993  +
pub mod no_input_and_no_output_input {
       19994  +
       19995  +
    /* ServerBuilderGenerator.kt:461 */
       19996  +
    impl ::std::convert::From<Builder> for crate::input::NoInputAndNoOutputInput {
       19997  +
        fn from(builder: Builder) -> Self {
       19998  +
            builder.build()
       19999  +
        }
       20000  +
    }
       20001  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       20002  +
    /* RustType.kt:534 */
       20003  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
       20004  +
    /* ServerBuilderGenerator.kt:211 */
       20005  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
       20006  +
    /* ServerBuilderGenerator.kt:215 */
       20007  +
    impl Builder {
       20008  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput).
       20009  +
        /* ServerBuilderGenerator.kt:271 */
       20010  +
        pub fn build(self) -> crate::input::NoInputAndNoOutputInput {
       20011  +
            self.build_enforcing_all_constraints()
       20012  +
        }
       20013  +
        /* ServerBuilderGenerator.kt:283 */
       20014  +
        fn build_enforcing_all_constraints(self) -> crate::input::NoInputAndNoOutputInput {
       20015  +
            /* ServerBuilderGenerator.kt:542 */
       20016  +
            crate::input::NoInputAndNoOutputInput {
       20017  +
            /* ServerBuilderGenerator.kt:542 */}
       20018  +
            /* ServerBuilderGenerator.kt:283 */
       20019  +
        }
       20020  +
        /* ServerBuilderGenerator.kt:215 */
       20021  +
    }
       20022  +
       20023  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
       20024  +
}