Server Test

Server Test

rev. d06a46cae0f385cdae37a9f8264db3469a090ab5

Files changed:

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

@@ -0,1 +0,587 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
           4  +
pub struct ContentTypeParameters;
           5  +
           6  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
           7  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
           8  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
           9  +
            "aws.protocoltests.json#ContentTypeParameters",
          10  +
            "aws.protocoltests.json",
          11  +
            "ContentTypeParameters",
          12  +
        );
          13  +
          14  +
    type Input = crate::input::ContentTypeParametersInput;
          15  +
    type Output = crate::output::ContentTypeParametersOutput;
          16  +
    type Error = std::convert::Infallible;
          17  +
}
          18  +
          19  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
          20  +
    for ContentTypeParameters
          21  +
{
          22  +
    type RequestFmt =
          23  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
          24  +
    type ResponseFmt =
          25  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
          26  +
          27  +
    fn request_fmt() -> Self::RequestFmt {
          28  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
          29  +
    }
          30  +
          31  +
    fn response_fmt() -> Self::ResponseFmt {
          32  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
          33  +
    }
          34  +
}
          35  +
          36  +
#[allow(missing_docs)] // documentation missing in model
          37  +
pub struct PutWithContentEncoding;
          38  +
          39  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
          40  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
          41  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
          42  +
            "aws.protocoltests.json#PutWithContentEncoding",
          43  +
            "aws.protocoltests.json",
          44  +
            "PutWithContentEncoding",
          45  +
        );
          46  +
          47  +
    type Input = crate::input::PutWithContentEncodingInput;
          48  +
    type Output = crate::output::PutWithContentEncodingOutput;
          49  +
    type Error = std::convert::Infallible;
          50  +
}
          51  +
          52  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
          53  +
    for PutWithContentEncoding
          54  +
{
          55  +
    type RequestFmt =
          56  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
          57  +
    type ResponseFmt =
          58  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
          59  +
          60  +
    fn request_fmt() -> Self::RequestFmt {
          61  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
          62  +
    }
          63  +
          64  +
    fn response_fmt() -> Self::ResponseFmt {
          65  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
          66  +
    }
          67  +
}
          68  +
          69  +
#[allow(missing_docs)] // documentation missing in model
          70  +
pub struct FractionalSeconds;
          71  +
          72  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
          73  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
          74  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
          75  +
            "aws.protocoltests.json#FractionalSeconds",
          76  +
            "aws.protocoltests.json",
          77  +
            "FractionalSeconds",
          78  +
        );
          79  +
          80  +
    type Input = crate::input::FractionalSecondsInput;
          81  +
    type Output = crate::output::FractionalSecondsOutput;
          82  +
    type Error = std::convert::Infallible;
          83  +
}
          84  +
          85  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
          86  +
    for FractionalSeconds
          87  +
{
          88  +
    type RequestFmt =
          89  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
          90  +
    type ResponseFmt =
          91  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
          92  +
          93  +
    fn request_fmt() -> Self::RequestFmt {
          94  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
          95  +
    }
          96  +
          97  +
    fn response_fmt() -> Self::ResponseFmt {
          98  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
          99  +
    }
         100  +
}
         101  +
         102  +
#[allow(missing_docs)] // documentation missing in model
         103  +
pub struct DatetimeOffsets;
         104  +
         105  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
         106  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         107  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         108  +
            "aws.protocoltests.json#DatetimeOffsets",
         109  +
            "aws.protocoltests.json",
         110  +
            "DatetimeOffsets",
         111  +
        );
         112  +
         113  +
    type Input = crate::input::DatetimeOffsetsInput;
         114  +
    type Output = crate::output::DatetimeOffsetsOutput;
         115  +
    type Error = std::convert::Infallible;
         116  +
}
         117  +
         118  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         119  +
    for DatetimeOffsets
         120  +
{
         121  +
    type RequestFmt =
         122  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         123  +
    type ResponseFmt =
         124  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         125  +
         126  +
    fn request_fmt() -> Self::RequestFmt {
         127  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         128  +
    }
         129  +
         130  +
    fn response_fmt() -> Self::ResponseFmt {
         131  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         132  +
    }
         133  +
}
         134  +
         135  +
#[allow(missing_docs)] // documentation missing in model
         136  +
pub struct HostWithPathOperation;
         137  +
         138  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
         139  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         140  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         141  +
            "aws.protocoltests.json#HostWithPathOperation",
         142  +
            "aws.protocoltests.json",
         143  +
            "HostWithPathOperation",
         144  +
        );
         145  +
         146  +
    type Input = crate::input::HostWithPathOperationInput;
         147  +
    type Output = crate::output::HostWithPathOperationOutput;
         148  +
    type Error = std::convert::Infallible;
         149  +
}
         150  +
         151  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         152  +
    for HostWithPathOperation
         153  +
{
         154  +
    type RequestFmt =
         155  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         156  +
    type ResponseFmt =
         157  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         158  +
         159  +
    fn request_fmt() -> Self::RequestFmt {
         160  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         161  +
    }
         162  +
         163  +
    fn response_fmt() -> Self::ResponseFmt {
         164  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         165  +
    }
         166  +
}
         167  +
         168  +
#[allow(missing_docs)] // documentation missing in model
         169  +
pub struct EndpointWithHostLabelOperation;
         170  +
         171  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
         172  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         173  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         174  +
            "aws.protocoltests.json#EndpointWithHostLabelOperation",
         175  +
            "aws.protocoltests.json",
         176  +
            "EndpointWithHostLabelOperation",
         177  +
        );
         178  +
         179  +
    type Input = crate::input::EndpointWithHostLabelOperationInput;
         180  +
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
         181  +
    type Error = crate::error::EndpointWithHostLabelOperationError;
         182  +
}
         183  +
         184  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         185  +
    for EndpointWithHostLabelOperation
         186  +
{
         187  +
    type RequestFmt =
         188  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         189  +
    type ResponseFmt =
         190  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         191  +
         192  +
    fn request_fmt() -> Self::RequestFmt {
         193  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         194  +
    }
         195  +
         196  +
    fn response_fmt() -> Self::ResponseFmt {
         197  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         198  +
    }
         199  +
}
         200  +
         201  +
#[allow(missing_docs)] // documentation missing in model
         202  +
pub struct EndpointOperation;
         203  +
         204  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
         205  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         206  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         207  +
            "aws.protocoltests.json#EndpointOperation",
         208  +
            "aws.protocoltests.json",
         209  +
            "EndpointOperation",
         210  +
        );
         211  +
         212  +
    type Input = crate::input::EndpointOperationInput;
         213  +
    type Output = crate::output::EndpointOperationOutput;
         214  +
    type Error = std::convert::Infallible;
         215  +
}
         216  +
         217  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         218  +
    for EndpointOperation
         219  +
{
         220  +
    type RequestFmt =
         221  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         222  +
    type ResponseFmt =
         223  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         224  +
         225  +
    fn request_fmt() -> Self::RequestFmt {
         226  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         227  +
    }
         228  +
         229  +
    fn response_fmt() -> Self::ResponseFmt {
         230  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         231  +
    }
         232  +
}
         233  +
         234  +
/// This operation uses unions for inputs and outputs.
         235  +
pub struct JsonUnions;
         236  +
         237  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
         238  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         239  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         240  +
            "aws.protocoltests.json#JsonUnions",
         241  +
            "aws.protocoltests.json",
         242  +
            "JsonUnions",
         243  +
        );
         244  +
         245  +
    type Input = crate::input::JsonUnionsInput;
         246  +
    type Output = crate::output::JsonUnionsOutput;
         247  +
    type Error = crate::error::JsonUnionsError;
         248  +
}
         249  +
         250  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
         251  +
    type RequestFmt =
         252  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         253  +
    type ResponseFmt =
         254  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         255  +
         256  +
    fn request_fmt() -> Self::RequestFmt {
         257  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         258  +
    }
         259  +
         260  +
    fn response_fmt() -> Self::ResponseFmt {
         261  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         262  +
    }
         263  +
}
         264  +
         265  +
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
         266  +
pub struct GreetingWithErrors;
         267  +
         268  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
         269  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         270  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         271  +
            "aws.protocoltests.json#GreetingWithErrors",
         272  +
            "aws.protocoltests.json",
         273  +
            "GreetingWithErrors",
         274  +
        );
         275  +
         276  +
    type Input = crate::input::GreetingWithErrorsInput;
         277  +
    type Output = crate::output::GreetingWithErrorsOutput;
         278  +
    type Error = crate::error::GreetingWithErrorsError;
         279  +
}
         280  +
         281  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         282  +
    for GreetingWithErrors
         283  +
{
         284  +
    type RequestFmt =
         285  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         286  +
    type ResponseFmt =
         287  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         288  +
         289  +
    fn request_fmt() -> Self::RequestFmt {
         290  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         291  +
    }
         292  +
         293  +
    fn response_fmt() -> Self::ResponseFmt {
         294  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         295  +
    }
         296  +
}
         297  +
         298  +
#[allow(missing_docs)] // documentation missing in model
         299  +
pub struct SparseNullsOperation;
         300  +
         301  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseNullsOperation {
         302  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         303  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         304  +
            "aws.protocoltests.json#SparseNullsOperation",
         305  +
            "aws.protocoltests.json",
         306  +
            "SparseNullsOperation",
         307  +
        );
         308  +
         309  +
    type Input = crate::input::SparseNullsOperationInput;
         310  +
    type Output = crate::output::SparseNullsOperationOutput;
         311  +
    type Error = std::convert::Infallible;
         312  +
}
         313  +
         314  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         315  +
    for SparseNullsOperation
         316  +
{
         317  +
    type RequestFmt =
         318  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         319  +
    type ResponseFmt =
         320  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         321  +
         322  +
    fn request_fmt() -> Self::RequestFmt {
         323  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         324  +
    }
         325  +
         326  +
    fn response_fmt() -> Self::ResponseFmt {
         327  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         328  +
    }
         329  +
}
         330  +
         331  +
