Server Test

Server Test

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

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

@@ -1,1 +528,529 @@
    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 QueryIncompatibleOperation;
    4      2   
    5         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryIncompatibleOperation {
           3  +
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input or output. While this should be rare, code generators must support this.
           4  +
pub struct NoInputAndNoOutput;
           5  +
           6  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndNoOutput {
    6      7   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
    7      8   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
    8         -
            "aws.protocoltests.json10#QueryIncompatibleOperation",
           9  +
            "aws.protocoltests.json10#NoInputAndNoOutput",
    9     10   
            "aws.protocoltests.json10",
   10         -
            "QueryIncompatibleOperation",
          11  +
            "NoInputAndNoOutput",
   11     12   
        );
   12     13   
   13         -
    type Input = crate::input::QueryIncompatibleOperationInput;
   14         -
    type Output = crate::output::QueryIncompatibleOperationOutput;
          14  +
    type Input = crate::input::NoInputAndNoOutputInput;
          15  +
    type Output = crate::output::NoInputAndNoOutputOutput;
   15     16   
    type Error = std::convert::Infallible;
   16     17   
}
   17     18   
   18     19   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   19         -
    for QueryIncompatibleOperation
          20  +
    for NoInputAndNoOutput
   20     21   
{
   21     22   
    type RequestFmt =
   22     23   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   23     24   
    type ResponseFmt =
   24     25   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   25     26   
   26     27   
    fn request_fmt() -> Self::RequestFmt {
   27     28   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   28     29   
    }
   29     30   
   30     31   
    fn response_fmt() -> Self::ResponseFmt {
   31     32   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   32     33   
    }
   33     34   
}
   34     35   
   35         -
#[allow(missing_docs)] // documentation missing in model
   36         -
pub struct OperationWithRequiredMembersWithDefaults;
          36  +
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input and the output is empty. While this should be rare, code generators must support this.
          37  +
pub struct NoInputAndOutput;
   37     38   
   38         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
   39         -
    for OperationWithRequiredMembersWithDefaults
   40         -
{
          39  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndOutput {
   41     40   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   42     41   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   43         -
            "aws.protocoltests.json10#OperationWithRequiredMembersWithDefaults",
          42  +
            "aws.protocoltests.json10#NoInputAndOutput",
   44     43   
            "aws.protocoltests.json10",
   45         -
            "OperationWithRequiredMembersWithDefaults",
          44  +
            "NoInputAndOutput",
   46     45   
        );
   47     46   
   48         -
    type Input = crate::input::OperationWithRequiredMembersWithDefaultsInput;
   49         -
    type Output = crate::output::OperationWithRequiredMembersWithDefaultsOutput;
          47  +
    type Input = crate::input::NoInputAndOutputInput;
          48  +
    type Output = crate::output::NoInputAndOutputOutput;
   50     49   
    type Error = std::convert::Infallible;
   51     50   
}
   52     51   
   53     52   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   54         -
    for OperationWithRequiredMembersWithDefaults
          53  +
    for NoInputAndOutput
   55     54   
{
   56     55   
    type RequestFmt =
   57     56   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   58     57   
    type ResponseFmt =
   59     58   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   60     59   
   61     60   
    fn request_fmt() -> Self::RequestFmt {
   62     61   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   63     62   
    }
   64     63   
   65     64   
    fn response_fmt() -> Self::ResponseFmt {
   66     65   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   67     66   
    }
   68     67   
}
   69     68   
   70         -
#[allow(missing_docs)] // documentation missing in model
   71         -
pub struct OperationWithNestedStructure;
          69  +
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has an empty input and empty output structure that reuses the same shape. While this should be rare, code generators must support this.
          70  +
