Server Test

Server Test

rev. 7254d43655ed63111c94f599437f2b0d3f55446e (ignoring whitespace)

Files changed:

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

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

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

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