#[allow(missing_docs)] // documentation missing in model
         332  +
pub struct NullOperation;
         333  +
         334  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullOperation {
         335  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         336  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         337  +
            "aws.protocoltests.json#NullOperation",
         338  +
            "aws.protocoltests.json",
         339  +
            "NullOperation",
         340  +
        );
         341  +
         342  +
    type Input = crate::input::NullOperationInput;
         343  +
    type Output = crate::output::NullOperationOutput;
         344  +
    type Error = std::convert::Infallible;
         345  +
}
         346  +
         347  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for NullOperation {
         348  +
    type RequestFmt =
         349  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         350  +
    type ResponseFmt =
         351  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         352  +
         353  +
    fn request_fmt() -> Self::RequestFmt {
         354  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         355  +
    }
         356  +
         357  +
    fn response_fmt() -> Self::ResponseFmt {
         358  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         359  +
    }
         360  +
}
         361  +
         362  +
/// This example serializes intEnums as top level properties, in lists, sets, and maps.
         363  +
pub struct JsonIntEnums;
         364  +
         365  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
         366  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         367  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         368  +
            "aws.protocoltests.json#JsonIntEnums",
         369  +
            "aws.protocoltests.json",
         370  +
            "JsonIntEnums",
         371  +
        );
         372  +
         373  +
    type Input = crate::input::JsonIntEnumsInput;
         374  +
    type Output = crate::output::JsonIntEnumsOutput;
         375  +
    type Error = crate::error::JsonIntEnumsError;
         376  +
}
         377  +
         378  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
         379  +
    type RequestFmt =
         380  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         381  +
    type ResponseFmt =
         382  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         383  +
         384  +
    fn request_fmt() -> Self::RequestFmt {
         385  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         386  +
    }
         387  +
         388  +
    fn response_fmt() -> Self::ResponseFmt {
         389  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         390  +
    }
         391  +
}
         392  +
         393  +
/// This example serializes enums as top level properties, in lists, sets, and maps.
         394  +
pub struct JsonEnums;
         395  +
         396  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
         397  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         398  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         399  +
            "aws.protocoltests.json#JsonEnums",
         400  +
            "aws.protocoltests.json",
         401  +
            "JsonEnums",
         402  +
        );
         403  +
         404  +
    type Input = crate::input::JsonEnumsInput;
         405  +
    type Output = crate::output::JsonEnumsOutput;
         406  +
    type Error = crate::error::JsonEnumsError;
         407  +
}
         408  +
         409  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
         410  +
    type RequestFmt =
         411  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         412  +
    type ResponseFmt =
         413  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         414  +
         415  +
    fn request_fmt() -> Self::RequestFmt {
         416  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         417  +
    }
         418  +
         419  +
    fn response_fmt() -> Self::ResponseFmt {
         420  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         421  +
    }
         422  +
}
         423  +
         424  +
/// This example serializes an inline document as part of the payload.
         425  +
pub struct PutAndGetInlineDocuments;
         426  +
         427  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutAndGetInlineDocuments {
         428  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         429  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         430  +
            "aws.protocoltests.json#PutAndGetInlineDocuments",
         431  +
            "aws.protocoltests.json",
         432  +
            "PutAndGetInlineDocuments",
         433  +
        );
         434  +
         435  +
    type Input = crate::input::PutAndGetInlineDocumentsInput;
         436  +
    type Output = crate::output::PutAndGetInlineDocumentsOutput;
         437  +
    type Error = std::convert::Infallible;
         438  +
}
         439  +
         440  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         441  +
    for PutAndGetInlineDocuments
         442  +
{
         443  +
    type RequestFmt =
         444  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         445  +
    type ResponseFmt =
         446  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         447  +
         448  +
    fn request_fmt() -> Self::RequestFmt {
         449  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         450  +
    }
         451  +
         452  +
    fn response_fmt() -> Self::ResponseFmt {
         453  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         454  +
    }
         455  +
}
         456  +
         457  +
#[allow(missing_docs)] // documentation missing in model
         458  +
pub struct OperationWithOptionalInputOutput;
         459  +
         460  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         461  +
    for OperationWithOptionalInputOutput
         462  +
{
         463  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         464  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         465  +
            "aws.protocoltests.json#OperationWithOptionalInputOutput",
         466  +
            "aws.protocoltests.json",
         467  +
            "OperationWithOptionalInputOutput",
         468  +
        );
         469  +
         470  +
    type Input = crate::input::OperationWithOptionalInputOutputInput;
         471  +
    type Output = crate::output::OperationWithOptionalInputOutputOutput;
         472  +
    type Error = std::convert::Infallible;
         473  +
}
         474  +
         475  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         476  +
    for OperationWithOptionalInputOutput
         477  +
{
         478  +
    type RequestFmt =
         479  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         480  +
    type ResponseFmt =
         481  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         482  +
         483  +
    fn request_fmt() -> Self::RequestFmt {
         484  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         485  +
    }
         486  +
         487  +
    fn response_fmt() -> Self::ResponseFmt {
         488  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         489  +
    }
         490  +
}
         491  +
         492  +
#[allow(missing_docs)] // documentation missing in model
         493  +
pub struct SimpleScalarProperties;
         494  +
         495  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
         496  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         497  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         498  +
            "aws.protocoltests.json#SimpleScalarProperties",
         499  +
            "aws.protocoltests.json",
         500  +
            "SimpleScalarProperties",
         501  +
        );
         502  +
         503  +
    type Input = crate::input::SimpleScalarPropertiesInput;
         504  +
    type Output = crate::output::SimpleScalarPropertiesOutput;
         505  +
    type Error = std::convert::Infallible;
         506  +
}
         507  +
         508  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         509  +
    for SimpleScalarProperties
         510  +
{
         511  +
    type RequestFmt =
         512  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         513  +
    type ResponseFmt =
         514  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         515  +
         516  +
    fn request_fmt() -> Self::RequestFmt {
         517  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         518  +
    }
         519  +
         520  +
    fn response_fmt() -> Self::ResponseFmt {
         521  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         522  +
    }
         523  +
}
         524  +
         525  +
#[allow(missing_docs)] // documentation missing in model
         526  +
pub struct KitchenSinkOperation;
         527  +
         528  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for KitchenSinkOperation {
         529  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         530  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         531  +
            "aws.protocoltests.json#KitchenSinkOperation",
         532  +
            "aws.protocoltests.json",
         533  +
            "KitchenSinkOperation",
         534  +
        );
         535  +
         536  +
    type Input = crate::input::KitchenSinkOperationInput;
         537  +
    type Output = crate::output::KitchenSinkOperationOutput;
         538  +
    type Error = crate::error::KitchenSinkOperationError;
         539  +
}
         540  +
         541  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         542  +
    for KitchenSinkOperation
         543  +
{
         544  +
    type RequestFmt =
         545  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         546  +
    type ResponseFmt =
         547  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         548  +
         549  +
    fn request_fmt() -> Self::RequestFmt {
         550  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         551  +
    }
         552  +
         553  +
    fn response_fmt() -> Self::ResponseFmt {
         554  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         555  +
    }
         556  +
}
         557  +
         558  +
#[allow(missing_docs)] // documentation missing in model
         559  +
pub struct EmptyOperation;
         560  +
         561  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyOperation {
         562  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
         563  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
         564  +
            "aws.protocoltests.json#EmptyOperation",
         565  +
            "aws.protocoltests.json",
         566  +
            "EmptyOperation",
         567  +
        );
         568  +
         569  +
    type Input = crate::input::EmptyOperationInput;
         570  +
    type Output = crate::output::EmptyOperationOutput;
         571  +
    type Error = std::convert::Infallible;
         572  +
}
         573  +
         574  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for EmptyOperation {
         575  +
    type RequestFmt =
         576  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
         577  +
    type ResponseFmt =
         578  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
         579  +
         580  +
    fn request_fmt() -> Self::RequestFmt {
         581  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
         582  +
    }
         583  +
         584  +
    fn response_fmt() -> Self::ResponseFmt {
         585  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
         586  +
    }
         587  +
}

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

@@ -0,1 +0,1496 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[derive(
           4  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
           5  +
)]
           6  +
pub struct ContentTypeParametersOutput {}
           7  +
impl ContentTypeParametersOutput {
           8  +
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
           9  +
    pub fn builder() -> crate::output::content_type_parameters_output::Builder {
          10  +
        crate::output::content_type_parameters_output::Builder::default()
          11  +
    }
          12  +
}
          13  +
          14  +
#[allow(missing_docs)] // documentation missing in model
          15  +
#[derive(
          16  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          17  +
)]
          18  +
pub struct PutWithContentEncodingOutput {}
          19  +
impl PutWithContentEncodingOutput {
          20  +
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
          21  +
    pub fn builder() -> crate::output::put_with_content_encoding_output::Builder {
          22  +
        crate::output::put_with_content_encoding_output::Builder::default()
          23  +
    }
          24  +
}
          25  +
          26  +
#[allow(missing_docs)] // documentation missing in model
          27  +
#[derive(
          28  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          29  +
)]
          30  +
pub struct FractionalSecondsOutput {
          31  +
    #[allow(missing_docs)] // documentation missing in model
          32  +
    pub datetime: ::std::option::Option<::aws_smithy_types::DateTime>,
          33  +
}
          34  +
impl FractionalSecondsOutput {
          35  +
    #[allow(missing_docs)] // documentation missing in model
          36  +
    pub fn datetime(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          37  +
        self.datetime.as_ref()
          38  +
    }
          39  +
}
          40  +
impl FractionalSecondsOutput {
          41  +
    /// Creates a new builder-style object to manufacture [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
          42  +
    pub fn builder() -> crate::output::fractional_seconds_output::Builder {
          43  +
        crate::output::fractional_seconds_output::Builder::default()
          44  +
    }
          45  +
}
          46  +
          47  +
#[allow(missing_docs)] // documentation missing in model
          48  +