pub struct EmptyInputAndEmptyOutput;
   72     71   
   73         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithNestedStructure {
          72  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyInputAndEmptyOutput {
   74     73   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   75     74   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   76         -
            "aws.protocoltests.json10#OperationWithNestedStructure",
          75  +
            "aws.protocoltests.json10#EmptyInputAndEmptyOutput",
   77     76   
            "aws.protocoltests.json10",
   78         -
            "OperationWithNestedStructure",
          77  +
            "EmptyInputAndEmptyOutput",
   79     78   
        );
   80     79   
   81         -
    type Input = crate::input::OperationWithNestedStructureInput;
   82         -
    type Output = crate::output::OperationWithNestedStructureOutput;
   83         -
    type Error = crate::error::OperationWithNestedStructureError;
          80  +
    type Input = crate::input::EmptyInputAndEmptyOutputInput;
          81  +
    type Output = crate::output::EmptyInputAndEmptyOutputOutput;
          82  +
    type Error = std::convert::Infallible;
   84     83   
}
   85     84   
   86     85   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   87         -
    for OperationWithNestedStructure
          86  +
    for EmptyInputAndEmptyOutput
   88     87   
{
   89     88   
    type RequestFmt =
   90     89   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   91     90   
    type ResponseFmt =
   92     91   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   93     92   
   94     93   
    fn request_fmt() -> Self::RequestFmt {
   95     94   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   96     95   
    }
   97     96   
   98     97   
    fn response_fmt() -> Self::ResponseFmt {
   99     98   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  100     99   
    }
  101    100   
}
  102    101   
  103    102   
#[allow(missing_docs)] // documentation missing in model
  104         -
pub struct OperationWithRequiredMembers;
         103  +
pub struct SimpleScalarProperties;
  105    104   
  106         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithRequiredMembers {
         105  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
  107    106   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  108    107   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  109         -
            "aws.protocoltests.json10#OperationWithRequiredMembers",
         108  +
            "aws.protocoltests.json10#SimpleScalarProperties",
  110    109   
            "aws.protocoltests.json10",
  111         -
            "OperationWithRequiredMembers",
         110  +
            "SimpleScalarProperties",
  112    111   
        );
  113    112   
  114         -
    type Input = crate::input::OperationWithRequiredMembersInput;
  115         -
    type Output = crate::output::OperationWithRequiredMembersOutput;
         113  +
    type Input = crate::input::SimpleScalarPropertiesInput;
         114  +
    type Output = crate::output::SimpleScalarPropertiesOutput;
  116    115   
    type Error = std::convert::Infallible;
  117    116   
}
  118    117   
  119    118   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  120         -
    for OperationWithRequiredMembers
         119  +
    for SimpleScalarProperties
  121    120   
{
  122    121   
    type RequestFmt =
  123    122   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  124    123   
    type ResponseFmt =
  125    124   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  126    125   
  127    126   
    fn request_fmt() -> Self::RequestFmt {
  128    127   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  129    128   
    }
  130    129   
  131    130   
    fn response_fmt() -> Self::ResponseFmt {
  132    131   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  133    132   
    }
  134    133   
}
  135    134   
  136         -
#[allow(missing_docs)] // documentation missing in model
  137         -
pub struct OperationWithDefaults;
         135  +
/// 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.
         136  +
pub struct GreetingWithErrors;
  138    137   
  139         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithDefaults {
         138  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
  140    139   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  141    140   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  142         -
            "aws.protocoltests.json10#OperationWithDefaults",
         141  +
            "aws.protocoltests.json10#GreetingWithErrors",
  143    142   
            "aws.protocoltests.json10",
  144         -
            "OperationWithDefaults",
         143  +
            "GreetingWithErrors",
  145    144   
        );
  146    145   
  147         -
    type Input = crate::input::OperationWithDefaultsInput;
  148         -
    type Output = crate::output::OperationWithDefaultsOutput;
  149         -
    type Error = crate::error::OperationWithDefaultsError;
         146  +
    type Input = crate::input::GreetingWithErrorsInput;
         147  +
    type Output = crate::output::GreetingWithErrorsOutput;
         148  +
    type Error = crate::error::GreetingWithErrorsError;
  150    149   
}
  151    150   
  152    151   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  153         -
    for OperationWithDefaults
         152  +
    for GreetingWithErrors
  154    153   
{
  155    154   
    type RequestFmt =
  156    155   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  157    156   
    type ResponseFmt =
  158    157   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  159    158   
  160    159   
    fn request_fmt() -> Self::RequestFmt {
  161    160   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  162    161   
    }
  163    162   
  164    163   
    fn response_fmt() -> Self::ResponseFmt {
  165    164   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  166    165   
    }
  167    166   
}
  168    167   
  169         -
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
  170         -
pub struct ContentTypeParameters;
         168  +
/// This operation uses unions for inputs and outputs.
         169  +