#[derive(
          49  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          50  +
)]
          51  +
pub struct DatetimeOffsetsOutput {
          52  +
    #[allow(missing_docs)] // documentation missing in model
          53  +
    pub datetime: ::std::option::Option<::aws_smithy_types::DateTime>,
          54  +
}
          55  +
impl DatetimeOffsetsOutput {
          56  +
    #[allow(missing_docs)] // documentation missing in model
          57  +
    pub fn datetime(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          58  +
        self.datetime.as_ref()
          59  +
    }
          60  +
}
          61  +
impl DatetimeOffsetsOutput {
          62  +
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
          63  +
    pub fn builder() -> crate::output::datetime_offsets_output::Builder {
          64  +
        crate::output::datetime_offsets_output::Builder::default()
          65  +
    }
          66  +
}
          67  +
          68  +
#[allow(missing_docs)] // documentation missing in model
          69  +
#[derive(
          70  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          71  +
)]
          72  +
pub struct HostWithPathOperationOutput {}
          73  +
impl HostWithPathOperationOutput {
          74  +
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
          75  +
    pub fn builder() -> crate::output::host_with_path_operation_output::Builder {
          76  +
        crate::output::host_with_path_operation_output::Builder::default()
          77  +
    }
          78  +
}
          79  +
          80  +
#[allow(missing_docs)] // documentation missing in model
          81  +
#[derive(
          82  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          83  +
)]
          84  +
pub struct EndpointWithHostLabelOperationOutput {}
          85  +
impl EndpointWithHostLabelOperationOutput {
          86  +
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
          87  +
    pub fn builder() -> crate::output::endpoint_with_host_label_operation_output::Builder {
          88  +
        crate::output::endpoint_with_host_label_operation_output::Builder::default()
          89  +
    }
          90  +
}
          91  +
          92  +
#[allow(missing_docs)] // documentation missing in model
          93  +
#[derive(
          94  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
          95  +
)]
          96  +
pub struct EndpointOperationOutput {}
          97  +
impl EndpointOperationOutput {
          98  +
    /// Creates a new builder-style object to manufacture [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
          99  +
    pub fn builder() -> crate::output::endpoint_operation_output::Builder {
         100  +
        crate::output::endpoint_operation_output::Builder::default()
         101  +
    }
         102  +
}
         103  +
         104  +
/// A shared structure that contains a single union member.
         105  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         106  +
pub struct JsonUnionsOutput {
         107  +
    /// A union with a representative set of types for members.
         108  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
         109  +
}
         110  +
impl JsonUnionsOutput {
         111  +
    /// A union with a representative set of types for members.
         112  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
         113  +
        self.contents.as_ref()
         114  +
    }
         115  +
}
         116  +
impl JsonUnionsOutput {
         117  +
    /// Creates a new builder-style object to manufacture [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
         118  +
    pub fn builder() -> crate::output::json_unions_output::Builder {
         119  +
        crate::output::json_unions_output::Builder::default()
         120  +
    }
         121  +
}
         122  +
         123  +
#[allow(missing_docs)] // documentation missing in model
         124  +
#[derive(
         125  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         126  +
)]
         127  +
pub struct GreetingWithErrorsOutput {
         128  +
    #[allow(missing_docs)] // documentation missing in model
         129  +
    pub greeting: ::std::option::Option<::std::string::String>,
         130  +
}
         131  +
impl GreetingWithErrorsOutput {
         132  +
    #[allow(missing_docs)] // documentation missing in model
         133  +
    pub fn greeting(&self) -> ::std::option::Option<&str> {
         134  +
        self.greeting.as_deref()
         135  +
    }
         136  +
}
         137  +
impl GreetingWithErrorsOutput {
         138  +
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
         139  +
    pub fn builder() -> crate::output::greeting_with_errors_output::Builder {
         140  +
        crate::output::greeting_with_errors_output::Builder::default()
         141  +
    }
         142  +
}
         143  +
         144  +
#[allow(missing_docs)] // documentation missing in model
         145  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         146  +
pub struct SparseNullsOperationOutput {
         147  +
    #[allow(missing_docs)] // documentation missing in model
         148  +
    pub sparse_string_list:
         149  +
        ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
         150  +
    #[allow(missing_docs)] // documentation missing in model
         151  +
    pub sparse_string_map: ::std::option::Option<
         152  +
        ::std::collections::HashMap<
         153  +
            ::std::string::String,
         154  +
            ::std::option::Option<::std::string::String>,
         155  +
        >,
         156  +
    >,
         157  +
}
         158  +
impl SparseNullsOperationOutput {
         159  +
    #[allow(missing_docs)] // documentation missing in model
         160  +
    pub fn sparse_string_list(
         161  +
        &self,
         162  +
    ) -> ::std::option::Option<&[::std::option::Option<::std::string::String>]> {
         163  +
        self.sparse_string_list.as_deref()
         164  +
    }
         165  +
    #[allow(missing_docs)] // documentation missing in model
         166  +
    pub fn sparse_string_map(
         167  +
        &self,
         168  +
    ) -> ::std::option::Option<
         169  +
        &::std::collections::HashMap<
         170  +
            ::std::string::String,
         171  +
            ::std::option::Option<::std::string::String>,
         172  +
        >,
         173  +
    > {
         174  +
        self.sparse_string_map.as_ref()
         175  +
    }
         176  +
}
         177  +
impl SparseNullsOperationOutput {
         178  +
    /// Creates a new builder-style object to manufacture [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
         179  +
    pub fn builder() -> crate::output::sparse_nulls_operation_output::Builder {
         180  +
        crate::output::sparse_nulls_operation_output::Builder::default()
         181  +
    }
         182  +
}
         183  +
         184  +
#[allow(missing_docs)] // documentation missing in model
         185  +
#[derive(
         186  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         187  +
)]
         188  +
pub struct NullOperationOutput {
         189  +
    #[allow(missing_docs)] // documentation missing in model
         190  +
    pub string: ::std::option::Option<::std::string::String>,
         191  +
}
         192  +
impl NullOperationOutput {
         193  +
    #[allow(missing_docs)] // documentation missing in model
         194  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         195  +
        self.string.as_deref()
         196  +
    }
         197  +
}
         198  +
impl NullOperationOutput {
         199  +
    /// Creates a new builder-style object to manufacture [`NullOperationOutput`](crate::output::NullOperationOutput).
         200  +
    pub fn builder() -> crate::output::null_operation_output::Builder {
         201  +
        crate::output::null_operation_output::Builder::default()
         202  +
    }
         203  +
}
         204  +
         205  +
#[allow(missing_docs)] // documentation missing in model
         206  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         207  +
pub struct JsonIntEnumsOutput {
         208  +
    #[allow(missing_docs)] // documentation missing in model
         209  +
    pub int_enum1: ::std::option::Option<i32>,
         210  +
    #[allow(missing_docs)] // documentation missing in model
         211  +
    pub int_enum2: ::std::option::Option<i32>,
         212  +
    #[allow(missing_docs)] // documentation missing in model
         213  +
    pub int_enum3: ::std::option::Option<i32>,
         214  +
    #[allow(missing_docs)] // documentation missing in model
         215  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         216  +
    #[allow(missing_docs)] // documentation missing in model
         217  +
    pub int_enum_set: ::std::option::Option<crate::model::IntegerEnumSet>,
         218  +
    #[allow(missing_docs)] // documentation missing in model
         219  +
    pub int_enum_map:
         220  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         221  +
}
         222  +
impl JsonIntEnumsOutput {
         223  +
    #[allow(missing_docs)] // documentation missing in model
         224  +
    pub fn int_enum1(&self) -> ::std::option::Option<i32> {
         225  +
        self.int_enum1
         226  +
    }
         227  +
    #[allow(missing_docs)] // documentation missing in model
         228  +
    pub fn int_enum2(&self) -> ::std::option::Option<i32> {
         229  +
        self.int_enum2
         230  +
    }
         231  +
    #[allow(missing_docs)] // documentation missing in model
         232  +
    pub fn int_enum3(&self) -> ::std::option::Option<i32> {
         233  +
        self.int_enum3
         234  +
    }
         235  +
    #[allow(missing_docs)] // documentation missing in model
         236  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
         237  +
        self.int_enum_list.as_deref()
         238  +
    }
         239  +
    #[allow(missing_docs)] // documentation missing in model
         240  +
    pub fn int_enum_set(&self) -> ::std::option::Option<&crate::model::IntegerEnumSet> {
         241  +
        self.int_enum_set.as_ref()
         242  +
    }
         243  +
    #[allow(missing_docs)] // documentation missing in model
         244  +
    pub fn int_enum_map(
         245  +
        &self,
         246  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         247  +
        self.int_enum_map.as_ref()
         248  +
    }
         249  +
}
         250  +
impl JsonIntEnumsOutput {
         251  +
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
         252  +
    pub fn builder() -> crate::output::json_int_enums_output::Builder {
         253  +
        crate::output::json_int_enums_output::Builder::default()
         254  +
    }
         255  +
}
         256  +
         257  +
#[allow(missing_docs)] // documentation missing in model
         258  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         259  +
pub struct JsonEnumsOutput {
         260  +
    #[allow(missing_docs)] // documentation missing in model
         261  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
         262  +
    #[allow(missing_docs)] // documentation missing in model
         263  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
         264  +
    #[allow(missing_docs)] // documentation missing in model
         265  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
         266  +
    #[allow(missing_docs)] // documentation missing in model
         267  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         268  +
    #[allow(missing_docs)] // documentation missing in model
         269  +
    pub foo_enum_set: ::std::option::Option<crate::model::FooEnumSet>,
         270  +
    #[allow(missing_docs)] // documentation missing in model
         271  +
    pub foo_enum_map: ::std::option::Option<
         272  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         273  +
    >,
         274  +
}
         275  +
impl JsonEnumsOutput {
         276  +
    #[allow(missing_docs)] // documentation missing in model
         277  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         278  +
        self.foo_enum1.as_ref()
         279  +
    }
         280  +
    #[allow(missing_docs)] // documentation missing in model
         281  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         282  +
        self.foo_enum2.as_ref()
         283  +
    }
         284  +
    #[allow(missing_docs)] // documentation missing in model
         285  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         286  +
        self.foo_enum3.as_ref()
         287  +
    }
         288  +
    #[allow(missing_docs)] // documentation missing in model
         289  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         290  +
        self.foo_enum_list.as_deref()
         291  +
    }
         292  +
    #[allow(missing_docs)] // documentation missing in model
         293  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&crate::model::FooEnumSet> {
         294  +
        self.foo_enum_set.as_ref()
         295  +
    }
         296  +
    #[allow(missing_docs)] // documentation missing in model
         297  +
    pub fn foo_enum_map(
         298  +
        &self,
         299  +
    ) -> ::std::option::Option<
         300  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         301  +
    > {
         302  +
        self.foo_enum_map.as_ref()
         303  +
    }
         304  +
}
         305  +
impl JsonEnumsOutput {
         306  +
    /// Creates a new builder-style object to manufacture [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
         307  +
    pub fn builder() -> crate::output::json_enums_output::Builder {
         308  +
        crate::output::json_enums_output::Builder::default()
         309  +
    }
         310  +
}
         311  +
         312  +
#[allow(missing_docs)] // documentation missing in model
         313  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         314  +
pub struct PutAndGetInlineDocumentsOutput {
         315  +
    #[allow(missing_docs)] // documentation missing in model
         316  +
    pub inline_document: ::std::option::Option<::aws_smithy_types::Document>,
         317  +
}
         318  +
impl PutAndGetInlineDocumentsOutput {
         319  +
    #[allow(missing_docs)] // documentation missing in model
         320  +
    pub fn inline_document(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
         321  +
        self.inline_document.as_ref()
         322  +
    }
         323  +
}
         324  +
impl PutAndGetInlineDocumentsOutput {
         325  +
    /// Creates a new builder-style object to manufacture [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
         326  +
    pub fn builder() -> crate::output::put_and_get_inline_documents_output::Builder {
         327  +
        crate::output::put_and_get_inline_documents_output::Builder::default()
         328  +
    }
         329  +
}
         330  +
         331  +
#[allow(missing_docs)] // documentation missing in model
         332  +
#[derive(
         333  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         334  +
)]
         335  +
pub struct OperationWithOptionalInputOutputOutput {
         336  +
    #[allow(missing_docs)] // documentation missing in model
         337  +
    pub value: ::std::option::Option<::std::string::String>,
         338  +
}
         339  +
impl OperationWithOptionalInputOutputOutput {
         340  +
    #[allow(missing_docs)] // documentation missing in model
         341  +
    pub fn value(&self) -> ::std::option::Option<&str> {
         342  +
        self.value.as_deref()
         343  +
    }
         344  +
}
         345  +
impl OperationWithOptionalInputOutputOutput {
         346  +
    /// Creates a new builder-style object to manufacture [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
         347  +
    pub fn builder() -> crate::output::operation_with_optional_input_output_output::Builder {
         348  +
        crate::output::operation_with_optional_input_output_output::Builder::default()
         349  +
    }
         350  +
}
         351  +
         352  +
#[allow(missing_docs)] // documentation missing in model
         353  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         354  +
pub struct SimpleScalarPropertiesOutput {
         355  +
    #[allow(missing_docs)] // documentation missing in model
         356  +
    pub float_value: ::std::option::Option<f32>,
         357  +
    #[allow(missing_docs)] // documentation missing in model
         358  +
    pub double_value: ::std::option::Option<f64>,
         359  +
}
         360  +
impl SimpleScalarPropertiesOutput {
         361  +
    #[allow(missing_docs)] // documentation missing in model
         362  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
         363  +
        self.float_value
         364  +
    }
         365  +
    #[allow(missing_docs)] // documentation missing in model
         366  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
         367  +
        self.double_value
         368  +
    }
         369  +
}
         370  +
impl SimpleScalarPropertiesOutput {
         371  +
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
         372  +
    pub fn builder() -> crate::output::simple_scalar_properties_output::Builder {
         373  +
        crate::output::simple_scalar_properties_output::Builder::default()
         374  +
    }
         375  +
}
         376  +
         377  +
#[allow(missing_docs)] // documentation missing in model
         378  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         379  +
pub struct KitchenSinkOperationOutput {
         380  +
    #[allow(missing_docs)] // documentation missing in model
         381  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
         382  +
    #[allow(missing_docs)] // documentation missing in model
         383  +
    pub boolean: ::std::option::Option<bool>,
         384  +
    #[allow(missing_docs)] // documentation missing in model
         385  +
    pub double: ::std::option::Option<f64>,
         386  +
    #[allow(missing_docs)] // documentation missing in model
         387  +
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
         388  +
    #[allow(missing_docs)] // documentation missing in model
         389  +
    pub float: ::std::option::Option<f32>,
         390  +
    #[allow(missing_docs)] // documentation missing in model
         391  +
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         392  +
    #[allow(missing_docs)] // documentation missing in model
         393  +
    pub integer: ::std::option::Option<i32>,
         394  +
    #[allow(missing_docs)] // documentation missing in model
         395  +
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         396  +
    #[allow(missing_docs)] // documentation missing in model
         397  +
    pub json_value: ::std::option::Option<::std::string::String>,
         398  +
    #[allow(missing_docs)] // documentation missing in model
         399  +
    pub list_of_lists:
         400  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
         401  +
    #[allow(missing_docs)] // documentation missing in model
         402  +
    pub list_of_maps_of_strings: ::std::option::Option<
         403  +
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         404  +
    >,
         405  +
    #[allow(missing_docs)] // documentation missing in model
         406  +
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         407  +
    #[allow(missing_docs)] // documentation missing in model
         408  +
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         409  +
    #[allow(missing_docs)] // documentation missing in model
         410  +
    pub long: ::std::option::Option<i64>,
         411  +
    #[allow(missing_docs)] // documentation missing in model
         412  +
    pub map_of_lists_of_strings: ::std::option::Option<
         413  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         414  +
    >,
         415  +
    #[allow(missing_docs)] // documentation missing in model
         416  +
    pub map_of_maps: ::std::option::Option<
         417  +
        ::std::collections::HashMap<
         418  +
            ::std::string::String,
         419  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         420  +
        >,
         421  +
    >,
         422  +
    #[allow(missing_docs)] // documentation missing in model
         423  +
    pub map_of_strings: ::std::option::Option<
         424  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         425  +
    >,
         426  +
    #[allow(missing_docs)] // documentation missing in model
         427  +
    pub map_of_structs: ::std::option::Option<
         428  +
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         429  +
    >,
         430  +
    #[allow(missing_docs)] // documentation missing in model
         431  +
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         432  +
    #[allow(missing_docs)] // documentation missing in model
         433  +
    pub recursive_map: ::std::option::Option<
         434  +
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         435  +
    >,
         436  +
    #[allow(missing_docs)] // documentation missing in model
         437  +
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         438  +
    #[allow(missing_docs)] // documentation missing in model
         439  +
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
         440  +
    #[allow(missing_docs)] // documentation missing in model
         441  +
    pub string: ::std::option::Option<::std::string::String>,
         442  +
    #[allow(missing_docs)] // documentation missing in model
         443  +
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         444  +
    #[allow(missing_docs)] // documentation missing in model
         445  +
    pub timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         446  +
    #[allow(missing_docs)] // documentation missing in model
         447  +
    pub unix_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         448  +
}
         449  +