pub struct JsonUnions;
  171    170   
  172         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
         171  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
  173    172   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  174    173   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  175         -
            "aws.protocoltests.json10#ContentTypeParameters",
         174  +
            "aws.protocoltests.json10#JsonUnions",
  176    175   
            "aws.protocoltests.json10",
  177         -
            "ContentTypeParameters",
         176  +
            "JsonUnions",
  178    177   
        );
  179    178   
  180         -
    type Input = crate::input::ContentTypeParametersInput;
  181         -
    type Output = crate::output::ContentTypeParametersOutput;
  182         -
    type Error = std::convert::Infallible;
         179  +
    type Input = crate::input::JsonUnionsInput;
         180  +
    type Output = crate::output::JsonUnionsOutput;
         181  +
    type Error = crate::error::JsonUnionsError;
  183    182   
}
  184    183   
  185         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  186         -
    for ContentTypeParameters
  187         -
{
         184  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
  188    185   
    type RequestFmt =
  189    186   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  190    187   
    type ResponseFmt =
  191    188   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  192    189   
  193    190   
    fn request_fmt() -> Self::RequestFmt {
  194    191   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  195    192   
    }
  196    193   
  197    194   
    fn response_fmt() -> Self::ResponseFmt {
  198    195   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  199    196   
    }
  200    197   
}
  201    198   
  202    199   
#[allow(missing_docs)] // documentation missing in model
  203         -
pub struct PutWithContentEncoding;
         200  +
pub struct EndpointOperation;
  204    201   
  205         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
         202  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
  206    203   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  207    204   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  208         -
            "aws.protocoltests.json10#PutWithContentEncoding",
         205  +
            "aws.protocoltests.json10#EndpointOperation",
  209    206   
            "aws.protocoltests.json10",
  210         -
            "PutWithContentEncoding",
         207  +
            "EndpointOperation",
  211    208   
        );
  212    209   
  213         -
    type Input = crate::input::PutWithContentEncodingInput;
  214         -
    type Output = crate::output::PutWithContentEncodingOutput;
         210  +
    type Input = crate::input::EndpointOperationInput;
         211  +
    type Output = crate::output::EndpointOperationOutput;
  215    212   
    type Error = std::convert::Infallible;
  216    213   
}
  217    214   
  218    215   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  219         -
    for PutWithContentEncoding
         216  +
    for EndpointOperation
  220    217   
{
  221    218   
    type RequestFmt =
  222    219   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  223    220   
    type ResponseFmt =
  224    221   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  225    222   
  226    223   
    fn request_fmt() -> Self::RequestFmt {
  227    224   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  228    225   
    }
  229    226   
  230    227   
    fn response_fmt() -> Self::ResponseFmt {
  231    228   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  232    229   
    }
  233    230   
}
  234    231   
  235    232   
#[allow(missing_docs)] // documentation missing in model
  236         -
pub struct HostWithPathOperation;
         233  +
pub struct EndpointWithHostLabelOperation;
  237    234   
  238         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
         235  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
  239    236   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  240    237   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  241         -
            "aws.protocoltests.json10#HostWithPathOperation",
         238  +
            "aws.protocoltests.json10#EndpointWithHostLabelOperation",
  242    239   
            "aws.protocoltests.json10",
  243         -
            "HostWithPathOperation",
         240  +
            "EndpointWithHostLabelOperation",
  244    241   
        );
  245    242   
  246         -
    type Input = crate::input::HostWithPathOperationInput;
  247         -
    type Output = crate::output::HostWithPathOperationOutput;
  248         -
    type Error = std::convert::Infallible;
         243  +
    type Input = crate::input::EndpointWithHostLabelOperationInput;
         244  +
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
         245  +
    type Error = crate::error::EndpointWithHostLabelOperationError;
  249    246   
}
  250    247   
  251    248   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  252         -
    for HostWithPathOperation
         249  +
    for EndpointWithHostLabelOperation
  253    250   
{
  254    251   
    type RequestFmt =
  255    252   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  256    253   
    type ResponseFmt =
  257    254   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  258    255   
  259    256   
    fn request_fmt() -> Self::RequestFmt {
  260    257   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  261    258   
    }
  262    259   
  263    260   
    fn response_fmt() -> Self::ResponseFmt {
  264    261   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  265    262   
    }
  266    263   
}
  267    264   
  268    265   