impl KitchenSinkOperationOutput {
         450  +
    #[allow(missing_docs)] // documentation missing in model
         451  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
         452  +
        self.blob.as_ref()
         453  +
    }
         454  +
    #[allow(missing_docs)] // documentation missing in model
         455  +
    pub fn boolean(&self) -> ::std::option::Option<bool> {
         456  +
        self.boolean
         457  +
    }
         458  +
    #[allow(missing_docs)] // documentation missing in model
         459  +
    pub fn double(&self) -> ::std::option::Option<f64> {
         460  +
        self.double
         461  +
    }
         462  +
    #[allow(missing_docs)] // documentation missing in model
         463  +
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
         464  +
        self.empty_struct.as_ref()
         465  +
    }
         466  +
    #[allow(missing_docs)] // documentation missing in model
         467  +
    pub fn float(&self) -> ::std::option::Option<f32> {
         468  +
        self.float
         469  +
    }
         470  +
    #[allow(missing_docs)] // documentation missing in model
         471  +
    pub fn httpdate_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         472  +
        self.httpdate_timestamp.as_ref()
         473  +
    }
         474  +
    #[allow(missing_docs)] // documentation missing in model
         475  +
    pub fn integer(&self) -> ::std::option::Option<i32> {
         476  +
        self.integer
         477  +
    }
         478  +
    #[allow(missing_docs)] // documentation missing in model
         479  +
    pub fn iso8601_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         480  +
        self.iso8601_timestamp.as_ref()
         481  +
    }
         482  +
    #[allow(missing_docs)] // documentation missing in model
         483  +
    pub fn json_value(&self) -> ::std::option::Option<&str> {
         484  +
        self.json_value.as_deref()
         485  +
    }
         486  +
    #[allow(missing_docs)] // documentation missing in model
         487  +
    pub fn list_of_lists(
         488  +
        &self,
         489  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
         490  +
        self.list_of_lists.as_deref()
         491  +
    }
         492  +
    #[allow(missing_docs)] // documentation missing in model
         493  +
    pub fn list_of_maps_of_strings(
         494  +
        &self,
         495  +
    ) -> ::std::option::Option<
         496  +
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
         497  +
    > {
         498  +
        self.list_of_maps_of_strings.as_deref()
         499  +
    }
         500  +
    #[allow(missing_docs)] // documentation missing in model
         501  +
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
         502  +
        self.list_of_strings.as_deref()
         503  +
    }
         504  +
    #[allow(missing_docs)] // documentation missing in model
         505  +
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
         506  +
        self.list_of_structs.as_deref()
         507  +
    }
         508  +
    #[allow(missing_docs)] // documentation missing in model
         509  +
    pub fn long(&self) -> ::std::option::Option<i64> {
         510  +
        self.long
         511  +
    }
         512  +
    #[allow(missing_docs)] // documentation missing in model
         513  +
    pub fn map_of_lists_of_strings(
         514  +
        &self,
         515  +
    ) -> ::std::option::Option<
         516  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         517  +
    > {
         518  +
        self.map_of_lists_of_strings.as_ref()
         519  +
    }
         520  +
    #[allow(missing_docs)] // documentation missing in model
         521  +
    pub fn map_of_maps(
         522  +
        &self,
         523  +
    ) -> ::std::option::Option<
         524  +
        &::std::collections::HashMap<
         525  +
            ::std::string::String,
         526  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         527  +
        >,
         528  +
    > {
         529  +
        self.map_of_maps.as_ref()
         530  +
    }
         531  +
    #[allow(missing_docs)] // documentation missing in model
         532  +
    pub fn map_of_strings(
         533  +
        &self,
         534  +
    ) -> ::std::option::Option<
         535  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         536  +
    > {
         537  +
        self.map_of_strings.as_ref()
         538  +
    }
         539  +
    #[allow(missing_docs)] // documentation missing in model
         540  +
    pub fn map_of_structs(
         541  +
        &self,
         542  +
    ) -> ::std::option::Option<
         543  +
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         544  +
    > {
         545  +
        self.map_of_structs.as_ref()
         546  +
    }
         547  +
    #[allow(missing_docs)] // documentation missing in model
         548  +
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
         549  +
        self.recursive_list.as_deref()
         550  +
    }
         551  +
    #[allow(missing_docs)] // documentation missing in model
         552  +
    pub fn recursive_map(
         553  +
        &self,
         554  +
    ) -> ::std::option::Option<
         555  +
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         556  +
    > {
         557  +
        self.recursive_map.as_ref()
         558  +
    }
         559  +
    #[allow(missing_docs)] // documentation missing in model
         560  +
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
         561  +
        self.recursive_struct.as_deref()
         562  +
    }
         563  +
    #[allow(missing_docs)] // documentation missing in model
         564  +
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
         565  +
        self.simple_struct.as_ref()
         566  +
    }
         567  +
    #[allow(missing_docs)] // documentation missing in model
         568  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         569  +
        self.string.as_deref()
         570  +
    }
         571  +
    #[allow(missing_docs)] // documentation missing in model
         572  +
    pub fn struct_with_json_name(
         573  +
        &self,
         574  +
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
         575  +
        self.struct_with_json_name.as_ref()
         576  +
    }
         577  +
    #[allow(missing_docs)] // documentation missing in model
         578  +
    pub fn timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         579  +
        self.timestamp.as_ref()
         580  +
    }
         581  +
    #[allow(missing_docs)] // documentation missing in model
         582  +
    pub fn unix_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         583  +
        self.unix_timestamp.as_ref()
         584  +
    }
         585  +
}
         586  +
impl KitchenSinkOperationOutput {
         587  +
    /// Creates a new builder-style object to manufacture [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
         588  +
    pub fn builder() -> crate::output::kitchen_sink_operation_output::Builder {
         589  +
        crate::output::kitchen_sink_operation_output::Builder::default()
         590  +
    }
         591  +
}
         592  +
         593  +
#[allow(missing_docs)] // documentation missing in model
         594  +
#[derive(
         595  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         596  +
)]
         597  +
pub struct EmptyOperationOutput {}
         598  +
impl EmptyOperationOutput {
         599  +
    /// Creates a new builder-style object to manufacture [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
         600  +
    pub fn builder() -> crate::output::empty_operation_output::Builder {
         601  +
        crate::output::empty_operation_output::Builder::default()
         602  +
    }
         603  +
}
         604  +
/// See [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
         605  +
pub mod content_type_parameters_output {
         606  +
         607  +
    impl ::std::convert::From<Builder> for crate::output::ContentTypeParametersOutput {
         608  +
        fn from(builder: Builder) -> Self {
         609  +
            builder.build()
         610  +
        }
         611  +
    }
         612  +
    /// A builder for [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
         613  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         614  +
    pub struct Builder {}
         615  +
    impl Builder {
         616  +
        /// Consumes the builder and constructs a [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
         617  +
        pub fn build(self) -> crate::output::ContentTypeParametersOutput {
         618  +
            self.build_enforcing_all_constraints()
         619  +
        }
         620  +
        fn build_enforcing_all_constraints(self) -> crate::output::ContentTypeParametersOutput {
         621  +
            crate::output::ContentTypeParametersOutput {}
         622  +
        }
         623  +
    }
         624  +
}
         625  +
/// See [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
         626  +
pub mod put_with_content_encoding_output {
         627  +
         628  +
    impl ::std::convert::From<Builder> for crate::output::PutWithContentEncodingOutput {
         629  +
        fn from(builder: Builder) -> Self {
         630  +
            builder.build()
         631  +
        }
         632  +
    }
         633  +
    /// A builder for [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
         634  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         635  +
    pub struct Builder {}
         636  +
    impl Builder {
         637  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
         638  +
        pub fn build(self) -> crate::output::PutWithContentEncodingOutput {
         639  +
            self.build_enforcing_all_constraints()
         640  +
        }
         641  +
        fn build_enforcing_all_constraints(self) -> crate::output::PutWithContentEncodingOutput {
         642  +
            crate::output::PutWithContentEncodingOutput {}
         643  +
        }
         644  +
    }
         645  +
}
         646  +
/// See [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
         647  +
pub mod fractional_seconds_output {
         648  +
         649  +
    impl ::std::convert::From<Builder> for crate::output::FractionalSecondsOutput {
         650  +
        fn from(builder: Builder) -> Self {
         651  +
            builder.build()
         652  +
        }
         653  +
    }
         654  +
    /// A builder for [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
         655  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         656  +
    pub struct Builder {
         657  +
        pub(crate) datetime: ::std::option::Option<::aws_smithy_types::DateTime>,
         658  +
    }
         659  +
    impl Builder {
         660  +
        #[allow(missing_docs)] // documentation missing in model
         661  +
        pub fn datetime(
         662  +
            mut self,
         663  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
         664  +
        ) -> Self {
         665  +
            self.datetime = input;
         666  +
            self
         667  +
        }
         668  +
        /// Consumes the builder and constructs a [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
         669  +
        pub fn build(self) -> crate::output::FractionalSecondsOutput {
         670  +
            self.build_enforcing_all_constraints()
         671  +
        }
         672  +
        fn build_enforcing_all_constraints(self) -> crate::output::FractionalSecondsOutput {
         673  +
            crate::output::FractionalSecondsOutput {
         674  +
                datetime: self.datetime,
         675  +
            }
         676  +
        }
         677  +
    }
         678  +
}
         679  +
/// See [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
         680  +
pub mod datetime_offsets_output {
         681  +
         682  +
    impl ::std::convert::From<Builder> for crate::output::DatetimeOffsetsOutput {
         683  +
        fn from(builder: Builder) -> Self {
         684  +
            builder.build()
         685  +
        }
         686  +
    }
         687  +
    /// A builder for [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
         688  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         689  +
    pub struct Builder {
         690  +
        pub(crate) datetime: ::std::option::Option<::aws_smithy_types::DateTime>,
         691  +
    }
         692  +
    impl Builder {
         693  +
        #[allow(missing_docs)] // documentation missing in model
         694  +
        pub fn datetime(
         695  +
            mut self,
         696  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
         697  +
        ) -> Self {
         698  +
            self.datetime = input;
         699  +
            self
         700  +
        }
         701  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
         702  +
        pub fn build(self) -> crate::output::DatetimeOffsetsOutput {
         703  +
            self.build_enforcing_all_constraints()
         704  +
        }
         705  +
        fn build_enforcing_all_constraints(self) -> crate::output::DatetimeOffsetsOutput {
         706  +
            crate::output::DatetimeOffsetsOutput {
         707  +
                datetime: self.datetime,
         708  +
            }
         709  +
        }
         710  +
    }
         711  +
}
         712  +
/// See [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
         713  +
pub mod host_with_path_operation_output {
         714  +
         715  +
    impl ::std::convert::From<Builder> for crate::output::HostWithPathOperationOutput {
         716  +
        fn from(builder: Builder) -> Self {
         717  +
            builder.build()
         718  +
        }
         719  +
    }
         720  +
    /// A builder for [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
         721  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         722  +
    pub struct Builder {}
         723  +
    impl Builder {
         724  +
        /// Consumes the builder and constructs a [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
         725  +
        pub fn build(self) -> crate::output::HostWithPathOperationOutput {
         726  +
            self.build_enforcing_all_constraints()
         727  +
        }
         728  +
        fn build_enforcing_all_constraints(self) -> crate::output::HostWithPathOperationOutput {
         729  +
            crate::output::HostWithPathOperationOutput {}
         730  +
        }
         731  +
    }
         732  +
}
         733  +
/// See [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
         734  +
pub mod endpoint_with_host_label_operation_output {
         735  +
         736  +
    impl ::std::convert::From<Builder> for crate::output::EndpointWithHostLabelOperationOutput {
         737  +
        fn from(builder: Builder) -> Self {
         738  +
            builder.build()
         739  +
        }
         740  +
    }
         741  +
    /// A builder for [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
         742  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         743  +
    pub struct Builder {}
         744  +
    impl Builder {
         745  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
         746  +
        pub fn build(self) -> crate::output::EndpointWithHostLabelOperationOutput {
         747  +
            self.build_enforcing_all_constraints()
         748  +
        }
         749  +
        fn build_enforcing_all_constraints(
         750  +
            self,
         751  +
        ) -> crate::output::EndpointWithHostLabelOperationOutput {
         752  +
            crate::output::EndpointWithHostLabelOperationOutput {}
         753  +
        }
         754  +
    }
         755  +
}
         756  +
/// See [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
         757  +
pub mod endpoint_operation_output {
         758  +
         759  +
    impl ::std::convert::From<Builder> for crate::output::EndpointOperationOutput {
         760  +
        fn from(builder: Builder) -> Self {
         761  +
            builder.build()
         762  +
        }
         763  +
    }
         764  +
    /// A builder for [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
         765  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         766  +
    pub struct Builder {}
         767  +
    impl Builder {
         768  +
        /// Consumes the builder and constructs a [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
         769  +
        pub fn build(self) -> crate::output::EndpointOperationOutput {
         770  +
            self.build_enforcing_all_constraints()
         771  +
        }
         772  +
        fn build_enforcing_all_constraints(self) -> crate::output::EndpointOperationOutput {
         773  +
            crate::output::EndpointOperationOutput {}
         774  +
        }
         775  +
    }
         776  +
}
         777  +
/// See [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
         778  +
pub mod json_unions_output {
         779  +
         780  +
    impl ::std::convert::From<Builder> for crate::output::JsonUnionsOutput {
         781  +
        fn from(builder: Builder) -> Self {
         782  +
            builder.build()
         783  +
        }
         784  +
    }
         785  +
    /// A builder for [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
         786  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         787  +
    pub struct Builder {
         788  +
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
         789  +
    }
         790  +
    impl Builder {
         791  +
        /// A union with a representative set of types for members.
         792  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
         793  +
            self.contents = input;
         794  +
            self
         795  +
        }
         796  +
        /// Consumes the builder and constructs a [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
         797  +
        pub fn build(self) -> crate::output::JsonUnionsOutput {
         798  +
            self.build_enforcing_all_constraints()
         799  +
        }
         800  +
        fn build_enforcing_all_constraints(self) -> crate::output::JsonUnionsOutput {
         801  +
            crate::output::JsonUnionsOutput {
         802  +
                contents: self.contents,
         803  +
            }
         804  +
        }
         805  +
    }
         806  +
}
         807  +
/// See [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
         808  +
pub mod greeting_with_errors_output {
         809  +
         810  +
    impl ::std::convert::From<Builder> for crate::output::GreetingWithErrorsOutput {
         811  +
        fn from(builder: Builder) -> Self {
         812  +
            builder.build()
         813  +
        }
         814  +
    }
         815  +
    /// A builder for [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
         816  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         817  +
    pub struct Builder {
         818  +
        pub(crate) greeting: ::std::option::Option<::std::string::String>,
         819  +
    }
         820  +
    impl Builder {
         821  +
        #[allow(missing_docs)] // documentation missing in model
         822  +
        pub fn greeting(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         823  +
            self.greeting = input;
         824  +
            self
         825  +
        }
         826  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
         827  +
        pub fn build(self) -> crate::output::GreetingWithErrorsOutput {
         828  +
            self.build_enforcing_all_constraints()
         829  +
        }
         830  +
        fn build_enforcing_all_constraints(self) -> crate::output::GreetingWithErrorsOutput {
         831  +
            crate::output::GreetingWithErrorsOutput {
         832  +
                greeting: self.greeting,
         833  +
            }
         834  +
        }
         835  +
    }
         836  +
}
         837  +
/// See [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
         838  +
pub mod sparse_nulls_operation_output {
         839  +
         840  +
    impl ::std::convert::From<Builder> for crate::output::SparseNullsOperationOutput {
         841  +
        fn from(builder: Builder) -> Self {
         842  +
            builder.build()
         843  +
        }
         844  +
    }
         845  +
    /// A builder for [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
         846  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         847  +
    pub struct Builder {
         848  +
        pub(crate) sparse_string_list:
         849  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
         850  +
        pub(crate) sparse_string_map: ::std::option::Option<
         851  +
            ::std::collections::HashMap<
         852  +
                ::std::string::String,
         853  +
                ::std::option::Option<::std::string::String>,
         854  +
            >,
         855  +
        >,
         856  +
    }
         857  +
    impl Builder {
         858  +
        #[allow(missing_docs)] // documentation missing in model
         859  +
        pub fn sparse_string_list(
         860  +
            mut self,
         861  +
            input: ::std::option::Option<
         862  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
         863  +
            >,
         864  +
        ) -> Self {
         865  +
            self.sparse_string_list = input;
         866  +
            self
         867  +
        }
         868  +
        #[allow(missing_docs)] // documentation missing in model
         869  +
        pub fn sparse_string_map(
         870  +
            mut self,
         871  +
            input: ::std::option::Option<
         872  +
                ::std::collections::HashMap<
         873  +
                    ::std::string::String,
         874  +
                    ::std::option::Option<::std::string::String>,
         875  +
                >,
         876  +
            >,
         877  +
        ) -> Self {
         878  +
            self.sparse_string_map = input;
         879  +
            self
         880  +
        }
         881  +
        /// Consumes the builder and constructs a [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
         882  +
        pub fn build(self) -> crate::output::SparseNullsOperationOutput {
         883  +
            self.build_enforcing_all_constraints()
         884  +
        }
         885  +
        fn build_enforcing_all_constraints(self) -> crate::output::SparseNullsOperationOutput {
         886  +
            crate::output::SparseNullsOperationOutput {
         887  +
                sparse_string_list: self.sparse_string_list,
         888  +
                sparse_string_map: self.sparse_string_map,
         889  +
            }
         890  +
        }
         891  +
    }
         892  +
}
         893  +
/// See [`NullOperationOutput`](crate::output::NullOperationOutput).
         894  +
pub mod null_operation_output {
         895  +
         896  +
    impl ::std::convert::From<Builder> for crate::output::NullOperationOutput {
         897  +
        fn from(builder: Builder) -> Self {
         898  +
            builder.build()
         899  +
        }
         900  +
    }
         901  +
    /// A builder for [`NullOperationOutput`](crate::output::NullOperationOutput).
         902  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         903  +
    pub struct Builder {
         904  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
         905  +
    }
         906  +
    impl Builder {
         907  +
        #[allow(missing_docs)] // documentation missing in model
         908  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         909  +
            self.string = input;
         910  +
            self
         911  +
        }
         912  +
        /// Consumes the builder and constructs a [`NullOperationOutput`](crate::output::NullOperationOutput).
         913  +
        pub fn build(self) -> crate::output::NullOperationOutput {
         914  +
            self.build_enforcing_all_constraints()
         915  +
        }
         916  +
        fn build_enforcing_all_constraints(self) -> crate::output::NullOperationOutput {
         917  +
            crate::output::NullOperationOutput {
         918  +
                string: self.string,
         919  +
            }
         920  +
        }
         921  +
    }
         922  +
}
         923  +
/// See [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
         924  +
pub mod json_int_enums_output {
         925  +
         926  +
    impl ::std::convert::From<Builder> for crate::output::JsonIntEnumsOutput {
         927  +
        fn from(builder: Builder) -> Self {
         928  +
            builder.build()
         929  +
        }
         930  +
    }
         931  +
    /// A builder for [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
         932  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         933  +
    pub struct Builder {
         934  +
        pub(crate) int_enum1: ::std::option::Option<i32>,
         935  +
        pub(crate) int_enum2: ::std::option::Option<i32>,
         936  +
        pub(crate) int_enum3: ::std::option::Option<i32>,
         937  +
        pub(crate) int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         938  +
        pub(crate) int_enum_set: ::std::option::Option<crate::model::IntegerEnumSet>,
         939  +
        pub(crate) int_enum_map:
         940  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         941  +
    }
         942  +
    impl Builder {
         943  +
        #[allow(missing_docs)] // documentation missing in model
         944  +
        pub fn int_enum1(mut self, input: ::std::option::Option<i32>) -> Self {
         945  +
            self.int_enum1 = input;
         946  +
            self
         947  +
        }
         948  +
        #[allow(missing_docs)] // documentation missing in model
         949  +
        pub fn int_enum2(mut self, input: ::std::option::Option<i32>) -> Self {
         950  +
            self.int_enum2 = input;
         951  +
            self
         952  +
        }
         953  +
        #[allow(missing_docs)] // documentation missing in model
         954  +
        pub fn int_enum3(mut self, input: ::std::option::Option<i32>) -> Self {
         955  +
            self.int_enum3 = input;
         956  +
            self
         957  +
        }
         958  +
        #[allow(missing_docs)] // documentation missing in model
         959  +
        pub fn int_enum_list(mut self, input: ::std::option::Option<::std::vec::Vec<i32>>) -> Self {
         960  +
            self.int_enum_list = input;
         961  +
            self
         962  +
        }
         963  +
        #[allow(missing_docs)] // documentation missing in model
         964  +
        pub fn int_enum_set(
         965  +
            mut self,
         966  +
            input: ::std::option::Option<crate::model::IntegerEnumSet>,
         967  +
        ) -> Self {
         968  +
            self.int_enum_set = input;
         969  +
            self
         970  +
        }
         971  +
        #[allow(missing_docs)] // documentation missing in model
         972  +
        pub fn int_enum_map(
         973  +
            mut self,
         974  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         975  +
        ) -> Self {
         976  +
            self.int_enum_map = input;
         977  +
            self
         978  +
        }
         979  +
        /// Consumes the builder and constructs a [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
         980  +
        pub fn build(self) -> crate::output::JsonIntEnumsOutput {
         981  +
            self.build_enforcing_all_constraints()
         982  +
        }
         983  +
        fn build_enforcing_all_constraints(self) -> crate::output::JsonIntEnumsOutput {
         984  +
            crate::output::JsonIntEnumsOutput {
         985  +
                int_enum1: self.int_enum1,
         986  +
                int_enum2: self.int_enum2,
         987  +
                int_enum3: self.int_enum3,
         988  +
                int_enum_list: self.int_enum_list,
         989  +
                int_enum_set: self.int_enum_set,
         990  +
                int_enum_map: self.int_enum_map,
         991  +
            }
         992  +
        }
         993  +
    }
         994  +
}
         995  +