#[allow(missing_docs)] // documentation missing in model
  269         -
pub struct EndpointWithHostLabelOperation;
         266  +
pub struct HostWithPathOperation;
  270    267   
  271         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
         268  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
  272    269   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  273    270   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  274         -
            "aws.protocoltests.json10#EndpointWithHostLabelOperation",
         271  +
            "aws.protocoltests.json10#HostWithPathOperation",
  275    272   
            "aws.protocoltests.json10",
  276         -
            "EndpointWithHostLabelOperation",
         273  +
            "HostWithPathOperation",
  277    274   
        );
  278    275   
  279         -
    type Input = crate::input::EndpointWithHostLabelOperationInput;
  280         -
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
  281         -
    type Error = crate::error::EndpointWithHostLabelOperationError;
         276  +
    type Input = crate::input::HostWithPathOperationInput;
         277  +
    type Output = crate::output::HostWithPathOperationOutput;
         278  +
    type Error = std::convert::Infallible;
  282    279   
}
  283    280   
  284    281   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  285         -
    for EndpointWithHostLabelOperation
         282  +
    for HostWithPathOperation
  286    283   
{
  287    284   
    type RequestFmt =
  288    285   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  289    286   
    type ResponseFmt =
  290    287   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  291    288   
  292    289   
    fn request_fmt() -> Self::RequestFmt {
  293    290   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  294    291   
    }
  295    292   
  296    293   
    fn response_fmt() -> Self::ResponseFmt {
  297    294   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  298    295   
    }
  299    296   
}
  300    297   
  301    298   
#[allow(missing_docs)] // documentation missing in model
  302         -
pub struct EndpointOperation;
         299  +
pub struct PutWithContentEncoding;
  303    300   
  304         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
         301  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
  305    302   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  306    303   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  307         -
            "aws.protocoltests.json10#EndpointOperation",
         304  +
            "aws.protocoltests.json10#PutWithContentEncoding",
  308    305   
            "aws.protocoltests.json10",
  309         -
            "EndpointOperation",
         306  +
            "PutWithContentEncoding",
  310    307   
        );
  311    308   
  312         -
    type Input = crate::input::EndpointOperationInput;
  313         -
    type Output = crate::output::EndpointOperationOutput;
         309  +
    type Input = crate::input::PutWithContentEncodingInput;
         310  +
    type Output = crate::output::PutWithContentEncodingOutput;
  314    311   
    type Error = std::convert::Infallible;
  315    312   
}
  316    313   
  317    314   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  318         -
    for EndpointOperation
         315  +
    for PutWithContentEncoding
  319    316   
{
  320    317   
    type RequestFmt =
  321    318   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  322    319   
    type ResponseFmt =
  323    320   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  324    321   
  325    322   
    fn request_fmt() -> Self::RequestFmt {
  326    323   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  327    324   
    }
  328    325   
  329    326   
    fn response_fmt() -> Self::ResponseFmt {
  330    327   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  331    328   
    }
  332    329   
}
  333    330   
  334         -
/// This operation uses unions for inputs and outputs.
  335         -
pub struct JsonUnions;
         331  +
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
         332  +
pub struct ContentTypeParameters;
  336    333   
  337         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
         334  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
  338    335   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  339    336   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  340         -
            "aws.protocoltests.json10#JsonUnions",
         337  +
            "aws.protocoltests.json10#ContentTypeParameters",
  341    338   
            "aws.protocoltests.json10",
  342         -
            "JsonUnions",
         339  +
            "ContentTypeParameters",
  343    340   
        );
  344    341   
  345         -
    type Input = crate::input::JsonUnionsInput;
  346         -
    type Output = crate::output::JsonUnionsOutput;
  347         -
    type Error = crate::error::JsonUnionsError;
         342  +
    type Input = crate::input::ContentTypeParametersInput;
         343  +
    type Output = crate::output::ContentTypeParametersOutput;
         344  +
    type Error = std::convert::Infallible;
  348    345   
}
  349    346   
  350         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
         347  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         348  +
    for ContentTypeParameters
         349  +
{
  351    350   
    type RequestFmt =
  352    351   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  353    352   
    type ResponseFmt =
  354    353   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  355    354   
  356    355   
    fn request_fmt() -> Self::RequestFmt {
  357    356   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  358    357   
    }
  359    358   
  360    359   
    fn response_fmt() -> Self::ResponseFmt {
  361    360   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  362    361   
    }
  363    362   
}
  364    363   
  365         -