/// See [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
         996  +
pub mod json_enums_output {
         997  +
         998  +
    impl ::std::convert::From<Builder> for crate::output::JsonEnumsOutput {
         999  +
        fn from(builder: Builder) -> Self {
        1000  +
            builder.build()
        1001  +
        }
        1002  +
    }
        1003  +
    /// A builder for [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
        1004  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1005  +
    pub struct Builder {
        1006  +
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        1007  +
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        1008  +
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        1009  +
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1010  +
        pub(crate) foo_enum_set: ::std::option::Option<crate::model::FooEnumSet>,
        1011  +
        pub(crate) foo_enum_map: ::std::option::Option<
        1012  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        1013  +
        >,
        1014  +
    }
        1015  +
    impl Builder {
        1016  +
        #[allow(missing_docs)] // documentation missing in model
        1017  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1018  +
            self.foo_enum1 = input;
        1019  +
            self
        1020  +
        }
        1021  +
        #[allow(missing_docs)] // documentation missing in model
        1022  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1023  +
            self.foo_enum2 = input;
        1024  +
            self
        1025  +
        }
        1026  +
        #[allow(missing_docs)] // documentation missing in model
        1027  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1028  +
            self.foo_enum3 = input;
        1029  +
            self
        1030  +
        }
        1031  +
        #[allow(missing_docs)] // documentation missing in model
        1032  +
        pub fn foo_enum_list(
        1033  +
            mut self,
        1034  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1035  +
        ) -> Self {
        1036  +
            self.foo_enum_list = input;
        1037  +
            self
        1038  +
        }
        1039  +
        #[allow(missing_docs)] // documentation missing in model
        1040  +
        pub fn foo_enum_set(
        1041  +
            mut self,
        1042  +
            input: ::std::option::Option<crate::model::FooEnumSet>,
        1043  +
        ) -> Self {
        1044  +
            self.foo_enum_set = input;
        1045  +
            self
        1046  +
        }
        1047  +
        #[allow(missing_docs)] // documentation missing in model
        1048  +
        pub fn foo_enum_map(
        1049  +
            mut self,
        1050  +
            input: ::std::option::Option<
        1051  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        1052  +
            >,
        1053  +
        ) -> Self {
        1054  +
            self.foo_enum_map = input;
        1055  +
            self
        1056  +
        }
        1057  +
        /// Consumes the builder and constructs a [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
        1058  +
        pub fn build(self) -> crate::output::JsonEnumsOutput {
        1059  +
            self.build_enforcing_all_constraints()
        1060  +
        }
        1061  +
        fn build_enforcing_all_constraints(self) -> crate::output::JsonEnumsOutput {
        1062  +
            crate::output::JsonEnumsOutput {
        1063  +
                foo_enum1: self.foo_enum1,
        1064  +
                foo_enum2: self.foo_enum2,
        1065  +
                foo_enum3: self.foo_enum3,
        1066  +
                foo_enum_list: self.foo_enum_list,
        1067  +
                foo_enum_set: self.foo_enum_set,
        1068  +
                foo_enum_map: self.foo_enum_map,
        1069  +
            }
        1070  +
        }
        1071  +
    }
        1072  +
}
        1073  +
/// See [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
        1074  +
pub mod put_and_get_inline_documents_output {
        1075  +
        1076  +
    impl ::std::convert::From<Builder> for crate::output::PutAndGetInlineDocumentsOutput {
        1077  +
        fn from(builder: Builder) -> Self {
        1078  +
            builder.build()
        1079  +
        }
        1080  +
    }
        1081  +
    /// A builder for [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
        1082  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1083  +
    pub struct Builder {
        1084  +
        pub(crate) inline_document: ::std::option::Option<::aws_smithy_types::Document>,
        1085  +
    }
        1086  +
    impl Builder {
        1087  +
        #[allow(missing_docs)] // documentation missing in model
        1088  +
        pub fn inline_document(
        1089  +
            mut self,
        1090  +
            input: ::std::option::Option<::aws_smithy_types::Document>,
        1091  +
        ) -> Self {
        1092  +
            self.inline_document = input;
        1093  +
            self
        1094  +
        }
        1095  +
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
        1096  +
        pub fn build(self) -> crate::output::PutAndGetInlineDocumentsOutput {
        1097  +
            self.build_enforcing_all_constraints()
        1098  +
        }
        1099  +
        fn build_enforcing_all_constraints(self) -> crate::output::PutAndGetInlineDocumentsOutput {
        1100  +
            crate::output::PutAndGetInlineDocumentsOutput {
        1101  +
                inline_document: self.inline_document,
        1102  +
            }
        1103  +
        }
        1104  +
    }
        1105  +
}
        1106  +
/// See [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
        1107  +
pub mod operation_with_optional_input_output_output {
        1108  +
        1109  +
    impl ::std::convert::From<Builder> for crate::output::OperationWithOptionalInputOutputOutput {
        1110  +
        fn from(builder: Builder) -> Self {
        1111  +
            builder.build()
        1112  +
        }
        1113  +
    }
        1114  +
    /// A builder for [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
        1115  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1116  +
    pub struct Builder {
        1117  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
        1118  +
    }
        1119  +
    impl Builder {
        1120  +
        #[allow(missing_docs)] // documentation missing in model
        1121  +
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1122  +
            self.value = input;
        1123  +
            self
        1124  +
        }
        1125  +
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
        1126  +
        pub fn build(self) -> crate::output::OperationWithOptionalInputOutputOutput {
        1127  +
            self.build_enforcing_all_constraints()
        1128  +
        }
        1129  +
        fn build_enforcing_all_constraints(
        1130  +
            self,
        1131  +
        ) -> crate::output::OperationWithOptionalInputOutputOutput {
        1132  +
            crate::output::OperationWithOptionalInputOutputOutput { value: self.value }
        1133  +
        }
        1134  +
    }
        1135  +
}
        1136  +
/// See [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        1137  +
pub mod simple_scalar_properties_output {
        1138  +
        1139  +
    impl ::std::convert::From<Builder> for crate::output::SimpleScalarPropertiesOutput {
        1140  +
        fn from(builder: Builder) -> Self {
        1141  +
            builder.build()
        1142  +
        }
        1143  +
    }
        1144  +
    /// A builder for [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        1145  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1146  +
    pub struct Builder {
        1147  +
        pub(crate) float_value: ::std::option::Option<f32>,
        1148  +
        pub(crate) double_value: ::std::option::Option<f64>,
        1149  +
    }
        1150  +
    impl Builder {
        1151  +
        #[allow(missing_docs)] // documentation missing in model
        1152  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
        1153  +
            self.float_value = input;
        1154  +
            self
        1155  +
        }
        1156  +
        #[allow(missing_docs)] // documentation missing in model
        1157  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
        1158  +
            self.double_value = input;
        1159  +
            self
        1160  +
        }
        1161  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        1162  +
        pub fn build(self) -> crate::output::SimpleScalarPropertiesOutput {
        1163  +
            self.build_enforcing_all_constraints()
        1164  +
        }
        1165  +
        fn build_enforcing_all_constraints(self) -> crate::output::SimpleScalarPropertiesOutput {
        1166  +
            crate::output::SimpleScalarPropertiesOutput {
        1167  +
                float_value: self.float_value,
        1168  +
                double_value: self.double_value,
        1169  +
            }
        1170  +
        }
        1171  +
    }
        1172  +
}
        1173  +
/// See [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        1174  +
pub mod kitchen_sink_operation_output {
        1175  +
        1176  +
    impl ::std::convert::From<Builder> for crate::output::KitchenSinkOperationOutput {
        1177  +
        fn from(builder: Builder) -> Self {
        1178  +
            builder.build()
        1179  +
        }
        1180  +
    }
        1181  +
    /// A builder for [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        1182  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1183  +
    pub struct Builder {
        1184  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
        1185  +
        pub(crate) boolean: ::std::option::Option<bool>,
        1186  +
        pub(crate) double: ::std::option::Option<f64>,
        1187  +
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        1188  +
        pub(crate) float: ::std::option::Option<f32>,
        1189  +
        pub(crate) httpdate_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1190  +
        pub(crate) integer: ::std::option::Option<i32>,
        1191  +
        pub(crate) iso8601_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1192  +
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        1193  +
        pub(crate) list_of_lists:
        1194  +
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1195  +
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
        1196  +
            ::std::vec::Vec<
        1197  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1198  +
            >,
        1199  +
        >,
        1200  +
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1201  +
        pub(crate) list_of_structs:
        1202  +
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1203  +
        pub(crate) long: ::std::option::Option<i64>,
        1204  +
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
        1205  +
            ::std::collections::HashMap<
        1206  +
                ::std::string::String,
        1207  +
                ::std::vec::Vec<::std::string::String>,
        1208  +
            >,
        1209  +
        >,
        1210  +
        pub(crate) map_of_maps: ::std::option::Option<
        1211  +
            ::std::collections::HashMap<
        1212  +
                ::std::string::String,
        1213  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1214  +
            >,
        1215  +
        >,
        1216  +
        pub(crate) map_of_strings: ::std::option::Option<
        1217  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1218  +
        >,
        1219  +
        pub(crate) map_of_structs: ::std::option::Option<
        1220  +
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1221  +
        >,
        1222  +
        pub(crate) recursive_list:
        1223  +
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1224  +
        pub(crate) recursive_map: ::std::option::Option<
        1225  +
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1226  +
        >,
        1227  +
        pub(crate) recursive_struct:
        1228  +
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1229  +
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1230  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1231  +
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1232  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1233  +
        pub(crate) unix_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1234  +
    }
        1235  +
    impl Builder {
        1236  +
        #[allow(missing_docs)] // documentation missing in model
        1237  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        1238  +
            self.blob = input;
        1239  +
            self
        1240  +
        }
        1241  +
        #[allow(missing_docs)] // documentation missing in model
        1242  +
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
        1243  +
            self.boolean = input;
        1244  +
            self
        1245  +
        }
        1246  +
        #[allow(missing_docs)] // documentation missing in model
        1247  +
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
        1248  +
            self.double = input;
        1249  +
            self
        1250  +
        }
        1251  +
        #[allow(missing_docs)] // documentation missing in model
        1252  +
        pub fn empty_struct(
        1253  +
            mut self,
        1254  +
            input: ::std::option::Option<crate::model::EmptyStruct>,
        1255  +
        ) -> Self {
        1256  +
            self.empty_struct = input;
        1257  +
            self
        1258  +
        }
        1259  +
        #[allow(missing_docs)] // documentation missing in model
        1260  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
        1261  +
            self.float = input;
        1262  +
            self
        1263  +
        }
        1264  +
        #[allow(missing_docs)] // documentation missing in model
        1265  +
        pub fn httpdate_timestamp(
        1266  +
            mut self,
        1267  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1268  +
        ) -> Self {
        1269  +
            self.httpdate_timestamp = input;
        1270  +
            self
        1271  +
        }
        1272  +
        #[allow(missing_docs)] // documentation missing in model
        1273  +
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
        1274  +
            self.integer = input;
        1275  +
            self
        1276  +
        }
        1277  +
        #[allow(missing_docs)] // documentation missing in model
        1278  +
        pub fn iso8601_timestamp(
        1279  +
            mut self,
        1280  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1281  +
        ) -> Self {
        1282  +
            self.iso8601_timestamp = input;
        1283  +
            self
        1284  +
        }
        1285  +
        #[allow(missing_docs)] // documentation missing in model
        1286  +
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1287  +
            self.json_value = input;
        1288  +
            self
        1289  +
        }
        1290  +
        #[allow(missing_docs)] // documentation missing in model
        1291  +
        pub fn list_of_lists(
        1292  +
            mut self,
        1293  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1294  +
        ) -> Self {
        1295  +
            self.list_of_lists = input;
        1296  +
            self
        1297  +
        }
        1298  +
        #[allow(missing_docs)] // documentation missing in model
        1299  +
        pub fn list_of_maps_of_strings(
        1300  +
            mut self,
        1301  +
            input: ::std::option::Option<
        1302  +
                ::std::vec::Vec<
        1303  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1304  +
                >,
        1305  +
            >,
        1306  +
        ) -> Self {
        1307  +
            self.list_of_maps_of_strings = input;
        1308  +
            self
        1309  +
        }
        1310  +
        #[allow(missing_docs)] // documentation missing in model
        1311  +
        pub fn list_of_strings(
        1312  +
            mut self,
        1313  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1314  +
        ) -> Self {
        1315  +
            self.list_of_strings = input;
        1316  +
            self
        1317  +
        }
        1318  +
        #[allow(missing_docs)] // documentation missing in model
        1319  +
        pub fn list_of_structs(
        1320  +
            mut self,
        1321  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1322  +
        ) -> Self {
        1323  +
            self.list_of_structs = input;
        1324  +
            self
        1325  +
        }
        1326  +
        #[allow(missing_docs)] // documentation missing in model
        1327  +
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
        1328  +
            self.long = input;
        1329  +
            self
        1330  +
        }
        1331  +
        #[allow(missing_docs)] // documentation missing in model
        1332  +
        pub fn map_of_lists_of_strings(
        1333  +
            mut self,
        1334  +
            input: ::std::option::Option<
        1335  +
                ::std::collections::HashMap<
        1336  +
                    ::std::string::String,
        1337  +
                    ::std::vec::Vec<::std::string::String>,
        1338  +
                >,
        1339  +
            >,
        1340  +
        ) -> Self {
        1341  +
            self.map_of_lists_of_strings = input;
        1342  +
            self
        1343  +
        }
        1344  +
        #[allow(missing_docs)] // documentation missing in model
        1345  +
        pub fn map_of_maps(
        1346  +
            mut self,
        1347  +
            input: ::std::option::Option<
        1348  +
                ::std::collections::HashMap<
        1349  +
                    ::std::string::String,
        1350  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1351  +
                >,
        1352  +
            >,
        1353  +
        ) -> Self {
        1354  +
            self.map_of_maps = input;
        1355  +
            self
        1356  +
        }
        1357  +
        #[allow(missing_docs)] // documentation missing in model
        1358  +
        pub fn map_of_strings(
        1359  +
            mut self,
        1360  +
            input: ::std::option::Option<
        1361  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1362  +
            >,
        1363  +
        ) -> Self {
        1364  +
            self.map_of_strings = input;
        1365  +
            self
        1366  +
        }
        1367  +
        #[allow(missing_docs)] // documentation missing in model
        1368  +
        pub fn map_of_structs(
        1369  +
            mut self,
        1370  +
            input: ::std::option::Option<
        1371  +
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1372  +
            >,
        1373  +
        ) -> Self {
        1374  +
            self.map_of_structs = input;
        1375  +
            self
        1376  +
        }
        1377  +
        #[allow(missing_docs)] // documentation missing in model
        1378  +
        pub fn recursive_list(
        1379  +
            mut self,
        1380  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1381  +
        ) -> Self {
        1382  +
            self.recursive_list = input;
        1383  +
            self
        1384  +
        }
        1385  +
        #[allow(missing_docs)] // documentation missing in model
        1386  +
        pub fn recursive_map(
        1387  +
            mut self,
        1388  +
            input: ::std::option::Option<
        1389  +
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1390  +
            >,
        1391  +
        ) -> Self {
        1392  +
            self.recursive_map = input;
        1393  +
            self
        1394  +
        }
        1395  +
        #[allow(missing_docs)] // documentation missing in model
        1396  +
        pub fn recursive_struct(
        1397  +
            mut self,
        1398  +
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1399  +
        ) -> Self {
        1400  +
            self.recursive_struct = input;
        1401  +
            self
        1402  +
        }
        1403  +
        #[allow(missing_docs)] // documentation missing in model
        1404  +
        pub fn simple_struct(
        1405  +
            mut self,
        1406  +
            input: ::std::option::Option<crate::model::SimpleStruct>,
        1407  +
        ) -> Self {
        1408  +
            self.simple_struct = input;
        1409  +
            self
        1410  +
        }
        1411  +
        #[allow(missing_docs)] // documentation missing in model
        1412  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1413  +
            self.string = input;
        1414  +
            self
        1415  +
        }
        1416  +
        #[allow(missing_docs)] // documentation missing in model
        1417  +
        pub fn struct_with_json_name(
        1418  +
            mut self,
        1419  +
            input: ::std::option::Option<crate::model::StructWithJsonName>,
        1420  +
        ) -> Self {
        1421  +
            self.struct_with_json_name = input;
        1422  +
            self
        1423  +
        }
        1424  +
        #[allow(missing_docs)] // documentation missing in model
        1425  +
        pub fn timestamp(
        1426  +
            mut self,
        1427  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1428  +
        ) -> Self {
        1429  +
            self.timestamp = input;
        1430  +
            self
        1431  +
        }
        1432  +
        #[allow(missing_docs)] // documentation missing in model
        1433  +
        pub fn unix_timestamp(
        1434  +
            mut self,
        1435  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1436  +
        ) -> Self {
        1437  +
            self.unix_timestamp = input;
        1438  +
            self
        1439  +
        }
        1440  +
        /// Consumes the builder and constructs a [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        1441  +
        pub fn build(self) -> crate::output::KitchenSinkOperationOutput {
        1442  +
            self.build_enforcing_all_constraints()
        1443  +
        }
        1444  +
        fn build_enforcing_all_constraints(self) -> crate::output::KitchenSinkOperationOutput {
        1445  +
            crate::output::KitchenSinkOperationOutput {
        1446  +
                blob: self.blob,
        1447  +
                boolean: self.boolean,
        1448  +
                double: self.double,
        1449  +
                empty_struct: self.empty_struct,
        1450  +
                float: self.float,
        1451  +
                httpdate_timestamp: self.httpdate_timestamp,
        1452  +
                integer: self.integer,
        1453  +
                iso8601_timestamp: self.iso8601_timestamp,
        1454  +
                json_value: self.json_value,
        1455  +
                list_of_lists: self.list_of_lists,
        1456  +
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        1457  +
                list_of_strings: self.list_of_strings,
        1458  +
                list_of_structs: self.list_of_structs,
        1459  +
                long: self.long,
        1460  +
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        1461  +
                map_of_maps: self.map_of_maps,
        1462  +
                map_of_strings: self.map_of_strings,
        1463  +
                map_of_structs: self.map_of_structs,
        1464  +
                recursive_list: self.recursive_list,
        1465  +
                recursive_map: self.recursive_map,
        1466  +
                recursive_struct: self.recursive_struct,
        1467  +
                simple_struct: self.simple_struct,
        1468  +
                string: self.string,
        1469  +
                struct_with_json_name: self.struct_with_json_name,
        1470  +
                timestamp: self.timestamp,
        1471  +
                unix_timestamp: self.unix_timestamp,
        1472  +
            }
        1473  +
        }
        1474  +
    }
        1475  +
}
        1476  +
/// See [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        1477  +
pub mod empty_operation_output {
        1478  +
        1479  +
    impl ::std::convert::From<Builder> for crate::output::EmptyOperationOutput {
        1480  +
        fn from(builder: Builder) -> Self {
        1481  +
            builder.build()
        1482  +
        }
        1483  +
    }
        1484  +
    /// A builder for [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        1485  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1486  +
    pub struct Builder {}
        1487  +
    impl Builder {
        1488  +
        /// Consumes the builder and constructs a [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        1489  +
        pub fn build(self) -> crate::output::EmptyOperationOutput {
        1490  +
            self.build_enforcing_all_constraints()
        1491  +
        }
        1492  +
        fn build_enforcing_all_constraints(self) -> crate::output::EmptyOperationOutput {
        1493  +
            crate::output::EmptyOperationOutput {}
        1494  +
        }
        1495  +
    }
        1496  +
}