/// 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.
  366         -
pub struct GreetingWithErrors;
         364  +
#[allow(missing_docs)] // documentation missing in model
         365  +
pub struct OperationWithDefaults;
  367    366   
  368         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
         367  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithDefaults {
  369    368   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  370    369   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  371         -
            "aws.protocoltests.json10#GreetingWithErrors",
         370  +
            "aws.protocoltests.json10#OperationWithDefaults",
  372    371   
            "aws.protocoltests.json10",
  373         -
            "GreetingWithErrors",
         372  +
            "OperationWithDefaults",
  374    373   
        );
  375    374   
  376         -
    type Input = crate::input::GreetingWithErrorsInput;
  377         -
    type Output = crate::output::GreetingWithErrorsOutput;
  378         -
    type Error = crate::error::GreetingWithErrorsError;
         375  +
    type Input = crate::input::OperationWithDefaultsInput;
         376  +
    type Output = crate::output::OperationWithDefaultsOutput;
         377  +
    type Error = crate::error::OperationWithDefaultsError;
  379    378   
}
  380    379   
  381    380   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  382         -
    for GreetingWithErrors
         381  +
    for OperationWithDefaults
  383    382   
{
  384    383   
    type RequestFmt =
  385    384   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  386    385   
    type ResponseFmt =
  387    386   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  388    387   
  389    388   
    fn request_fmt() -> Self::RequestFmt {
  390    389   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  391    390   
    }
  392    391   
  393    392   
    fn response_fmt() -> Self::ResponseFmt {
  394    393   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  395    394   
    }
  396    395   
}
  397    396   
  398    397   
#[allow(missing_docs)] // documentation missing in model
  399         -
pub struct SimpleScalarProperties;
         398  +
pub struct OperationWithRequiredMembers;
  400    399   
  401         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
         400  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithRequiredMembers {
  402    401   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  403    402   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  404         -
            "aws.protocoltests.json10#SimpleScalarProperties",
         403  +
            "aws.protocoltests.json10#OperationWithRequiredMembers",
  405    404   
            "aws.protocoltests.json10",
  406         -
            "SimpleScalarProperties",
         405  +
            "OperationWithRequiredMembers",
  407    406   
        );
  408    407   
  409         -
    type Input = crate::input::SimpleScalarPropertiesInput;
  410         -
    type Output = crate::output::SimpleScalarPropertiesOutput;
         408  +
    type Input = crate::input::OperationWithRequiredMembersInput;
         409  +
    type Output = crate::output::OperationWithRequiredMembersOutput;
  411    410   
    type Error = std::convert::Infallible;
  412    411   
}
  413    412   
  414    413   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  415         -
    for SimpleScalarProperties
         414  +
    for OperationWithRequiredMembers
  416    415   
{
  417    416   
    type RequestFmt =
  418    417   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  419    418   
    type ResponseFmt =
  420    419   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  421    420   
  422    421   
    fn request_fmt() -> Self::RequestFmt {
  423    422   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  424    423   
    }
  425    424   
  426    425   
    fn response_fmt() -> Self::ResponseFmt {
  427    426   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  428    427   
    }
  429    428   
}
  430    429   
  431         -
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has an empty input and empty output structure that reuses the same shape. While this should be rare, code generators must support this.
  432         -
pub struct EmptyInputAndEmptyOutput;
         430  +
#[allow(missing_docs)] // documentation missing in model
         431  +
pub struct OperationWithNestedStructure;
  433    432   
  434         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyInputAndEmptyOutput {
         433  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithNestedStructure {
  435    434   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  436    435   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  437         -
            "aws.protocoltests.json10#EmptyInputAndEmptyOutput",
         436  +
            "aws.protocoltests.json10#OperationWithNestedStructure",
  438    437   
            "aws.protocoltests.json10",
  439         -
            "EmptyInputAndEmptyOutput",
         438  +
            "OperationWithNestedStructure",
  440    439   
        );
  441    440   
  442         -
    type Input = crate::input::EmptyInputAndEmptyOutputInput;
  443         -
    type Output = crate::output::EmptyInputAndEmptyOutputOutput;
  444         -
    type Error = std::convert::Infallible;
         441  +
    type Input = crate::input::OperationWithNestedStructureInput;
         442  +
    type Output = crate::output::OperationWithNestedStructureOutput;
         443  +
    type Error = crate::error::OperationWithNestedStructureError;
  445    444   
}
  446    445   
  447    446   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  448         -
    for EmptyInputAndEmptyOutput
         447  +
    for OperationWithNestedStructure
  449    448   
{
  450    449   
    type RequestFmt =
  451    450   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  452    451   
    type ResponseFmt =
  453    452   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  454    453   
  455    454   
    fn request_fmt() -> Self::RequestFmt {
  456    455   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  457    456   
    }
  458    457   
  459    458   
    fn response_fmt() -> Self::ResponseFmt {
  460    459   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  461    460   
    }
  462    461   
}
  463    462   
  464         -
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input and the output is empty. While this should be rare, code generators must support this.
  465         -
pub struct NoInputAndOutput;
         463  +
#[allow(missing_docs)] // documentation missing in model
         464  +
pub struct OperationWithRequiredMembersWithDefaults;
  466    465   
  467         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndOutput {
         466  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         467  +
    for OperationWithRequiredMembersWithDefaults
         468  +
{
  468    469   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  469    470   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  470         -
            "aws.protocoltests.json10#NoInputAndOutput",
         471  +
            "aws.protocoltests.json10#OperationWithRequiredMembersWithDefaults",
  471    472   
            "aws.protocoltests.json10",
  472         -
            "NoInputAndOutput",
         473  +
            "OperationWithRequiredMembersWithDefaults",
  473    474   
        );
  474    475   
  475         -
    type Input = crate::input::NoInputAndOutputInput;
  476         -
    type Output = crate::output::NoInputAndOutputOutput;
         476  +
    type Input = crate::input::OperationWithRequiredMembersWithDefaultsInput;
         477  +
    type Output = crate::output::OperationWithRequiredMembersWithDefaultsOutput;
  477    478   
    type Error = std::convert::Infallible;
  478    479   
}
  479    480   
  480    481   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  481         -
    for NoInputAndOutput
         482  +
    for OperationWithRequiredMembersWithDefaults
  482    483   
{
  483    484   
    type RequestFmt =
  484    485   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  485    486   
    type ResponseFmt =
  486    487   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  487    488   
  488    489   
    fn request_fmt() -> Self::RequestFmt {
  489    490   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  490    491   
    }
  491    492   
  492    493   
    fn response_fmt() -> Self::ResponseFmt {
  493    494   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  494    495   
    }
  495    496   
}
  496    497   
  497         -
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input or output. While this should be rare, code generators must support this.
  498         -
pub struct NoInputAndNoOutput;
         498  +
#[allow(missing_docs)] // documentation missing in model
         499  +
pub struct QueryIncompatibleOperation;
  499    500   
  500         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndNoOutput {
         501  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryIncompatibleOperation {
  501    502   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  502    503   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  503         -
            "aws.protocoltests.json10#NoInputAndNoOutput",
         504  +
            "aws.protocoltests.json10#QueryIncompatibleOperation",
  504    505   
            "aws.protocoltests.json10",
  505         -
            "NoInputAndNoOutput",
         506  +
            "QueryIncompatibleOperation",
  506    507   
        );
  507    508   
  508         -
    type Input = crate::input::NoInputAndNoOutputInput;
  509         -
    type Output = crate::output::NoInputAndNoOutputOutput;
         509  +
    type Input = crate::input::QueryIncompatibleOperationInput;
         510  +
    type Output = crate::output::QueryIncompatibleOperationOutput;
  510    511   
    type Error = std::convert::Infallible;
  511    512   
}
  512    513   
  513    514   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  514         -
    for NoInputAndNoOutput
         515  +
    for QueryIncompatibleOperation
  515    516   
{
  516    517   
    type RequestFmt =
  517    518   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  518    519   
    type ResponseFmt =
  519    520   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  520    521   
  521    522   
    fn request_fmt() -> Self::RequestFmt {
  522    523   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  523    524   
    }
  524    525   

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

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